47 lines · cpp
1// RUN: rm -rf %t2// RUN: mkdir -p %t3// RUN: split-file %s %t4 5// RUN: %clang_cc1 -std=c++20 -emit-module-interface %t/partition1.cpp \6// RUN: -o %t/A_part1.pcm7 8// RUN: %clang_cc1 -std=c++20 -emit-module-interface %t/partition2.cpp \9// RUN: -o %t/A_part2.pcm10 11// RUN: %clang_cc1 -std=c++20 -emit-module-interface %t/partition3.cpp \12// RUN: -o %t/A_part3.pcm13 14// RUN: %clang_cc1 -std=c++20 -emit-module-interface %t/moduleA.cpp \15// RUN: -fmodule-file=%t/A_part1.pcm -fmodule-file=%t/A_part2.pcm \16// RUN: -fmodule-file=%t/A_part3.pcm -o %t/A.pcm17 18// expected-no-diagnostics19 20//--- partition1.cpp21 22export module A:Part1;23 24int part1();25 26//--- partition2.cpp27 28export module A:Part2;29 30int part2();31 32//--- partition3.cpp33 34export module A:Part3;35 36int part3();37 38//--- moduleA.cpp39 40export module A;41 42import :Part1;43export import :Part2;44import :Part3;45 46int foo();47