mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-25 16:24:46 +00:00
Track verbose
and verbose_internals
bjorn3 says: > On errors we don't finalize the incr comp cache, but non-fatal diagnostics are cached afaik. Otherwise we would have to replay the query in question, which we may not be able to do if the query key is not reconstructible from the dep node fingerprint. So we must track these flags to avoid replaying incorrect diagnostics.
This commit is contained in:
parent
88189a71e4
commit
c3e4c457fe
@ -98,6 +98,7 @@ fn assert_same_hash(x: &Options, y: &Options) {
|
||||
assert_same_clone(y);
|
||||
}
|
||||
|
||||
#[track_caller]
|
||||
fn assert_different_hash(x: &Options, y: &Options) {
|
||||
assert_ne!(x.dep_tracking_hash(true), y.dep_tracking_hash(true));
|
||||
assert_ne!(x.dep_tracking_hash(false), y.dep_tracking_hash(false));
|
||||
@ -713,7 +714,6 @@ fn test_unstable_options_tracking_hash() {
|
||||
untracked!(unpretty, Some("expanded".to_string()));
|
||||
untracked!(unstable_options, true);
|
||||
untracked!(validate_mir, true);
|
||||
untracked!(verbose_internals, true);
|
||||
untracked!(write_long_types_to_disk, false);
|
||||
// tidy-alphabetical-end
|
||||
|
||||
@ -845,6 +845,7 @@ fn test_unstable_options_tracking_hash() {
|
||||
};
|
||||
}
|
||||
tracked_no_crate_hash!(no_codegen, true);
|
||||
tracked_no_crate_hash!(verbose_internals, true);
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
@ -224,7 +224,7 @@ top_level_options!(
|
||||
working_dir: RealFileName [TRACKED],
|
||||
color: ColorConfig [UNTRACKED],
|
||||
|
||||
verbose: bool [UNTRACKED],
|
||||
verbose: bool [TRACKED_NO_CRATE_HASH],
|
||||
}
|
||||
);
|
||||
|
||||
@ -1986,7 +1986,7 @@ written to standard error output)"),
|
||||
validate_mir: bool = (false, parse_bool, [UNTRACKED],
|
||||
"validate MIR after each transformation"),
|
||||
#[rustc_lint_opt_deny_field_access("use `Session::verbose_internals` instead of this field")]
|
||||
verbose_internals: bool = (false, parse_bool, [UNTRACKED],
|
||||
verbose_internals: bool = (false, parse_bool, [TRACKED_NO_CRATE_HASH],
|
||||
"in general, enable more debug printouts (default: no)"),
|
||||
#[rustc_lint_opt_deny_field_access("use `Session::verify_llvm_ir` instead of this field")]
|
||||
verify_llvm_ir: bool = (false, parse_bool, [TRACKED],
|
||||
|
@ -11,13 +11,13 @@
|
||||
#![rustc_partition_codegened(module="commandline_args", cfg="rpass4")]
|
||||
|
||||
// Between revisions 1 and 2, we are changing the debuginfo-level, which should
|
||||
// invalidate the cache. Between revisions 2 and 3, we are adding `--verbose`
|
||||
// invalidate the cache. Between revisions 2 and 3, we are adding `--diagnostic-width`
|
||||
// which should have no effect on the cache. Between revisions, we are adding
|
||||
// `--remap-path-prefix` which should invalidate the cache:
|
||||
//[rpass1] compile-flags: -C debuginfo=0
|
||||
//[rpass2] compile-flags: -C debuginfo=2
|
||||
//[rpass3] compile-flags: -C debuginfo=2 --verbose
|
||||
//[rpass4] compile-flags: -C debuginfo=2 --verbose --remap-path-prefix=/home/bors/rust=src
|
||||
//[rpass3] compile-flags: -C debuginfo=2 --diagnostic-width=80
|
||||
//[rpass4] compile-flags: -C debuginfo=2 --diagnostic-width=80 --remap-path-prefix=/home/bors/r=src
|
||||
|
||||
pub fn main() {
|
||||
// empty
|
||||
|
Loading…
Reference in New Issue
Block a user