
Previously, a package initializer that could not be reverted correctly would be called at runtime. But the initializer would be called in the wrong order: after later packages are initialized. This commit fixes this oversight and adds a test to verify the new behavior.
15 строки
398 Б
LLVM
15 строки
398 Б
LLVM
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
|
|
target triple = "x86_64--linux"
|
|
|
|
declare void @externalCall(i64) local_unnamed_addr
|
|
|
|
define void @runtime.initAll() unnamed_addr {
|
|
entry:
|
|
call fastcc void @foo.init(i8* undef, i8* undef)
|
|
call void @externalCall(i64 3)
|
|
ret void
|
|
}
|
|
|
|
define internal fastcc void @foo.init(i8* %context, i8* %parentHandle) unnamed_addr {
|
|
unreachable
|
|
}
|