Home | History | Annotate | Download | only in PCH
      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