1 // RUN: %clang_cc1 -triple %itanium_abi_triple -std=c++1z -fcxx-exceptions -Wno-signed-unsigned-wchar -emit-pch -o %t.1.ast %S/Inputs/exprs3.cpp
2 // RUN: %clang_cc1 -triple %itanium_abi_triple -std=c++1z -fcxx-exceptions -Wno-signed-unsigned-wchar -ast-merge %t.1.ast -fsyntax-only -verify %s
3 // expected-no-diagnostics
5 static_assert(Ch1
== 'a');
6 static_assert(Ch2
== 'b');
7 static_assert(Ch3
== 'c');
9 static_assert(Ch4
== L
'd');
10 static_assert(Ch5
== L
'e');
11 static_assert(Ch6
== L
'f');
13 static_assert(C1
== 12);
14 static_assert(C2
== 13);
16 static_assert(C3
== 12);
17 static_assert(C4
== 13);
19 static_assert(C5
== 22L);
20 static_assert(C6
== 23L);
22 static_assert(C7
== 66LL);
23 static_assert(C8
== 67ULL);
25 static_assert(bval1
== true);
26 static_assert(bval2
== false);
28 static_assert(ExpressionTrait
== false);
30 static_assert(ArrayRank
== 2);
31 static_assert(ArrayExtent
== 20);
33 static_assert(testLambdaAdd(3) == 6);
35 void testImport(int *x
, const S1
&cs1
, S1
&s1
) {
37 testArrayElement(nullptr, 12);
38 testTernaryOp(0, 1, 2);
41 testReinterpretCast(s1
);
49 TestLambdaTemplate
<int>(1, 2).testLambda(3);