1*67e74705SXin Li // RUN: %clang_cc1 -triple %itanium_abi_triple -emit-llvm -std=c++11 -fcxx-exceptions -fexceptions -S -emit-llvm -o - %s | FileCheck %s 2*67e74705SXin Li 3*67e74705SXin Li namespace std { 4*67e74705SXin Li struct string { 5*67e74705SXin Li const char *p; 6*67e74705SXin Li string(const char *s); 7*67e74705SXin Li ~string(); 8*67e74705SXin Li }; 9*67e74705SXin Li } 10*67e74705SXin Li 11*67e74705SXin Li struct Bar { 12*67e74705SXin Li int a; 13*67e74705SXin Li }; 14*67e74705SXin Li 15*67e74705SXin Li struct Foo { 16*67e74705SXin Li std::string c; 17*67e74705SXin Li Bar d[32]; 18*67e74705SXin Li }; 19*67e74705SXin Li 20*67e74705SXin Li static Foo table[] = { 21*67e74705SXin Li { "blerg" }, 22*67e74705SXin Li }; 23*67e74705SXin Li 24*67e74705SXin Li // CHECK: define internal void @__cxx_global_var_init 25*67e74705SXin Li // CHECK: invoke {{.*}} @_ZNSt6stringC1EPKc( 26*67e74705SXin Li // CHECK-NOT: unreachable 27*67e74705SXin Li // CHECK: br label 28