1*f4a2713aSLionel Sambuc // RUN: %clang_cc1 -triple x86_64-apple-darwin10.0.0 -emit-llvm -o - %s -std=c++11 -g | FileCheck %s 2*f4a2713aSLionel Sambuc 3*f4a2713aSLionel Sambuc void crash() { 4*f4a2713aSLionel Sambuc volatile char *ptr = 0; 5*f4a2713aSLionel Sambuc char x = *ptr; 6*f4a2713aSLionel Sambuc } 7*f4a2713aSLionel Sambuc 8*f4a2713aSLionel Sambuc int test() { 9*f4a2713aSLionel Sambuc crash(); 10*f4a2713aSLionel Sambuc return 1; 11*f4a2713aSLionel Sambuc } 12*f4a2713aSLionel Sambuc 13*f4a2713aSLionel Sambuc static int i = test(); 14*f4a2713aSLionel Sambuc __attribute__((nodebug)) static int j = test(); 15*f4a2713aSLionel Sambuc static int k = test(); 16*f4a2713aSLionel Sambuc 17*f4a2713aSLionel Sambuc int main(void) {} 18*f4a2713aSLionel Sambuc 19*f4a2713aSLionel Sambuc // CHECK-LABEL: define internal void @__cxx_global_var_init() 20*f4a2713aSLionel Sambuc // CHECK-NOT: __cxx_global_var_init 21*f4a2713aSLionel Sambuc // CHECK: %[[C0:.+]] = call i32 @_Z4testv(), !dbg ![[LINE:.*]] 22*f4a2713aSLionel Sambuc // CHECK-NOT: __cxx_global_var_init 23*f4a2713aSLionel Sambuc // CHECK: store i32 %[[C0]], i32* @_ZL1i, align 4, !dbg 24*f4a2713aSLionel Sambuc // 25*f4a2713aSLionel Sambuc // CHECK-LABEL: define internal void @__cxx_global_var_init1() 26*f4a2713aSLionel Sambuc // CHECK-NOT: dbg 27*f4a2713aSLionel Sambuc // CHECK: %[[C1:.+]] = call i32 @_Z4testv() 28*f4a2713aSLionel Sambuc // CHECK-NOT: dbg 29*f4a2713aSLionel Sambuc // CHECK: store i32 %[[C1]], i32* @_ZL1j, align 4 30*f4a2713aSLionel Sambuc // 31*f4a2713aSLionel Sambuc // CHECK-LABEL: define internal void @__cxx_global_var_init2() 32*f4a2713aSLionel Sambuc // CHECK-NOT: __cxx_global_var_init 33*f4a2713aSLionel Sambuc // CHECK: %[[C2:.+]] = call i32 @_Z4testv(), !dbg ![[LINE2:.*]] 34*f4a2713aSLionel Sambuc // CHECK-NOT: __cxx_global_var_init 35*f4a2713aSLionel Sambuc // CHECK: store i32 %[[C2]], i32* @_ZL1k, align 4, !dbg 36*f4a2713aSLionel Sambuc // 37*f4a2713aSLionel Sambuc // CHECK: ![[LINE]] = metadata !{i32 13, i32 38*f4a2713aSLionel Sambuc // CHECK: ![[LINE2]] = metadata !{i32 15, i32 39