xref: /llvm-project/clang/test/Modules/pr102684.cppm (revision 4915fddbb2d79b5d67794b88c23da8d296968d0e)
1// RUN: rm -rf %t
2// RUN: mkdir -p %t
3// RUN: split-file %s %t
4//
5// RUN: %clang_cc1 -std=c++20 %t/a.cppm -emit-module-interface -o %t/a.pcm
6// RUN: %clang_cc1 -std=c++20 %t/b.cppm -emit-module-interface -o %t/b.pcm \
7// RUN:   -fprebuilt-module-path=%t
8// RUN: %clang_cc1 -std=c++20 %t/test.cpp -fsyntax-only -verify \
9// RUN:   -fprebuilt-module-path=%t
10
11//--- a.cppm
12export module a;
13
14namespace n {
15template<typename, int...>
16struct integer_sequence {
17
18};
19
20export template<typename>
21using make_integer_sequence = __make_integer_seq<integer_sequence, int, 0>;
22}
23
24//--- b.cppm
25export module b;
26import a;
27
28export template<typename T>
29void b() {
30	n::make_integer_sequence<T>();
31}
32
33//--- test.cpp
34// expected-no-diagnostics
35import b;
36void test() {
37  b<int>();
38}
39