|  | // RUN: %clang_cc1 -triple %itanium_abi_triple -std=c++1z -fcxx-exceptions -emit-pch -o %t.1.ast %S/Inputs/exprs3.cpp | 
|  | // RUN: %clang_cc1 -triple %itanium_abi_triple -std=c++1z -fcxx-exceptions -ast-merge %t.1.ast -fsyntax-only -verify %s | 
|  | // expected-no-diagnostics | 
|  |  | 
|  | static_assert(Ch1 == 'a'); | 
|  | static_assert(Ch2 == 'b'); | 
|  | static_assert(Ch3 == 'c'); | 
|  |  | 
|  | static_assert(Ch4 == L'd'); | 
|  | static_assert(Ch5 == L'e'); | 
|  | static_assert(Ch6 == L'f'); | 
|  |  | 
|  | static_assert(C1 == 12); | 
|  | static_assert(C2 == 13); | 
|  |  | 
|  | static_assert(C3 == 12); | 
|  | static_assert(C4 == 13); | 
|  |  | 
|  | static_assert(C5 == 22L); | 
|  | static_assert(C6 == 23L); | 
|  |  | 
|  | static_assert(C7 == 66LL); | 
|  | static_assert(C8 == 67ULL); | 
|  |  | 
|  | static_assert(bval1 == true); | 
|  | static_assert(bval2 == false); | 
|  |  | 
|  | static_assert(ExpressionTrait == false); | 
|  |  | 
|  | static_assert(ArrayRank == 2); | 
|  | static_assert(ArrayExtent == 20); | 
|  |  | 
|  | static_assert(testLambdaAdd(3) == 6); | 
|  |  | 
|  | void testImport(int *x, const S1 &cs1, S1 &s1) { | 
|  | testNewThrowDelete(); | 
|  | testArrayElement(nullptr, 12); | 
|  | testTernaryOp(0, 1, 2); | 
|  | testConstCast(cs1); | 
|  | testStaticCast(s1); | 
|  | testReinterpretCast(s1); | 
|  | testDynamicCast(s1); | 
|  | testScalarInit(42); | 
|  | testOffsetOf(); | 
|  | testDefaultArg(12); | 
|  | testDefaultArg(); | 
|  | testDefaultArgExpr(); | 
|  | useTemplateType(); | 
|  | TestLambdaTemplate<int>(1, 2).testLambda(3); | 
|  | } |