blob: cc28471df59da13cb3956e8bc8bd5376b0bf10a5 [file] [log] [blame]
Rafael Espindolab318fcb2015-12-01 15:46:46 +00001; 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
Reid Klecknerfceb76f2014-05-16 20:39:27 +00003
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: ]