Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / clang / test / Modules / pr56916.cppm
bloba435b06d5cf1523ae8db7ec9b7bda096d91ad5e6
1 // RUN: rm -rf %t
2 // RUN: mkdir %t
3 // RUN: split-file %s %t
4 //
5 // RUN: %clang_cc1 -std=c++20 %t/A.cppm -emit-module-interface -o %t/M-A.pcm
6 // RUN: %clang_cc1 -std=c++20 %t/B.cppm -emit-module-interface -o %t/M-B.pcm
7 // RUN: %clang_cc1 -std=c++20 %t/M.cppm -emit-module-interface -o %t/M.pcm \
8 // RUN:     -fprebuilt-module-path=%t
9 // RUN: %clang_cc1 -std=c++20 %t/Use.cpp -fsyntax-only -fprebuilt-module-path=%t -verify
11 //--- foo.h
12 template <typename T>
13 class Templ {
14 public:
15     Templ(T a) {}
18 //--- A.cppm
19 module;
20 #include "foo.h"
21 export module M:A;
22 export using ::Templ;
24 //--- B.cppm
25 module;
26 #include "foo.h"
27 export module M:B;
29 //--- M.cppm
30 export module M;
31 export import :A;
32 export import :B;
34 //--- Use.cpp
35 // expected-no-diagnostics
36 import M;
38 void func() {
39     Templ t(5);