[clang][modules] Don't prevent translation of FW_Private includes when explicitly...
[llvm-project.git] / clang / test / CodeGen / PowerPC / aix-init-priority-attribute.cpp
blob3248944be7c26f9a80008b4cc43105af194c3cd2
1 // RUN: %clang_cc1 -triple powerpc-ibm-aix-xcoff -x c++ -emit-llvm < %s | \
2 // RUN: FileCheck %s
3 // RUN: %clang_cc1 -triple powerpc64-ibm-aix-xcoff -x c++ -emit-llvm < %s | \
4 // RUN: FileCheck %s
6 struct test {
7 test() {}
8 ~test() {}
9 };
11 __attribute__((init_priority(200)))
12 test t1;
13 __attribute__((init_priority(200)))
14 test t2;
15 __attribute__((init_priority(300)))
16 test t3;
17 __attribute__((init_priority(150)))
18 test t4;
19 test t5;
21 // CHECK: @llvm.global_ctors = appending global [4 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 150, ptr @_GLOBAL__I_000150, ptr null }, { i32, ptr, ptr } { i32 200, ptr @_GLOBAL__I_000200, ptr null }, { i32, ptr, ptr } { i32 300, ptr @_GLOBAL__I_000300, ptr null }, { i32, ptr, ptr } { i32 65535, ptr @_GLOBAL__sub_I__, ptr null }]
22 // CHECK: @llvm.global_dtors = appending global [4 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 150, ptr @_GLOBAL__a_000150, ptr null }, { i32, ptr, ptr } { i32 200, ptr @_GLOBAL__a_000200, ptr null }, { i32, ptr, ptr } { i32 300, ptr @_GLOBAL__a_000300, ptr null }, { i32, ptr, ptr } { i32 65535, ptr @_GLOBAL__D_a, ptr null }]
24 // CHECK: define internal void @_GLOBAL__I_000150() [[ATTR:#[0-9]+]] {
25 // CHECK: entry:
26 // CHECK: call void @__cxx_global_var_init.3()
27 // CHECK: ret void
28 // CHECK: }
30 // CHECK: define internal void @_GLOBAL__I_000200() [[ATTR:#[0-9]+]] {
31 // CHECK: entry:
32 // CHECK: call void @__cxx_global_var_init()
33 // CHECK: call void @__cxx_global_var_init.1()
34 // CHECK: ret void
35 // CHECK: }
37 // CHECK: define internal void @_GLOBAL__I_000300() [[ATTR:#[0-9]+]] {
38 // CHECK: entry:
39 // CHECK: call void @__cxx_global_var_init.2()
40 // CHECK: ret void
41 // CHECK: }
43 // CHECK: define internal void @_GLOBAL__sub_I__() [[ATTR:#[0-9]+]] {
44 // CHECK: entry:
45 // CHECK: call void @__cxx_global_var_init.4()
46 // CHECK: ret void
47 // CHECK: }
49 // CHECK: define internal void @_GLOBAL__a_000150() [[ATTR:#[0-9]+]] {
50 // CHECK: entry:
51 // CHECK: call void @__finalize_t4()
52 // CHECK: ret void
53 // CHECK: }
55 // CHECK: define internal void @_GLOBAL__a_000200() [[ATTR:#[0-9]+]] {
56 // CHECK: entry:
57 // CHECK: call void @__finalize_t2()
58 // CHECK: call void @__finalize_t1()
59 // CHECK: ret void
60 // CHECK: }
62 // CHECK: define internal void @_GLOBAL__a_000300() [[ATTR:#[0-9]+]] {
63 // CHECK: entry:
64 // CHECK: call void @__finalize_t3()
65 // CHECK: ret void
66 // CHECK: }
68 // CHECK: define internal void @_GLOBAL__D_a() [[ATTR:#[0-9]+]] {
69 // CHECK: entry:
70 // CHECK: call void @__finalize_t5()
71 // CHECK: ret void
72 // CHECK: }