| // RUN: %clang_cc1 -triple=x86_64-linux-gnu -emit-llvm %s -o - | FileCheck %s |
| |
| // CHECK: @tentative_attr_first ={{.*}} global i32 undef |
| int tentative_attr_first __attribute__((loader_uninitialized)); |
| int tentative_attr_first; |
| |
| // CHECK: @tentative_attr_second ={{.*}} global i32 undef |
| int tentative_attr_second; |
| int tentative_attr_second __attribute__((loader_uninitialized)); |
| |
| // CHECK: @array ={{.*}} global [16 x float] undef |
| float array[16] __attribute__((loader_uninitialized)); |
| |
| typedef struct |
| { |
| int x; |
| float y; |
| } s; |
| |
| // CHECK: @i ={{.*}} global %struct.s undef |
| // CHECK: @j1 ={{.*}}addrspace(1) global %struct.s undef |
| // CHECK: @j2 ={{.*}}addrspace(2) global %struct.s undef |
| // CHECK: @j3 ={{.*}}addrspace(3) global %struct.s undef |
| // CHECK: @j4 ={{.*}}addrspace(4) global %struct.s undef |
| // CHECK: @j5 ={{.*}}addrspace(5) global %struct.s undef |
| // CHECK: @j99 ={{.*}}addrspace(99) global %struct.s undef |
| s i __attribute__((loader_uninitialized)); |
| s j1 __attribute__((loader_uninitialized, address_space(1))); |
| s j2 __attribute__((loader_uninitialized, address_space(2))); |
| s j3 __attribute__((loader_uninitialized, address_space(3))); |
| s j4 __attribute__((loader_uninitialized, address_space(4))); |
| s j5 __attribute__((loader_uninitialized, address_space(5))); |
| s j99 __attribute__((loader_uninitialized, address_space(99))); |
| |
| // CHECK: @private_extern_ok = hidden global i32 undef |
| __private_extern__ int private_extern_ok __attribute__((loader_uninitialized)); |