summary refs log tree commit diff
path: root/src/test/run-make/sepcomp-inlining/Makefile
blob: bc299de0c2d3fc1f10318c4eeb2a1835eee35ecd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
-include ../tools.mk

# Test that #[inline(always)] functions still get inlined across compilation
# unit boundaries.  Compilation should produce three IR files, with each one
# containing a definition of the inlined function.  Also, the non-#[inline]
# function should be defined in only one compilation unit.

all:
	$(RUSTC) foo.rs --emit=llvm-ir -C codegen-units=3
	[ "$$(cat "$(TMPDIR)"/foo.?.ll | grep -c define\ i32\ .*inlined)" -eq "1" ]
	[ "$$(cat "$(TMPDIR)"/foo.?.ll | grep -c define\ available_externally\ i32\ .*inlined)" -eq "2" ]
	[ "$$(cat "$(TMPDIR)"/foo.?.ll | grep -c define\ i32\ .*normal)" -eq "1" ]
	[ "$$(cat "$(TMPDIR)"/foo.?.ll | grep -c declare\ i32\ .*normal)" -eq "2" ]