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:
David Mo 2023-09-01 10:53:50 -07:00
parent 59a8294849
commit 4160337c85
2 changed files with 17 additions and 0 deletions

View 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;

View File

@ -0,0 +1,3 @@
'common' global must have a zero initializer!
ptr @TEST
LLVM ERROR: Broken module found, compilation aborted!