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