-
Notifications
You must be signed in to change notification settings - Fork 12.5k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add a test case for incremental + codegen-units interaction.
- Loading branch information
1 parent
1e5b459
commit 408e6e3
Showing
2 changed files
with
53 additions
and
1 deletion.
There are no files selected for viewing
42 changes: 42 additions & 0 deletions
42
src/test/codegen-units/partitioning/incremental-merging.rs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
// ignore-tidy-linelength | ||
// We specify -C incremental here because we want to test the partitioning for | ||
// incremental compilation | ||
// compile-flags:-Zprint-mono-items=lazy -Cincremental=tmp/partitioning-tests/incremental-merging | ||
// compile-flags:-Ccodegen-units=3 | ||
|
||
#![crate_type = "rlib"] | ||
|
||
// This test makes sure that merging of CGUs works together with incremental | ||
// compilation but at the same time does not modify names of CGUs that were not | ||
// affected by merging. | ||
// | ||
// We expect CGUs `aaa` and `bbb` to be merged (because they are the smallest), | ||
// while `ccc` and `ddd` are supposed to stay untouched. | ||
|
||
pub mod aaa { | ||
//~ MONO_ITEM fn incremental_merging::aaa[0]::foo[0] @@ incremental_merging-aaa--incremental_merging-bbb[External] | ||
pub fn foo(a: u64) -> u64 { | ||
a + 1 | ||
} | ||
} | ||
|
||
pub mod bbb { | ||
//~ MONO_ITEM fn incremental_merging::bbb[0]::foo[0] @@ incremental_merging-aaa--incremental_merging-bbb[External] | ||
pub fn foo(a: u64, b: u64) -> u64 { | ||
a + b + 1 | ||
} | ||
} | ||
|
||
pub mod ccc { | ||
//~ MONO_ITEM fn incremental_merging::ccc[0]::foo[0] @@ incremental_merging-ccc[External] | ||
pub fn foo(a: u64, b: u64, c: u64) -> u64 { | ||
a + b + c + 1 | ||
} | ||
} | ||
|
||
pub mod ddd { | ||
//~ MONO_ITEM fn incremental_merging::ddd[0]::foo[0] @@ incremental_merging-ddd[External] | ||
pub fn foo(a: u64, b: u64, c: u64, d: u64) -> u64 { | ||
a + b + c + d + 1 | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters