1// REQUIRES: x86-registered-target 2// RUN: %clang_cc1 -fcxx-exceptions -fexceptions -triple x86_64-apple-darwin10 -S -emit-llvm -std=c++11 -include %S/ser.h %s -o - | FileCheck %s 3// RUN: %clang_cc1 -fcxx-exceptions -fexceptions -triple x86_64-apple-darwin10 -emit-pch -o %t-ser.pch -std=c++11 -x c++ %S/ser.h 4// RUN: %clang_cc1 -fcxx-exceptions -fexceptions -triple x86_64-apple-darwin10 -S -emit-llvm -std=c++11 -include-pch %t-ser.pch %s -o - | FileCheck %s 5 6struct D { 7 ~D() throw(); 8}; 9struct E { 10 ~E() throw(); 11}; 12 13void test() { 14 bool b; 15 // CHECK: store i8 1 16 b = noexcept(0); 17 // CHECK: store i8 0 18 b = noexcept(throw 0); 19 b = f1(); 20 b = f2(); 21 22 // CHECK-NOT: call void @_ZN1ED1Ev 23 // CHECK: call void @_ZN1DD1Ev 24 D(), noexcept(E()); 25} 26// CHECK: ret i1 true 27// CHECK: ret i1 false 28