xref: /llvm-project/clang/test/ASTMerge/exprs-cpp/test.cpp (revision e8b659fc1ff02354438b1be0ff7016a12ec47603)
1*e8b659fcSRichard Smith // 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*e8b659fcSRichard Smith // 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
30333dd95SReid Kleckner // expected-no-diagnostics
40333dd95SReid Kleckner 
50333dd95SReid Kleckner static_assert(Ch1 == 'a');
60333dd95SReid Kleckner static_assert(Ch2 == 'b');
70333dd95SReid Kleckner static_assert(Ch3 == 'c');
80333dd95SReid Kleckner 
90333dd95SReid Kleckner static_assert(Ch4 == L'd');
100333dd95SReid Kleckner static_assert(Ch5 == L'e');
110333dd95SReid Kleckner static_assert(Ch6 == L'f');
120333dd95SReid Kleckner 
130333dd95SReid Kleckner static_assert(C1 == 12);
140333dd95SReid Kleckner static_assert(C2 == 13);
150333dd95SReid Kleckner 
160333dd95SReid Kleckner static_assert(C3 == 12);
170333dd95SReid Kleckner static_assert(C4 == 13);
180333dd95SReid Kleckner 
190333dd95SReid Kleckner static_assert(C5 == 22L);
200333dd95SReid Kleckner static_assert(C6 == 23L);
210333dd95SReid Kleckner 
220333dd95SReid Kleckner static_assert(C7 == 66LL);
230333dd95SReid Kleckner static_assert(C8 == 67ULL);
240333dd95SReid Kleckner 
250333dd95SReid Kleckner static_assert(bval1 == true);
260333dd95SReid Kleckner static_assert(bval2 == false);
270333dd95SReid Kleckner 
280333dd95SReid Kleckner static_assert(ExpressionTrait == false);
290333dd95SReid Kleckner 
300333dd95SReid Kleckner static_assert(ArrayRank == 2);
310333dd95SReid Kleckner static_assert(ArrayExtent == 20);
320333dd95SReid Kleckner 
330333dd95SReid Kleckner static_assert(testLambdaAdd(3) == 6);
340333dd95SReid Kleckner 
testImport(int * x,const S1 & cs1,S1 & s1)350333dd95SReid Kleckner void testImport(int *x, const S1 &cs1, S1 &s1) {
360333dd95SReid Kleckner   testNewThrowDelete();
370333dd95SReid Kleckner   testArrayElement(nullptr, 12);
380333dd95SReid Kleckner   testTernaryOp(0, 1, 2);
390333dd95SReid Kleckner   testConstCast(cs1);
400333dd95SReid Kleckner   testStaticCast(s1);
410333dd95SReid Kleckner   testReinterpretCast(s1);
420333dd95SReid Kleckner   testDynamicCast(s1);
430333dd95SReid Kleckner   testScalarInit(42);
440333dd95SReid Kleckner   testOffsetOf();
450333dd95SReid Kleckner   testDefaultArg(12);
460333dd95SReid Kleckner   testDefaultArg();
470333dd95SReid Kleckner   testDefaultArgExpr();
480333dd95SReid Kleckner   useTemplateType();
490333dd95SReid Kleckner   TestLambdaTemplate<int>(1, 2).testLambda(3);
500333dd95SReid Kleckner }
51