31 lines · plain
1// RUN: rm -rf %t2// RUN: mkdir -p %t3// RUN: split-file %s %t4//5// RUN: %clang_cc1 -std=c++20 %t/Base.cppm -emit-module-interface -o %t/Base.pcm6// RUN: %clang_cc1 -std=c++20 %t/A.cppm -emit-module-interface -o %t/A.pcm -fprebuilt-module-path=%t7// RUN: %clang_cc1 -std=c++20 %t/B.cppm -fsyntax-only -verify -fprebuilt-module-path=%t8 9//--- Base.cppm10export module Base;11export template <class T>12class Base {};13 14//--- A.cppm15export module A;16import Base;17struct S {};18 19export Base<S> a;20 21//--- B.cppm22// expected-no-diagnostics23export module B;24 25import A;26import Base;27 28struct S {};29 30export Base<S> b;31