Tests crash from inappropriate use of common linkage
Normally, variables with common linkage must be zero-initialized. In Rust, common linkage variables that are not zero-initialized causes a crash in the compiler backend. This commit adds a test case to confirm this behavior, which will inform us if it changes in the future.
This commit is contained in:
parent
59a8294849
commit
4160337c85
14
tests/ui/linkage-attr/common-linkage-non-zero-init.rs
Normal file
14
tests/ui/linkage-attr/common-linkage-non-zero-init.rs
Normal file
@ -0,0 +1,14 @@
|
||||
// build-fail
|
||||
// failure-status: 101
|
||||
// known-bug: #109681
|
||||
|
||||
// This test verifies that we continue to hit the LLVM error for common linkage with non-zero
|
||||
// initializers, since it generates invalid LLVM IR.
|
||||
// Linkages are internal features marked as perma-unstable, so we don't need to fix the issue
|
||||
// for now.
|
||||
#![crate_type="lib"]
|
||||
#![feature(linkage)]
|
||||
|
||||
#[linkage = "common"]
|
||||
#[no_mangle]
|
||||
pub static TEST: bool = true;
|
@ -0,0 +1,3 @@
|
||||
'common' global must have a zero initializer!
|
||||
ptr @TEST
|
||||
LLVM ERROR: Broken module found, compilation aborted!
|
Loading…
x
Reference in New Issue
Block a user