about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMichael Woerister <michaelwoerister@posteo>2017-10-27 14:32:26 +0200
committerMichael Woerister <michaelwoerister@posteo>2017-11-07 08:54:38 +0100
commit6ae60ea94e1ad98fe5e3e2a82aabfa3e0d6dd210 (patch)
treec3f649f9553950ad7fafa55477ebfb4a89f01aba
parent7bb9353dd56a738e7a85bf852ad58d552a07c4e9 (diff)
downloadrust-6ae60ea94e1ad98fe5e3e2a82aabfa3e0d6dd210.tar.gz
rust-6ae60ea94e1ad98fe5e3e2a82aabfa3e0d6dd210.zip
Add regression tests for non-instantiation of inline and const fns.
-rw-r--r--src/test/codegen-units/item-collection/unreferenced-const-fn.rs22
-rw-r--r--src/test/codegen-units/item-collection/unreferenced-inline-function.rs23
2 files changed, 45 insertions, 0 deletions
diff --git a/src/test/codegen-units/item-collection/unreferenced-const-fn.rs b/src/test/codegen-units/item-collection/unreferenced-const-fn.rs
new file mode 100644
index 00000000000..59b25d8beca
--- /dev/null
+++ b/src/test/codegen-units/item-collection/unreferenced-const-fn.rs
@@ -0,0 +1,22 @@
+// Copyright 2017 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// ignore-tidy-linelength
+// compile-flags:-Zprint-trans-items=lazy
+
+// NB: We do not expect *any* translation item to be generated here.
+
+#![feature(const_fn)]
+#![deny(dead_code)]
+#![crate_type = "rlib"]
+
+pub const fn foo(x: u32) -> u32 {
+    x + 0xf00
+}
diff --git a/src/test/codegen-units/item-collection/unreferenced-inline-function.rs b/src/test/codegen-units/item-collection/unreferenced-inline-function.rs
new file mode 100644
index 00000000000..75d41a38012
--- /dev/null
+++ b/src/test/codegen-units/item-collection/unreferenced-inline-function.rs
@@ -0,0 +1,23 @@
+// Copyright 2017 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// ignore-tidy-linelength
+// compile-flags:-Zprint-trans-items=lazy
+
+// NB: We do not expect *any* translation item to be generated here.
+
+#![deny(dead_code)]
+#![crate_type = "rlib"]
+
+#[inline]
+pub fn foo() -> bool {
+    [1, 2] == [3, 4]
+}
+