summary refs log tree commit diff
path: root/tests/codegen-llvm/lto-removes-invokes.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/codegen-llvm/lto-removes-invokes.rs')
-rw-r--r--tests/codegen-llvm/lto-removes-invokes.rs21
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/codegen-llvm/lto-removes-invokes.rs b/tests/codegen-llvm/lto-removes-invokes.rs
new file mode 100644
index 00000000000..3640bd1ab86
--- /dev/null
+++ b/tests/codegen-llvm/lto-removes-invokes.rs
@@ -0,0 +1,21 @@
+//@ compile-flags: -C lto -C panic=abort -Copt-level=3
+//@ no-prefer-dynamic
+
+fn main() {
+    foo();
+}
+
+#[no_mangle]
+#[inline(never)]
+fn foo() {
+    let _a = Box::new(3);
+    bar();
+    // CHECK-LABEL: define dso_local void @foo
+    // CHECK: call void @bar
+}
+
+#[inline(never)]
+#[no_mangle]
+fn bar() {
+    println!("hello!");
+}