]> git.lizzy.rs Git - rust.git/blob - tests/run-make-fulldeps/sepcomp-inlining/Makefile
Rollup merge of #104965 - zacklukem:p-option-as_ref-docs, r=scottmcm
[rust.git] / tests / run-make-fulldeps / sepcomp-inlining / Makefile
1 include ../tools.mk
2
3 # Test that #[inline] functions still get inlined across compilation unit
4 # boundaries. Compilation should produce three IR files, but only the two
5 # compilation units that have a usage of the #[inline] function should
6 # contain a definition. Also, the non-#[inline] function should be defined
7 # in only one compilation unit.
8
9 all:
10         $(RUSTC) foo.rs --emit=llvm-ir -C codegen-units=3 \
11                 -Z inline-in-all-cgus
12         [ "$$(cat "$(TMPDIR)"/foo.*.ll | grep -c define\ i32\ .*inlined)" -eq "0" ]
13         [ "$$(cat "$(TMPDIR)"/foo.*.ll | grep -c define\ internal\ i32\ .*inlined)" -eq "2" ]
14         [ "$$(cat "$(TMPDIR)"/foo.*.ll | grep -c define\ hidden\ i32\ .*normal)" -eq "1" ]
15         [ "$$(cat "$(TMPDIR)"/foo.*.ll | grep -c declare\ hidden\ i32\ .*normal)" -eq "2" ]