xref: /aosp_15_r20/external/llvm/test/CodeGen/X86/2011-08-29-InitOrder.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=i386-linux-gnu -use-ctors | FileCheck %s --check-prefix=CHECK-DEFAULT
2*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=i386-apple-darwin | FileCheck %s --check-prefix=CHECK-DARWIN
3*9880d681SAndroid Build Coastguard Worker; PR5329
4*9880d681SAndroid Build Coastguard Worker
5*9880d681SAndroid Build Coastguard Worker@llvm.global_ctors = appending global [3 x { i32, void ()* }] [{ i32, void ()* } { i32 2000, void ()* @construct_2 }, { i32, void ()* } { i32 3000, void ()* @construct_3 }, { i32, void ()* } { i32 1000, void ()* @construct_1 }]
6*9880d681SAndroid Build Coastguard Worker; CHECK-DEFAULT: .section        .ctors.64535,"aw",@progbits
7*9880d681SAndroid Build Coastguard Worker; CHECK-DEFAULT: .long construct_1
8*9880d681SAndroid Build Coastguard Worker; CHECK-DEFAULT: .section        .ctors.63535,"aw",@progbits
9*9880d681SAndroid Build Coastguard Worker; CHECK-DEFAULT: .long construct_2
10*9880d681SAndroid Build Coastguard Worker; CHECK-DEFAULT: .section        .ctors.62535,"aw",@progbits
11*9880d681SAndroid Build Coastguard Worker; CHECK-DEFAULT: .long construct_3
12*9880d681SAndroid Build Coastguard Worker
13*9880d681SAndroid Build Coastguard Worker; CHECK-DARWIN: .long _construct_1
14*9880d681SAndroid Build Coastguard Worker; CHECK-DARWIN-NEXT: .long _construct_2
15*9880d681SAndroid Build Coastguard Worker; CHECK-DARWIN-NEXT: .long _construct_3
16*9880d681SAndroid Build Coastguard Worker
17*9880d681SAndroid Build Coastguard Worker@llvm.global_dtors = appending global [3 x { i32, void ()* }] [{ i32, void ()* } { i32 2000, void ()* @destruct_2 }, { i32, void ()* } { i32 1000, void ()* @destruct_1 }, { i32, void ()* } { i32 3000, void ()* @destruct_3 }]
18*9880d681SAndroid Build Coastguard Worker; CHECK-DEFAULT: .section        .dtors.64535,"aw",@progbits
19*9880d681SAndroid Build Coastguard Worker; CHECK-DEFAULT: .long destruct_1
20*9880d681SAndroid Build Coastguard Worker; CHECK-DEFAULT: .section        .dtors.63535,"aw",@progbits
21*9880d681SAndroid Build Coastguard Worker; CHECK-DEFAULT: .long destruct_2
22*9880d681SAndroid Build Coastguard Worker; CHECK-DEFAULT: .section        .dtors.62535,"aw",@progbits
23*9880d681SAndroid Build Coastguard Worker; CHECK-DEFAULT: .long destruct_3
24*9880d681SAndroid Build Coastguard Worker
25*9880d681SAndroid Build Coastguard Worker; CHECK-DARWIN:      .long _destruct_1
26*9880d681SAndroid Build Coastguard Worker; CHECK-DARWIN-NEXT: .long _destruct_2
27*9880d681SAndroid Build Coastguard Worker; CHECK-DARWIN-NEXT: .long _destruct_3
28*9880d681SAndroid Build Coastguard Worker
29*9880d681SAndroid Build Coastguard Workerdeclare void @construct_1()
30*9880d681SAndroid Build Coastguard Workerdeclare void @construct_2()
31*9880d681SAndroid Build Coastguard Workerdeclare void @construct_3()
32*9880d681SAndroid Build Coastguard Workerdeclare void @destruct_1()
33*9880d681SAndroid Build Coastguard Workerdeclare void @destruct_2()
34*9880d681SAndroid Build Coastguard Workerdeclare void @destruct_3()
35