mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-10-31 13:04:42 +00:00 
			
		
		
		
	 8c8225afe8
			
		
	
	
		8c8225afe8
		
	
	
	
	
		
			
			Previously `-Zprint-mono-items` would override the mono item collection strategy. When debugging one doesn't want to change the behaviour, so this was counter productive. Additionally, the produced behaviour was artificial and might never arise without using the option in the first place (`-Zprint-mono-items=eager` without `-Clink-dead-code`). Finally, the option was incorrectly marked as `UNTRACKED`. Resolve those issues, by turning `-Zprint-mono-items` into a boolean flag that prints results of mono item collection without changing the behaviour of mono item collection. For codegen-units test incorporate `-Zprint-mono-items` flag directly into compiletest tool. Test changes are mechanical. `-Zprint-mono-items=lazy` was removed without additional changes, and `-Zprint-mono-items=eager` was turned into `-Clink-dead-code`. Linking dead code disables internalization, so tests have been updated accordingly.
		
			
				
	
	
		
			41 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Rust
		
	
	
	
	
	
| //@ incremental
 | |
| //@ compile-flags: -Copt-level=0 -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.
 | |
| //
 | |
| // CGU partitioning creates one CGU per module, so with 4 modules and codegen-units=3,
 | |
| // two of the modules should be merged. We expect CGUs `aaa` and `bbb` to be merged
 | |
| // (because they are the smallest), while `ccc` and `ddd` should stay untouched.
 | |
| 
 | |
| pub mod aaa {
 | |
|     //~ MONO_ITEM fn aaa::foo @@ incremental_merging-aaa--incremental_merging-bbb[External]
 | |
|     pub fn foo(a: u64) -> u64 {
 | |
|         a + 1
 | |
|     }
 | |
| }
 | |
| 
 | |
| pub mod bbb {
 | |
|     //~ MONO_ITEM fn bbb::foo @@ incremental_merging-aaa--incremental_merging-bbb[External]
 | |
|     pub fn foo(a: u64, b: u64) -> u64 {
 | |
|         a + b + 1
 | |
|     }
 | |
| }
 | |
| 
 | |
| pub mod ccc {
 | |
|     //~ MONO_ITEM fn ccc::foo @@ incremental_merging-ccc[External]
 | |
|     pub fn foo(a: u64, b: u64, c: u64) -> u64 {
 | |
|         a + b + c + 1
 | |
|     }
 | |
| }
 | |
| 
 | |
| pub mod ddd {
 | |
|     //~ MONO_ITEM fn ddd::foo @@ incremental_merging-ddd[External]
 | |
|     pub fn foo(a: u64, b: u64, c: u64, d: u64) -> u64 {
 | |
|         a + b + c + d + 1
 | |
|     }
 | |
| }
 |