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:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user