about summary refs log tree commit diff
path: root/src/test/codegen
diff options
context:
space:
mode:
authorDeadbeef <ent3rm4n@gmail.com>2021-10-12 05:06:37 +0000
committerDeadbeef <ent3rm4n@gmail.com>2021-10-12 05:42:23 +0000
commit5387b6542f1d72d332c84e8325309f0c9de7b6a0 (patch)
tree1f01043fc08bd969b58879b64b73f11f08f26624 /src/test/codegen
parent0c87288f92b7e6365d61cfbcbc453ea4c696c030 (diff)
downloadrust-5387b6542f1d72d332c84e8325309f0c9de7b6a0.tar.gz
rust-5387b6542f1d72d332c84e8325309f0c9de7b6a0.zip
Add const_eval_select intrinsic
Diffstat (limited to 'src/test/codegen')
-rw-r--r--src/test/codegen/intrinsics/const_eval_select.rs17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/test/codegen/intrinsics/const_eval_select.rs b/src/test/codegen/intrinsics/const_eval_select.rs
new file mode 100644
index 00000000000..84777cac7c3
--- /dev/null
+++ b/src/test/codegen/intrinsics/const_eval_select.rs
@@ -0,0 +1,17 @@
+// compile-flags: -C no-prepopulate-passes
+
+#![crate_type = "lib"]
+#![feature(const_eval_select)]
+
+use std::intrinsics::const_eval_select;
+
+const fn foo(_: (i32,)) -> i32 { 1 }
+
+#[no_mangle]
+pub fn hi((n,): (i32,)) -> i32 { n }
+
+#[no_mangle]
+pub unsafe fn hey() {
+    // CHECK: call i32 @hi(i32
+    const_eval_select((42,), foo, hi);
+}