Stabilize PATH
option for --print KIND=PATH
Description of the `PATH` option: > A filepath may optionally be specified for each requested information > kind, in the format `--print KIND=PATH`, just like for `--emit`. When > a path is specified, information will be written there instead of to > stdout.
This commit is contained in:
parent
bf1e3f31f9
commit
caf6ce5ea2
@ -2160,12 +2160,6 @@ fn collect_print_requests(
|
|||||||
prints.extend(matches.opt_strs("print").into_iter().map(|req| {
|
prints.extend(matches.opt_strs("print").into_iter().map(|req| {
|
||||||
let (req, out) = split_out_file_name(&req);
|
let (req, out) = split_out_file_name(&req);
|
||||||
|
|
||||||
if out.is_some() && !unstable_opts.unstable_options {
|
|
||||||
handler.early_error(
|
|
||||||
"the `-Z unstable-options` flag must also be passed to \
|
|
||||||
enable the path print option",
|
|
||||||
);
|
|
||||||
}
|
|
||||||
let kind = match PRINT_KINDS.iter().find(|&&(name, _)| name == req) {
|
let kind = match PRINT_KINDS.iter().find(|&&(name, _)| name == req) {
|
||||||
Some((_, PrintKind::TargetSpec)) => {
|
Some((_, PrintKind::TargetSpec)) => {
|
||||||
if unstable_opts.unstable_options {
|
if unstable_opts.unstable_options {
|
||||||
|
@ -260,6 +260,10 @@ The valid types of print values are:
|
|||||||
This returns rustc's minimum supported deployment target if no `*_DEPLOYMENT_TARGET` variable
|
This returns rustc's minimum supported deployment target if no `*_DEPLOYMENT_TARGET` variable
|
||||||
is present in the environment, or otherwise returns the variable's parsed value.
|
is present in the environment, or otherwise returns the variable's parsed value.
|
||||||
|
|
||||||
|
A filepath may optionally be specified for each requested information kind, in
|
||||||
|
the format `--print KIND=PATH`, just like for `--emit`. When a path is
|
||||||
|
specified, information will be written there instead of to stdout.
|
||||||
|
|
||||||
[conditional compilation]: ../reference/conditional-compilation.html
|
[conditional compilation]: ../reference/conditional-compilation.html
|
||||||
[deployment target]: https://developer.apple.com/library/archive/documentation/DeveloperTools/Conceptual/cross_development/Configuring/configuring.html
|
[deployment target]: https://developer.apple.com/library/archive/documentation/DeveloperTools/Conceptual/cross_development/Configuring/configuring.html
|
||||||
|
|
||||||
|
@ -1,11 +0,0 @@
|
|||||||
# `--print` Options
|
|
||||||
|
|
||||||
The behavior of the `--print` flag can be modified by optionally be specifying a filepath
|
|
||||||
for each requested information kind, in the format `--print KIND=PATH`, just like for
|
|
||||||
`--emit`. When a path is specified, information will be written there instead of to stdout.
|
|
||||||
|
|
||||||
This is unstable feature, so you have to provide `-Zunstable-options` to enable it.
|
|
||||||
|
|
||||||
## Examples
|
|
||||||
|
|
||||||
`rustc main.rs -Z unstable-options --print cfg=cfgs.txt`
|
|
@ -13,19 +13,19 @@ all: default output_to_file
|
|||||||
|
|
||||||
output_to_file:
|
output_to_file:
|
||||||
# Backend-independent, printed by rustc_driver_impl/src/lib.rs
|
# Backend-independent, printed by rustc_driver_impl/src/lib.rs
|
||||||
$(RUSTC) --target x86_64-pc-windows-gnu --print cfg=$(TMPDIR)/cfg.txt -Z unstable-options
|
$(RUSTC) --target x86_64-pc-windows-gnu --print cfg=$(TMPDIR)/cfg.txt
|
||||||
$(CGREP) windows < $(TMPDIR)/cfg.txt
|
$(CGREP) windows < $(TMPDIR)/cfg.txt
|
||||||
|
|
||||||
# Printed from CodegenBackend trait impl in rustc_codegen_llvm/src/lib.rs
|
# Printed from CodegenBackend trait impl in rustc_codegen_llvm/src/lib.rs
|
||||||
$(RUSTC) --print relocation-models=$(TMPDIR)/relocation-models.txt -Z unstable-options
|
$(RUSTC) --print relocation-models=$(TMPDIR)/relocation-models.txt
|
||||||
$(CGREP) dynamic-no-pic < $(TMPDIR)/relocation-models.txt
|
$(CGREP) dynamic-no-pic < $(TMPDIR)/relocation-models.txt
|
||||||
|
|
||||||
# Printed by compiler/rustc_codegen_llvm/src/llvm_util.rs
|
# Printed by compiler/rustc_codegen_llvm/src/llvm_util.rs
|
||||||
$(RUSTC) --target wasm32-unknown-unknown --print target-features=$(TMPDIR)/target-features.txt -Z unstable-options
|
$(RUSTC) --target wasm32-unknown-unknown --print target-features=$(TMPDIR)/target-features.txt
|
||||||
$(CGREP) reference-types < $(TMPDIR)/target-features.txt
|
$(CGREP) reference-types < $(TMPDIR)/target-features.txt
|
||||||
|
|
||||||
# Printed by C++ code in rustc_llvm/llvm-wrapper/PassWrapper.cpp
|
# Printed by C++ code in rustc_llvm/llvm-wrapper/PassWrapper.cpp
|
||||||
$(RUSTC) --target wasm32-unknown-unknown --print target-cpus=$(TMPDIR)/target-cpus.txt -Z unstable-options
|
$(RUSTC) --target wasm32-unknown-unknown --print target-cpus=$(TMPDIR)/target-cpus.txt
|
||||||
$(CGREP) generic < $(TMPDIR)/target-cpus.txt
|
$(CGREP) generic < $(TMPDIR)/target-cpus.txt
|
||||||
|
|
||||||
ifdef IS_WINDOWS
|
ifdef IS_WINDOWS
|
||||||
|
@ -1,2 +0,0 @@
|
|||||||
error: the `-Z unstable-options` flag must also be passed to enable the path print option
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
|||||||
// check-fail
|
|
||||||
// revisions: cfg target-features target-cpus
|
|
||||||
// [cfg]compile-flags: --print cfg=cfg.txt
|
|
||||||
// [target-cpus]compile-flags: --print target-cpu=target_cpu.txt
|
|
||||||
// [target-features]compile-flags: --print target-features=target_features.txt
|
|
||||||
|
|
||||||
fn main() {}
|
|
@ -1,2 +0,0 @@
|
|||||||
error: the `-Z unstable-options` flag must also be passed to enable the path print option
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
|||||||
error: the `-Z unstable-options` flag must also be passed to enable the path print option
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user