@@ -1355,29 +1355,26 @@ impl<'a> Builder<'a> {
1355
1355
// get some support for setting `--check-cfg` within build script, it's the least invasive
1356
1356
// hack that still let's us have cfg checking for the vast majority of the codebase.
1357
1357
if stage != 0 {
1358
- // Enable cfg checking of cargo features for everything but std.
1358
+ // Enable cfg checking of cargo features for everything but std and also enable cfg
1359
+ // checking of names and values.
1359
1360
//
1360
1361
// Note: `std`, `alloc` and `core` imports some dependencies by #[path] (like
1361
- // backtrace, core_simd, std_float, ...), those dependencies have their own features
1362
- // but cargo isn't involved in the #[path] and so cannot pass the complete list of
1363
- // features, so for that reason we don't enable checking of features for std.
1362
+ // backtrace, core_simd, std_float, ...), those dependencies have their own
1363
+ // features but cargo isn't involved in the #[path] process and so cannot pass the
1364
+ // complete list of features, so for that reason we don't enable checking of
1365
+ // features for std crates.
1366
+ cargo. arg ( if mode != Mode :: Std {
1367
+ "-Zcheck-cfg=names,values,features"
1368
+ } else {
1369
+ "-Zcheck-cfg=names,values"
1370
+ } ) ;
1371
+
1372
+ // Add extra cfg not defined in/by rustc
1364
1373
//
1365
- // FIXME: Re-enable this after the beta bump as apperently rustc-perf doesn't use the
1366
- // beta cargo. See https://github.com/rust-lang/rust/pull/96984#issuecomment-1126678773
1367
- // #[cfg(not(bootstrap))]
1368
- // if mode != Mode::Std {
1369
- // cargo.arg("-Zcheck-cfg-features"); // -Zcheck-cfg=features after bump
1370
- // }
1371
-
1372
- // Enable cfg checking of well known names/values
1373
- rustflags
1374
- . arg ( "-Zunstable-options" )
1375
- // Enable checking of well known names
1376
- . arg ( "--check-cfg=names()" )
1377
- // Enable checking of well known values
1378
- . arg ( "--check-cfg=values()" ) ;
1379
-
1380
- // Add extra cfg not defined in rustc
1374
+ // Note: Altrough it would seems that "-Zunstable-options" to `rustflags` is useless as
1375
+ // cargo would implicitly add it, it was discover that sometimes bootstrap only use
1376
+ // `rustflags` without `cargo` making it required.
1377
+ rustflags. arg ( "-Zunstable-options" ) ;
1381
1378
for ( restricted_mode, name, values) in EXTRA_CHECK_CFGS {
1382
1379
if * restricted_mode == None || * restricted_mode == Some ( mode) {
1383
1380
// Creating a string of the values by concatenating each value:
0 commit comments