1// RUN: %clang_cc1 -triple x86_64-apple-macosx10.13.0 -std=c++1z -fobjc-arc -fobjc-exceptions -fcxx-exceptions -fexceptions -emit-llvm -o - %s | FileCheck %s 2 3// CHECK: %[[V0:.*]] = type opaque 4// CHECK: %[[STRUCT_CLASS1:.*]] = type { %[[V0]]* } 5 6@interface Class0; 7@end 8 9struct Class1 { 10 Class0 *f; 11}; 12 13struct Container { 14 Class1 a; 15 bool b; 16}; 17 18bool getBool() { 19 extern void mayThrow(); 20 mayThrow(); 21 return false; 22} 23 24Class0 *g; 25 26// CHECK: define {{.*}} @_Z4testv() 27// CHECK: invoke zeroext i1 @_Z7getBoolv() 28// CHECK: landingpad { i8*, i32 } 29// CHECK: call void @_ZN6Class1D1Ev(%[[STRUCT_CLASS1]]* {{[^,]*}} %{{.*}}) 30// CHECK: br label 31 32// CHECK: define linkonce_odr void @_ZN6Class1D1Ev( 33 34Container test() { 35 return {{g}, getBool()}; 36} 37