1*9880d681SAndroid Build Coastguard Worker; RUN: llvm-link -S %s %S/Inputs/old_global_ctors.3.4.bc | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker; RUN: llvm-link -S %S/Inputs/old_global_ctors.3.4.bc %s | FileCheck %s 3*9880d681SAndroid Build Coastguard Worker 4*9880d681SAndroid Build Coastguard Worker; old_global_ctors.3.4.bc contains the following LLVM IL, assembled into 5*9880d681SAndroid Build Coastguard Worker; bitcode by llvm-as from 3.4. It uses a two element @llvm.global_ctors array. 6*9880d681SAndroid Build Coastguard Worker; --- 7*9880d681SAndroid Build Coastguard Worker; declare void @a_global_ctor() 8*9880d681SAndroid Build Coastguard Worker; declare void @b_global_ctor() 9*9880d681SAndroid Build Coastguard Worker; 10*9880d681SAndroid Build Coastguard Worker; @llvm.global_ctors = appending global [2 x { i32, void ()* } ] [ 11*9880d681SAndroid Build Coastguard Worker; { i32, void ()* } { i32 65535, void ()* @a_global_ctor }, 12*9880d681SAndroid Build Coastguard Worker; { i32, void ()* } { i32 65535, void ()* @b_global_ctor } 13*9880d681SAndroid Build Coastguard Worker; ] 14*9880d681SAndroid Build Coastguard Worker; --- 15*9880d681SAndroid Build Coastguard Worker 16*9880d681SAndroid Build Coastguard Workerdeclare void @c_global_ctor() 17*9880d681SAndroid Build Coastguard Workerdeclare void @d_global_ctor() 18*9880d681SAndroid Build Coastguard Worker 19*9880d681SAndroid Build Coastguard Worker@llvm.global_ctors = appending global [2 x { i32, void ()*, i8* } ] [ 20*9880d681SAndroid Build Coastguard Worker { i32, void ()*, i8* } { i32 65535, void ()* @c_global_ctor, i8* null }, 21*9880d681SAndroid Build Coastguard Worker { i32, void ()*, i8* } { i32 65535, void ()* @d_global_ctor, i8* null } 22*9880d681SAndroid Build Coastguard Worker] 23*9880d681SAndroid Build Coastguard Worker 24*9880d681SAndroid Build Coastguard Worker; CHECK: @llvm.global_ctors = appending global [4 x { i32, void ()*, i8* }] [ 25*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: { i32, void ()*, i8* } { i32 65535, void ()* @a_global_ctor, i8* null } 26*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: { i32, void ()*, i8* } { i32 65535, void ()* @b_global_ctor, i8* null } 27*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: { i32, void ()*, i8* } { i32 65535, void ()* @c_global_ctor, i8* null } 28*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: { i32, void ()*, i8* } { i32 65535, void ()* @d_global_ctor, i8* null } 29*9880d681SAndroid Build Coastguard Worker; CHECK: ] 30