diff options
Diffstat (limited to 'tests/ui/codegen/remark-flag-functionality.rs')
| -rw-r--r-- | tests/ui/codegen/remark-flag-functionality.rs | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/ui/codegen/remark-flag-functionality.rs b/tests/ui/codegen/remark-flag-functionality.rs new file mode 100644 index 00000000000..797c55ba830 --- /dev/null +++ b/tests/ui/codegen/remark-flag-functionality.rs @@ -0,0 +1,30 @@ +//! Check that `-Cremark` flag correctly emits LLVM optimization remarks. +//! +//! Regression test for <https://github.com/rust-lang/rust/issues/90924>. + +//@ build-pass +//@ ignore-pass +//@ 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 + +//@ dont-check-compiler-stderr +//@ dont-require-annotations: NOTE + +#[no_mangle] +#[inline(never)] +pub fn f() {} + +#[no_mangle] +pub fn g() { + f(); +} + +//~? NOTE inline (missed): 'f' not inlined into 'g' |
