[lld][WebAssembly] Reinstate mistakenly disabled test. NFC
[llvm-project.git] / clang / test / Modules / odr_hash-Friend.cpp
blobe55d9e8fd45ada2a6d3a6f8e5b5237650d61b180
1 // RUN: rm -rf %t
3 // PR35939: MicrosoftMangle.cpp triggers an assertion failure on this test.
4 // UNSUPPORTED: system-windows
6 // RUN: %clang_cc1 \
7 // RUN: -I %S/Inputs/odr_hash-Friend \
8 // RUN: -emit-obj -o /dev/null \
9 // RUN: -fmodules \
10 // RUN: -fimplicit-module-maps \
11 // RUN: -fmodules-cache-path=%t/modules.cache \
12 // RUN: -std=c++11 -x c++ %s -verify -DTEST1
14 // RUN: %clang_cc1 \
15 // RUN: -I %S/Inputs/odr_hash-Friend \
16 // RUN: -emit-obj -o /dev/null \
17 // RUN: -fmodules \
18 // RUN: -fimplicit-module-maps \
19 // RUN: -fmodules-cache-path=%t/modules.cache \
20 // RUN: -std=c++11 -x c++ %s -verify -DTEST2
22 // RUN: %clang_cc1 \
23 // RUN: -I %S/Inputs/odr_hash-Friend \
24 // RUN: -emit-obj -o /dev/null \
25 // RUN: -fmodules \
26 // RUN: -fimplicit-module-maps \
27 // RUN: -fmodules-cache-path=%t/modules.cache \
28 // RUN: -std=c++11 -x c++ %s -verify -DTEST3
30 // RUN: %clang_cc1 \
31 // RUN: -I %S/Inputs/odr_hash-Friend \
32 // RUN: -emit-obj -o /dev/null \
33 // RUN: -fmodules \
34 // RUN: -fimplicit-module-maps \
35 // RUN: -fmodules-cache-path=%t/modules.cache \
36 // RUN: -std=c++11 -x c++ %s -verify -DTEST3
38 // RUN: %clang_cc1 \
39 // RUN: -I %S/Inputs/odr_hash-Friend \
40 // RUN: -emit-obj -o /dev/null \
41 // RUN: -fmodules \
42 // RUN: -fimplicit-module-maps \
43 // RUN: -fmodules-cache-path=%t/modules.cache \
44 // RUN: -std=c++11 -x c++ %s -verify -DTEST3
46 #if defined(TEST1)
47 #include "Box.h"
48 #include "M1.h"
49 #include "M3.h"
50 // expected-no-diagnostics
51 #endif
53 #if defined(TEST2)
54 #include "Box.h"
55 #include "M1.h"
56 #include "M3.h"
57 #include "Good.h"
58 // expected-no-diagnostics
59 #endif
61 #if defined(TEST3)
62 #include "Good.h"
63 #include "Box.h"
64 #include "M1.h"
65 #include "M3.h"
66 // expected-no-diagnostics
67 #endif
69 #if defined(TEST4)
70 #include "Box.h"
71 #include "M1.h"
72 #include "M3.h"
73 #include "Bad.h"
74 // expected-error@Bad.h:* {{'Check' has different definitions in different modules; definition in module 'Bad' first difference is function body}}
75 // expected-note@Box.h:* {{but in 'Box' found a different body}}
76 #endif
78 #if defined(TEST5)
79 #include "Bad.h"
80 #include "Box.h"
81 #include "M1.h"
82 #include "M3.h"
83 // expected-error@Bad.h:* {{'Check' has different definitions in different modules; definition in module 'Bad' first difference is function body}}
84 // expected-note@Box.h:* {{but in 'Box' found a different body}}
85 #endif
88 void Run() {
89 Box<> Present;