about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJosh Stone <jistone@redhat.com>2021-11-20 16:29:15 -0800
committerJosh Stone <jistone@redhat.com>2021-11-20 16:29:15 -0800
commit3b2cfa574699d3d92c1114837e347dd7ee248fcb (patch)
tree1ab31ef65efe2240ba921b08dbb3ba8970f708fc
parent023cc968e1295994ed8039da43b0f2f4ea4e9390 (diff)
downloadrust-3b2cfa574699d3d92c1114837e347dd7ee248fcb.tar.gz
rust-3b2cfa574699d3d92c1114837e347dd7ee248fcb.zip
Add another test variant of issue-91050
Co-authored-by: Simonas Kazlauskas <git@kazlauskas.me>
-rw-r--r--src/test/ui/issues/issue-91050-1.rs (renamed from src/test/ui/issues/issue-91050.rs)2
-rw-r--r--src/test/ui/issues/issue-91050-2.rs24
2 files changed, 25 insertions, 1 deletions
diff --git a/src/test/ui/issues/issue-91050.rs b/src/test/ui/issues/issue-91050-1.rs
index 50763d30931..403a41462ef 100644
--- a/src/test/ui/issues/issue-91050.rs
+++ b/src/test/ui/issues/issue-91050-1.rs
@@ -1,5 +1,5 @@
 // build-pass
-// compile-flags: --crate-type lib -Ccodegen-units=1
+// compile-flags: --crate-type=rlib --emit=llvm-ir -Cno-prepopulate-passes
 
 // This test declares globals by the same name with different types, which
 // caused problems because Module::getOrInsertGlobal would return a Constant*
diff --git a/src/test/ui/issues/issue-91050-2.rs b/src/test/ui/issues/issue-91050-2.rs
new file mode 100644
index 00000000000..2ff954d15ca
--- /dev/null
+++ b/src/test/ui/issues/issue-91050-2.rs
@@ -0,0 +1,24 @@
+// build-pass
+// compile-flags: --crate-type=rlib --emit=llvm-ir -Cno-prepopulate-passes
+
+// This is a variant of issue-91050-1.rs -- see there for an explanation.
+
+pub mod before {
+    extern "C" {
+        pub static GLOBAL1: [u8; 1];
+    }
+
+    pub unsafe fn do_something_with_array() -> u8 {
+        GLOBAL1[0]
+    }
+}
+
+pub mod inner {
+    extern "C" {
+        pub static GLOBAL1: u8;
+    }
+
+    pub unsafe fn call() -> u8 {
+        GLOBAL1 + 42
+    }
+}