xref: /llvm-project/llvm/test/ExecutionEngine/Orc/global-ctor-with-cast.ll (revision 2d56d8c4e8751c7e2cab927cdeb4e519af3f3585)
1; Test that global constructors behind casts are run
2;
3; RUN: lli -jit-kind=orc %s | FileCheck %s
4;
5; CHECK: constructor
6
7declare i32 @puts(ptr)
8
9@.str = private constant [12 x i8] c"constructor\00"
10@llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 1, ptr @constructor, ptr null }]
11
12define internal i32 @constructor() #0 {
13  %call = tail call i32 @puts(ptr @.str)
14  ret i32 0
15}
16
17define i32 @main()  {
18  ret i32 0
19}
20