1f2cc2669SFangrui Song // RUN: %clang_cc1 -triple=x86_64-linux-gnu -emit-llvm %s -o - | FileCheck %s 2c45eaeabSJon Chesterfield 3fd739804SFangrui Song // CHECK: @tentative_attr_first ={{.*}} global i32 undef 4c45eaeabSJon Chesterfield int tentative_attr_first __attribute__((loader_uninitialized)); 5c45eaeabSJon Chesterfield int tentative_attr_first; 6c45eaeabSJon Chesterfield 7fd739804SFangrui Song // CHECK: @tentative_attr_second ={{.*}} global i32 undef 8c45eaeabSJon Chesterfield int tentative_attr_second; 9c45eaeabSJon Chesterfield int tentative_attr_second __attribute__((loader_uninitialized)); 10c45eaeabSJon Chesterfield 11fd739804SFangrui Song // CHECK: @array ={{.*}} global [16 x float] undef 12c45eaeabSJon Chesterfield float array[16] __attribute__((loader_uninitialized)); 13c45eaeabSJon Chesterfield 14c45eaeabSJon Chesterfield typedef struct 15c45eaeabSJon Chesterfield { 16c45eaeabSJon Chesterfield int x; 17c45eaeabSJon Chesterfield float y; 18c45eaeabSJon Chesterfield } s; 19c45eaeabSJon Chesterfield 20fd739804SFangrui Song // CHECK: @i ={{.*}} global %struct.s undef 21*cbe8b57aSJohannes Doerfert // CHECK: @j1 ={{.*}}addrspace(1) global %struct.s undef 22*cbe8b57aSJohannes Doerfert // CHECK: @j2 ={{.*}}addrspace(2) global %struct.s undef 23*cbe8b57aSJohannes Doerfert // CHECK: @j3 ={{.*}}addrspace(3) global %struct.s undef 24*cbe8b57aSJohannes Doerfert // CHECK: @j4 ={{.*}}addrspace(4) global %struct.s undef 25*cbe8b57aSJohannes Doerfert // CHECK: @j5 ={{.*}}addrspace(5) global %struct.s undef 26*cbe8b57aSJohannes Doerfert // CHECK: @j99 ={{.*}}addrspace(99) global %struct.s undef 27c45eaeabSJon Chesterfield s i __attribute__((loader_uninitialized)); 28*cbe8b57aSJohannes Doerfert s j1 __attribute__((loader_uninitialized, address_space(1))); 29*cbe8b57aSJohannes Doerfert s j2 __attribute__((loader_uninitialized, address_space(2))); 30*cbe8b57aSJohannes Doerfert s j3 __attribute__((loader_uninitialized, address_space(3))); 31*cbe8b57aSJohannes Doerfert s j4 __attribute__((loader_uninitialized, address_space(4))); 32*cbe8b57aSJohannes Doerfert s j5 __attribute__((loader_uninitialized, address_space(5))); 33*cbe8b57aSJohannes Doerfert s j99 __attribute__((loader_uninitialized, address_space(99))); 34c45eaeabSJon Chesterfield 351d19b153SJon Chesterfield // CHECK: @private_extern_ok = hidden global i32 undef 36c45eaeabSJon Chesterfield __private_extern__ int private_extern_ok __attribute__((loader_uninitialized)); 37