| // In this test, the function `bar` has #[inline(never)] and the function `foo` |
| // does not. This test outputs LLVM optimization remarks twice - first for all |
| // functions (including `bar`, and the `inline` mention), and then for only `foo` |
| // (should not have the `inline` mention). |
| // See https://github.com/rust-lang/rust/pull/113040 |
| |
| use run_make_support::{ |
| has_extension, has_prefix, invalid_utf8_contains, invalid_utf8_not_contains, not_contains, |
| rustc, shallow_find_files, |
| }; |
| |
| fn main() { |
| rustc() |
| .opt() |
| .input("foo.rs") |
| .crate_type("lib") |
| .arg("-Cremark=all") |
| .arg("-Zremark-dir=profiles_all") |
| .run(); |
| let all_remark_files = shallow_find_files("profiles_all", |path| { |
| has_prefix(path, "foo") && has_extension(path, "yaml") && not_contains(path, "codegen") |
| }); |
| for file in all_remark_files { |
| invalid_utf8_contains(file, "inline") |
| } |
| rustc() |
| .opt() |
| .input("foo.rs") |
| .crate_type("lib") |
| .arg("-Cremark=foo") |
| .arg("-Zremark-dir=profiles_foo") |
| .run(); |
| let foo_remark_files = shallow_find_files("profiles_foo", |path| { |
| has_prefix(path, "foo") && has_extension(path, "yaml") |
| }); |
| for file in foo_remark_files { |
| invalid_utf8_not_contains(file, "inline") |
| } |
| } |