1 // Test this without pch. 2 // RUN: %clang_cc1 -fcxx-exceptions -fexceptions -include %S/cxx_exprs.h -std=c++11 -fsyntax-only -verify %s -ast-dump 3 4 // Test with pch. Use '-ast-dump' to force deserialization of function bodies. 5 // RUN: %clang_cc1 -fcxx-exceptions -fexceptions -x c++-header -std=c++11 -emit-pch -o %t %S/cxx_exprs.h 6 // RUN: %clang_cc1 -fcxx-exceptions -fexceptions -std=c++11 -include-pch %t -fsyntax-only -verify %s -ast-dump 7 8 int integer; 9 double floating; 10 char character; 11 bool boolean; 12 13 // CXXStaticCastExpr 14 static_cast_result void_ptr = &integer; 15 16 // CXXDynamicCastExpr 17 Derived *d; 18 dynamic_cast_result derived_ptr = d; 19 20 // CXXReinterpretCastExpr 21 reinterpret_cast_result void_ptr2 = &integer; 22 23 // CXXConstCastExpr 24 const_cast_result char_ptr = &character; 25 26 // CXXFunctionalCastExpr 27 functional_cast_result *double_ptr = &floating; 28 29 // CXXBoolLiteralExpr 30 bool_literal_result *bool_ptr = &boolean; 31 static_assert(true_value, "true_value is true"); 32 static_assert(!false_value, "false_value is false"); 33 34 // CXXNullPtrLiteralExpr 35 cxx_null_ptr_result null_ptr = nullptr; 36 37 // CXXTypeidExpr 38 typeid_result1 typeid_1 = 0; 39 typeid_result2 typeid_2 = 0; 40