Skip to content

Commit e39b7ae

Browse files
committed
Warn on redundant --cfg directive when revisions are used
1 parent b27f33a commit e39b7ae

File tree

3 files changed

+13
-9
lines changed

3 files changed

+13
-9
lines changed

Diff for: src/tools/compiletest/src/runtest.rs

+7-1
Original file line numberDiff line numberDiff line change
@@ -468,7 +468,13 @@ impl<'test> TestCx<'test> {
468468

469469
if let Some(revision) = self.revision {
470470
let normalized_revision = normalize_revision(revision);
471-
cmd.args(&["--cfg", &normalized_revision]);
471+
let cfg_arg = ["--cfg", &normalized_revision];
472+
if self.props.compile_flags.windows(2).any(|args| args == cfg_arg) {
473+
panic!(
474+
"warning: redundant cfg argument `{normalized_revision}` is already created by the revision"
475+
);
476+
}
477+
cmd.args(cfg_arg);
472478
}
473479

474480
if !self.props.no_auto_check_cfg {

Diff for: tests/ui/precondition-checks/layout.rs

-2
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22
//@ compile-flags: -Copt-level=3 -Cdebug-assertions=no -Zub-checks=yes
33
//@ error-pattern: unsafe precondition(s) violated: Layout::from_size_align_unchecked requires
44
//@ revisions: toolarge badalign
5-
//@[toolarge] compile-flags: --cfg toolarge
6-
//@[badalign] compile-flags: --cfg badalign
75

86
fn main() {
97
unsafe {

Diff for: tests/ui/sanitizer/cfg.rs

+6-6
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,19 @@
55
//@ revisions: address cfi kcfi leak memory thread
66
//@compile-flags: -Ctarget-feature=-crt-static
77
//@[address]needs-sanitizer-address
8-
//@[address]compile-flags: -Zsanitizer=address --cfg address
8+
//@[address]compile-flags: -Zsanitizer=address
99
//@[cfi]needs-sanitizer-cfi
10-
//@[cfi]compile-flags: -Zsanitizer=cfi --cfg cfi
10+
//@[cfi]compile-flags: -Zsanitizer=cfi
1111
//@[cfi]compile-flags: -Clto -Ccodegen-units=1
1212
//@[kcfi]needs-llvm-components: x86
13-
//@[kcfi]compile-flags: -Zsanitizer=kcfi --cfg kcfi --target x86_64-unknown-none
13+
//@[kcfi]compile-flags: -Zsanitizer=kcfi --target x86_64-unknown-none
1414
//@[kcfi]compile-flags: -C panic=abort
1515
//@[leak]needs-sanitizer-leak
16-
//@[leak]compile-flags: -Zsanitizer=leak --cfg leak
16+
//@[leak]compile-flags: -Zsanitizer=leak
1717
//@[memory]needs-sanitizer-memory
18-
//@[memory]compile-flags: -Zsanitizer=memory --cfg memory
18+
//@[memory]compile-flags: -Zsanitizer=memory
1919
//@[thread]needs-sanitizer-thread
20-
//@[thread]compile-flags: -Zsanitizer=thread --cfg thread
20+
//@[thread]compile-flags: -Zsanitizer=thread
2121

2222
#![feature(cfg_sanitize, no_core, lang_items)]
2323
#![crate_type="lib"]

0 commit comments

Comments
 (0)