brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.4 KiB · 3248944 Raw
73 lines · cpp
1// RUN: %clang_cc1 -triple powerpc-ibm-aix-xcoff -x c++ -emit-llvm < %s | \2// RUN:   FileCheck %s3// RUN: %clang_cc1 -triple powerpc64-ibm-aix-xcoff -x c++ -emit-llvm < %s | \4// RUN:   FileCheck %s5 6struct test {7  test() {}8  ~test() {}9};10 11__attribute__((init_priority(200)))12test t1;13__attribute__((init_priority(200)))14test t2;15__attribute__((init_priority(300)))16test t3;17__attribute__((init_priority(150)))18test t4;19test t5;20 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 }]23 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 void28// CHECK: }29 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 void35// CHECK: }36 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 void41// CHECK: }42 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 void47// CHECK: }48 49// CHECK: define internal void @_GLOBAL__a_000150() [[ATTR:#[0-9]+]] {50// CHECK: entry:51// CHECK:   call void @__finalize_t4()52// CHECK:   ret void53// CHECK: }54 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 void60// CHECK: }61 62// CHECK: define internal void @_GLOBAL__a_000300() [[ATTR:#[0-9]+]] {63// CHECK: entry:64// CHECK:   call void @__finalize_t3()65// CHECK:   ret void66// CHECK: }67 68// CHECK: define internal void @_GLOBAL__D_a() [[ATTR:#[0-9]+]] {69// CHECK: entry:70// CHECK:   call void @__finalize_t5()71// CHECK:   ret void72// CHECK: }73