Skip to content

Commit

Permalink
Auto merge of #31671 - ranma42:printcfg, r=alexcrichton
Browse files Browse the repository at this point in the history
Show `cfg` as possible argument to `--print` and make it so that `--print cfg` also outputs the `target_feature`s.

Should I also extend `src/test/run-make/print-cfg/Makefile` to check that `target_feature`s are actually printed?
  • Loading branch information
bors committed Mar 3, 2016
2 parents 809b14a + 4e46eee commit e91f889
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 3 deletions.
2 changes: 1 addition & 1 deletion src/librustc/session/config.rs
Original file line number Diff line number Diff line change
Expand Up @@ -887,7 +887,7 @@ pub fn rustc_short_optgroups() -> Vec<RustcOptGroup> {
"[asm|llvm-bc|llvm-ir|obj|link|dep-info]"),
opt::multi_s("", "print", "Comma separated list of compiler information to \
print on stdout",
"[crate-name|file-names|sysroot|target-list]"),
"[crate-name|file-names|sysroot|cfg|target-list]"),
opt::flagmulti_s("g", "", "Equivalent to -C debuginfo=2"),
opt::flagmulti_s("O", "", "Equivalent to -C opt-level=2"),
opt::opt_s("o", "", "Write output to <filename>", "FILENAME"),
Expand Down
15 changes: 13 additions & 2 deletions src/librustc_driver/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ use syntax::errors;
use syntax::errors::emitter::Emitter;
use syntax::diagnostics;
use syntax::parse::token;
use syntax::feature_gate::UnstableFeatures;
use syntax::feature_gate::{GatedCfg, UnstableFeatures};

#[cfg(test)]
pub mod test;
Expand Down Expand Up @@ -565,7 +565,18 @@ impl RustcDefaultCalls {
}
}
PrintRequest::Cfg => {
for cfg in config::build_configuration(sess) {
let mut cfg = config::build_configuration(&sess);
target_features::add_configuration(&mut cfg, &sess);

let allow_unstable_cfg = match get_unstable_features_setting() {
UnstableFeatures::Disallow => false,
_ => true,
};

for cfg in cfg {
if !allow_unstable_cfg && GatedCfg::gate(&*cfg).is_some() {
continue;
}
match cfg.node {
ast::MetaItemKind::Word(ref word) => println!("{}", word),
ast::MetaItemKind::NameValue(ref name, ref value) => {
Expand Down

0 comments on commit e91f889

Please sign in to comment.