diff options
Diffstat (limited to 'src/test/run-make-fulldeps/sepcomp-separate')
-rw-r--r-- | src/test/run-make-fulldeps/sepcomp-separate/Makefile | 9 | ||||
-rw-r--r-- | src/test/run-make-fulldeps/sepcomp-separate/foo.rs | 21 |
2 files changed, 30 insertions, 0 deletions
diff --git a/src/test/run-make-fulldeps/sepcomp-separate/Makefile b/src/test/run-make-fulldeps/sepcomp-separate/Makefile new file mode 100644 index 000000000..5b8bdb0fa --- /dev/null +++ b/src/test/run-make-fulldeps/sepcomp-separate/Makefile @@ -0,0 +1,9 @@ +-include ../tools.mk + +# Test that separate compilation actually puts code into separate compilation +# units. `foo.rs` defines `magic_fn` in three different modules, which should +# wind up in three different compilation units. + +all: + $(RUSTC) foo.rs --emit=llvm-ir -C codegen-units=3 + [ "$$(cat "$(TMPDIR)"/foo.*.ll | grep -c define\ .*magic_fn)" -eq "3" ] diff --git a/src/test/run-make-fulldeps/sepcomp-separate/foo.rs b/src/test/run-make-fulldeps/sepcomp-separate/foo.rs new file mode 100644 index 000000000..169bafa9b --- /dev/null +++ b/src/test/run-make-fulldeps/sepcomp-separate/foo.rs @@ -0,0 +1,21 @@ +fn magic_fn() -> usize { + 1234 +} + +mod a { + pub fn magic_fn() -> usize { + 2345 + } +} + +mod b { + pub fn magic_fn() -> usize { + 3456 + } +} + +fn main() { + magic_fn(); + a::magic_fn(); + b::magic_fn(); +} |