blob: 09c7d59bffed02c58b0f5c69d562f7aeaf8c06d9 [file] [log] [blame]
Douglas Katzman3459ce22015-10-08 04:24:12 +00001// RUN: %clang_cc1 -triple x86_64-apple-darwin10.0.0 -emit-llvm -o - %s -std=c++11 -debug-info-kind=limited | FileCheck %s
Nick Lewycky08597072012-07-24 01:40:49 +00002
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();
David Blaikie41f56822013-08-26 20:33:16 +000015static int k = test();
Nick Lewycky08597072012-07-24 01:40:49 +000016
17int main(void) {}
18
Stephen Lin43622612013-08-15 06:47:53 +000019// CHECK-LABEL: define internal void @__cxx_global_var_init()
Nick Lewycky08597072012-07-24 01:40:49 +000020// CHECK-NOT: __cxx_global_var_init
Bill Wendling19457e22013-02-22 21:12:51 +000021// CHECK: %[[C0:.+]] = call i32 @_Z4testv(), !dbg ![[LINE:.*]]
Nick Lewycky08597072012-07-24 01:40:49 +000022// CHECK-NOT: __cxx_global_var_init
NAKAMURA Takumi3c726212012-07-24 02:03:39 +000023// CHECK: store i32 %[[C0]], i32* @_ZL1i, align 4, !dbg
Nick Lewycky08597072012-07-24 01:40:49 +000024//
Sunil Srivastava3acf6272015-05-12 16:48:43 +000025// CHECK-LABEL: define internal void @__cxx_global_var_init.1()
Nick Lewycky08597072012-07-24 01:40:49 +000026// CHECK-NOT: dbg
NAKAMURA Takumi3c726212012-07-24 02:03:39 +000027// CHECK: %[[C1:.+]] = call i32 @_Z4testv()
Nick Lewycky08597072012-07-24 01:40:49 +000028// CHECK-NOT: dbg
NAKAMURA Takumi3c726212012-07-24 02:03:39 +000029// CHECK: store i32 %[[C1]], i32* @_ZL1j, align 4
David Blaikie41f56822013-08-26 20:33:16 +000030//
Sunil Srivastava3acf6272015-05-12 16:48:43 +000031// CHECK-LABEL: define internal void @__cxx_global_var_init.2()
David Blaikie41f56822013-08-26 20:33:16 +000032// CHECK-NOT: __cxx_global_var_init
33// CHECK: %[[C2:.+]] = call i32 @_Z4testv(), !dbg ![[LINE2:.*]]
34// CHECK-NOT: __cxx_global_var_init
35// CHECK: store i32 %[[C2]], i32* @_ZL1k, align 4, !dbg
Nick Lewycky08597072012-07-24 01:40:49 +000036//
Duncan P. N. Exon Smith9dd4e4e2015-04-29 16:40:08 +000037// CHECK: ![[LINE]] = !DILocation(line: 13,
38// CHECK: ![[LINE2]] = !DILocation(line: 15,