summaryrefslogtreecommitdiffstats
path: root/src/test/mir-opt/const_promotion_extern_static.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/mir-opt/const_promotion_extern_static.rs')
-rw-r--r--src/test/mir-opt/const_promotion_extern_static.rs18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/test/mir-opt/const_promotion_extern_static.rs b/src/test/mir-opt/const_promotion_extern_static.rs
new file mode 100644
index 000000000..e4261cfe5
--- /dev/null
+++ b/src/test/mir-opt/const_promotion_extern_static.rs
@@ -0,0 +1,18 @@
+// ignore-endian-big
+extern "C" {
+ static X: i32;
+}
+static Y: i32 = 42;
+
+// EMIT_MIR const_promotion_extern_static.BAR.PromoteTemps.diff
+// EMIT_MIR const_promotion_extern_static.BAR-promoted[0].SimplifyCfg-elaborate-drops.after.mir
+static mut BAR: *const &i32 = [&Y].as_ptr();
+
+// EMIT_MIR const_promotion_extern_static.FOO.PromoteTemps.diff
+// EMIT_MIR const_promotion_extern_static.FOO-promoted[0].SimplifyCfg-elaborate-drops.after.mir
+static mut FOO: *const &i32 = [unsafe { &X }].as_ptr();
+
+// EMIT_MIR const_promotion_extern_static.BOP.built.after.mir
+static BOP: &i32 = &13;
+
+fn main() {}