summaryrefslogtreecommitdiffstats
path: root/tests/ui/optimization-remark.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/optimization-remark.rs')
-rw-r--r--tests/ui/optimization-remark.rs28
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/ui/optimization-remark.rs b/tests/ui/optimization-remark.rs
new file mode 100644
index 000000000..d4b39c670
--- /dev/null
+++ b/tests/ui/optimization-remark.rs
@@ -0,0 +1,28 @@
+// build-pass
+// ignore-pass
+// min-llvm-version: 14.0.0
+// revisions: all inline merge1 merge2
+// compile-flags: --crate-type=lib -Cdebuginfo=1 -Copt-level=2
+//
+// Check that remarks can be enabled individually or with "all":
+//
+// [all] compile-flags: -Cremark=all
+// [inline] compile-flags: -Cremark=inline
+//
+// Check that values of -Cremark flag are accumulated:
+//
+// [merge1] compile-flags: -Cremark=all -Cremark=giraffe
+// [merge2] compile-flags: -Cremark=inline -Cremark=giraffe
+//
+// error-pattern: inline: 'f' not inlined into 'g'
+// dont-check-compiler-stderr
+
+#[no_mangle]
+#[inline(never)]
+pub fn f() {
+}
+
+#[no_mangle]
+pub fn g() {
+ f();
+}