Migrate `run-make/inline-always-many-cgu` to `rmake.rs`

This commit is contained in:
Guillaume Gomez 2024-06-22 12:35:58 +02:00
parent d9962bb4d8
commit e7dfd4a913
3 changed files with 18 additions and 9 deletions

View File

@ -61,7 +61,6 @@ run-make/glibc-staticlib-args/Makefile
run-make/include_bytes_deps/Makefile
run-make/incr-add-rust-src-component/Makefile
run-make/incr-foreign-head-span/Makefile
run-make/inline-always-many-cgu/Makefile
run-make/interdependent-c-libraries/Makefile
run-make/intrinsic-unreachable/Makefile
run-make/invalid-library/Makefile

View File

@ -1,8 +0,0 @@
include ../tools.mk
all:
$(RUSTC) foo.rs --emit llvm-ir -C codegen-units=2
if cat $(TMPDIR)/*.ll | $(CGREP) -e '\bcall\b'; then \
echo "found call instruction when one wasn't expected"; \
exit 1; \
fi

View File

@ -0,0 +1,18 @@
use run_make_support::fs_wrapper::read_to_string;
use run_make_support::regex::Regex;
use run_make_support::{read_dir, rustc};
use std::ffi::OsStr;
fn main() {
rustc().input("foo.rs").emit("llvm-ir").codegen_units(2).run();
let re = Regex::new(r"\bcall\b").unwrap();
let mut nb_ll = 0;
read_dir(".", |path| {
if path.is_file() && path.extension().is_some_and(|ext| ext == OsStr::new("ll")) {
assert!(!re.is_match(&read_to_string(path)));
nb_ll += 1;
}
});
assert!(nb_ll > 0);
}