// RUN: mkdir -p %t // RUN: split-file %s %t // All of the following should build without diagnostics. // // RUN: %clang_cc1 -std=c++20 %t/a.cpp -emit-module-interface -o %t/a.pcm // R U N: %clang_cc1 -std=c++20 %t/a.pcm -emit-obj -o %t/a.o // // RUN: %clang_cc1 -std=c++20 %t/b.cpp -emit-module-interface -o %t/b.pcm \ // RUN: -fprebuilt-module-path=%t // R U N: %clang_cc1 -std=c++20 %t/b.pcm -emit-obj -o %t/b.o // // RUN: %clang_cc1 -std=c++20 %t/b-impl.cpp -emit-obj -o %t/b-impl.o \ // RUN: -fprebuilt-module-path=%t // // RUN: %clang_cc1 -std=c++20 %t/ab-main.cpp -fsyntax-only \ // RUN: -fprebuilt-module-path=%t //--- a.cpp export module a; export int foo() { return 42; } //--- b.cpp export module b; import a; export int bar(); //--- b-impl.cpp module b; int bar() { return foo(); } //--- ab-main.cpp import b; int main() { return bar(); }