diff options
| author | Hudson Ayers <hayers@stanford.edu> | 2022-07-22 12:21:32 -0700 |
|---|---|---|
| committer | Hudson Ayers <hayers@stanford.edu> | 2022-07-28 09:45:59 -0700 |
| commit | 6dea21a4a255fc246243fabc54436352b5f12c80 (patch) | |
| tree | 5a5bd17aac2727829b06797e5c7de453c3925181 /compiler/rustc_session | |
| parent | 05e678ccca974a8d0c26991083fb4cf8fff84e74 (diff) | |
| download | rust-6dea21a4a255fc246243fabc54436352b5f12c80.tar.gz rust-6dea21a4a255fc246243fabc54436352b5f12c80.zip | |
location-detail: disable all location details when passed `none`
Prior to this fix, `-Z location-detail` provided no mechanism for disabling all location details. This commit also adds a test case to verify that this option continues to work as intended, and clarifies the documentation of this option.
Diffstat (limited to 'compiler/rustc_session')
| -rw-r--r-- | compiler/rustc_session/src/options.rs | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/compiler/rustc_session/src/options.rs b/compiler/rustc_session/src/options.rs index 501997679f4..6d96cf9410b 100644 --- a/compiler/rustc_session/src/options.rs +++ b/compiler/rustc_session/src/options.rs @@ -393,8 +393,7 @@ mod desc { "either a boolean (`yes`, `no`, `on`, `off`, etc), `thin`, `fat`, or omitted"; pub const parse_linker_plugin_lto: &str = "either a boolean (`yes`, `no`, `on`, `off`, etc), or the path to the linker plugin"; - pub const parse_location_detail: &str = - "comma separated list of location details to track: `file`, `line`, or `column`"; + pub const parse_location_detail: &str = "either `none`, or a comma separated list of location details to track: `file`, `line`, or `column`"; pub const parse_switch_with_opt_path: &str = "an optional path to the profiling data output directory"; pub const parse_merge_functions: &str = "one of: `disabled`, `trampolines`, or `aliases`"; @@ -549,6 +548,9 @@ mod parse { ld.line = false; ld.file = false; ld.column = false; + if v == "none" { + return true; + } for s in v.split(',') { match s { "file" => ld.file = true, @@ -1360,8 +1362,9 @@ options! { llvm_time_trace: bool = (false, parse_bool, [UNTRACKED], "generate JSON tracing data file from LLVM data (default: no)"), location_detail: LocationDetail = (LocationDetail::all(), parse_location_detail, [TRACKED], - "comma separated list of location details to be tracked when using caller_location \ - valid options are `file`, `line`, and `column` (default: all)"), + "what location details should be tracked when using caller_location, either \ + `none`, or a comma separated list of location details, for which \ + valid options are `file`, `line`, and `column` (default: `file,line,column`)"), ls: bool = (false, parse_bool, [UNTRACKED], "list the symbols defined by a library crate (default: no)"), macro_backtrace: bool = (false, parse_bool, [UNTRACKED], |
