blob: b3891c148e3e4495eb066558f37d31a80da283f1 [file] [log] [blame]
Nick Lewycky78d1a102012-07-24 01:40:49 +00001// RUN: %clang_cc1 -triple x86_64-apple-darwin10.0.0 -emit-llvm -o - %s -std=c++11 -g | FileCheck %s
2
3void crash() {
4 volatile char *ptr = 0;
5 char x = *ptr;
6}
7
8int test() {
9 crash();
10 return 1;
11}
12
13static int i = test();
14__attribute__((nodebug)) static int j = test();
15
16int main(void) {}
17
18// CHECK: define internal void @__cxx_global_var_init()
19// CHECK-NOT: __cxx_global_var_init
Bill Wendling5bb033b2013-02-22 21:12:51 +000020// CHECK: %[[C0:.+]] = call i32 @_Z4testv(), !dbg ![[LINE:.*]]
Nick Lewycky78d1a102012-07-24 01:40:49 +000021// CHECK-NOT: __cxx_global_var_init
NAKAMURA Takumi9a29d742012-07-24 02:03:39 +000022// CHECK: store i32 %[[C0]], i32* @_ZL1i, align 4, !dbg
Nick Lewycky78d1a102012-07-24 01:40:49 +000023//
24// CHECK: define internal void @__cxx_global_var_init1()
25// CHECK-NOT: dbg
NAKAMURA Takumi9a29d742012-07-24 02:03:39 +000026// CHECK: %[[C1:.+]] = call i32 @_Z4testv()
Nick Lewycky78d1a102012-07-24 01:40:49 +000027// CHECK-NOT: dbg
NAKAMURA Takumi9a29d742012-07-24 02:03:39 +000028// CHECK: store i32 %[[C1]], i32* @_ZL1j, align 4
Nick Lewycky78d1a102012-07-24 01:40:49 +000029//
Eric Christopherda3301e2012-10-18 21:52:18 +000030// CHECK: ![[LINE]] = metadata !{i32 13, i32