diff options
Diffstat (limited to 'tests/run-make/sepcomp-separate')
-rw-r--r-- | tests/run-make/sepcomp-separate/Makefile | 9 | ||||
-rw-r--r-- | tests/run-make/sepcomp-separate/foo.rs | 21 |
2 files changed, 30 insertions, 0 deletions
diff --git a/tests/run-make/sepcomp-separate/Makefile b/tests/run-make/sepcomp-separate/Makefile new file mode 100644 index 000000000..62cf54a88 --- /dev/null +++ b/tests/run-make/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/tests/run-make/sepcomp-separate/foo.rs b/tests/run-make/sepcomp-separate/foo.rs new file mode 100644 index 000000000..169bafa9b --- /dev/null +++ b/tests/run-make/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(); +} |