15ee4b9a1SReid Kleckner // RUN: %clang_cc1 -triple %itanium_abi_triple -emit-llvm -std=c++11 -fcxx-exceptions -fexceptions -S -emit-llvm -o - %s | FileCheck %s
25ee4b9a1SReid Kleckner 
35ee4b9a1SReid Kleckner namespace std {
45ee4b9a1SReid Kleckner   struct string {
55ee4b9a1SReid Kleckner     const char *p;
65ee4b9a1SReid Kleckner     string(const char *s);
75ee4b9a1SReid Kleckner     ~string();
85ee4b9a1SReid Kleckner   };
95ee4b9a1SReid Kleckner }
105ee4b9a1SReid Kleckner 
115ee4b9a1SReid Kleckner struct Bar {
125ee4b9a1SReid Kleckner   int a;
135ee4b9a1SReid Kleckner };
145ee4b9a1SReid Kleckner 
155ee4b9a1SReid Kleckner struct Foo {
165ee4b9a1SReid Kleckner   std::string c;
175ee4b9a1SReid Kleckner   Bar d[32];
185ee4b9a1SReid Kleckner };
195ee4b9a1SReid Kleckner 
205ee4b9a1SReid Kleckner static Foo table[] = {
215ee4b9a1SReid Kleckner   { "blerg" },
225ee4b9a1SReid Kleckner };
235ee4b9a1SReid Kleckner 
245ee4b9a1SReid Kleckner // CHECK: define internal void @__cxx_global_var_init
25*3baf9c8aSReid Kleckner // CHECK: invoke {{.*}} @_ZNSt6stringC1EPKc(
265ee4b9a1SReid Kleckner // CHECK-NOT: unreachable
275ee4b9a1SReid Kleckner // CHECK: br label
28