| ; Test that global constructors behind casts are run | |
| ; | |
| ; RUN: lli -jit-kind=orc %s | FileCheck %s | |
| ; | |
| ; CHECK: constructor | |
| declare i32 @puts(ptr) | |
| @.str = private constant [12 x i8] c"constructor\00" | |
| @llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 1, ptr @constructor, ptr null }] | |
| define internal i32 @constructor() #0 { | |
| %call = tail call i32 @puts(ptr @.str) | |
| ret i32 0 | |
| } | |
| define i32 @main() { | |
| ret i32 0 | |
| } |