Remove mono item collection strategy override from -Zprint-mono-items
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.
This commit is contained in:
parent
52f9761766
commit
b82a852640
|
|
@ -325,12 +325,8 @@ The tests in [`tests/codegen-units`] test the
|
||||||
[monomorphization](../backend/monomorph.md) collector and CGU partitioning.
|
[monomorphization](../backend/monomorph.md) collector and CGU partitioning.
|
||||||
|
|
||||||
These tests work by running `rustc` with a flag to print the result of the
|
These tests work by running `rustc` with a flag to print the result of the
|
||||||
monomorphization collection pass, and then special annotations in the file are
|
monomorphization collection pass, i.e., `-Zprint-mono-items`, and then special
|
||||||
used to compare against that.
|
annotations in the file are used to compare against that.
|
||||||
|
|
||||||
Each test should be annotated with the `//@
|
|
||||||
compile-flags:-Zprint-mono-items=VAL` directive with the appropriate `VAL` to
|
|
||||||
instruct `rustc` to print the monomorphization information.
|
|
||||||
|
|
||||||
Then, the test should be annotated with comments of the form `//~ MONO_ITEM
|
Then, the test should be annotated with comments of the form `//~ MONO_ITEM
|
||||||
name` where `name` is the monomorphized string printed by rustc like `fn <u32 as
|
name` where `name` is the monomorphized string printed by rustc like `fn <u32 as
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue