Lines Matching full:second
11 // Build second header file
12 // RUN: echo "#define SECOND" >> %t/Inputs/second.h
13 // RUN: cat %s >> %t/Inputs/second.h
17 // RUN: %clang_cc1 -fsyntax-only -x c++ -std=c++20 %t/Inputs/second.h
24 // RUN: echo " header \"second.h\"" >> %t/Inputs/module.modulemap
32 #if !defined(FIRST) && !defined(SECOND)
34 #include "second.h"
40 #elif defined(SECOND)
48 #elif defined(SECOND)
54 // expected-error@second.h:* {{'AccessSpecifiers::S1' has different definitions in different modules; first difference is definition in module 'SecondModule' found private access specifier}}
62 #elif defined(SECOND)
68 // expected-error@second.h:* {{'AccessSpecifiers::S2' has different definitions in different modules; first difference is definition in module 'SecondModule' found protected access specifier}}
77 #if defined(FIRST) || defined(SECOND)
85 #if defined(FIRST) || defined(SECOND)
92 // expected-error@second.h:* {{'AccessSpecifiers::Invalid1' has different definitions in different modules; first difference is definition in module 'SecondModule' found private access specifier}}
104 #elif defined(SECOND)
106 static_assert(1 == 1, "Second");
110 // expected-error@second.h:* {{'StaticAssert::S1' has different definitions in different modules; first difference is definition in module 'SecondModule' found static assert with message}}
118 #elif defined(SECOND)
124 // expected-error@second.h:* {{'StaticAssert::S2' has different definitions in different modules; first difference is definition in module 'SecondModule' found static assert with no message}}
132 #elif defined(SECOND)
138 // expected-error@second.h:* {{'StaticAssert::S3' has different definitions in different modules; first difference is definition in module 'SecondModule' found static assert with condition}}
146 #elif defined(SECOND)
152 // expected-error@second.h:* {{'StaticAssert::S4' has different definitions in different modules; first difference is definition in module 'SecondModule' found public access specifier}}
160 #if defined(FIRST) || defined(SECOND)
168 #if defined(FIRST) || defined(SECOND)
175 // expected-error@second.h:* {{'StaticAssert::Invalid1' has different definitions in different modules; first difference is definition in module 'SecondModule' found private access specifier}}
188 #elif defined(SECOND)
195 // expected-error@second.h:* {{'Field::S1' has different definitions in different modules; first difference is definition in module 'SecondModule' found field}}
204 #elif defined(SECOND)
211 // expected-error@second.h:* {{'Field::S2' has different definitions in different modules; first difference is definition in module 'SecondModule' found field 'y'}}
219 #elif defined(SECOND)
226 // expected-note@second.h:* {{declaration of 'x' does not match}}
238 #elif defined(SECOND)
249 // expected-error@second.h:* {{'Field::S4' has different definitions in different modules; first difference is definition in module 'SecondModule' found field 'x' with type 'B' (aka 'int')}}
253 // expected-error@second.h:* {{'Field::S5' has different definitions in different modules; first difference is definition in module 'SecondModule' found field 'x' with type 'int'}}
261 #elif defined(SECOND)
267 // expected-error@second.h:* {{'Field::S6' has different definitions in different modules; first difference is definition in module 'SecondModule' found bit-field 'x'}}
275 #elif defined(SECOND)
281 // expected-error@second.h:* {{'Field::S7' has different definitions in different modules; first difference is definition in module 'SecondModule' found bit-field 'x' with one width expression}}
289 #elif defined(SECOND)
295 // expected-error@second.h:* {{'Field::S8' has different definitions in different modules; first difference is definition in module 'SecondModule' found bit-field 'x' with one width expression}}
303 #elif defined(SECOND)
309 // expected-error@second.h:* {{'Field::S9' has different definitions in different modules; first difference is definition in module 'SecondModule' found non-mutable field 'x'}}
317 #elif defined(SECOND)
323 // expected-error@second.h:* {{'Field::S9b' has different definitions in different modules; first difference is definition in module 'SecondModule' found non-mutable field 'x'}}
331 #elif defined(SECOND)
337 // expected-error@second.h:* {{'Field::S10' has different definitions in different modules; first difference is definition in module 'SecondModule' found field 'x' with no initializer}}
345 #elif defined(SECOND)
351 // expected-error@second.h:* {{'Field::S11' has different definitions in different modules; first difference is definition in module 'SecondModule' found field 'x' with an initializer}}
359 #elif defined(SECOND)
366 // expected-note@second.h:* {{declaration of 'x' does not match}}
373 #elif defined(SECOND)
380 // expected-note@second.h:* {{declaration of 'x' does not match}}
393 #if defined(FIRST) || defined(SECOND)
397 #if defined(FIRST) || defined(SECOND)
405 #if defined(FIRST) || defined(SECOND)
412 // expected-error@second.h:* {{'Field::Invalid1' has different definitions in different modules; first difference is definition in module 'SecondModule' found private access specifier}}
423 #elif defined(SECOND)
430 // expected-error@second.h:* {{'Method::S1' has different definitions in different modules; first difference is definition in module 'SecondModule' found private access specifier}}
439 #elif defined(SECOND)
446 // expected-error@second.h:* {{'Method::S2' has different definitions in different modules; first difference is definition in module 'SecondModule' found method 'B'}}
455 #elif defined(SECOND)
462 // expected-error@second.h:* {{'Method::S3' has different definitions in different modules; first difference is definition in module 'SecondModule' found method 'A' is not static}}
471 #elif defined(SECOND)
478 // expected-error@second.h:* {{'Method::S4' has different definitions in different modules; first difference is definition in module 'SecondModule' found method 'A' is not virtual}}
487 #elif defined(SECOND)
494 // expected-error@second.h:* {{'Method::S5' has different definitions in different modules; first difference is definition in module 'SecondModule' found method 'A' is virtual}}
502 #elif defined(SECOND)
508 // expected-error@second.h:* {{'Method::S6' has different definitions in different modules; first difference is definition in module 'SecondModule' found method 'A' is not inline}}
517 #elif defined(SECOND)
524 // expected-error@second.h:* {{'Method::S7' has different definitions in different modules; first difference is definition in module 'SecondModule' found method 'A' is not volatile}}
533 #elif defined(SECOND)
540 // expected-error@second.h:* {{'Method::S8' has different definitions in different modules; first difference is definition in module 'SecondModule' found method 'A' is not const}}
549 #elif defined(SECOND)
556 // expected-error@second.h:* {{'Method::S9' has different definitions in different modules; first difference is definition in module 'SecondModule' found method 'A' that has 2 parameters}}
565 #elif defined(SECOND)
572 // expected-error@second.h:* {{'Method::S10' has different definitions in different modules; first difference is definition in module 'SecondModule' found method 'A' with 1st parameter of type 'float'}}
580 #elif defined(SECOND)
586 // expected-error@second.h:* {{'Method::S11' has different definitions in different modules; first difference is definition in module 'SecondModule' found method 'A' with 1st parameter named 'y'}}
594 #elif defined(SECOND)
600 // expected-error@second.h:* {{'Method::S12' has different definitions in different modules; first difference is definition in module 'SecondModule' found method 'A' with 1st parameter without a default argument}}
608 #elif defined(SECOND)
614 // expected-error@second.h:* {{'Method::S13' has different definitions in different modules; first difference is definition in module 'SecondModule' found method 'A' with 1st parameter with a default argument}}
622 #elif defined(SECOND)
628 // expected-error@second.h:* {{'Method::S14' has different definitions in different modules; first difference is definition in module 'SecondModule' found method 'A' with 1st parameter of type 'int *' decayed from 'int[3]'}}
636 #elif defined(SECOND)
643 // expected-note@second.h:* {{declaration of 'A' does not match}}
660 #if defined(FIRST) || defined(SECOND)
668 #if defined(FIRST) || defined(SECOND)
675 // expected-error@second.h:* {{'Method::Invalid1' has different definitions in different modules; first difference is definition in module 'SecondModule' found private access specifier}}
686 #elif defined(SECOND)
698 #elif defined(SECOND)
705 // expected-note@second.h:* {{but in 'SecondModule' found method 'BothBodies' with different body}}
712 #elif defined(SECOND)
719 // expected-note@second.h:* {{but in 'SecondModule' found method 'FirstBody' with no body}}
726 #elif defined(SECOND)
733 // expected-note@second.h:* {{but in 'SecondModule' found method 'SecondBody' with body}}
740 #elif defined(SECOND)
747 // expected-error@second.h:* {{'MethodBody::S5' has different definitions in different modules; first difference is definition in module 'SecondModule' found method 'FirstBodySecondOutOfLine' with no body}}
756 #elif defined(SECOND)
763 // expected-note@second.h:* {{but in 'SecondModule' found method 'FirstOutOfLineSecondBody' with body}}
771 #elif defined(SECOND)
778 // expected-error@second.h:* {{'MethodBody::S7::BothOutOfLine' has different definitions in different modules; definition in module 'SecondModule' first difference is function body}}
786 #elif defined(SECOND)
793 // expected-error@second.h:* {{'MethodBody::S8' has different definitions in different modules; first difference is definition in module 'SecondModule' found method 'FirstBodySecondOutOfLine' with no body}}
802 #elif defined(SECOND)
809 // expected-note@second.h:* {{but in 'SecondModule' found method 'FirstOutOfLineSecondBody' with body}}
817 #elif defined(SECOND)
825 // expected-note@second.h:* {{but in 'SecondModule' found constructor is not deleted}}
832 #elif defined(SECOND)
839 // expected-note@second.h:* {{but in 'SecondModule' found constructor is not defaulted}}
854 #if defined(FIRST) || defined(SECOND)
863 #if defined(FIRST) || defined(SECOND)
872 // expected-note@second.h:* {{but in 'SecondModule' found private access specifier}}
883 #elif defined(SECOND)
890 // expected-error@second.h:* {{'Constructor::S1' has different definitions in different modules; first difference is definition in module 'SecondModule' found method 'foo'}}
899 #elif defined(SECOND)
906 // expected-error@second.h:* {{'Constructor::S2' has different definitions in different modules; first difference is definition in module 'SecondModule' found constructor that has 2 parameters}}
915 #if defined(FIRST) || defined(SECOND)
923 #if defined(FIRST) || defined(SECOND)
930 // expected-error@second.h:* {{'Constructor::Invalid1' has different definitions in different modules; first difference is definition in module 'SecondModule' found private access specifier}}
942 #elif defined(SECOND)
949 // expected-error@second.h:* {{'Destructor::S1' has different definitions in different modules; first difference is definition in module 'SecondModule' found constructor}}
958 #elif defined(SECOND)
965 // expected-error@second.h:* {{'Destructor::S2' has different definitions in different modules; first difference is definition in module 'SecondModule' found destructor is not virtual}}
969 #if defined(FIRST) || defined(SECOND)
977 #if defined(FIRST) || defined(SECOND)
984 // expected-error@second.h:* {{'Destructor::Invalid1' has different definitions in different modules; first difference is definition in module 'SecondModule' found private access specifier}}
988 #if defined(FIRST) || defined(SECOND)
996 #if defined(FIRST) || defined(SECOND)
1003 // expected-error@second.h:* {{'Destructor::Invalid2' has different definitions in different modules; first difference is definition in module 'SecondModule' found private access specifier}}
1013 #elif defined(SECOND)
1020 // expected-note@second.h:* {{declaration of 'a' does not match}}
1027 #elif defined(SECOND)
1034 // expected-note@second.h:* {{definition has no member 'a'}}
1042 #elif defined(SECOND)
1057 #elif defined(SECOND)
1064 // expected-error@second.h:* {{'TypeDef::S4' has different definitions in different modules; first difference is definition in module 'SecondModule' found typedef name 'b'}}
1074 #elif defined(SECOND)
1082 // expected-error@second.h:* {{'TypeDef::S5' has different definitions in different modules; first difference is definition in module 'SecondModule' found field}}
1092 #elif defined(SECOND)
1099 // expected-error@second.h:* {{'TypeDef::S6' has different definitions in different modules; first difference is definition in module 'SecondModule' found typedef 'b' with underlying type 'float'}}
1108 #if defined(FIRST) || defined(SECOND)
1112 #if defined(FIRST) || defined(SECOND)
1120 #if defined(FIRST) || defined(SECOND)
1127 // expected-error@second.h:* {{'TypeDef::Invalid1' has different definitions in different modules; first difference is definition in module 'SecondModule' found private access specifier}}
1138 #elif defined(SECOND)
1145 // expected-note@second.h:* {{declaration of 'a' does not match}}
1152 #elif defined(SECOND)
1159 // expected-note@second.h:* {{definition has no member 'a'}}
1167 #elif defined(SECOND)
1182 #elif defined(SECOND)
1189 // expected-error@second.h:* {{'Using::S4' has different definitions in different modules; first difference is definition in module 'SecondModule' found type alias name 'b'}}
1199 #elif defined(SECOND)
1207 // expected-error@second.h:* {{'Using::S5' has different definitions in different modules; first difference is definition in module 'SecondModule' found field}}
1217 #elif defined(SECOND)
1224 // expected-error@second.h:* {{'Using::S6' has different definitions in different modules; first difference is definition in module 'SecondModule' found type alias 'b' with underlying type 'float'}}
1228 #if defined(FIRST) || defined(SECOND)
1237 #if defined(FIRST) || defined(SECOND)
1245 #if defined(FIRST) || defined(SECOND)
1252 // expected-error@second.h:* {{'Using::Invalid1' has different definitions in different modules; first difference is definition in module 'SecondModule' found private access specifier}}
1264 #elif defined(SECOND)
1272 // expected-note@second.h:* {{declaration of 'x' does not match}}
1278 #if defined(FIRST) || defined(SECOND)
1282 #if defined(FIRST) || defined(SECOND)
1290 #if defined(FIRST) || defined(SECOND)
1297 // expected-error@second.h:* {{'RecordType::Invalid1' has different definitions in different modules; first difference is definition in module 'SecondModule' found private access specifier}}
1309 #elif defined(SECOND)
1318 // expected-note@second.h:* {{declaration of 'x' does not match}}
1324 #if defined(FIRST) || defined(SECOND)
1334 #if defined(FIRST) || defined(SECOND)
1343 // expected-error@second.h:* {{'DependentType::Invalid1' has different definitions in different modules; first difference is definition in module 'SecondModule' found private access specifier}}
1355 #elif defined(SECOND)
1367 #if defined(FIRST) || defined(SECOND)
1371 #if defined(FIRST) || defined(SECOND)
1379 #if defined(FIRST) || defined(SECOND)
1386 // expected-error@second.h:* {{'ElaboratedType::Invalid1' has different definitions in different modules; first difference is definition in module 'SecondModule' found private access specifier}}
1398 #elif defined(SECOND)
1406 // expected-note@second.h:* {{declaration of 'x' does not match}}
1412 #if defined(FIRST) || defined(SECOND)
1416 #if defined(FIRST) || defined(SECOND)
1424 #if defined(FIRST) || defined(SECOND)
1431 // expected-error@second.h:* {{'Enum::Invalid1' has different definitions in different modules; first difference is definition in module 'SecondModule' found private access specifier}}
1446 # elif defined(SECOND)
1458 // expected-error@second.h:* {{'NestedNamespaceSpecifier::S1' has different definitions in different modules; first difference is definition in module 'SecondModule' found field 'x' with type 'LevelB1::LevelC1::Type' (aka 'int')}}
1467 # elif defined(SECOND)
1473 // expected-error@second.h:* {{'NestedNamespaceSpecifier::S2' has different definitions in different modules; first difference is definition in module 'SecondModule' found field 'x' with type 'int'}}
1483 # elif defined(SECOND)
1489 // expected-error@second.h:* {{'NestedNamespaceSpecifier::S3' has different definitions in different modules; first difference is definition in module 'SecondModule' found field 'x' with type 'LevelB3::Type' (aka 'int')}}
1498 # elif defined(SECOND)
1505 // expected-error@second.h:* {{'NestedNamespaceSpecifier::S4' has different definitions in different modules; first difference is definition in module 'SecondModule' found field 'x' with type 'TB4::Type' (aka 'int')}}
1514 # elif defined(SECOND)
1521 // expected-error@second.h:* {{'NestedNamespaceSpecifier::S5' has different definitions in different modules; first difference is definition in module 'SecondModule' found field 'x' with type 'T5::Type' (aka 'int')}}
1530 # elif defined(SECOND)
1537 // expected-error@second.h:* {{'NestedNamespaceSpecifier::S6' has different definitions in different modules; first difference is definition in module 'SecondModule' found field 'x' with type '::NestedNamespaceSpecifier::I' (aka 'int')}}
1547 #elif defined(SECOND)
1556 // expected-error@second.h:* {{'NestedNamespaceSpecifier::S7' has different definitions in different modules; first difference is definition in module 'SecondModule' found field 'z' with an initializer}}
1565 #elif defined(SECOND)
1573 // expected-error@second.h:* {{'NestedNamespaceSpecifier::S8' has different definitions in different modules; first difference is definition in module 'SecondModule' found field 'x' with an initializer}}
1583 #elif defined(SECOND)
1591 // expected-error@second.h:* {{'NestedNamespaceSpecifier::S9' has different definitions in different modules; first difference is definition in module 'SecondModule' found field 'x' with type 'P9::I' (aka 'int')}}
1601 #elif defined(SECOND)
1608 // expected-error@second.h:* {{'NestedNamespaceSpecifier::N10::S10::x' from module 'SecondModule' is not present in definition of 'NestedNamespaceSpecifier::N10::S10' in module 'FirstModule'}}
1619 #if defined(FIRST) || defined(SECOND)
1630 #if defined(FIRST) || defined(SECOND)
1638 #if defined(FIRST) || defined(SECOND)
1645 // expected-error@second.h:* {{'NestedNamespaceSpecifier::Invalid1' has different definitions in different modules; first difference is definition in module 'SecondModule' found private access specifier}}
1655 #if defined(FIRST) || defined(SECOND)
1665 #if defined(FIRST) || defined(SECOND)
1674 // expected-error@second.h:* {{'NestedNamespaceSpecifier::Invalid2' has different definitions in different modules; first difference is definition in module 'SecondModule' found private access specifier}}
1686 #elif defined(SECOND)
1694 // expected-note@second.h:* {{declaration of 'u' does not match}}
1702 #elif defined(SECOND)
1710 // expected-note@second.h:* {{declaration of 'u' does not match}}
1721 #if defined(FIRST) || defined(SECOND)
1726 #if defined(FIRST) || defined(SECOND)
1734 #if defined(FIRST) || defined(SECOND)
1741 // expected-error@second.h:* {{'TemplateSpecializationType::Invalid1' has different definitions in different modules; first difference is definition in module 'SecondModule' found private access specifier}}
1753 #elif defined(SECOND)
1761 // expected-note@second.h:* {{declaration of 'x' does not match}}
1769 #elif defined(SECOND)
1776 // expected-error@second.h:* {{'TemplateArgument::S2' has different definitions in different modules; first difference is definition in module 'SecondModule' found type alias 'T' with underlying type 'U2<(2)>'}}
1785 #elif defined(SECOND)
1792 // expected-error@second.h:* {{'TemplateArgument::S3' has different definitions in different modules; first difference is definition in module 'SecondModule' found type alias 'T' with underlying type 'U3<1 + 1>'}}
1802 #elif defined(SECOND)
1811 // expected-note@second.h:* {{declaration of 'x' does not match}}
1819 #elif defined(SECOND)
1827 // expected-note@second.h:* {{declaration of 'x' does not match}}
1836 #elif defined(SECOND)
1844 // expected-error@second.h:* {{'TemplateArgument::S6' has different definitions in different modules; first difference is definition in module 'SecondModule' found field 'y'}}
1853 #elif defined(SECOND)
1860 // expected-error@second.h:* {{'TemplateArgument::S7' has different definitions in different modules; first difference is definition in module 'SecondModule' found method 'run' with no template arguments}}
1871 #elif defined(SECOND)
1880 // expected-error@second.h:* {{'TemplateArgument::S8' has different definitions in different modules; first difference is definition in module 'SecondModule' found method 'run' with 2 template arguments}}
1890 #elif defined(SECOND)
1898 // expected-error@second.h:* {{'TemplateArgument::S9' has different definitions in different modules; first difference is definition in module 'SecondModule' found method 'run' with 'b' for 1st template argument}}
1908 #elif defined(SECOND)
1916 // expected-error@second.h:* {{'TemplateArgument::S10' has different definitions in different modules; first difference is definition in module 'SecondModule' found method 'run' with 'b' for 2nd template argument}}
1926 #elif defined(SECOND)
1934 // expected-error@second.h:* {{'TemplateArgument::S11' has different definitions in different modules; first difference is definition in module 'SecondModule' found method 'run' with 3 template arguments}}
1943 #elif defined(SECOND)
1950 // expected-error@second.h:* {{'TemplateArgument::S12' has different definitions in different modules; first difference is definition in module 'SecondModule' found method 'f' with 2 for 1st template argument}}
1959 #elif defined(SECOND)
1973 #elif defined(SECOND)
1980 // expected-error@second.h:* {{'TemplateArgument::S14' has different definitions in different modules; first difference is definition in module 'SecondModule' found method 'f' with 0 for 1st template argument}}
1989 #elif defined(SECOND)
2003 #elif defined(SECOND)
2018 #elif defined(SECOND)
2026 // expected-error@second.h:* {{'TemplateArgument::S17' has different definitions in different modules; first difference is definition in module 'SecondModule' found method 'f' with nullptr for 1st template argument}}
2036 #elif defined(SECOND)
2052 #elif defined(SECOND)
2068 #elif defined(SECOND)
2076 // expected-error@second.h:* {{'TemplateArgument::S20' has different definitions in different modules; first difference is definition in module 'SecondModule' found method 'f' with 18446744073709551615 for 1st template argument}}
2086 #elif defined(SECOND)
2101 #elif defined(SECOND)
2108 // expected-error@second.h:* {{'TemplateArgument::S22' has different definitions in different modules; first difference is definition in module 'SecondModule' found method 'f' with 1.700000e+00 for 1st template argument}}
2117 #elif defined(SECOND)
2126 #if defined(FIRST) || defined(SECOND)
2139 #elif defined(SECOND)
2146 // expected-error@second.h:* {{'TemplateArgument::S24' has different definitions in different modules; first difference is definition in module 'SecondModule' found method 'f' with composite.n1[2] for 1st template argument}}
2150 #if defined(FIRST) || defined(SECOND)
2164 #elif defined(SECOND)
2171 // expected-error@second.h:* {{'TemplateArgument::S26' has different definitions in different modules; first difference is definition in module 'SecondModule' found method 'f' with &composite.n2[0] for 1st template argument}}
2175 #if defined(FIRST) || defined(SECOND)
2188 #elif defined(SECOND)
2195 // expected-error@second.h:* {{'TemplateArgument::S27' has different definitions in different modules; first difference is definition in module 'SecondModule' found method 'f' with u.i2 for 1st template argument}}
2199 #if defined(FIRST) || defined(SECOND)
2208 #if defined(FIRST) || defined(SECOND)
2222 #elif defined(SECOND)
2229 // expected-error@second.h:* {{'TemplateArgument::S29' has different definitions in different modules; first difference is definition in module 'SecondModule' found method 'f' with &A::a for 1st template argument}}
2233 #if defined(FIRST) || defined(SECOND)
2247 #elif defined(SECOND)
2254 // expected-error@second.h:* {{'TemplateArgument::S31' has different definitions in different modules; first difference is definition in module 'SecondModule' found method 'f' with &composite.n1[2] for 1st template argument}}
2263 #elif defined(SECOND)
2270 // expected-error@second.h:* {{'TemplateArgument::S32' has different definitions in different modules; first difference is definition in module 'SecondModule' found method 'f' with (int *)2 for 1st template argument}}
2274 #if defined(FIRST) || defined(SECOND)
2305 #if defined(FIRST) || defined(SECOND)
2312 #if defined(FIRST) || defined(SECOND)
2320 #if defined(FIRST) || defined(SECOND)
2327 // expected-error@second.h:* {{'TemplateArgument::Invalid1' has different definitions in different modules; first difference is definition in module 'SecondModule' found private access specifier}}
2339 #elif defined(SECOND)
2347 // expected-note@second.h:* {{declaration of 'x' does not match}}
2358 #elif defined(SECOND)
2369 // expected-note@second.h:* {{declaration of 'x' does not match}}
2371 // expected-note@second.h:* {{declaration of 'type' does not match}}
2382 #if defined(FIRST) || defined(SECOND)
2386 #if defined(FIRST) || defined(SECOND)
2395 #if defined(FIRST) || defined(SECOND)
2403 // expected-error@second.h:* {{'TemplateTypeParmType::Invalid1' has different definitions in different modules; first difference is definition in module 'SecondModule' found private access specifier}}
2415 #elif defined(SECOND)
2422 // expected-error@second.h:* {{'VarDecl::S1' has different definitions in different modules; first difference is definition in module 'SecondModule' found data member with name 'y'}}
2430 #elif defined(SECOND)
2437 // expected-error@second.h:* {{'VarDecl::S2' has different definitions in different modules; first difference is definition in module 'SecondModule' found data member 'x' with type 'I' (aka 'int')}}
2445 #elif defined(SECOND)
2451 // expected-error@second.h:* {{'VarDecl::S3' has different definitions in different modules; first difference is definition in module 'SecondModule' found data member 'x' with an initializer}}
2459 #elif defined(SECOND)
2465 // expected-error@second.h:* {{'VarDecl::S4' has different definitions in different modules; first difference is definition in module 'SecondModule' found data member 'x' with an initializer}}
2473 #elif defined(SECOND)
2479 // expected-error@second.h:* {{'VarDecl::S5' has different definitions in different modules; first difference is definition in module 'SecondModule' found data member 'x' is not constexpr}}
2487 #elif defined(SECOND)
2494 // expected-note@second.h:* {{definition has no member 'x'}}
2501 #elif defined(SECOND)
2508 // expected-note@second.h:* {{declaration of 'x' does not match}}
2516 #elif defined(SECOND)
2523 // expected-error@second.h:* {{'VarDecl::S8' has different definitions in different modules; first difference is definition in module 'SecondModule' found data member}}
2531 #elif defined(SECOND)
2538 // expected-note@second.h:* {{declaration of 'x' does not match}}
2547 #if defined(FIRST) || defined(SECOND)
2551 #if defined(FIRST) || defined(SECOND)
2559 #if defined(FIRST) || defined(SECOND)
2566 // expected-error@second.h:* {{'VarDecl::Invalid1' has different definitions in different modules; first difference is definition in module 'SecondModule' found private access specifier}}
2578 #elif defined(SECOND)
2585 // expected-error@second.h:* {{'Friend::S1' has different definitions in different modules; first difference is definition in module 'SecondModule' found friend 'T1'}}
2594 #elif defined(SECOND)
2601 // expected-error@second.h:* {{'Friend::S2' has different definitions in different modules; first difference is definition in module 'SecondModule' found friend 'struct T2'}}
2610 #elif defined(SECOND)
2616 // expected-error@second.h:* {{'Friend::S4' has different definitions in different modules; first difference is definition in module 'SecondModule' found friend function}}
2624 #elif defined(SECOND)
2630 // expected-error@second.h:* {{'Friend::S5' has different definitions in different modules; first difference is definition in module 'SecondModule' found friend function 'T5b'}}
2640 #if defined(FIRST) || defined(SECOND)
2646 #if defined(FIRST) || defined(SECOND)
2654 #if defined(FIRST) || defined(SECOND)
2661 // expected-error@second.h:* {{'Friend::Invalid1' has different definitions in different modules; first difference is definition in module 'SecondModule' found private access specifier}}
2671 #elif defined(SECOND)
2676 // expected-error@second.h:* {{'TemplateParameters::S1' has different definitions in different modules; first difference is definition in module 'SecondModule' found template parameter 'B'}}
2683 #elif defined(SECOND)
2688 // expected-error@second.h:* {{'TemplateParameters::S2' has different definitions in different modules; first difference is definition in module 'SecondModule' found template parameter with default argument}}
2695 #elif defined(SECOND)
2700 // expected-error@second.h:* {{'TemplateParameters::S3' has different definitions in different modules; first difference is definition in module 'SecondModule' found template parameter with no default argument}}
2707 #elif defined(SECOND)
2712 // expected-error@second.h:* {{'TemplateParameters::S4' has different definitions in different modules; first difference is definition in module 'SecondModule' found template parameter with default argument}}
2720 #elif defined(SECOND)
2726 // expected-error@second.h:* {{'TemplateParameters::S5' has different definitions in different modules; first difference is definition in module 'SecondModule' found template parameter with default argument}}
2733 #elif defined(SECOND)
2738 // expected-error@second.h:* {{'TemplateParameters::S6' has different definitions in different modules; first difference is definition in module 'SecondModule' found unnamed template parameter}}
2745 #elif defined(SECOND)
2750 // expected-error@second.h:* {{'TemplateParameters::S7' has different definitions in different modules; first difference is definition in module 'SecondModule' found template parameter with default argument}}
2757 #elif defined(SECOND)
2763 // expected-error@second.h:* {{'TemplateParameters::S8' has different definitions in different modules; first difference is definition in module 'SecondModule' found template parameter with default argument}}
2770 #elif defined(SECOND)
2780 #elif defined(SECOND)
2790 #elif defined(SECOND)
2802 #elif defined(SECOND)
2812 #elif defined(SECOND)
2822 #elif defined(SECOND)
2831 #if defined(FIRST) || defined(SECOND)
2835 #if defined(FIRST) || defined(SECOND)
2846 #if defined(FIRST) || defined(SECOND)
2856 // expected-error@second.h:* {{'TemplateParameters::Invalid1' has different definitions in different modules; first difference is definition in module 'SecondModule' found private access specifier}}
2866 #elif defined(SECOND)
2870 // expected-error@second.h:* {{'BaseClass::S1' has different definitions in different modules; first difference is definition in module 'SecondModule' found 0 base classes}}
2876 #elif defined(SECOND)
2881 // expected-error@second.h:* {{'BaseClass::S2' has different definitions in different modules; first difference is definition in module 'SecondModule' found 1 base class}}
2888 #elif defined(SECOND)
2893 // expected-error@second.h:* {{'BaseClass::S3' has different definitions in different modules; first difference is definition in module 'SecondModule' found 1 virtual base class}}
2900 #elif defined(SECOND)
2905 // expected-error@second.h:* {{'BaseClass::S4' has different definitions in different modules; first difference is definition in module 'SecondModule' found 1st base class with type 'B4b'}}
2912 #elif defined(SECOND)
2917 // expected-error@second.h:* {{'BaseClass::S5' has different definitions in different modules; first difference is definition in module 'SecondModule' found 0 virtual base classes}}
2924 #elif defined(SECOND)
2929 // expected-error@second.h:* {{'BaseClass::S6' has different definitions in different modules; first difference is definition in module 'SecondModule' found 1 virtual base class}}
2936 #elif defined(SECOND)
2941 // expected-error@second.h:* {{'BaseClass::S7' has different definitions in different modules; first difference is definition in module 'SecondModule' found 1st base class 'B7a' with no access specifier}}
2948 #elif defined(SECOND)
2953 // expected-error@second.h:* {{'BaseClass::S8' has different definitions in different modules; first difference is definition in module 'SecondModule' found 1st base class 'B8a' with private access specifier}}
2960 #elif defined(SECOND)
2965 // expected-error@second.h:* {{'BaseClass::S9' has different definitions in different modules; first difference is definition in module 'SecondModule' found 1st base class 'B9a' with public access specifier}}
2972 #elif defined(SECOND)
2977 // expected-error@second.h:* {{'BaseClass::S10' has different definitions in different modules; first difference is definition in module 'SecondModule' found 1st base class 'B10a' with protected access specifier}}
2983 #if defined(FIRST) || defined(SECOND)
2991 #if defined(FIRST) || defined(SECOND)
3001 #if defined(FIRST) || defined(SECOND)
3010 // expected-error@second.h:* {{'BaseClass::Invalid1' has different definitions in different modules; first difference is definition in module 'SecondModule' found private access specifier}}
3017 #if defined(FIRST) || defined(SECOND)
3025 #elif defined(SECOND)
3032 // expected-note@second.h:* {{declaration of 'x' does not match}}
3039 #elif defined(SECOND)
3046 // expected-note@second.h:* {{declaration of 'x' does not match}}
3053 #elif defined(SECOND)
3060 // expected-note@second.h:* {{declaration of 'x' does not match}}
3067 #elif defined(SECOND)
3074 // expected-note@second.h:* {{declaration of 'x' does not match}}
3081 #elif defined(SECOND)
3088 // expected-note@second.h:* {{declaration of 'x' does not match}}
3095 #elif defined(SECOND)
3102 // expected-note@second.h:* {{declaration of 'x' does not match}}
3116 #if defined(FIRST) || defined(SECOND)
3124 #if defined(FIRST) || defined(SECOND)
3131 // expected-error@second.h:* {{'PointersAndReferences::Invalid1' has different definitions in different modules; first difference is definition in module 'SecondModule' found private access specifier}}
3142 #elif defined(SECOND)
3149 // expected-note@second.h:* {{declaration of 'foo' does not match}}
3156 #elif defined(SECOND)
3163 // expected-note@second.h:* {{declaration of 'foo' does not match}}
3170 #elif defined(SECOND)
3176 // expected-error@second.h:* {{'FunctionTemplate::S3' has different definitions in different modules; first difference is definition in module 'SecondModule' found function template 'foo' with 1st template parameter named 'y'}}
3184 #elif defined(SECOND)
3191 // expected-note@second.h:* {{definition has no member 'foo'}}
3198 #elif defined(SECOND)
3205 // expected-error@second.h:* {{'FunctionTemplate::S5' has different definitions in different modules; first difference is definition in module 'SecondModule' found public access specifier}}
3213 #elif defined(SECOND)
3219 // expected-error@second.h:* {{'FunctionTemplate::S6' has different definitions in different modules; first difference is definition in module 'SecondModule' found function template 'foo' with 1st template parameter with no default argument}}
3227 #elif defined(SECOND)
3233 // expected-error@second.h:* {{'FunctionTemplate::S7' has different definitions in different modules; first difference is definition in module 'SecondModule' found function template 'foo' with 1st template parameter with default argument 'int'}}
3243 #elif defined(SECOND)
3251 // expected-error@second.h:* {{'FunctionTemplate::S8' has different definitions in different modules; first difference is definition in module 'SecondModule' found function template 'foo' with 1st template parameter with default argument 'T8'}}
3261 #elif defined(SECOND)
3267 // expected-error@second.h:* {{'FunctionTemplate::S9' has different definitions in different modules; first difference is definition in module 'SecondModule' found function template 'foo' with 1st template parameter with no default argument}}
3276 #elif defined(SECOND)
3283 // expected-error@second.h:* {{'FunctionTemplate::S10' has different definitions in different modules; first difference is definition in module 'SecondModule' found function template 'foo' with 1st template parameter with one type}}
3291 #elif defined(SECOND)
3297 // expected-error@second.h:* {{'FunctionTemplate::S11' has different definitions in different modules; first difference is definition in module 'SecondModule' found function template 'foo' with 1st template parameter with no name}}
3306 #elif defined(SECOND)
3313 // expected-error@second.h:* {{'FunctionTemplate::S12' has different definitions in different modules; first difference is definition in module 'SecondModule' found function template 'foo' with 2 template parameters}}
3321 #elif defined(SECOND)
3327 // expected-error@second.h:* {{'FunctionTemplate::S13' has different definitions in different modules; first difference is definition in module 'SecondModule' found function template 'foo' with 1st template parameter with default argument 'void'}}
3335 #elif defined(SECOND)
3341 // expected-error@second.h:* {{'FunctionTemplate::S14' has different definitions in different modules; first difference is definition in module 'SecondModule' found function template 'foo' with 1st template parameter with no default argument}}
3349 #elif defined(SECOND)
3355 // expected-error@second.h:* {{'FunctionTemplate::S15' has different definitions in different modules; first difference is definition in module 'SecondModule' found function template 'foo' with 1st template parameter with default argument}}
3363 #elif defined(SECOND)
3369 // expected-error@second.h:* {{'FunctionTemplate::S16' has different definitions in different modules; first difference is definition in module 'SecondModule' found function template 'foo' with 1st template parameter with default argument}}
3377 #elif defined(SECOND)
3383 // expected-error@second.h:* {{'FunctionTemplate::S17' has different definitions in different modules; first difference is definition in module 'SecondModule' found function template 'foo' with 1st template parameter with default argument 1 + 1}}
3392 #elif defined(SECOND)
3399 // expected-error@second.h:* {{'FunctionTemplate::S18' has different definitions in different modules; first difference is definition in module 'SecondModule' found function template 'foo' with 1st template parameter with one type}}
3408 #elif defined(SECOND)
3415 // expected-error@second.h:* {{'FunctionTemplate::S19' has different definitions in different modules; first difference is definition in module 'SecondModule' found function template 'foo' with 1st template parameter being a template parameter pack}}
3424 #elif defined(SECOND)
3431 // expected-error@second.h:* {{'FunctionTemplate::S20' has different definitions in different modules; first difference is definition in module 'SecondModule' found function template 'foo' with 1st template parameter being a template parameter pack}}
3440 #elif defined(SECOND)
3447 // expected-error@second.h:* {{'FunctionTemplate::S21' has different definitions in different modules; first difference is definition in module 'SecondModule' found function template 'foo' with 1st template parameter not being a template parameter pack}}
3457 #elif defined(SECOND)
3465 // expected-error@second.h:* {{'FunctionTemplate::S22' has different definitions in different modules; first difference is definition in module 'SecondModule' found function template 'foo' with 1st template parameter being a type template parameter}}
3475 #elif defined(SECOND)
3483 // expected-error@second.h:* {{'FunctionTemplate::S23' has different definitions in different modules; first difference is definition in module 'SecondModule' found function template 'foo' with 1st template parameter being a non-type template parameter}}
3493 #elif defined(SECOND)
3501 // expected-error@second.h:* {{'FunctionTemplate::S24' has different definitions in different modules; first difference is definition in module 'SecondModule' found function template 'foo' with 1st template parameter being a template template parameter}}
3509 #elif defined(SECOND)
3516 // expected-error@second.h:* {{'FunctionTemplate::S25' has different definitions in different modules; first difference is definition in module 'SecondModule' found public access specifier}}
3554 #if defined(FIRST) || defined(SECOND)
3564 #if defined(FIRST) || defined(SECOND)
3571 // expected-error@second.h:* {{'FunctionTemplate::Invalid1' has different definitions in different modules; first difference is definition in module 'SecondModule' found private access specifier}}
3580 #elif defined(SECOND)
3585 // expected-note@second.h:* {{definition has no member 'x11'}}
3590 #elif defined(SECOND)
3594 // expected-error@second.h:* {{'Enums::E2' has different definitions in different modules; definition in module 'SecondModule' first difference is enum with 1 element}}
3600 #elif defined(SECOND)
3605 // expected-note@second.h:* {{definition has no member 'x31'}}
3610 #elif defined(SECOND)
3614 // expected-error@second.h:* {{'Enums::E4' has different definitions in different modules; definition in module 'SecondModule' first difference is enum with 2 elements}}
3620 #elif defined(SECOND)
3625 // expected-note@second.h:* {{definition has no member 'x52'}}
3630 #elif defined(SECOND)
3634 // expected-error@second.h:* {{'Enums::E6' has different definitions in different modules; definition in module 'SecondModule' first difference is 1st element has name 'x62'}}
3640 #elif defined(SECOND)
3644 // expected-error@second.h:* {{'Enums::E7' has different definitions in different modules; definition in module 'SecondModule' first difference is 1st element 'x71' has an initializer}}
3650 #elif defined(SECOND)
3654 // expected-error@second.h:* {{'Enums::E8' has different definitions in different modules; definition in module 'SecondModule' first difference is 1st element 'x81' does not have an initializer}}
3660 #elif defined(SECOND)
3664 // expected-error@second.h:* {{'Enums::E9' has different definitions in different modules; definition in module 'SecondModule' first difference is 2nd element 'x92' has an initializer}}
3670 #elif defined(SECOND)
3674 // expected-error@second.h:* {{'Enums::E10' has different definitions in different modules; definition in module 'SecondModule' first difference is enum without specified type}}
3680 #elif defined(SECOND)
3684 // expected-error@second.h:* {{'Enums::E11' has different definitions in different modules; definition in module 'SecondModule' first difference is enum with specified type}}
3690 #elif defined(SECOND)
3694 // expected-error@second.h:* {{'Enums::E12' has different definitions in different modules; definition in module 'SecondModule' first difference is enum with specified type 'int'}}
3700 #elif defined(SECOND)
3704 // expected-error@second.h:* {{'Enums::E13' has different definitions in different modules; definition in module 'SecondModule' first difference is enum that is not scoped}}
3710 #elif defined(SECOND)
3714 // expected-error@second.h:* {{'Enums::E14' has different definitions in different modules; definition in module 'SecondModule' first difference is enum that is scoped}}
3720 #elif defined(SECOND)
3724 // expected-error@second.h:* {{'Enums::E15' has different definitions in different modules; definition in module 'SecondModule' first difference is enum scoped with keyword struct}}
3730 #elif defined(SECOND)
3734 // expected-error@second.h:* {{'Enums::E16' has different definitions in different modules; definition in module 'SecondModule' first difference is enum scoped with keyword class}}
3740 #elif defined(SECOND)
3757 #elif defined(SECOND)
3766 // expected-error@second.h:* {{'Types::Complex::invalid' has different definitions in different modules; definition in module 'SecondModule' first difference is function body}}
3785 #elif defined(SECOND)
3799 // expected-error@second.h:* {{'Types::Decltype::invalid1' has different definitions in different modules; definition in module 'SecondModule' first difference is function body}}
3824 #elif defined(SECOND)
3841 // expected-error@second.h:* {{'Types::Auto::invalid1' has different definitions in different modules; definition in module 'SecondModule' first difference is function body}}
3844 // expected-error@second.h:* {{'Types::Auto::invalid2' has different definitions in different modules; definition in module 'SecondModule' first difference is function body}}
3847 // expected-error@second.h:* {{'Types::Auto::invalid3' has different definitions in different modules; definition in module 'SecondModule' first difference is function body}}
3869 #elif defined(SECOND)
3888 // expected-error@second.h:* {{'Types::DeducedTemplateSpecialization::invalid2' has different definitions in different modules; definition in module 'SecondModule' first difference is function body}}
3910 #elif defined(SECOND)
3930 // expected-note@second.h:* {{but in 'SecondModule' found a different body}}
3933 // expected-note@second.h:* {{but in 'SecondModule' found a different body}}
3953 #elif defined(SECOND)
3971 // expected-note@second.h:* {{but in 'SecondModule' found a different body}}
3974 // expected-note@second.h:* {{but in 'SecondModule' found a different body}}
4001 #elif defined(SECOND)
4023 // expected-error@second.h:* {{'Types::InjectedClassName::Invalid::L2::L3::x' from module 'SecondModule' is not present in definition of 'L3<value-parameter-1-0>' in module 'FirstModule'}}
4052 #elif defined(SECOND)
4076 // expected-error@second.h:* {{'Types::MemberPointer::Invalid1' has different definitions in different modules; definition in module 'SecondModule' first difference is function body}}
4079 // expected-error@second.h:* {{'Types::MemberPointer::Invalid2' has different definitions in different modules; definition in module 'SecondModule' first difference is function body}}
4082 // expected-error@second.h:* {{'Types::MemberPointer::Invalid3' has different definitions in different modules; definition in module 'SecondModule' first difference is function body}}
4111 #elif defined(SECOND)
4135 // expected-note@second.h:* {{but in 'SecondModule' found method 'run' with 1st parameter of type 'B...'}}
4149 #elif defined(SECOND)
4158 // expected-error@second.h:* {{'Types::Paren::invalid' has different definitions in different modules; definition in module 'SecondModule' first difference is function body}}
4175 #elif defined(SECOND)
4225 #elif defined(SECOND)
4245 // expected-note@second.h:* {{declaration of 'x' does not match}}
4247 // expected-error@second.h:* {{'Types::UnaryTransform::Invalid2' has different definitions in different modules; first difference is definition in module 'SecondModule' found field 'x' with type '__underlying_type(E2b)' (aka 'unsigned int')}}
4251 // expected-note@second.h:* {{declaration of 'x' does not match}}
4253 // expected-error@second.h:* {{'Types::UnaryTransform::Invalid4' has different definitions in different modules; first difference is definition in module 'SecondModule' found field 'x' with type '__underlying_type(E4b)' (aka 'unsigned int')}}
4277 #elif defined(SECOND)
4295 // expected-note@second.h:* {{declaration of 'x' does not match}}
4340 #elif defined(SECOND)
4354 #elif defined(SECOND)
4363 // expected-error@second.h:* {{'FriendFunction::T' has different definitions in different modules; first difference is definition in module 'SecondModule' found public access specifier}}
4377 #elif defined(SECOND)
4393 #elif defined(SECOND)
4400 // expected-note@second.h:* {{but in 'SecondModule' found public access specifier}}
4409 #elif defined(SECOND)
4421 #elif defined(SECOND)
4428 // expected-error@second.h:* {{'TemplatedClass::T' has different definitions in different modules; first difference is definition in module 'SecondModule' found public access specifier}}
4439 #elif defined(SECOND)
4455 #elif defined(SECOND)
4464 // expected-error@second.h:* {{'TemplateClassWithField::T' has different definitions in different modules; first difference is definition in module 'SecondModule' found public access specifier}}
4477 #elif defined(SECOND)
4499 #elif defined(SECOND)
4512 // expected-error@second.h:* {{'TemplateClassWithTemplateField::T' has different definitions in different modules; first difference is definition in module 'SecondModule' found private access specifier}}
4523 #elif defined(SECOND)
4537 #elif defined(SECOND)
4544 // expected-error@second.h:* {{'EnumWithForwardDeclaration::T' has different definitions in different modules; first difference is definition in module 'SecondModule' found private access specifier}}
4555 #elif defined(SECOND)
4569 #elif defined(SECOND)
4576 // expected-error@second.h:* {{'StructWithForwardDeclaration::T' has different definitions in different modules; first difference is definition in module 'SecondModule' found private access specifier}}
4587 #elif defined(SECOND)
4602 #elif defined(SECOND)
4610 // expected-error@second.h:* {{'StructWithForwardDeclarationNoDefinition::T' has different definitions in different modules; first difference is definition in module 'SecondModule' found private access specifier}}
4623 #elif defined(SECOND)
4640 #elif defined(SECOND)
4646 #if defined(FIRST) || defined(SECOND)
4678 #elif defined(SECOND)
4703 #elif defined(SECOND)
4716 // expected-note@second.h:* {{but in 'SecondModule' found 1st parameter with name 'asdf'}}
4727 #elif defined(SECOND)
4743 #elif defined(SECOND)
4759 #elif defined(SECOND)
4775 #elif defined(SECOND)
4791 #elif defined(SECOND)
4810 #elif defined(SECOND)
4821 // expected-error@second.h:* {{'DefaultArguments::S::R' has different definitions in different modules; first difference is definition in module 'SecondModule' found method 'foo' with 1st parameter with a default argument}}
4831 #elif defined(SECOND)
4839 // expected-error@second.h:* {{'DefaultArguments::Bravo' has different definitions in different modules; first difference is definition in module 'SecondModule' found method 'charlie' with 1st parameter with a default argument}}
4848 #elif defined(SECOND)
4859 #elif defined(SECOND)
4872 #elif defined(SECOND)
4880 #if defined(FIRST) || defined(SECOND)
4888 #elif defined(SECOND)
4894 // expected-note@second.h:* {{candidate function}}
4899 #elif defined(SECOND)
4905 // expected-note@second.h:* {{candidate function}}
4910 #elif defined(SECOND)
4914 // expected-error@second.h:* {{'FunctionDecl::F4' has different definitions in different modules; definition in module 'SecondModule' first difference is 1st parameter with name 'y'}}
4920 #elif defined(SECOND)
4924 // expected-error@second.h:* {{'FunctionDecl::F5' has different definitions in different modules; definition in module 'SecondModule' first difference is 1st parameter without a default argument}}
4930 #elif defined(SECOND)
4934 // expected-error@second.h:* {{'FunctionDecl::F6' has different definitions in different modules; definition in module 'SecondModule' first difference is 1st parameter with a default argument}}
4941 #elif defined(SECOND)
4945 // expected-error@second.h:* {{'FunctionDecl::F7' has different definitions in different modules; definition in module 'SecondModule' first difference is return type is 'int'}}
4951 #elif defined(SECOND)
4955 // expected-error@second.h:* {{'FunctionDecl::F8' has different definitions in different modules; definition in module 'SecondModule' first difference is 1st parameter with type 'I' (aka 'int')}}
4961 #elif defined(SECOND)
4965 // expected-error@second.h:* {{'FunctionDecl::F9' has different definitions in different modules; definition in module 'SecondModule' first difference is 1st parameter with type 'int *' decayed from 'int[2]'}}
4971 #elif defined(SECOND)
4976 // expected-error@second.h:* {{'FunctionDecl::F10' has different definitions in different modules; definition in module 'SecondModule' first difference is function body}}
4983 #elif defined(SECOND)
4996 #elif defined(SECOND)
5010 #elif defined(SECOND)
5024 #elif defined(SECOND)
5030 // expected-error@second.h:* {{'DeclTemplateArguments::bar' has different definitions in different modules; definition in module 'SecondModule' first difference is function body}}
5041 #elif defined(SECOND)
5049 // expected-note@second.h:* {{declaration of 'Y' does not match}}
5065 #elif defined(SECOND)
5077 #elif defined(SECOND)
5091 #elif defined(SECOND)
5105 #elif defined(SECOND)
5121 #elif defined(SECOND)
5139 #elif defined(SECOND)
5149 // expected-note@second.h:* {{declaration of 't' does not match}}
5158 #elif defined(SECOND)
5172 #ifdef SECOND
5173 #undef SECOND