[lld][WebAssembly] Reinstate mistakenly disabled test. NFC
[llvm-project.git] / clang / test / Modules / stress1.cpp
blob4da1edd092e3fc7440682d791d09545911543dd3
1 // RUN: rm -rf %t
2 // RUN: cd %S
3 //
4 // RUN: %clang_cc1 -fmodules -x c++ -std=c++11 \
5 // RUN: -I Inputs/stress1 \
6 // RUN: -fno-implicit-modules \
7 // RUN: -fmodules-cache-path=%t \
8 // RUN: -fmodule-map-file-home-is-cwd \
9 // RUN: -emit-module -fmodule-name=m00 -o %t/m00.pcm \
10 // RUN: Inputs/stress1/module.modulemap
12 // RUN: %clang_cc1 -fmodules -x c++ -std=c++11 \
13 // RUN: -I Inputs/stress1 \
14 // RUN: -fno-implicit-modules \
15 // RUN: -fmodules-cache-path=%t \
16 // RUN: -fmodule-map-file-home-is-cwd \
17 // RUN: -emit-module -fmodule-name=m00 -o %t/m00_check.pcm \
18 // RUN: Inputs/stress1/module.modulemap
20 // RUN: diff %t/m00.pcm %t/m00_check.pcm
22 // RUN: %clang_cc1 -fmodules -x c++ -std=c++11 -fdelayed-template-parsing \
23 // RUN: -I Inputs/stress1 \
24 // RUN: -fno-implicit-modules \
25 // RUN: -fmodules-cache-path=%t \
26 // RUN: -fmodule-map-file-home-is-cwd \
27 // RUN: -emit-module -fmodule-name=m01 -o %t/m01.pcm \
28 // RUN: Inputs/stress1/module.modulemap
30 // RUN: %clang_cc1 -fmodules -x c++ -std=c++11 -fdelayed-template-parsing \
31 // RUN: -I Inputs/stress1 \
32 // RUN: -fno-implicit-modules \
33 // RUN: -fmodules-cache-path=%t \
34 // RUN: -fmodule-map-file-home-is-cwd \
35 // RUN: -emit-module -fmodule-name=m01 -o %t/m01_check.pcm \
36 // RUN: Inputs/stress1/module.modulemap
38 // RUN: diff %t/m01.pcm %t/m01_check.pcm
40 // RUN: %clang_cc1 -fmodules -x c++ -std=c++11 \
41 // RUN: -I Inputs/stress1 \
42 // RUN: -fno-implicit-modules \
43 // RUN: -fmodules-cache-path=%t \
44 // RUN: -fmodule-map-file-home-is-cwd \
45 // RUN: -emit-module -fmodule-name=m02 -o %t/m02.pcm \
46 // RUN: Inputs/stress1/module.modulemap
48 // RUN: %clang_cc1 -fmodules -x c++ -std=c++11 \
49 // RUN: -I Inputs/stress1 \
50 // RUN: -fno-implicit-modules \
51 // RUN: -fmodules-cache-path=%t \
52 // RUN: -fmodule-map-file-home-is-cwd \
53 // RUN: -emit-module -fmodule-name=m03 -o %t/m03.pcm \
54 // RUN: Inputs/stress1/module.modulemap
56 // RUN: %clang_cc1 -fmodules -x c++ -std=c++11 \
57 // RUN: -I Inputs/stress1 \
58 // RUN: -fno-implicit-modules \
59 // RUN: -fmodules-cache-path=%t \
60 // RUN: -fmodule-map-file-home-is-cwd \
61 // RUN: -fmodule-file=%t/m00.pcm \
62 // RUN: -fmodule-file=%t/m01.pcm \
63 // RUN: -fmodule-file=%t/m02.pcm \
64 // RUN: -fmodule-file=%t/m03.pcm \
65 // RUN: -emit-module -fmodule-name=merge00 -o %t/merge00.pcm \
66 // RUN: Inputs/stress1/module.modulemap
68 // RUN: %clang_cc1 -fmodules -x c++ -std=c++11 \
69 // RUN: -I Inputs/stress1 \
70 // RUN: -fno-implicit-modules \
71 // RUN: -fmodules-cache-path=%t \
72 // RUN: -fmodule-map-file-home-is-cwd \
73 // RUN: -fmodule-file=%t/m00.pcm \
74 // RUN: -fmodule-file=%t/m01.pcm \
75 // RUN: -fmodule-file=%t/m02.pcm \
76 // RUN: -fmodule-file=%t/m03.pcm \
77 // RUN: -emit-module -fmodule-name=merge00 -o %t/merge00_check.pcm \
78 // RUN: Inputs/stress1/module.modulemap
80 // RUN: diff %t/merge00.pcm %t/merge00_check.pcm
82 // RUN: %clang_cc1 -fmodules -x c++ -std=c++11 \
83 // RUN: -I Inputs/stress1 \
84 // RUN: -fno-implicit-modules \
85 // RUN: -fmodules-cache-path=%t \
86 // RUN: -fmodule-map-file-home-is-cwd \
87 // RUN: -fmodule-map-file=Inputs/stress1/module.modulemap \
88 // RUN: -fmodule-file=%t/m00.pcm \
89 // RUN: -fmodule-file=%t/m01.pcm \
90 // RUN: -fmodule-file=%t/m02.pcm \
91 // RUN: -fmodule-file=%t/m03.pcm \
92 // RUN: -fmodule-file=%t/merge00.pcm \
93 // RUN: -verify stress1.cpp -S -emit-llvm -o %t/stress1.ll
95 // RUN: %clang_cc1 -fmodules -x c++ -std=c++11 \
96 // RUN: -I Inputs/stress1 \
97 // RUN: -fno-implicit-modules \
98 // RUN: -fmodules-cache-path=%t \
99 // RUN: -fmodule-map-file-home-is-cwd \
100 // RUN: -fmodule-map-file=Inputs/stress1/module.modulemap \
101 // RUN: -fmodule-file=%t/m00.pcm \
102 // RUN: -fmodule-file=%t/m01.pcm \
103 // RUN: -fmodule-file=%t/m02.pcm \
104 // RUN: -fmodule-file=%t/m03.pcm \
105 // RUN: -fmodule-file=%t/merge00.pcm \
106 // RUN: -verify stress1.cpp -S -emit-llvm -o %t/stress1_check.ll
108 // RUN: diff -u %t/stress1.ll %t/stress1_check.ll
110 // RUN: %clang_cc1 -fmodules -x c++ -std=c++11 \
111 // RUN: -I Inputs/stress1 \
112 // RUN: -fmodules-cache-path=%t \
113 // RUN: -fmodule-map-file-home-is-cwd \
114 // RUN: -fmodule-file=%t/m00.pcm \
115 // RUN: -fmodule-file=%t/m01.pcm \
116 // RUN: -fmodule-file=%t/m02.pcm \
117 // RUN: -fmodule-file=%t/m03.pcm \
118 // RUN: -emit-module -fmodule-name=merge00 -o /dev/null \
119 // RUN: -DMERGE_NO_REEXPORT \
120 // RUN: Inputs/stress1/module.modulemap
122 // expected-no-diagnostics
124 #include "m00.h"
125 #include "m01.h"
126 #include "m02.h"
127 #include "m03.h"
129 #include "merge00.h"
131 int f() { return N01::S00('a').method00('b') + (int)N00::S00(42) + function00(42) + g(); }
133 int f2() {
134 return pragma_weak00() + pragma_weak01() + pragma_weak02() +
135 pragma_weak03 + pragma_weak04 + pragma_weak05;