3 // RUN: split-file %s %t
5 // RUN: %clang_cc1 -std=c++20 %t/X.cppm -emit-module-interface -o %t/X.pcm
6 // RUN: %clang_cc1 -std=c++20 -fprebuilt-module-path=%t %t/Use.cpp -fsyntax-only -verify
8 // RUN: %clang_cc1 -std=c++20 %t/X.cppm -emit-reduced-module-interface -o %t/X.pcm
9 // RUN: %clang_cc1 -std=c++20 -fprebuilt-module-path=%t %t/Use.cpp -fsyntax-only -verify
24 struct foo
<int> : base
<int> {
33 export
template <class T
>
45 foo
<int> f
; // expected-error {{'foo' must be declared before it is used}}
46 // expected-note@* {{declaration here is not visible}}