Delay parsing of --cfg
and --check-cfg
options.
By storing the unparsed values in `Config` and then parsing them within `run_compiler`, the parsing functions can use the main symbol interner, and not create their own short-lived interners. This change also eliminates the need for one `EarlyErrorHandler` in rustdoc, because parsing errors can be reported by another, slightly later `EarlyErrorHandler`.
This commit is contained in:
parent
ec2b311914
commit
678e01a3fc
5 changed files with 271 additions and 289 deletions
|
@ -317,13 +317,11 @@ fn run_compiler(
|
|||
return Ok(());
|
||||
}
|
||||
|
||||
let cfg = interface::parse_cfg(&early_error_handler, matches.opt_strs("cfg"));
|
||||
let check_cfg = interface::parse_check_cfg(&early_error_handler, matches.opt_strs("check-cfg"));
|
||||
let (odir, ofile) = make_output(&matches);
|
||||
let mut config = interface::Config {
|
||||
opts: sopts,
|
||||
crate_cfg: cfg,
|
||||
crate_check_cfg: check_cfg,
|
||||
crate_cfg: matches.opt_strs("cfg"),
|
||||
crate_check_cfg: matches.opt_strs("check-cfg"),
|
||||
input: Input::File(PathBuf::new()),
|
||||
output_file: ofile,
|
||||
output_dir: odir,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue