Adjust cfgs
This commit is contained in:
parent
7b42606758
commit
154a09dd91
49 changed files with 80 additions and 398 deletions
|
@ -949,7 +949,7 @@ fn default_configuration(sess: &Session) -> CrateConfig {
|
|||
ret.insert((sym::debug_assertions, None));
|
||||
}
|
||||
// JUSTIFICATION: before wrapper fn is available
|
||||
#[cfg_attr(not(bootstrap), allow(rustc::bad_opt_access))]
|
||||
#[allow(rustc::bad_opt_access)]
|
||||
if sess.opts.crate_types.contains(&CrateType::ProcMacro) {
|
||||
ret.insert((sym::proc_macro, None));
|
||||
}
|
||||
|
@ -2198,7 +2198,7 @@ fn parse_remap_path_prefix(
|
|||
}
|
||||
|
||||
// JUSTIFICATION: before wrapper fn is available
|
||||
#[cfg_attr(not(bootstrap), allow(rustc::bad_opt_access))]
|
||||
#[allow(rustc::bad_opt_access)]
|
||||
pub fn build_session_options(matches: &getopts::Matches) -> Options {
|
||||
let color = parse_color(matches);
|
||||
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
#![feature(if_let_guard)]
|
||||
#![cfg_attr(bootstrap, feature(let_chains))]
|
||||
#![feature(let_else)]
|
||||
#![feature(min_specialization)]
|
||||
#![feature(never_type)]
|
||||
|
|
|
@ -127,11 +127,11 @@ top_level_options!(
|
|||
/// `CodegenOptions`, think about how it influences incremental compilation. If in
|
||||
/// doubt, specify `[TRACKED]`, which is always "correct" but might lead to
|
||||
/// unnecessary re-compilation.
|
||||
#[cfg_attr(not(bootstrap), rustc_lint_opt_ty)]
|
||||
#[rustc_lint_opt_ty]
|
||||
pub struct Options {
|
||||
/// The crate config requested for the session, which may be combined
|
||||
/// with additional crate configurations during the compile process.
|
||||
#[cfg_attr(not(bootstrap), rustc_lint_opt_deny_field_access("use `Session::crate_types` instead of this field"))]
|
||||
#[rustc_lint_opt_deny_field_access("use `Session::crate_types` instead of this field")]
|
||||
crate_types: Vec<CrateType> [TRACKED],
|
||||
optimize: OptLevel [TRACKED],
|
||||
/// Include the `debug_assertions` flag in dependency tracking, since it
|
||||
|
@ -178,9 +178,9 @@ top_level_options!(
|
|||
/// what rustc was invoked with, but massaged a bit to agree with
|
||||
/// commands like `--emit llvm-ir` which they're often incompatible with
|
||||
/// if we otherwise use the defaults of rustc.
|
||||
#[cfg_attr(not(bootstrap), rustc_lint_opt_deny_field_access("use `Session::codegen_units` instead of this field"))]
|
||||
#[rustc_lint_opt_deny_field_access("use `Session::codegen_units` instead of this field")]
|
||||
cli_forced_codegen_units: Option<usize> [UNTRACKED],
|
||||
#[cfg_attr(not(bootstrap), rustc_lint_opt_deny_field_access("use `Session::lto` instead of this field"))]
|
||||
#[rustc_lint_opt_deny_field_access("use `Session::lto` instead of this field")]
|
||||
cli_forced_thinlto_off: bool [UNTRACKED],
|
||||
|
||||
/// Remap source path prefixes in all output (messages, object files, debug, etc.).
|
||||
|
@ -231,7 +231,7 @@ macro_rules! options {
|
|||
),* ,) =>
|
||||
(
|
||||
#[derive(Clone)]
|
||||
#[cfg_attr(not(bootstrap), rustc_lint_opt_ty)]
|
||||
#[rustc_lint_opt_ty]
|
||||
pub struct $struct_name { $( $( #[$attr] )* pub $opt: $t),* }
|
||||
|
||||
impl Default for $struct_name {
|
||||
|
@ -282,7 +282,7 @@ macro_rules! options {
|
|||
|
||||
impl Options {
|
||||
// JUSTIFICATION: defn of the suggested wrapper fn
|
||||
#[cfg_attr(not(bootstrap), allow(rustc::bad_opt_access))]
|
||||
#[allow(rustc::bad_opt_access)]
|
||||
pub fn time_passes(&self) -> bool {
|
||||
self.unstable_opts.time_passes || self.unstable_opts.time
|
||||
}
|
||||
|
@ -290,7 +290,7 @@ impl Options {
|
|||
|
||||
impl CodegenOptions {
|
||||
// JUSTIFICATION: defn of the suggested wrapper fn
|
||||
#[cfg_attr(not(bootstrap), allow(rustc::bad_opt_access))]
|
||||
#[allow(rustc::bad_opt_access)]
|
||||
pub fn instrument_coverage(&self) -> InstrumentCoverage {
|
||||
self.instrument_coverage.unwrap_or(InstrumentCoverage::Off)
|
||||
}
|
||||
|
@ -1091,7 +1091,7 @@ options! {
|
|||
|
||||
ar: String = (String::new(), parse_string, [UNTRACKED],
|
||||
"this option is deprecated and does nothing"),
|
||||
#[cfg_attr(not(bootstrap), rustc_lint_opt_deny_field_access("use `Session::code_model` instead of this field"))]
|
||||
#[rustc_lint_opt_deny_field_access("use `Session::code_model` instead of this field")]
|
||||
code_model: Option<CodeModel> = (None, parse_code_model, [TRACKED],
|
||||
"choose the code model to use (`rustc --print code-models` for details)"),
|
||||
codegen_units: Option<usize> = (None, parse_opt_number, [UNTRACKED],
|
||||
|
@ -1111,14 +1111,14 @@ options! {
|
|||
"extra data to put in each output filename"),
|
||||
force_frame_pointers: Option<bool> = (None, parse_opt_bool, [TRACKED],
|
||||
"force use of the frame pointers"),
|
||||
#[cfg_attr(not(bootstrap), rustc_lint_opt_deny_field_access("use `Session::must_emit_unwind_tables` instead of this field"))]
|
||||
#[rustc_lint_opt_deny_field_access("use `Session::must_emit_unwind_tables` instead of this field")]
|
||||
force_unwind_tables: Option<bool> = (None, parse_opt_bool, [TRACKED],
|
||||
"force use of unwind tables"),
|
||||
incremental: Option<String> = (None, parse_opt_string, [UNTRACKED],
|
||||
"enable incremental compilation"),
|
||||
inline_threshold: Option<u32> = (None, parse_opt_number, [TRACKED],
|
||||
"set the threshold for inlining a function"),
|
||||
#[cfg_attr(not(bootstrap), rustc_lint_opt_deny_field_access("use `Session::instrument_coverage` instead of this field"))]
|
||||
#[rustc_lint_opt_deny_field_access("use `Session::instrument_coverage` instead of this field")]
|
||||
instrument_coverage: Option<InstrumentCoverage> = (None, parse_instrument_coverage, [TRACKED],
|
||||
"instrument the generated code to support LLVM source-based code coverage \
|
||||
reports (note, the compiler build config must include `profiler = true`); \
|
||||
|
@ -1131,7 +1131,7 @@ options! {
|
|||
"a single extra argument to append to the linker invocation (can be used several times)"),
|
||||
link_args: Vec<String> = (Vec::new(), parse_list, [UNTRACKED],
|
||||
"extra arguments to append to the linker invocation (space separated)"),
|
||||
#[cfg_attr(not(bootstrap), rustc_lint_opt_deny_field_access("use `Session::link_dead_code` instead of this field"))]
|
||||
#[rustc_lint_opt_deny_field_access("use `Session::link_dead_code` instead of this field")]
|
||||
link_dead_code: Option<bool> = (None, parse_opt_bool, [TRACKED],
|
||||
"keep dead code at link time (useful for code coverage) (default: no)"),
|
||||
link_self_contained: Option<bool> = (None, parse_opt_bool, [UNTRACKED],
|
||||
|
@ -1146,7 +1146,7 @@ options! {
|
|||
"generate build artifacts that are compatible with linker-based LTO"),
|
||||
llvm_args: Vec<String> = (Vec::new(), parse_list, [TRACKED],
|
||||
"a list of arguments to pass to LLVM (space separated)"),
|
||||
#[cfg_attr(not(bootstrap), rustc_lint_opt_deny_field_access("use `Session::lto` instead of this field"))]
|
||||
#[rustc_lint_opt_deny_field_access("use `Session::lto` instead of this field")]
|
||||
lto: LtoCli = (LtoCli::Unspecified, parse_lto, [TRACKED],
|
||||
"perform LLVM link-time optimizations"),
|
||||
metadata: Vec<String> = (Vec::new(), parse_list, [TRACKED],
|
||||
|
@ -1163,10 +1163,10 @@ options! {
|
|||
"disable LLVM's SLP vectorization pass"),
|
||||
opt_level: String = ("0".to_string(), parse_string, [TRACKED],
|
||||
"optimization level (0-3, s, or z; default: 0)"),
|
||||
#[cfg_attr(not(bootstrap), rustc_lint_opt_deny_field_access("use `Session::overflow_checks` instead of this field"))]
|
||||
#[rustc_lint_opt_deny_field_access("use `Session::overflow_checks` instead of this field")]
|
||||
overflow_checks: Option<bool> = (None, parse_opt_bool, [TRACKED],
|
||||
"use overflow checks for integer arithmetic"),
|
||||
#[cfg_attr(not(bootstrap), rustc_lint_opt_deny_field_access("use `Session::panic_strategy` instead of this field"))]
|
||||
#[rustc_lint_opt_deny_field_access("use `Session::panic_strategy` instead of this field")]
|
||||
panic: Option<PanicStrategy> = (None, parse_opt_panic_strategy, [TRACKED],
|
||||
"panic strategy to compile crate with"),
|
||||
passes: Vec<String> = (Vec::new(), parse_list, [TRACKED],
|
||||
|
@ -1178,7 +1178,7 @@ options! {
|
|||
"compile the program with profiling instrumentation"),
|
||||
profile_use: Option<PathBuf> = (None, parse_opt_pathbuf, [TRACKED],
|
||||
"use the given `.profdata` file for profile-guided optimization"),
|
||||
#[cfg_attr(not(bootstrap), rustc_lint_opt_deny_field_access("use `Session::relocation_model` instead of this field"))]
|
||||
#[rustc_lint_opt_deny_field_access("use `Session::relocation_model` instead of this field")]
|
||||
relocation_model: Option<RelocModel> = (None, parse_relocation_model, [TRACKED],
|
||||
"control generation of position-independent code (PIC) \
|
||||
(`rustc --print relocation-models` for details)"),
|
||||
|
@ -1190,7 +1190,7 @@ options! {
|
|||
"save all temporary output files during compilation (default: no)"),
|
||||
soft_float: bool = (false, parse_bool, [TRACKED],
|
||||
"use soft float ABI (*eabihf targets only) (default: no)"),
|
||||
#[cfg_attr(not(bootstrap), rustc_lint_opt_deny_field_access("use `Session::split_debuginfo` instead of this field"))]
|
||||
#[rustc_lint_opt_deny_field_access("use `Session::split_debuginfo` instead of this field")]
|
||||
split_debuginfo: Option<SplitDebuginfo> = (None, parse_split_debuginfo, [TRACKED],
|
||||
"how to handle split-debuginfo, a platform-specific option"),
|
||||
strip: Strip = (Strip::None, parse_strip, [UNTRACKED],
|
||||
|
@ -1226,13 +1226,13 @@ options! {
|
|||
"encode MIR of all functions into the crate metadata (default: no)"),
|
||||
assume_incomplete_release: bool = (false, parse_bool, [TRACKED],
|
||||
"make cfg(version) treat the current version as incomplete (default: no)"),
|
||||
#[cfg_attr(not(bootstrap), rustc_lint_opt_deny_field_access("use `Session::asm_comments` instead of this field"))]
|
||||
#[rustc_lint_opt_deny_field_access("use `Session::asm_comments` instead of this field")]
|
||||
asm_comments: bool = (false, parse_bool, [TRACKED],
|
||||
"generate comments into the assembly (may change behavior) (default: no)"),
|
||||
assert_incr_state: Option<String> = (None, parse_opt_string, [UNTRACKED],
|
||||
"assert that the incremental cache is in given state: \
|
||||
either `loaded` or `not-loaded`."),
|
||||
#[cfg_attr(not(bootstrap), rustc_lint_opt_deny_field_access("use `Session::binary_dep_depinfo` instead of this field"))]
|
||||
#[rustc_lint_opt_deny_field_access("use `Session::binary_dep_depinfo` instead of this field")]
|
||||
binary_dep_depinfo: bool = (false, parse_bool, [TRACKED],
|
||||
"include artifacts (sysroot, crate dependencies) used during compilation in dep-info \
|
||||
(default: no)"),
|
||||
|
@ -1312,7 +1312,7 @@ options! {
|
|||
"export symbols from executables, as if they were dynamic libraries"),
|
||||
extra_const_ub_checks: bool = (false, parse_bool, [TRACKED],
|
||||
"turns on more checks to detect const UB, which can be slow (default: no)"),
|
||||
#[cfg_attr(not(bootstrap), rustc_lint_opt_deny_field_access("use `Session::fewer_names` instead of this field"))]
|
||||
#[rustc_lint_opt_deny_field_access("use `Session::fewer_names` instead of this field")]
|
||||
fewer_names: Option<bool> = (None, parse_opt_bool, [TRACKED],
|
||||
"reduce memory use by retaining fewer names within compilation artifacts (LLVM-IR) \
|
||||
(default: no)"),
|
||||
|
@ -1355,7 +1355,7 @@ options! {
|
|||
"control whether `#[inline]` functions are in all CGUs"),
|
||||
input_stats: bool = (false, parse_bool, [UNTRACKED],
|
||||
"gather statistics about the input (default: no)"),
|
||||
#[cfg_attr(not(bootstrap), rustc_lint_opt_deny_field_access("use `Session::instrument_coverage` instead of this field"))]
|
||||
#[rustc_lint_opt_deny_field_access("use `Session::instrument_coverage` instead of this field")]
|
||||
instrument_coverage: Option<InstrumentCoverage> = (None, parse_instrument_coverage, [TRACKED],
|
||||
"instrument the generated code to support LLVM source-based code coverage \
|
||||
reports (note, the compiler build config must include `profiler = true`); \
|
||||
|
@ -1364,7 +1364,7 @@ options! {
|
|||
`=except-unused-generics`
|
||||
`=except-unused-functions`
|
||||
`=off` (default)"),
|
||||
#[cfg_attr(not(bootstrap), rustc_lint_opt_deny_field_access("use `Session::instrument_mcount` instead of this field"))]
|
||||
#[rustc_lint_opt_deny_field_access("use `Session::instrument_mcount` instead of this field")]
|
||||
instrument_mcount: bool = (false, parse_bool, [TRACKED],
|
||||
"insert function instrument code for mcount-based tracing (default: no)"),
|
||||
keep_hygiene_data: bool = (false, parse_bool, [UNTRACKED],
|
||||
|
@ -1388,7 +1388,7 @@ options! {
|
|||
merge_functions: Option<MergeFunctions> = (None, parse_merge_functions, [TRACKED],
|
||||
"control the operation of the MergeFunctions LLVM pass, taking \
|
||||
the same values as the target option of the same name"),
|
||||
#[cfg_attr(not(bootstrap), rustc_lint_opt_deny_field_access("use `Session::meta_stats` instead of this field"))]
|
||||
#[rustc_lint_opt_deny_field_access("use `Session::meta_stats` instead of this field")]
|
||||
meta_stats: bool = (false, parse_bool, [UNTRACKED],
|
||||
"gather metadata statistics (default: no)"),
|
||||
mir_emit_retag: bool = (false, parse_bool, [TRACKED],
|
||||
|
@ -1400,7 +1400,7 @@ options! {
|
|||
disabled by other flags as usual."),
|
||||
mir_pretty_relative_line_numbers: bool = (false, parse_bool, [UNTRACKED],
|
||||
"use line numbers relative to the function in mir pretty printing"),
|
||||
#[cfg_attr(not(bootstrap), rustc_lint_opt_deny_field_access("use `Session::mir_opt_level` instead of this field"))]
|
||||
#[rustc_lint_opt_deny_field_access("use `Session::mir_opt_level` instead of this field")]
|
||||
mir_opt_level: Option<usize> = (None, parse_opt_number, [TRACKED],
|
||||
"MIR optimization level (0-4; default: 1 in non optimized builds and 2 in optimized builds)"),
|
||||
move_size_limit: Option<usize> = (None, parse_opt_number, [TRACKED],
|
||||
|
@ -1467,7 +1467,7 @@ options! {
|
|||
See #77382 and #74551."),
|
||||
print_fuel: Option<String> = (None, parse_opt_string, [TRACKED],
|
||||
"make rustc print the total optimization fuel used by a crate"),
|
||||
#[cfg_attr(not(bootstrap), rustc_lint_opt_deny_field_access("use `Session::print_llvm_passes` instead of this field"))]
|
||||
#[rustc_lint_opt_deny_field_access("use `Session::print_llvm_passes` instead of this field")]
|
||||
print_llvm_passes: bool = (false, parse_bool, [UNTRACKED],
|
||||
"print the LLVM optimization passes being run (default: no)"),
|
||||
print_mono_items: Option<String> = (None, parse_opt_string, [UNTRACKED],
|
||||
|
@ -1545,7 +1545,7 @@ options! {
|
|||
"exclude spans when debug-printing compiler state (default: no)"),
|
||||
src_hash_algorithm: Option<SourceFileHashAlgorithm> = (None, parse_src_file_hash, [TRACKED],
|
||||
"hash algorithm of source files in debug info (`md5`, `sha1`, or `sha256`)"),
|
||||
#[cfg_attr(not(bootstrap), rustc_lint_opt_deny_field_access("use `Session::stack_protector` instead of this field"))]
|
||||
#[rustc_lint_opt_deny_field_access("use `Session::stack_protector` instead of this field")]
|
||||
stack_protector: StackProtector = (StackProtector::None, parse_stack_protector, [TRACKED],
|
||||
"control stack smash protection strategy (`rustc --print stack-protector-strategies` for details)"),
|
||||
strict_init_checks: bool = (false, parse_bool, [TRACKED],
|
||||
|
@ -1566,7 +1566,7 @@ options! {
|
|||
symbol_mangling_version: Option<SymbolManglingVersion> = (None,
|
||||
parse_symbol_mangling_version, [TRACKED],
|
||||
"which mangling version to use for symbol names ('legacy' (default) or 'v0')"),
|
||||
#[cfg_attr(not(bootstrap), rustc_lint_opt_deny_field_access("use `Session::teach` instead of this field"))]
|
||||
#[rustc_lint_opt_deny_field_access("use `Session::teach` instead of this field")]
|
||||
teach: bool = (false, parse_bool, [TRACKED],
|
||||
"show extended diagnostic help (default: no)"),
|
||||
temps_dir: Option<String> = (None, parse_opt_string, [UNTRACKED],
|
||||
|
@ -1582,7 +1582,7 @@ options! {
|
|||
"emit directionality isolation markers in translated diagnostics"),
|
||||
tune_cpu: Option<String> = (None, parse_opt_string, [TRACKED],
|
||||
"select processor to schedule for (`rustc --print target-cpus` for details)"),
|
||||
#[cfg_attr(not(bootstrap), rustc_lint_opt_deny_field_access("use `Session::lto` instead of this field"))]
|
||||
#[rustc_lint_opt_deny_field_access("use `Session::lto` instead of this field")]
|
||||
thinlto: Option<bool> = (None, parse_opt_bool, [TRACKED],
|
||||
"enable ThinLTO when possible"),
|
||||
thir_unsafeck: bool = (false, parse_bool, [TRACKED],
|
||||
|
@ -1591,19 +1591,19 @@ options! {
|
|||
/// a sequential compiler for now. This'll likely be adjusted
|
||||
/// in the future. Note that -Zthreads=0 is the way to get
|
||||
/// the num_cpus behavior.
|
||||
#[cfg_attr(not(bootstrap), rustc_lint_opt_deny_field_access("use `Session::threads` instead of this field"))]
|
||||
#[rustc_lint_opt_deny_field_access("use `Session::threads` instead of this field")]
|
||||
threads: usize = (1, parse_threads, [UNTRACKED],
|
||||
"use a thread pool with N threads"),
|
||||
#[cfg_attr(not(bootstrap), rustc_lint_opt_deny_field_access("use `Session::time_passes` instead of this field"))]
|
||||
#[rustc_lint_opt_deny_field_access("use `Session::time_passes` instead of this field")]
|
||||
time: bool = (false, parse_bool, [UNTRACKED],
|
||||
"measure time of rustc processes (default: no)"),
|
||||
#[cfg_attr(not(bootstrap), rustc_lint_opt_deny_field_access("use `Session::time_llvm_passes` instead of this field"))]
|
||||
#[rustc_lint_opt_deny_field_access("use `Session::time_llvm_passes` instead of this field")]
|
||||
time_llvm_passes: bool = (false, parse_bool, [UNTRACKED],
|
||||
"measure time of each LLVM pass (default: no)"),
|
||||
#[cfg_attr(not(bootstrap), rustc_lint_opt_deny_field_access("use `Session::time_passes` instead of this field"))]
|
||||
#[rustc_lint_opt_deny_field_access("use `Session::time_passes` instead of this field")]
|
||||
time_passes: bool = (false, parse_bool, [UNTRACKED],
|
||||
"measure time of each rustc pass (default: no)"),
|
||||
#[cfg_attr(not(bootstrap), rustc_lint_opt_deny_field_access("use `Session::tls_model` instead of this field"))]
|
||||
#[rustc_lint_opt_deny_field_access("use `Session::tls_model` instead of this field")]
|
||||
tls_model: Option<TlsModel> = (None, parse_tls_model, [TRACKED],
|
||||
"choose the TLS model to use (`rustc --print tls-models` for details)"),
|
||||
trace_macros: bool = (false, parse_bool, [UNTRACKED],
|
||||
|
@ -1638,17 +1638,17 @@ options! {
|
|||
"enable unsound and buggy MIR optimizations (default: no)"),
|
||||
/// This name is kind of confusing: Most unstable options enable something themselves, while
|
||||
/// this just allows "normal" options to be feature-gated.
|
||||
#[cfg_attr(not(bootstrap), rustc_lint_opt_deny_field_access("use `Session::unstable_options` instead of this field"))]
|
||||
#[rustc_lint_opt_deny_field_access("use `Session::unstable_options` instead of this field")]
|
||||
unstable_options: bool = (false, parse_bool, [UNTRACKED],
|
||||
"adds unstable command line options to rustc interface (default: no)"),
|
||||
use_ctors_section: Option<bool> = (None, parse_opt_bool, [TRACKED],
|
||||
"use legacy .ctors section for initializers rather than .init_array"),
|
||||
validate_mir: bool = (false, parse_bool, [UNTRACKED],
|
||||
"validate MIR after each transformation"),
|
||||
#[cfg_attr(not(bootstrap), rustc_lint_opt_deny_field_access("use `Session::verbose` instead of this field"))]
|
||||
#[rustc_lint_opt_deny_field_access("use `Session::verbose` instead of this field")]
|
||||
verbose: bool = (false, parse_bool, [UNTRACKED],
|
||||
"in general, enable more debug printouts (default: no)"),
|
||||
#[cfg_attr(not(bootstrap), rustc_lint_opt_deny_field_access("use `Session::verify_llvm_ir` instead of this field"))]
|
||||
#[rustc_lint_opt_deny_field_access("use `Session::verify_llvm_ir` instead of this field")]
|
||||
verify_llvm_ir: bool = (false, parse_bool, [TRACKED],
|
||||
"verify LLVM IR (default: no)"),
|
||||
virtual_function_elimination: bool = (false, parse_bool, [TRACKED],
|
||||
|
|
|
@ -638,7 +638,7 @@ impl Session {
|
|||
let found_positive = requested_features.clone().any(|r| r == "+crt-static");
|
||||
|
||||
// JUSTIFICATION: necessary use of crate_types directly (see FIXME below)
|
||||
#[cfg_attr(not(bootstrap), allow(rustc::bad_opt_access))]
|
||||
#[allow(rustc::bad_opt_access)]
|
||||
if found_positive || found_negative {
|
||||
found_positive
|
||||
} else if crate_type == Some(CrateType::ProcMacro)
|
||||
|
@ -894,7 +894,7 @@ impl Session {
|
|||
}
|
||||
|
||||
// JUSTIFICATION: defn of the suggested wrapper fns
|
||||
#[cfg_attr(not(bootstrap), allow(rustc::bad_opt_access))]
|
||||
#[allow(rustc::bad_opt_access)]
|
||||
impl Session {
|
||||
pub fn verbose(&self) -> bool {
|
||||
self.opts.unstable_opts.verbose
|
||||
|
@ -1174,7 +1174,7 @@ impl Session {
|
|||
}
|
||||
|
||||
// JUSTIFICATION: part of session construction
|
||||
#[cfg_attr(not(bootstrap), allow(rustc::bad_opt_access))]
|
||||
#[allow(rustc::bad_opt_access)]
|
||||
fn default_emitter(
|
||||
sopts: &config::Options,
|
||||
registry: rustc_errors::registry::Registry,
|
||||
|
@ -1260,7 +1260,7 @@ pub enum DiagnosticOutput {
|
|||
}
|
||||
|
||||
// JUSTIFICATION: literally session construction
|
||||
#[cfg_attr(not(bootstrap), allow(rustc::bad_opt_access))]
|
||||
#[allow(rustc::bad_opt_access)]
|
||||
pub fn build_session(
|
||||
sopts: config::Options,
|
||||
local_crate_source_file: Option<PathBuf>,
|
||||
|
@ -1437,7 +1437,7 @@ pub fn build_session(
|
|||
/// If it is useful to have a Session available already for validating a commandline argument, you
|
||||
/// can do so here.
|
||||
// JUSTIFICATION: needs to access args to validate them
|
||||
#[cfg_attr(not(bootstrap), allow(rustc::bad_opt_access))]
|
||||
#[allow(rustc::bad_opt_access)]
|
||||
fn validate_commandline_args_with_session_available(sess: &Session) {
|
||||
// Since we don't know if code in an rlib will be linked to statically or
|
||||
// dynamically downstream, rustc generates `__imp_` symbols that help linkers
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue