Use tidy-alphabetical
in the compiler
This commit is contained in:
parent
0e3867338d
commit
7bfef19844
16 changed files with 118 additions and 103 deletions
|
@ -3039,7 +3039,7 @@ pub type ForeignItem = Item<ForeignItemKind>;
|
||||||
mod size_asserts {
|
mod size_asserts {
|
||||||
use super::*;
|
use super::*;
|
||||||
use rustc_data_structures::static_assert_size;
|
use rustc_data_structures::static_assert_size;
|
||||||
// These are in alphabetical order, which is easy to maintain.
|
// tidy-alphabetical-start
|
||||||
static_assert_size!(AssocItem, 104);
|
static_assert_size!(AssocItem, 104);
|
||||||
static_assert_size!(AssocItemKind, 32);
|
static_assert_size!(AssocItemKind, 32);
|
||||||
static_assert_size!(Attribute, 32);
|
static_assert_size!(Attribute, 32);
|
||||||
|
@ -3060,11 +3060,12 @@ mod size_asserts {
|
||||||
static_assert_size!(Local, 72);
|
static_assert_size!(Local, 72);
|
||||||
static_assert_size!(Param, 40);
|
static_assert_size!(Param, 40);
|
||||||
static_assert_size!(Pat, 120);
|
static_assert_size!(Pat, 120);
|
||||||
static_assert_size!(PatKind, 96);
|
|
||||||
static_assert_size!(Path, 40);
|
static_assert_size!(Path, 40);
|
||||||
static_assert_size!(PathSegment, 24);
|
static_assert_size!(PathSegment, 24);
|
||||||
|
static_assert_size!(PatKind, 96);
|
||||||
static_assert_size!(Stmt, 32);
|
static_assert_size!(Stmt, 32);
|
||||||
static_assert_size!(StmtKind, 16);
|
static_assert_size!(StmtKind, 16);
|
||||||
static_assert_size!(Ty, 96);
|
static_assert_size!(Ty, 96);
|
||||||
static_assert_size!(TyKind, 72);
|
static_assert_size!(TyKind, 72);
|
||||||
|
// tidy-alphabetical-end
|
||||||
}
|
}
|
||||||
|
|
|
@ -889,10 +889,11 @@ where
|
||||||
mod size_asserts {
|
mod size_asserts {
|
||||||
use super::*;
|
use super::*;
|
||||||
use rustc_data_structures::static_assert_size;
|
use rustc_data_structures::static_assert_size;
|
||||||
// These are in alphabetical order, which is easy to maintain.
|
// tidy-alphabetical-start
|
||||||
static_assert_size!(Lit, 12);
|
static_assert_size!(Lit, 12);
|
||||||
static_assert_size!(LitKind, 2);
|
static_assert_size!(LitKind, 2);
|
||||||
static_assert_size!(Nonterminal, 16);
|
static_assert_size!(Nonterminal, 16);
|
||||||
static_assert_size!(Token, 24);
|
static_assert_size!(Token, 24);
|
||||||
static_assert_size!(TokenKind, 16);
|
static_assert_size!(TokenKind, 16);
|
||||||
|
// tidy-alphabetical-end
|
||||||
}
|
}
|
||||||
|
|
|
@ -646,10 +646,11 @@ impl DelimSpan {
|
||||||
mod size_asserts {
|
mod size_asserts {
|
||||||
use super::*;
|
use super::*;
|
||||||
use rustc_data_structures::static_assert_size;
|
use rustc_data_structures::static_assert_size;
|
||||||
// These are in alphabetical order, which is easy to maintain.
|
// tidy-alphabetical-start
|
||||||
static_assert_size!(AttrTokenStream, 8);
|
static_assert_size!(AttrTokenStream, 8);
|
||||||
static_assert_size!(AttrTokenTree, 32);
|
static_assert_size!(AttrTokenTree, 32);
|
||||||
static_assert_size!(LazyAttrTokenStream, 8);
|
static_assert_size!(LazyAttrTokenStream, 8);
|
||||||
static_assert_size!(TokenStream, 8);
|
static_assert_size!(TokenStream, 8);
|
||||||
static_assert_size!(TokenTree, 32);
|
static_assert_size!(TokenTree, 32);
|
||||||
|
// tidy-alphabetical-end
|
||||||
}
|
}
|
||||||
|
|
|
@ -788,9 +788,10 @@ impl<'mir, 'tcx: 'mir, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> {
|
||||||
mod size_asserts {
|
mod size_asserts {
|
||||||
use super::*;
|
use super::*;
|
||||||
use rustc_data_structures::static_assert_size;
|
use rustc_data_structures::static_assert_size;
|
||||||
// These are in alphabetical order, which is easy to maintain.
|
// tidy-alphabetical-start
|
||||||
static_assert_size!(Immediate, 48);
|
static_assert_size!(Immediate, 48);
|
||||||
static_assert_size!(ImmTy<'_>, 64);
|
static_assert_size!(ImmTy<'_>, 64);
|
||||||
static_assert_size!(Operand, 56);
|
static_assert_size!(Operand, 56);
|
||||||
static_assert_size!(OpTy<'_>, 80);
|
static_assert_size!(OpTy<'_>, 80);
|
||||||
|
// tidy-alphabetical-end
|
||||||
}
|
}
|
||||||
|
|
|
@ -892,10 +892,11 @@ where
|
||||||
mod size_asserts {
|
mod size_asserts {
|
||||||
use super::*;
|
use super::*;
|
||||||
use rustc_data_structures::static_assert_size;
|
use rustc_data_structures::static_assert_size;
|
||||||
// These are in alphabetical order, which is easy to maintain.
|
// tidy-alphabetical-start
|
||||||
static_assert_size!(MemPlaceMeta, 24);
|
|
||||||
static_assert_size!(MemPlace, 40);
|
static_assert_size!(MemPlace, 40);
|
||||||
|
static_assert_size!(MemPlaceMeta, 24);
|
||||||
static_assert_size!(MPlaceTy<'_>, 64);
|
static_assert_size!(MPlaceTy<'_>, 64);
|
||||||
static_assert_size!(Place, 40);
|
static_assert_size!(Place, 40);
|
||||||
static_assert_size!(PlaceTy<'_>, 64);
|
static_assert_size!(PlaceTy<'_>, 64);
|
||||||
|
// tidy-alphabetical-end
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,6 +35,7 @@ pub use unic_langid::{langid, LanguageIdentifier};
|
||||||
|
|
||||||
// Generates `DEFAULT_LOCALE_RESOURCES` static and `fluent_generated` module.
|
// Generates `DEFAULT_LOCALE_RESOURCES` static and `fluent_generated` module.
|
||||||
fluent_messages! {
|
fluent_messages! {
|
||||||
|
// tidy-alphabetical-start
|
||||||
ast_lowering => "../locales/en-US/ast_lowering.ftl",
|
ast_lowering => "../locales/en-US/ast_lowering.ftl",
|
||||||
ast_passes => "../locales/en-US/ast_passes.ftl",
|
ast_passes => "../locales/en-US/ast_passes.ftl",
|
||||||
attr => "../locales/en-US/attr.ftl",
|
attr => "../locales/en-US/attr.ftl",
|
||||||
|
@ -64,6 +65,7 @@ fluent_messages! {
|
||||||
symbol_mangling => "../locales/en-US/symbol_mangling.ftl",
|
symbol_mangling => "../locales/en-US/symbol_mangling.ftl",
|
||||||
trait_selection => "../locales/en-US/trait_selection.ftl",
|
trait_selection => "../locales/en-US/trait_selection.ftl",
|
||||||
ty_utils => "../locales/en-US/ty_utils.ftl",
|
ty_utils => "../locales/en-US/ty_utils.ftl",
|
||||||
|
// tidy-alphabetical-end
|
||||||
}
|
}
|
||||||
|
|
||||||
pub use fluent_generated::{self as fluent, DEFAULT_LOCALE_RESOURCES};
|
pub use fluent_generated::{self as fluent, DEFAULT_LOCALE_RESOURCES};
|
||||||
|
|
|
@ -3514,7 +3514,7 @@ impl<'hir> Node<'hir> {
|
||||||
#[cfg(all(target_arch = "x86_64", target_pointer_width = "64"))]
|
#[cfg(all(target_arch = "x86_64", target_pointer_width = "64"))]
|
||||||
mod size_asserts {
|
mod size_asserts {
|
||||||
use super::*;
|
use super::*;
|
||||||
// These are in alphabetical order, which is easy to maintain.
|
// tidy-alphabetical-start
|
||||||
static_assert_size!(Block<'_>, 48);
|
static_assert_size!(Block<'_>, 48);
|
||||||
static_assert_size!(Body<'_>, 32);
|
static_assert_size!(Body<'_>, 32);
|
||||||
static_assert_size!(Expr<'_>, 64);
|
static_assert_size!(Expr<'_>, 64);
|
||||||
|
@ -3533,9 +3533,9 @@ mod size_asserts {
|
||||||
static_assert_size!(Local<'_>, 64);
|
static_assert_size!(Local<'_>, 64);
|
||||||
static_assert_size!(Param<'_>, 32);
|
static_assert_size!(Param<'_>, 32);
|
||||||
static_assert_size!(Pat<'_>, 72);
|
static_assert_size!(Pat<'_>, 72);
|
||||||
static_assert_size!(PatKind<'_>, 48);
|
|
||||||
static_assert_size!(Path<'_>, 40);
|
static_assert_size!(Path<'_>, 40);
|
||||||
static_assert_size!(PathSegment<'_>, 48);
|
static_assert_size!(PathSegment<'_>, 48);
|
||||||
|
static_assert_size!(PatKind<'_>, 48);
|
||||||
static_assert_size!(QPath<'_>, 24);
|
static_assert_size!(QPath<'_>, 24);
|
||||||
static_assert_size!(Res, 12);
|
static_assert_size!(Res, 12);
|
||||||
static_assert_size!(Stmt<'_>, 32);
|
static_assert_size!(Stmt<'_>, 32);
|
||||||
|
@ -3544,4 +3544,5 @@ mod size_asserts {
|
||||||
static_assert_size!(TraitItemKind<'_>, 48);
|
static_assert_size!(TraitItemKind<'_>, 48);
|
||||||
static_assert_size!(Ty<'_>, 48);
|
static_assert_size!(Ty<'_>, 48);
|
||||||
static_assert_size!(TyKind<'_>, 32);
|
static_assert_size!(TyKind<'_>, 32);
|
||||||
|
// tidy-alphabetical-end
|
||||||
}
|
}
|
||||||
|
|
|
@ -540,7 +540,7 @@ fn test_codegen_options_tracking_hash() {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Make sure that changing an [UNTRACKED] option leaves the hash unchanged.
|
// Make sure that changing an [UNTRACKED] option leaves the hash unchanged.
|
||||||
// This list is in alphabetical order.
|
// tidy-alphabetical-start
|
||||||
untracked!(ar, String::from("abc"));
|
untracked!(ar, String::from("abc"));
|
||||||
untracked!(codegen_units, Some(42));
|
untracked!(codegen_units, Some(42));
|
||||||
untracked!(default_linker_libraries, true);
|
untracked!(default_linker_libraries, true);
|
||||||
|
@ -556,6 +556,7 @@ fn test_codegen_options_tracking_hash() {
|
||||||
untracked!(rpath, true);
|
untracked!(rpath, true);
|
||||||
untracked!(save_temps, true);
|
untracked!(save_temps, true);
|
||||||
untracked!(strip, Strip::Debuginfo);
|
untracked!(strip, Strip::Debuginfo);
|
||||||
|
// tidy-alphabetical-end
|
||||||
|
|
||||||
macro_rules! tracked {
|
macro_rules! tracked {
|
||||||
($name: ident, $non_default_value: expr) => {
|
($name: ident, $non_default_value: expr) => {
|
||||||
|
@ -567,7 +568,7 @@ fn test_codegen_options_tracking_hash() {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Make sure that changing a [TRACKED] option changes the hash.
|
// Make sure that changing a [TRACKED] option changes the hash.
|
||||||
// This list is in alphabetical order.
|
// tidy-alphabetical-start
|
||||||
tracked!(code_model, Some(CodeModel::Large));
|
tracked!(code_model, Some(CodeModel::Large));
|
||||||
tracked!(control_flow_guard, CFGuard::Checks);
|
tracked!(control_flow_guard, CFGuard::Checks);
|
||||||
tracked!(debug_assertions, Some(true));
|
tracked!(debug_assertions, Some(true));
|
||||||
|
@ -577,8 +578,8 @@ fn test_codegen_options_tracking_hash() {
|
||||||
tracked!(force_unwind_tables, Some(true));
|
tracked!(force_unwind_tables, Some(true));
|
||||||
tracked!(inline_threshold, Some(0xf007ba11));
|
tracked!(inline_threshold, Some(0xf007ba11));
|
||||||
tracked!(instrument_coverage, Some(InstrumentCoverage::All));
|
tracked!(instrument_coverage, Some(InstrumentCoverage::All));
|
||||||
tracked!(linker_plugin_lto, LinkerPluginLto::LinkerPluginAuto);
|
|
||||||
tracked!(link_dead_code, Some(true));
|
tracked!(link_dead_code, Some(true));
|
||||||
|
tracked!(linker_plugin_lto, LinkerPluginLto::LinkerPluginAuto);
|
||||||
tracked!(llvm_args, vec![String::from("1"), String::from("2")]);
|
tracked!(llvm_args, vec![String::from("1"), String::from("2")]);
|
||||||
tracked!(lto, LtoCli::Fat);
|
tracked!(lto, LtoCli::Fat);
|
||||||
tracked!(metadata, vec![String::from("A"), String::from("B")]);
|
tracked!(metadata, vec![String::from("A"), String::from("B")]);
|
||||||
|
@ -599,6 +600,7 @@ fn test_codegen_options_tracking_hash() {
|
||||||
tracked!(symbol_mangling_version, Some(SymbolManglingVersion::V0));
|
tracked!(symbol_mangling_version, Some(SymbolManglingVersion::V0));
|
||||||
tracked!(target_cpu, Some(String::from("abc")));
|
tracked!(target_cpu, Some(String::from("abc")));
|
||||||
tracked!(target_feature, String::from("all the features, all of them"));
|
tracked!(target_feature, String::from("all the features, all of them"));
|
||||||
|
// tidy-alphabetical-end
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
@ -619,12 +621,13 @@ fn test_top_level_options_tracked_no_crate() {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Make sure that changing a [TRACKED_NO_CRATE_HASH] option leaves the crate hash unchanged but changes the incremental hash.
|
// Make sure that changing a [TRACKED_NO_CRATE_HASH] option leaves the crate hash unchanged but changes the incremental hash.
|
||||||
// This list is in alphabetical order.
|
// tidy-alphabetical-start
|
||||||
tracked!(remap_path_prefix, vec![("/home/bors/rust".into(), "src".into())]);
|
|
||||||
tracked!(
|
tracked!(
|
||||||
real_rust_source_base_dir,
|
real_rust_source_base_dir,
|
||||||
Some("/home/bors/rust/.rustup/toolchains/nightly/lib/rustlib/src/rust".into())
|
Some("/home/bors/rust/.rustup/toolchains/nightly/lib/rustlib/src/rust".into())
|
||||||
);
|
);
|
||||||
|
tracked!(remap_path_prefix, vec![("/home/bors/rust".into(), "src".into())]);
|
||||||
|
// tidy-alphabetical-end
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
@ -641,7 +644,7 @@ fn test_unstable_options_tracking_hash() {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Make sure that changing an [UNTRACKED] option leaves the hash unchanged.
|
// Make sure that changing an [UNTRACKED] option leaves the hash unchanged.
|
||||||
// This list is in alphabetical order.
|
// tidy-alphabetical-start
|
||||||
untracked!(assert_incr_state, Some(String::from("loaded")));
|
untracked!(assert_incr_state, Some(String::from("loaded")));
|
||||||
untracked!(deduplicate_diagnostics, false);
|
untracked!(deduplicate_diagnostics, false);
|
||||||
untracked!(dep_tasks, true);
|
untracked!(dep_tasks, true);
|
||||||
|
@ -678,12 +681,12 @@ fn test_unstable_options_tracking_hash() {
|
||||||
untracked!(perf_stats, true);
|
untracked!(perf_stats, true);
|
||||||
// `pre_link_arg` is omitted because it just forwards to `pre_link_args`.
|
// `pre_link_arg` is omitted because it just forwards to `pre_link_args`.
|
||||||
untracked!(pre_link_args, vec![String::from("abc"), String::from("def")]);
|
untracked!(pre_link_args, vec![String::from("abc"), String::from("def")]);
|
||||||
untracked!(profile_closures, true);
|
|
||||||
untracked!(print_llvm_passes, true);
|
untracked!(print_llvm_passes, true);
|
||||||
untracked!(print_mono_items, Some(String::from("abc")));
|
untracked!(print_mono_items, Some(String::from("abc")));
|
||||||
untracked!(print_type_sizes, true);
|
untracked!(print_type_sizes, true);
|
||||||
untracked!(proc_macro_backtrace, true);
|
untracked!(proc_macro_backtrace, true);
|
||||||
untracked!(proc_macro_execution_strategy, ProcMacroExecutionStrategy::CrossThread);
|
untracked!(proc_macro_execution_strategy, ProcMacroExecutionStrategy::CrossThread);
|
||||||
|
untracked!(profile_closures, true);
|
||||||
untracked!(query_dep_graph, true);
|
untracked!(query_dep_graph, true);
|
||||||
untracked!(save_analysis, true);
|
untracked!(save_analysis, true);
|
||||||
untracked!(self_profile, SwitchWithOptPath::Enabled(None));
|
untracked!(self_profile, SwitchWithOptPath::Enabled(None));
|
||||||
|
@ -701,6 +704,7 @@ fn test_unstable_options_tracking_hash() {
|
||||||
untracked!(unstable_options, true);
|
untracked!(unstable_options, true);
|
||||||
untracked!(validate_mir, true);
|
untracked!(validate_mir, true);
|
||||||
untracked!(verbose, true);
|
untracked!(verbose, true);
|
||||||
|
// tidy-alphabetical-end
|
||||||
|
|
||||||
macro_rules! tracked {
|
macro_rules! tracked {
|
||||||
($name: ident, $non_default_value: expr) => {
|
($name: ident, $non_default_value: expr) => {
|
||||||
|
@ -712,7 +716,7 @@ fn test_unstable_options_tracking_hash() {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Make sure that changing a [TRACKED] option changes the hash.
|
// Make sure that changing a [TRACKED] option changes the hash.
|
||||||
// This list is in alphabetical order.
|
// tidy-alphabetical-start
|
||||||
tracked!(allow_features, Some(vec![String::from("lang_items")]));
|
tracked!(allow_features, Some(vec![String::from("lang_items")]));
|
||||||
tracked!(always_encode_mir, true);
|
tracked!(always_encode_mir, true);
|
||||||
tracked!(asm_comments, true);
|
tracked!(asm_comments, true);
|
||||||
|
@ -733,10 +737,10 @@ fn test_unstable_options_tracking_hash() {
|
||||||
tracked!(debug_macros, true);
|
tracked!(debug_macros, true);
|
||||||
tracked!(dep_info_omit_d_target, true);
|
tracked!(dep_info_omit_d_target, true);
|
||||||
tracked!(drop_tracking, true);
|
tracked!(drop_tracking, true);
|
||||||
tracked!(export_executable_symbols, true);
|
|
||||||
tracked!(dual_proc_macros, true);
|
tracked!(dual_proc_macros, true);
|
||||||
tracked!(dwarf_version, Some(5));
|
tracked!(dwarf_version, Some(5));
|
||||||
tracked!(emit_thin_lto, false);
|
tracked!(emit_thin_lto, false);
|
||||||
|
tracked!(export_executable_symbols, true);
|
||||||
tracked!(fewer_names, Some(true));
|
tracked!(fewer_names, Some(true));
|
||||||
tracked!(force_unstable_if_unmarked, true);
|
tracked!(force_unstable_if_unmarked, true);
|
||||||
tracked!(fuel, Some(("abc".to_string(), 99)));
|
tracked!(fuel, Some(("abc".to_string(), 99)));
|
||||||
|
@ -759,8 +763,8 @@ fn test_unstable_options_tracking_hash() {
|
||||||
tracked!(mutable_noalias, Some(true));
|
tracked!(mutable_noalias, Some(true));
|
||||||
tracked!(no_generate_arange_section, true);
|
tracked!(no_generate_arange_section, true);
|
||||||
tracked!(no_link, true);
|
tracked!(no_link, true);
|
||||||
tracked!(no_unique_section_names, true);
|
|
||||||
tracked!(no_profiler_runtime, true);
|
tracked!(no_profiler_runtime, true);
|
||||||
|
tracked!(no_unique_section_names, true);
|
||||||
tracked!(oom, OomStrategy::Panic);
|
tracked!(oom, OomStrategy::Panic);
|
||||||
tracked!(osx_rpath_install_name, true);
|
tracked!(osx_rpath_install_name, true);
|
||||||
tracked!(packed_bundled_libs, true);
|
tracked!(packed_bundled_libs, true);
|
||||||
|
@ -773,8 +777,8 @@ fn test_unstable_options_tracking_hash() {
|
||||||
tracked!(print_fuel, Some("abc".to_string()));
|
tracked!(print_fuel, Some("abc".to_string()));
|
||||||
tracked!(profile, true);
|
tracked!(profile, true);
|
||||||
tracked!(profile_emit, Some(PathBuf::from("abc")));
|
tracked!(profile_emit, Some(PathBuf::from("abc")));
|
||||||
tracked!(profiler_runtime, "abc".to_string());
|
|
||||||
tracked!(profile_sample_use, Some(PathBuf::from("abc")));
|
tracked!(profile_sample_use, Some(PathBuf::from("abc")));
|
||||||
|
tracked!(profiler_runtime, "abc".to_string());
|
||||||
tracked!(relax_elf_relocations, Some(true));
|
tracked!(relax_elf_relocations, Some(true));
|
||||||
tracked!(relro_level, Some(RelroLevel::Full));
|
tracked!(relro_level, Some(RelroLevel::Full));
|
||||||
tracked!(remap_cwd_prefix, Some(PathBuf::from("abc")));
|
tracked!(remap_cwd_prefix, Some(PathBuf::from("abc")));
|
||||||
|
@ -803,6 +807,7 @@ fn test_unstable_options_tracking_hash() {
|
||||||
tracked!(verify_llvm_ir, true);
|
tracked!(verify_llvm_ir, true);
|
||||||
tracked!(virtual_function_elimination, true);
|
tracked!(virtual_function_elimination, true);
|
||||||
tracked!(wasi_exec_model, Some(WasiExecModel::Reactor));
|
tracked!(wasi_exec_model, Some(WasiExecModel::Reactor));
|
||||||
|
// tidy-alphabetical-end
|
||||||
|
|
||||||
macro_rules! tracked_no_crate_hash {
|
macro_rules! tracked_no_crate_hash {
|
||||||
($name: ident, $non_default_value: expr) => {
|
($name: ident, $non_default_value: expr) => {
|
||||||
|
|
|
@ -2946,11 +2946,12 @@ impl Location {
|
||||||
mod size_asserts {
|
mod size_asserts {
|
||||||
use super::*;
|
use super::*;
|
||||||
use rustc_data_structures::static_assert_size;
|
use rustc_data_structures::static_assert_size;
|
||||||
// These are in alphabetical order, which is easy to maintain.
|
// tidy-alphabetical-start
|
||||||
static_assert_size!(BasicBlockData<'_>, 144);
|
static_assert_size!(BasicBlockData<'_>, 144);
|
||||||
static_assert_size!(LocalDecl<'_>, 56);
|
static_assert_size!(LocalDecl<'_>, 56);
|
||||||
static_assert_size!(Statement<'_>, 32);
|
static_assert_size!(Statement<'_>, 32);
|
||||||
static_assert_size!(StatementKind<'_>, 16);
|
static_assert_size!(StatementKind<'_>, 16);
|
||||||
static_assert_size!(Terminator<'_>, 112);
|
static_assert_size!(Terminator<'_>, 112);
|
||||||
static_assert_size!(TerminatorKind<'_>, 96);
|
static_assert_size!(TerminatorKind<'_>, 96);
|
||||||
|
// tidy-alphabetical-end
|
||||||
}
|
}
|
||||||
|
|
|
@ -1245,10 +1245,11 @@ pub enum BinOp {
|
||||||
#[cfg(all(target_arch = "x86_64", target_pointer_width = "64"))]
|
#[cfg(all(target_arch = "x86_64", target_pointer_width = "64"))]
|
||||||
mod size_asserts {
|
mod size_asserts {
|
||||||
use super::*;
|
use super::*;
|
||||||
// These are in alphabetical order, which is easy to maintain.
|
// tidy-alphabetical-start
|
||||||
static_assert_size!(AggregateKind<'_>, 40);
|
static_assert_size!(AggregateKind<'_>, 40);
|
||||||
static_assert_size!(Operand<'_>, 24);
|
static_assert_size!(Operand<'_>, 24);
|
||||||
static_assert_size!(Place<'_>, 16);
|
static_assert_size!(Place<'_>, 16);
|
||||||
static_assert_size!(PlaceElem<'_>, 24);
|
static_assert_size!(PlaceElem<'_>, 24);
|
||||||
static_assert_size!(Rvalue<'_>, 40);
|
static_assert_size!(Rvalue<'_>, 40);
|
||||||
|
// tidy-alphabetical-end
|
||||||
}
|
}
|
||||||
|
|
|
@ -848,7 +848,7 @@ impl<'tcx> fmt::Display for Pat<'tcx> {
|
||||||
#[cfg(all(target_arch = "x86_64", target_pointer_width = "64"))]
|
#[cfg(all(target_arch = "x86_64", target_pointer_width = "64"))]
|
||||||
mod size_asserts {
|
mod size_asserts {
|
||||||
use super::*;
|
use super::*;
|
||||||
// These are in alphabetical order, which is easy to maintain.
|
// tidy-alphabetical-start
|
||||||
static_assert_size!(Block, 56);
|
static_assert_size!(Block, 56);
|
||||||
static_assert_size!(Expr<'_>, 64);
|
static_assert_size!(Expr<'_>, 64);
|
||||||
static_assert_size!(ExprKind<'_>, 40);
|
static_assert_size!(ExprKind<'_>, 40);
|
||||||
|
@ -856,4 +856,5 @@ mod size_asserts {
|
||||||
static_assert_size!(PatKind<'_>, 56);
|
static_assert_size!(PatKind<'_>, 56);
|
||||||
static_assert_size!(Stmt<'_>, 48);
|
static_assert_size!(Stmt<'_>, 48);
|
||||||
static_assert_size!(StmtKind<'_>, 40);
|
static_assert_size!(StmtKind<'_>, 40);
|
||||||
|
// tidy-alphabetical-end
|
||||||
}
|
}
|
||||||
|
|
|
@ -2668,8 +2668,9 @@ pub struct DestructuredConst<'tcx> {
|
||||||
mod size_asserts {
|
mod size_asserts {
|
||||||
use super::*;
|
use super::*;
|
||||||
use rustc_data_structures::static_assert_size;
|
use rustc_data_structures::static_assert_size;
|
||||||
// These are in alphabetical order, which is easy to maintain.
|
// tidy-alphabetical-start
|
||||||
static_assert_size!(PredicateS<'_>, 48);
|
static_assert_size!(PredicateS<'_>, 48);
|
||||||
static_assert_size!(TyS<'_>, 40);
|
static_assert_size!(TyS<'_>, 40);
|
||||||
static_assert_size!(WithStableHash<TyS<'_>>, 56);
|
static_assert_size!(WithStableHash<TyS<'_>>, 56);
|
||||||
|
// tidy-alphabetical-end
|
||||||
}
|
}
|
||||||
|
|
|
@ -459,7 +459,8 @@ fn make_token_stream(
|
||||||
mod size_asserts {
|
mod size_asserts {
|
||||||
use super::*;
|
use super::*;
|
||||||
use rustc_data_structures::static_assert_size;
|
use rustc_data_structures::static_assert_size;
|
||||||
// These are in alphabetical order, which is easy to maintain.
|
// tidy-alphabetical-start
|
||||||
static_assert_size!(AttrWrapper, 16);
|
static_assert_size!(AttrWrapper, 16);
|
||||||
static_assert_size!(LazyAttrTokenStreamImpl, 144);
|
static_assert_size!(LazyAttrTokenStreamImpl, 144);
|
||||||
|
// tidy-alphabetical-end
|
||||||
}
|
}
|
||||||
|
|
|
@ -1075,12 +1075,11 @@ mod parse {
|
||||||
options! {
|
options! {
|
||||||
CodegenOptions, CG_OPTIONS, cgopts, "C", "codegen",
|
CodegenOptions, CG_OPTIONS, cgopts, "C", "codegen",
|
||||||
|
|
||||||
// This list is in alphabetical order.
|
|
||||||
//
|
|
||||||
// If you add a new option, please update:
|
// If you add a new option, please update:
|
||||||
// - compiler/rustc_interface/src/tests.rs
|
// - compiler/rustc_interface/src/tests.rs
|
||||||
// - src/doc/rustc/src/codegen-options/index.md
|
// - src/doc/rustc/src/codegen-options/index.md
|
||||||
|
|
||||||
|
// tidy-alphabetical-start
|
||||||
ar: String = (String::new(), parse_string, [UNTRACKED],
|
ar: String = (String::new(), parse_string, [UNTRACKED],
|
||||||
"this option is deprecated and does nothing"),
|
"this option is deprecated and does nothing"),
|
||||||
#[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")]
|
||||||
|
@ -1195,9 +1194,8 @@ options! {
|
||||||
target_feature: String = (String::new(), parse_target_feature, [TRACKED],
|
target_feature: String = (String::new(), parse_target_feature, [TRACKED],
|
||||||
"target specific attributes. (`rustc --print target-features` for details). \
|
"target specific attributes. (`rustc --print target-features` for details). \
|
||||||
This feature is unsafe."),
|
This feature is unsafe."),
|
||||||
|
// tidy-alphabetical-end
|
||||||
|
|
||||||
// This list is in alphabetical order.
|
|
||||||
//
|
|
||||||
// If you add a new option, please update:
|
// If you add a new option, please update:
|
||||||
// - compiler/rustc_interface/src/tests.rs
|
// - compiler/rustc_interface/src/tests.rs
|
||||||
// - src/doc/rustc/src/codegen-options/index.md
|
// - src/doc/rustc/src/codegen-options/index.md
|
||||||
|
@ -1206,24 +1204,23 @@ options! {
|
||||||
options! {
|
options! {
|
||||||
UnstableOptions, Z_OPTIONS, dbopts, "Z", "unstable",
|
UnstableOptions, Z_OPTIONS, dbopts, "Z", "unstable",
|
||||||
|
|
||||||
// This list is in alphabetical order.
|
|
||||||
//
|
|
||||||
// If you add a new option, please update:
|
// If you add a new option, please update:
|
||||||
// - compiler/rustc_interface/src/tests.rs
|
// - compiler/rustc_interface/src/tests.rs
|
||||||
// - src/doc/unstable-book/src/compiler-flags
|
// - src/doc/unstable-book/src/compiler-flags
|
||||||
|
|
||||||
|
// tidy-alphabetical-start
|
||||||
allow_features: Option<Vec<String>> = (None, parse_opt_comma_list, [TRACKED],
|
allow_features: Option<Vec<String>> = (None, parse_opt_comma_list, [TRACKED],
|
||||||
"only allow the listed language features to be enabled in code (space separated)"),
|
"only allow the listed language features to be enabled in code (space separated)"),
|
||||||
always_encode_mir: bool = (false, parse_bool, [TRACKED],
|
always_encode_mir: bool = (false, parse_bool, [TRACKED],
|
||||||
"encode MIR of all functions into the crate metadata (default: no)"),
|
"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)"),
|
|
||||||
#[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],
|
asm_comments: bool = (false, parse_bool, [TRACKED],
|
||||||
"generate comments into the assembly (may change behavior) (default: no)"),
|
"generate comments into the assembly (may change behavior) (default: no)"),
|
||||||
assert_incr_state: Option<String> = (None, parse_opt_string, [UNTRACKED],
|
assert_incr_state: Option<String> = (None, parse_opt_string, [UNTRACKED],
|
||||||
"assert that the incremental cache is in given state: \
|
"assert that the incremental cache is in given state: \
|
||||||
either `loaded` or `not-loaded`."),
|
either `loaded` or `not-loaded`."),
|
||||||
|
assume_incomplete_release: bool = (false, parse_bool, [TRACKED],
|
||||||
|
"make cfg(version) treat the current version as incomplete (default: no)"),
|
||||||
#[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],
|
binary_dep_depinfo: bool = (false, parse_bool, [TRACKED],
|
||||||
"include artifacts (sysroot, crate dependencies) used during compilation in dep-info \
|
"include artifacts (sysroot, crate dependencies) used during compilation in dep-info \
|
||||||
|
@ -1256,6 +1253,8 @@ options! {
|
||||||
dep_tasks: bool = (false, parse_bool, [UNTRACKED],
|
dep_tasks: bool = (false, parse_bool, [UNTRACKED],
|
||||||
"print tasks that execute and the color their dep node gets (requires debug build) \
|
"print tasks that execute and the color their dep node gets (requires debug build) \
|
||||||
(default: no)"),
|
(default: no)"),
|
||||||
|
diagnostic_width: Option<usize> = (None, parse_opt_number, [UNTRACKED],
|
||||||
|
"set the current output width for diagnostic truncation"),
|
||||||
dlltool: Option<PathBuf> = (None, parse_opt_pathbuf, [UNTRACKED],
|
dlltool: Option<PathBuf> = (None, parse_opt_pathbuf, [UNTRACKED],
|
||||||
"import library generation tool (windows-gnu only)"),
|
"import library generation tool (windows-gnu only)"),
|
||||||
dont_buffer_diagnostics: bool = (false, parse_bool, [UNTRACKED],
|
dont_buffer_diagnostics: bool = (false, parse_bool, [UNTRACKED],
|
||||||
|
@ -1337,16 +1336,16 @@ options! {
|
||||||
"hash spans relative to their parent item for incr. comp. (default: no)"),
|
"hash spans relative to their parent item for incr. comp. (default: no)"),
|
||||||
incremental_verify_ich: bool = (false, parse_bool, [UNTRACKED],
|
incremental_verify_ich: bool = (false, parse_bool, [UNTRACKED],
|
||||||
"verify incr. comp. hashes of green query instances (default: no)"),
|
"verify incr. comp. hashes of green query instances (default: no)"),
|
||||||
|
inline_in_all_cgus: Option<bool> = (None, parse_opt_bool, [TRACKED],
|
||||||
|
"control whether `#[inline]` functions are in all CGUs"),
|
||||||
inline_llvm: bool = (true, parse_bool, [TRACKED],
|
inline_llvm: bool = (true, parse_bool, [TRACKED],
|
||||||
"enable LLVM inlining (default: yes)"),
|
"enable LLVM inlining (default: yes)"),
|
||||||
inline_mir: Option<bool> = (None, parse_opt_bool, [TRACKED],
|
inline_mir: Option<bool> = (None, parse_opt_bool, [TRACKED],
|
||||||
"enable MIR inlining (default: no)"),
|
"enable MIR inlining (default: no)"),
|
||||||
inline_mir_threshold: Option<usize> = (None, parse_opt_number, [TRACKED],
|
|
||||||
"a default MIR inlining threshold (default: 50)"),
|
|
||||||
inline_mir_hint_threshold: Option<usize> = (None, parse_opt_number, [TRACKED],
|
inline_mir_hint_threshold: Option<usize> = (None, parse_opt_number, [TRACKED],
|
||||||
"inlining threshold for functions with inline hint (default: 100)"),
|
"inlining threshold for functions with inline hint (default: 100)"),
|
||||||
inline_in_all_cgus: Option<bool> = (None, parse_opt_bool, [TRACKED],
|
inline_mir_threshold: Option<usize> = (None, parse_opt_number, [TRACKED],
|
||||||
"control whether `#[inline]` functions are in all CGUs"),
|
"a default MIR inlining threshold (default: 50)"),
|
||||||
input_stats: bool = (false, parse_bool, [UNTRACKED],
|
input_stats: bool = (false, parse_bool, [UNTRACKED],
|
||||||
"gather statistics about the input (default: no)"),
|
"gather statistics about the input (default: no)"),
|
||||||
#[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")]
|
||||||
|
@ -1363,6 +1362,8 @@ options! {
|
||||||
"insert function instrument code for mcount-based tracing (default: no)"),
|
"insert function instrument code for mcount-based tracing (default: no)"),
|
||||||
keep_hygiene_data: bool = (false, parse_bool, [UNTRACKED],
|
keep_hygiene_data: bool = (false, parse_bool, [UNTRACKED],
|
||||||
"keep hygiene data after analysis (default: no)"),
|
"keep hygiene data after analysis (default: no)"),
|
||||||
|
layout_seed: Option<u64> = (None, parse_opt_number, [TRACKED],
|
||||||
|
"seed layout randomization"),
|
||||||
link_native_libraries: bool = (true, parse_bool, [UNTRACKED],
|
link_native_libraries: bool = (true, parse_bool, [UNTRACKED],
|
||||||
"link native libraries in the linker invocation (default: yes)"),
|
"link native libraries in the linker invocation (default: yes)"),
|
||||||
link_only: bool = (false, parse_bool, [TRACKED],
|
link_only: bool = (false, parse_bool, [TRACKED],
|
||||||
|
@ -1392,11 +1393,11 @@ options! {
|
||||||
"use like `-Zmir-enable-passes=+DestProp,-InstCombine`. Forces the specified passes to be \
|
"use like `-Zmir-enable-passes=+DestProp,-InstCombine`. Forces the specified passes to be \
|
||||||
enabled, overriding all other checks. Passes that are not specified are enabled or \
|
enabled, overriding all other checks. Passes that are not specified are enabled or \
|
||||||
disabled by other flags as usual."),
|
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"),
|
|
||||||
#[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_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)"),
|
"MIR optimization level (0-4; default: 1 in non optimized builds and 2 in optimized builds)"),
|
||||||
|
mir_pretty_relative_line_numbers: bool = (false, parse_bool, [UNTRACKED],
|
||||||
|
"use line numbers relative to the function in mir pretty printing"),
|
||||||
move_size_limit: Option<usize> = (None, parse_opt_number, [TRACKED],
|
move_size_limit: Option<usize> = (None, parse_opt_number, [TRACKED],
|
||||||
"the size at which the `large_assignments` lint starts to be emitted"),
|
"the size at which the `large_assignments` lint starts to be emitted"),
|
||||||
mutable_noalias: Option<bool> = (None, parse_opt_bool, [TRACKED],
|
mutable_noalias: Option<bool> = (None, parse_opt_bool, [TRACKED],
|
||||||
|
@ -1419,18 +1420,16 @@ options! {
|
||||||
"compile without linking"),
|
"compile without linking"),
|
||||||
no_parallel_llvm: bool = (false, parse_no_flag, [UNTRACKED],
|
no_parallel_llvm: bool = (false, parse_no_flag, [UNTRACKED],
|
||||||
"run LLVM in non-parallel mode (while keeping codegen-units and ThinLTO)"),
|
"run LLVM in non-parallel mode (while keeping codegen-units and ThinLTO)"),
|
||||||
no_unique_section_names: bool = (false, parse_bool, [TRACKED],
|
|
||||||
"do not use unique names for text and data sections when -Z function-sections is used"),
|
|
||||||
no_profiler_runtime: bool = (false, parse_no_flag, [TRACKED],
|
no_profiler_runtime: bool = (false, parse_no_flag, [TRACKED],
|
||||||
"prevent automatic injection of the profiler_builtins crate"),
|
"prevent automatic injection of the profiler_builtins crate"),
|
||||||
|
no_unique_section_names: bool = (false, parse_bool, [TRACKED],
|
||||||
|
"do not use unique names for text and data sections when -Z function-sections is used"),
|
||||||
normalize_docs: bool = (false, parse_bool, [TRACKED],
|
normalize_docs: bool = (false, parse_bool, [TRACKED],
|
||||||
"normalize associated items in rustdoc when generating documentation"),
|
"normalize associated items in rustdoc when generating documentation"),
|
||||||
oom: OomStrategy = (OomStrategy::Abort, parse_oom_strategy, [TRACKED],
|
oom: OomStrategy = (OomStrategy::Abort, parse_oom_strategy, [TRACKED],
|
||||||
"panic strategy for out-of-memory handling"),
|
"panic strategy for out-of-memory handling"),
|
||||||
osx_rpath_install_name: bool = (false, parse_bool, [TRACKED],
|
osx_rpath_install_name: bool = (false, parse_bool, [TRACKED],
|
||||||
"pass `-install_name @rpath/...` to the macOS linker (default: no)"),
|
"pass `-install_name @rpath/...` to the macOS linker (default: no)"),
|
||||||
diagnostic_width: Option<usize> = (None, parse_opt_number, [UNTRACKED],
|
|
||||||
"set the current output width for diagnostic truncation"),
|
|
||||||
packed_bundled_libs: bool = (false, parse_bool, [TRACKED],
|
packed_bundled_libs: bool = (false, parse_bool, [TRACKED],
|
||||||
"change rlib format to store native libraries as archives"),
|
"change rlib format to store native libraries as archives"),
|
||||||
panic_abort_tests: bool = (false, parse_bool, [TRACKED],
|
panic_abort_tests: bool = (false, parse_bool, [TRACKED],
|
||||||
|
@ -1480,25 +1479,20 @@ options! {
|
||||||
profile_emit: Option<PathBuf> = (None, parse_opt_pathbuf, [TRACKED],
|
profile_emit: Option<PathBuf> = (None, parse_opt_pathbuf, [TRACKED],
|
||||||
"file path to emit profiling data at runtime when using 'profile' \
|
"file path to emit profiling data at runtime when using 'profile' \
|
||||||
(default based on relative source path)"),
|
(default based on relative source path)"),
|
||||||
profiler_runtime: String = (String::from("profiler_builtins"), parse_string, [TRACKED],
|
|
||||||
"name of the profiler runtime crate to automatically inject (default: `profiler_builtins`)"),
|
|
||||||
profile_sample_use: Option<PathBuf> = (None, parse_opt_pathbuf, [TRACKED],
|
profile_sample_use: Option<PathBuf> = (None, parse_opt_pathbuf, [TRACKED],
|
||||||
"use the given `.prof` file for sampled profile-guided optimization (also known as AutoFDO)"),
|
"use the given `.prof` file for sampled profile-guided optimization (also known as AutoFDO)"),
|
||||||
|
profiler_runtime: String = (String::from("profiler_builtins"), parse_string, [TRACKED],
|
||||||
|
"name of the profiler runtime crate to automatically inject (default: `profiler_builtins`)"),
|
||||||
query_dep_graph: bool = (false, parse_bool, [UNTRACKED],
|
query_dep_graph: bool = (false, parse_bool, [UNTRACKED],
|
||||||
"enable queries of the dependency graph for regression testing (default: no)"),
|
"enable queries of the dependency graph for regression testing (default: no)"),
|
||||||
randomize_layout: bool = (false, parse_bool, [TRACKED],
|
randomize_layout: bool = (false, parse_bool, [TRACKED],
|
||||||
"randomize the layout of types (default: no)"),
|
"randomize the layout of types (default: no)"),
|
||||||
layout_seed: Option<u64> = (None, parse_opt_number, [TRACKED],
|
|
||||||
"seed layout randomization"),
|
|
||||||
relax_elf_relocations: Option<bool> = (None, parse_opt_bool, [TRACKED],
|
relax_elf_relocations: Option<bool> = (None, parse_opt_bool, [TRACKED],
|
||||||
"whether ELF relocations can be relaxed"),
|
"whether ELF relocations can be relaxed"),
|
||||||
relro_level: Option<RelroLevel> = (None, parse_relro_level, [TRACKED],
|
relro_level: Option<RelroLevel> = (None, parse_relro_level, [TRACKED],
|
||||||
"choose which RELRO level to use"),
|
"choose which RELRO level to use"),
|
||||||
remap_cwd_prefix: Option<PathBuf> = (None, parse_opt_pathbuf, [TRACKED],
|
remap_cwd_prefix: Option<PathBuf> = (None, parse_opt_pathbuf, [TRACKED],
|
||||||
"remap paths under the current working directory to this path prefix"),
|
"remap paths under the current working directory to this path prefix"),
|
||||||
simulate_remapped_rust_src_base: Option<PathBuf> = (None, parse_opt_pathbuf, [TRACKED],
|
|
||||||
"simulate the effect of remap-debuginfo = true at bootstrapping by remapping path \
|
|
||||||
to rust's source base directory. only meant for testing purposes"),
|
|
||||||
report_delayed_bugs: bool = (false, parse_bool, [TRACKED],
|
report_delayed_bugs: bool = (false, parse_bool, [TRACKED],
|
||||||
"immediately print bugs registered with `delay_span_bug` (default: no)"),
|
"immediately print bugs registered with `delay_span_bug` (default: no)"),
|
||||||
sanitizer: SanitizerSet = (SanitizerSet::empty(), parse_sanitizers, [TRACKED],
|
sanitizer: SanitizerSet = (SanitizerSet::empty(), parse_sanitizers, [TRACKED],
|
||||||
|
@ -1516,27 +1510,41 @@ options! {
|
||||||
self_profile: SwitchWithOptPath = (SwitchWithOptPath::Disabled,
|
self_profile: SwitchWithOptPath = (SwitchWithOptPath::Disabled,
|
||||||
parse_switch_with_opt_path, [UNTRACKED],
|
parse_switch_with_opt_path, [UNTRACKED],
|
||||||
"run the self profiler and output the raw event data"),
|
"run the self profiler and output the raw event data"),
|
||||||
/// keep this in sync with the event filter names in librustc_data_structures/profiling.rs
|
|
||||||
self_profile_events: Option<Vec<String>> = (None, parse_opt_comma_list, [UNTRACKED],
|
|
||||||
"specify the events recorded by the self profiler;
|
|
||||||
for example: `-Z self-profile-events=default,query-keys`
|
|
||||||
all options: none, all, default, generic-activity, query-provider, query-cache-hit
|
|
||||||
query-blocked, incr-cache-load, incr-result-hashing, query-keys, function-args, args, llvm, artifact-sizes"),
|
|
||||||
self_profile_counter: String = ("wall-time".to_string(), parse_string, [UNTRACKED],
|
self_profile_counter: String = ("wall-time".to_string(), parse_string, [UNTRACKED],
|
||||||
"counter used by the self profiler (default: `wall-time`), one of:
|
"counter used by the self profiler (default: `wall-time`), one of:
|
||||||
`wall-time` (monotonic clock, i.e. `std::time::Instant`)
|
`wall-time` (monotonic clock, i.e. `std::time::Instant`)
|
||||||
`instructions:u` (retired instructions, userspace-only)
|
`instructions:u` (retired instructions, userspace-only)
|
||||||
`instructions-minus-irqs:u` (subtracting hardware interrupt counts for extra accuracy)"
|
`instructions-minus-irqs:u` (subtracting hardware interrupt counts for extra accuracy)"
|
||||||
),
|
),
|
||||||
|
/// keep this in sync with the event filter names in librustc_data_structures/profiling.rs
|
||||||
|
self_profile_events: Option<Vec<String>> = (None, parse_opt_comma_list, [UNTRACKED],
|
||||||
|
"specify the events recorded by the self profiler;
|
||||||
|
for example: `-Z self-profile-events=default,query-keys`
|
||||||
|
all options: none, all, default, generic-activity, query-provider, query-cache-hit
|
||||||
|
query-blocked, incr-cache-load, incr-result-hashing, query-keys, function-args, args, llvm, artifact-sizes"),
|
||||||
share_generics: Option<bool> = (None, parse_opt_bool, [TRACKED],
|
share_generics: Option<bool> = (None, parse_opt_bool, [TRACKED],
|
||||||
"make the current crate share its generic instantiations"),
|
"make the current crate share its generic instantiations"),
|
||||||
show_span: Option<String> = (None, parse_opt_string, [TRACKED],
|
show_span: Option<String> = (None, parse_opt_string, [TRACKED],
|
||||||
"show spans for compiler debugging (expr|pat|ty)"),
|
"show spans for compiler debugging (expr|pat|ty)"),
|
||||||
|
simulate_remapped_rust_src_base: Option<PathBuf> = (None, parse_opt_pathbuf, [TRACKED],
|
||||||
|
"simulate the effect of remap-debuginfo = true at bootstrapping by remapping path \
|
||||||
|
to rust's source base directory. only meant for testing purposes"),
|
||||||
span_debug: bool = (false, parse_bool, [UNTRACKED],
|
span_debug: bool = (false, parse_bool, [UNTRACKED],
|
||||||
"forward proc_macro::Span's `Debug` impl to `Span`"),
|
"forward proc_macro::Span's `Debug` impl to `Span`"),
|
||||||
/// o/w tests have closure@path
|
/// o/w tests have closure@path
|
||||||
span_free_formats: bool = (false, parse_bool, [UNTRACKED],
|
span_free_formats: bool = (false, parse_bool, [UNTRACKED],
|
||||||
"exclude spans when debug-printing compiler state (default: no)"),
|
"exclude spans when debug-printing compiler state (default: no)"),
|
||||||
|
split_dwarf_inlining: bool = (true, parse_bool, [TRACKED],
|
||||||
|
"provide minimal debug info in the object/executable to facilitate online \
|
||||||
|
symbolication/stack traces in the absence of .dwo/.dwp files when using Split DWARF"),
|
||||||
|
split_dwarf_kind: SplitDwarfKind = (SplitDwarfKind::Split, parse_split_dwarf_kind, [TRACKED],
|
||||||
|
"split dwarf variant (only if -Csplit-debuginfo is enabled and on relevant platform)
|
||||||
|
(default: `split`)
|
||||||
|
|
||||||
|
`split`: sections which do not require relocation are written into a DWARF object (`.dwo`)
|
||||||
|
file which is ignored by the linker
|
||||||
|
`single`: sections which do not require relocation are written into object file but ignored
|
||||||
|
by the linker"),
|
||||||
src_hash_algorithm: Option<SourceFileHashAlgorithm> = (None, parse_src_file_hash, [TRACKED],
|
src_hash_algorithm: Option<SourceFileHashAlgorithm> = (None, parse_src_file_hash, [TRACKED],
|
||||||
"hash algorithm of source files in debug info (`md5`, `sha1`, or `sha256`)"),
|
"hash algorithm of source files in debug info (`md5`, `sha1`, or `sha256`)"),
|
||||||
#[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")]
|
||||||
|
@ -1546,17 +1554,6 @@ options! {
|
||||||
"control if mem::uninitialized and mem::zeroed panic on more UB"),
|
"control if mem::uninitialized and mem::zeroed panic on more UB"),
|
||||||
strip: Strip = (Strip::None, parse_strip, [UNTRACKED],
|
strip: Strip = (Strip::None, parse_strip, [UNTRACKED],
|
||||||
"tell the linker which information to strip (`none` (default), `debuginfo` or `symbols`)"),
|
"tell the linker which information to strip (`none` (default), `debuginfo` or `symbols`)"),
|
||||||
split_dwarf_kind: SplitDwarfKind = (SplitDwarfKind::Split, parse_split_dwarf_kind, [TRACKED],
|
|
||||||
"split dwarf variant (only if -Csplit-debuginfo is enabled and on relevant platform)
|
|
||||||
(default: `split`)
|
|
||||||
|
|
||||||
`split`: sections which do not require relocation are written into a DWARF object (`.dwo`)
|
|
||||||
file which is ignored by the linker
|
|
||||||
`single`: sections which do not require relocation are written into object file but ignored
|
|
||||||
by the linker"),
|
|
||||||
split_dwarf_inlining: bool = (true, parse_bool, [TRACKED],
|
|
||||||
"provide minimal debug info in the object/executable to facilitate online \
|
|
||||||
symbolication/stack traces in the absence of .dwo/.dwp files when using Split DWARF"),
|
|
||||||
symbol_mangling_version: Option<SymbolManglingVersion> = (None,
|
symbol_mangling_version: Option<SymbolManglingVersion> = (None,
|
||||||
parse_symbol_mangling_version, [TRACKED],
|
parse_symbol_mangling_version, [TRACKED],
|
||||||
"which mangling version to use for symbol names ('legacy' (default) or 'v0')"),
|
"which mangling version to use for symbol names ('legacy' (default) or 'v0')"),
|
||||||
|
@ -1565,17 +1562,6 @@ options! {
|
||||||
"show extended diagnostic help (default: no)"),
|
"show extended diagnostic help (default: no)"),
|
||||||
temps_dir: Option<String> = (None, parse_opt_string, [UNTRACKED],
|
temps_dir: Option<String> = (None, parse_opt_string, [UNTRACKED],
|
||||||
"the directory the intermediate files are written to"),
|
"the directory the intermediate files are written to"),
|
||||||
// Diagnostics are considered side-effects of a query (see `QuerySideEffects`) and are saved
|
|
||||||
// alongside query results and changes to translation options can affect diagnostics - so
|
|
||||||
// translation options should be tracked.
|
|
||||||
translate_lang: Option<LanguageIdentifier> = (None, parse_opt_langid, [TRACKED],
|
|
||||||
"language identifier for diagnostic output"),
|
|
||||||
translate_additional_ftl: Option<PathBuf> = (None, parse_opt_pathbuf, [TRACKED],
|
|
||||||
"additional fluent translation to preferentially use (for testing translation)"),
|
|
||||||
translate_directionality_markers: bool = (false, parse_bool, [TRACKED],
|
|
||||||
"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)"),
|
|
||||||
#[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],
|
thinlto: Option<bool> = (None, parse_opt_bool, [TRACKED],
|
||||||
"enable ThinLTO when possible"),
|
"enable ThinLTO when possible"),
|
||||||
|
@ -1599,6 +1585,15 @@ options! {
|
||||||
"choose the TLS model to use (`rustc --print tls-models` for details)"),
|
"choose the TLS model to use (`rustc --print tls-models` for details)"),
|
||||||
trace_macros: bool = (false, parse_bool, [UNTRACKED],
|
trace_macros: bool = (false, parse_bool, [UNTRACKED],
|
||||||
"for every macro invocation, print its name and arguments (default: no)"),
|
"for every macro invocation, print its name and arguments (default: no)"),
|
||||||
|
// Diagnostics are considered side-effects of a query (see `QuerySideEffects`) and are saved
|
||||||
|
// alongside query results and changes to translation options can affect diagnostics - so
|
||||||
|
// translation options should be tracked.
|
||||||
|
translate_additional_ftl: Option<PathBuf> = (None, parse_opt_pathbuf, [TRACKED],
|
||||||
|
"additional fluent translation to preferentially use (for testing translation)"),
|
||||||
|
translate_directionality_markers: bool = (false, parse_bool, [TRACKED],
|
||||||
|
"emit directionality isolation markers in translated diagnostics"),
|
||||||
|
translate_lang: Option<LanguageIdentifier> = (None, parse_opt_langid, [TRACKED],
|
||||||
|
"language identifier for diagnostic output"),
|
||||||
translate_remapped_path_to_local_path: bool = (true, parse_bool, [TRACKED],
|
translate_remapped_path_to_local_path: bool = (true, parse_bool, [TRACKED],
|
||||||
"translate remapped paths into local paths when possible (default: yes)"),
|
"translate remapped paths into local paths when possible (default: yes)"),
|
||||||
trap_unreachable: Option<bool> = (None, parse_opt_bool, [TRACKED],
|
trap_unreachable: Option<bool> = (None, parse_opt_bool, [TRACKED],
|
||||||
|
@ -1607,6 +1602,8 @@ options! {
|
||||||
"treat error number `val` that occurs as bug"),
|
"treat error number `val` that occurs as bug"),
|
||||||
trim_diagnostic_paths: bool = (true, parse_bool, [UNTRACKED],
|
trim_diagnostic_paths: bool = (true, parse_bool, [UNTRACKED],
|
||||||
"in diagnostics, use heuristics to shorten paths referring to items"),
|
"in diagnostics, use heuristics to shorten paths referring to items"),
|
||||||
|
tune_cpu: Option<String> = (None, parse_opt_string, [TRACKED],
|
||||||
|
"select processor to schedule for (`rustc --print target-cpus` for details)"),
|
||||||
ui_testing: bool = (false, parse_bool, [UNTRACKED],
|
ui_testing: bool = (false, parse_bool, [UNTRACKED],
|
||||||
"emit compiler diagnostics in a form suitable for UI testing (default: no)"),
|
"emit compiler diagnostics in a form suitable for UI testing (default: no)"),
|
||||||
uninit_const_chunk_threshold: usize = (16, parse_number, [TRACKED],
|
uninit_const_chunk_threshold: usize = (16, parse_number, [TRACKED],
|
||||||
|
@ -1647,9 +1644,8 @@ options! {
|
||||||
Requires `-Clto[=[fat,yes]]`"),
|
Requires `-Clto[=[fat,yes]]`"),
|
||||||
wasi_exec_model: Option<WasiExecModel> = (None, parse_wasi_exec_model, [TRACKED],
|
wasi_exec_model: Option<WasiExecModel> = (None, parse_wasi_exec_model, [TRACKED],
|
||||||
"whether to build a wasi command or reactor"),
|
"whether to build a wasi command or reactor"),
|
||||||
|
// tidy-alphabetical-end
|
||||||
|
|
||||||
// This list is in alphabetical order.
|
|
||||||
//
|
|
||||||
// If you add a new option, please update:
|
// If you add a new option, please update:
|
||||||
// - compiler/rustc_interface/src/tests.rs
|
// - compiler/rustc_interface/src/tests.rs
|
||||||
}
|
}
|
||||||
|
|
|
@ -740,7 +740,8 @@ impl<'a, Ty> FnAbi<'a, Ty> {
|
||||||
mod size_asserts {
|
mod size_asserts {
|
||||||
use super::*;
|
use super::*;
|
||||||
use rustc_data_structures::static_assert_size;
|
use rustc_data_structures::static_assert_size;
|
||||||
// These are in alphabetical order, which is easy to maintain.
|
// tidy-alphabetical-start
|
||||||
static_assert_size!(ArgAbi<'_, usize>, 56);
|
static_assert_size!(ArgAbi<'_, usize>, 56);
|
||||||
static_assert_size!(FnAbi<'_, usize>, 80);
|
static_assert_size!(FnAbi<'_, usize>, 80);
|
||||||
|
// tidy-alphabetical-end
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
-Z allow-features=val -- only allow the listed language features to be enabled in code (space separated)
|
-Z allow-features=val -- only allow the listed language features to be enabled in code (space separated)
|
||||||
-Z always-encode-mir=val -- encode MIR of all functions into the crate metadata (default: no)
|
-Z always-encode-mir=val -- encode MIR of all functions into the crate metadata (default: no)
|
||||||
-Z assume-incomplete-release=val -- make cfg(version) treat the current version as incomplete (default: no)
|
|
||||||
-Z asm-comments=val -- generate comments into the assembly (may change behavior) (default: no)
|
-Z asm-comments=val -- generate comments into the assembly (may change behavior) (default: no)
|
||||||
-Z assert-incr-state=val -- assert that the incremental cache is in given state: either `loaded` or `not-loaded`.
|
-Z assert-incr-state=val -- assert that the incremental cache is in given state: either `loaded` or `not-loaded`.
|
||||||
|
-Z assume-incomplete-release=val -- make cfg(version) treat the current version as incomplete (default: no)
|
||||||
-Z binary-dep-depinfo=val -- include artifacts (sysroot, crate dependencies) used during compilation in dep-info (default: no)
|
-Z binary-dep-depinfo=val -- include artifacts (sysroot, crate dependencies) used during compilation in dep-info (default: no)
|
||||||
-Z box-noalias=val -- emit noalias metadata for box (default: yes)
|
-Z box-noalias=val -- emit noalias metadata for box (default: yes)
|
||||||
-Z branch-protection=val -- set options for branch target identification and pointer authentication on AArch64
|
-Z branch-protection=val -- set options for branch target identification and pointer authentication on AArch64
|
||||||
|
@ -17,6 +17,7 @@
|
||||||
-Z deduplicate-diagnostics=val -- deduplicate identical diagnostics (default: yes)
|
-Z deduplicate-diagnostics=val -- deduplicate identical diagnostics (default: yes)
|
||||||
-Z dep-info-omit-d-target=val -- in dep-info output, omit targets for tracking dependencies of the dep-info files themselves (default: no)
|
-Z dep-info-omit-d-target=val -- in dep-info output, omit targets for tracking dependencies of the dep-info files themselves (default: no)
|
||||||
-Z dep-tasks=val -- print tasks that execute and the color their dep node gets (requires debug build) (default: no)
|
-Z dep-tasks=val -- print tasks that execute and the color their dep node gets (requires debug build) (default: no)
|
||||||
|
-Z diagnostic-width=val -- set the current output width for diagnostic truncation
|
||||||
-Z dlltool=val -- import library generation tool (windows-gnu only)
|
-Z dlltool=val -- import library generation tool (windows-gnu only)
|
||||||
-Z dont-buffer-diagnostics=val -- emit diagnostics rather than buffering (breaks NLL error downgrading, sorting) (default: no)
|
-Z dont-buffer-diagnostics=val -- emit diagnostics rather than buffering (breaks NLL error downgrading, sorting) (default: no)
|
||||||
-Z drop-tracking=val -- enables drop tracking in generators (default: no)
|
-Z drop-tracking=val -- enables drop tracking in generators (default: no)
|
||||||
|
@ -54,11 +55,11 @@
|
||||||
-Z incremental-info=val -- print high-level information about incremental reuse (or the lack thereof) (default: no)
|
-Z incremental-info=val -- print high-level information about incremental reuse (or the lack thereof) (default: no)
|
||||||
-Z incremental-relative-spans=val -- hash spans relative to their parent item for incr. comp. (default: no)
|
-Z incremental-relative-spans=val -- hash spans relative to their parent item for incr. comp. (default: no)
|
||||||
-Z incremental-verify-ich=val -- verify incr. comp. hashes of green query instances (default: no)
|
-Z incremental-verify-ich=val -- verify incr. comp. hashes of green query instances (default: no)
|
||||||
|
-Z inline-in-all-cgus=val -- control whether `#[inline]` functions are in all CGUs
|
||||||
-Z inline-llvm=val -- enable LLVM inlining (default: yes)
|
-Z inline-llvm=val -- enable LLVM inlining (default: yes)
|
||||||
-Z inline-mir=val -- enable MIR inlining (default: no)
|
-Z inline-mir=val -- enable MIR inlining (default: no)
|
||||||
-Z inline-mir-threshold=val -- a default MIR inlining threshold (default: 50)
|
|
||||||
-Z inline-mir-hint-threshold=val -- inlining threshold for functions with inline hint (default: 100)
|
-Z inline-mir-hint-threshold=val -- inlining threshold for functions with inline hint (default: 100)
|
||||||
-Z inline-in-all-cgus=val -- control whether `#[inline]` functions are in all CGUs
|
-Z inline-mir-threshold=val -- a default MIR inlining threshold (default: 50)
|
||||||
-Z input-stats=val -- gather statistics about the input (default: no)
|
-Z input-stats=val -- gather statistics about the input (default: no)
|
||||||
-Z instrument-coverage=val -- instrument the generated code to support LLVM source-based code coverage reports (note, the compiler build config must include `profiler = true`); implies `-C symbol-mangling-version=v0`. Optional values are:
|
-Z instrument-coverage=val -- instrument the generated code to support LLVM source-based code coverage reports (note, the compiler build config must include `profiler = true`); implies `-C symbol-mangling-version=v0`. Optional values are:
|
||||||
`=all` (implicit value)
|
`=all` (implicit value)
|
||||||
|
@ -67,6 +68,7 @@
|
||||||
`=off` (default)
|
`=off` (default)
|
||||||
-Z instrument-mcount=val -- insert function instrument code for mcount-based tracing (default: no)
|
-Z instrument-mcount=val -- insert function instrument code for mcount-based tracing (default: no)
|
||||||
-Z keep-hygiene-data=val -- keep hygiene data after analysis (default: no)
|
-Z keep-hygiene-data=val -- keep hygiene data after analysis (default: no)
|
||||||
|
-Z layout-seed=val -- seed layout randomization
|
||||||
-Z link-native-libraries=val -- link native libraries in the linker invocation (default: yes)
|
-Z link-native-libraries=val -- link native libraries in the linker invocation (default: yes)
|
||||||
-Z link-only=val -- link the `.rlink` file generated by `-Z no-link` (default: no)
|
-Z link-only=val -- link the `.rlink` file generated by `-Z no-link` (default: no)
|
||||||
-Z llvm-plugins=val -- a list LLVM plugins to enable (space separated)
|
-Z llvm-plugins=val -- a list LLVM plugins to enable (space separated)
|
||||||
|
@ -78,8 +80,8 @@
|
||||||
-Z meta-stats=val -- gather metadata statistics (default: no)
|
-Z meta-stats=val -- gather metadata statistics (default: no)
|
||||||
-Z mir-emit-retag=val -- emit Retagging MIR statements, interpreted e.g., by miri; implies -Zmir-opt-level=0 (default: no)
|
-Z mir-emit-retag=val -- emit Retagging MIR statements, interpreted e.g., by miri; implies -Zmir-opt-level=0 (default: no)
|
||||||
-Z mir-enable-passes=val -- use like `-Zmir-enable-passes=+DestProp,-InstCombine`. Forces the specified passes to be enabled, overriding all other checks. Passes that are not specified are enabled or disabled by other flags as usual.
|
-Z mir-enable-passes=val -- use like `-Zmir-enable-passes=+DestProp,-InstCombine`. Forces the specified passes to be enabled, overriding all other checks. Passes that are not specified are enabled or disabled by other flags as usual.
|
||||||
-Z mir-pretty-relative-line-numbers=val -- use line numbers relative to the function in mir pretty printing
|
|
||||||
-Z mir-opt-level=val -- MIR optimization level (0-4; default: 1 in non optimized builds and 2 in optimized builds)
|
-Z mir-opt-level=val -- MIR optimization level (0-4; default: 1 in non optimized builds and 2 in optimized builds)
|
||||||
|
-Z mir-pretty-relative-line-numbers=val -- use line numbers relative to the function in mir pretty printing
|
||||||
-Z move-size-limit=val -- the size at which the `large_assignments` lint starts to be emitted
|
-Z move-size-limit=val -- the size at which the `large_assignments` lint starts to be emitted
|
||||||
-Z mutable-noalias=val -- emit noalias metadata for mutable references (default: yes)
|
-Z mutable-noalias=val -- emit noalias metadata for mutable references (default: yes)
|
||||||
-Z nll-facts=val -- dump facts from NLL analysis into side files (default: no)
|
-Z nll-facts=val -- dump facts from NLL analysis into side files (default: no)
|
||||||
|
@ -91,12 +93,11 @@
|
||||||
-Z no-leak-check=val -- disable the 'leak check' for subtyping; unsound, but useful for tests
|
-Z no-leak-check=val -- disable the 'leak check' for subtyping; unsound, but useful for tests
|
||||||
-Z no-link=val -- compile without linking
|
-Z no-link=val -- compile without linking
|
||||||
-Z no-parallel-llvm=val -- run LLVM in non-parallel mode (while keeping codegen-units and ThinLTO)
|
-Z no-parallel-llvm=val -- run LLVM in non-parallel mode (while keeping codegen-units and ThinLTO)
|
||||||
-Z no-unique-section-names=val -- do not use unique names for text and data sections when -Z function-sections is used
|
|
||||||
-Z no-profiler-runtime=val -- prevent automatic injection of the profiler_builtins crate
|
-Z no-profiler-runtime=val -- prevent automatic injection of the profiler_builtins crate
|
||||||
|
-Z no-unique-section-names=val -- do not use unique names for text and data sections when -Z function-sections is used
|
||||||
-Z normalize-docs=val -- normalize associated items in rustdoc when generating documentation
|
-Z normalize-docs=val -- normalize associated items in rustdoc when generating documentation
|
||||||
-Z oom=val -- panic strategy for out-of-memory handling
|
-Z oom=val -- panic strategy for out-of-memory handling
|
||||||
-Z osx-rpath-install-name=val -- pass `-install_name @rpath/...` to the macOS linker (default: no)
|
-Z osx-rpath-install-name=val -- pass `-install_name @rpath/...` to the macOS linker (default: no)
|
||||||
-Z diagnostic-width=val -- set the current output width for diagnostic truncation
|
|
||||||
-Z packed-bundled-libs=val -- change rlib format to store native libraries as archives
|
-Z packed-bundled-libs=val -- change rlib format to store native libraries as archives
|
||||||
-Z panic-abort-tests=val -- support compiling tests with panic=abort (default: no)
|
-Z panic-abort-tests=val -- support compiling tests with panic=abort (default: no)
|
||||||
-Z panic-in-drop=val -- panic strategy for panics in drops
|
-Z panic-in-drop=val -- panic strategy for panics in drops
|
||||||
|
@ -120,15 +121,13 @@
|
||||||
-Z profile=val -- insert profiling code (default: no)
|
-Z profile=val -- insert profiling code (default: no)
|
||||||
-Z profile-closures=val -- profile size of closures
|
-Z profile-closures=val -- profile size of closures
|
||||||
-Z profile-emit=val -- file path to emit profiling data at runtime when using 'profile' (default based on relative source path)
|
-Z profile-emit=val -- file path to emit profiling data at runtime when using 'profile' (default based on relative source path)
|
||||||
-Z profiler-runtime=val -- name of the profiler runtime crate to automatically inject (default: `profiler_builtins`)
|
|
||||||
-Z profile-sample-use=val -- use the given `.prof` file for sampled profile-guided optimization (also known as AutoFDO)
|
-Z profile-sample-use=val -- use the given `.prof` file for sampled profile-guided optimization (also known as AutoFDO)
|
||||||
|
-Z profiler-runtime=val -- name of the profiler runtime crate to automatically inject (default: `profiler_builtins`)
|
||||||
-Z query-dep-graph=val -- enable queries of the dependency graph for regression testing (default: no)
|
-Z query-dep-graph=val -- enable queries of the dependency graph for regression testing (default: no)
|
||||||
-Z randomize-layout=val -- randomize the layout of types (default: no)
|
-Z randomize-layout=val -- randomize the layout of types (default: no)
|
||||||
-Z layout-seed=val -- seed layout randomization
|
|
||||||
-Z relax-elf-relocations=val -- whether ELF relocations can be relaxed
|
-Z relax-elf-relocations=val -- whether ELF relocations can be relaxed
|
||||||
-Z relro-level=val -- choose which RELRO level to use
|
-Z relro-level=val -- choose which RELRO level to use
|
||||||
-Z remap-cwd-prefix=val -- remap paths under the current working directory to this path prefix
|
-Z remap-cwd-prefix=val -- remap paths under the current working directory to this path prefix
|
||||||
-Z simulate-remapped-rust-src-base=val -- simulate the effect of remap-debuginfo = true at bootstrapping by remapping path to rust's source base directory. only meant for testing purposes
|
|
||||||
-Z report-delayed-bugs=val -- immediately print bugs registered with `delay_span_bug` (default: no)
|
-Z report-delayed-bugs=val -- immediately print bugs registered with `delay_span_bug` (default: no)
|
||||||
-Z sanitizer=val -- use a sanitizer
|
-Z sanitizer=val -- use a sanitizer
|
||||||
-Z sanitizer-memory-track-origins=val -- enable origins tracking in MemorySanitizer
|
-Z sanitizer-memory-track-origins=val -- enable origins tracking in MemorySanitizer
|
||||||
|
@ -136,22 +135,20 @@
|
||||||
-Z saturating-float-casts=val -- make float->int casts UB-free: numbers outside the integer type's range are clipped to the max/min integer respectively, and NaN is mapped to 0 (default: yes)
|
-Z saturating-float-casts=val -- make float->int casts UB-free: numbers outside the integer type's range are clipped to the max/min integer respectively, and NaN is mapped to 0 (default: yes)
|
||||||
-Z save-analysis=val -- write syntax and type analysis (in JSON format) information, in addition to normal output (default: no)
|
-Z save-analysis=val -- write syntax and type analysis (in JSON format) information, in addition to normal output (default: no)
|
||||||
-Z self-profile=val -- run the self profiler and output the raw event data
|
-Z self-profile=val -- run the self profiler and output the raw event data
|
||||||
-Z self-profile-events=val -- specify the events recorded by the self profiler;
|
|
||||||
for example: `-Z self-profile-events=default,query-keys`
|
|
||||||
all options: none, all, default, generic-activity, query-provider, query-cache-hit
|
|
||||||
query-blocked, incr-cache-load, incr-result-hashing, query-keys, function-args, args, llvm, artifact-sizes
|
|
||||||
-Z self-profile-counter=val -- counter used by the self profiler (default: `wall-time`), one of:
|
-Z self-profile-counter=val -- counter used by the self profiler (default: `wall-time`), one of:
|
||||||
`wall-time` (monotonic clock, i.e. `std::time::Instant`)
|
`wall-time` (monotonic clock, i.e. `std::time::Instant`)
|
||||||
`instructions:u` (retired instructions, userspace-only)
|
`instructions:u` (retired instructions, userspace-only)
|
||||||
`instructions-minus-irqs:u` (subtracting hardware interrupt counts for extra accuracy)
|
`instructions-minus-irqs:u` (subtracting hardware interrupt counts for extra accuracy)
|
||||||
|
-Z self-profile-events=val -- specify the events recorded by the self profiler;
|
||||||
|
for example: `-Z self-profile-events=default,query-keys`
|
||||||
|
all options: none, all, default, generic-activity, query-provider, query-cache-hit
|
||||||
|
query-blocked, incr-cache-load, incr-result-hashing, query-keys, function-args, args, llvm, artifact-sizes
|
||||||
-Z share-generics=val -- make the current crate share its generic instantiations
|
-Z share-generics=val -- make the current crate share its generic instantiations
|
||||||
-Z show-span=val -- show spans for compiler debugging (expr|pat|ty)
|
-Z show-span=val -- show spans for compiler debugging (expr|pat|ty)
|
||||||
|
-Z simulate-remapped-rust-src-base=val -- simulate the effect of remap-debuginfo = true at bootstrapping by remapping path to rust's source base directory. only meant for testing purposes
|
||||||
-Z span-debug=val -- forward proc_macro::Span's `Debug` impl to `Span`
|
-Z span-debug=val -- forward proc_macro::Span's `Debug` impl to `Span`
|
||||||
-Z span-free-formats=val -- exclude spans when debug-printing compiler state (default: no)
|
-Z span-free-formats=val -- exclude spans when debug-printing compiler state (default: no)
|
||||||
-Z src-hash-algorithm=val -- hash algorithm of source files in debug info (`md5`, `sha1`, or `sha256`)
|
-Z split-dwarf-inlining=val -- provide minimal debug info in the object/executable to facilitate online symbolication/stack traces in the absence of .dwo/.dwp files when using Split DWARF
|
||||||
-Z stack-protector=val -- control stack smash protection strategy (`rustc --print stack-protector-strategies` for details)
|
|
||||||
-Z strict-init-checks=val -- control if mem::uninitialized and mem::zeroed panic on more UB
|
|
||||||
-Z strip=val -- tell the linker which information to strip (`none` (default), `debuginfo` or `symbols`)
|
|
||||||
-Z split-dwarf-kind=val -- split dwarf variant (only if -Csplit-debuginfo is enabled and on relevant platform)
|
-Z split-dwarf-kind=val -- split dwarf variant (only if -Csplit-debuginfo is enabled and on relevant platform)
|
||||||
(default: `split`)
|
(default: `split`)
|
||||||
|
|
||||||
|
@ -159,14 +156,13 @@
|
||||||
file which is ignored by the linker
|
file which is ignored by the linker
|
||||||
`single`: sections which do not require relocation are written into object file but ignored
|
`single`: sections which do not require relocation are written into object file but ignored
|
||||||
by the linker
|
by the linker
|
||||||
-Z split-dwarf-inlining=val -- provide minimal debug info in the object/executable to facilitate online symbolication/stack traces in the absence of .dwo/.dwp files when using Split DWARF
|
-Z src-hash-algorithm=val -- hash algorithm of source files in debug info (`md5`, `sha1`, or `sha256`)
|
||||||
|
-Z stack-protector=val -- control stack smash protection strategy (`rustc --print stack-protector-strategies` for details)
|
||||||
|
-Z strict-init-checks=val -- control if mem::uninitialized and mem::zeroed panic on more UB
|
||||||
|
-Z strip=val -- tell the linker which information to strip (`none` (default), `debuginfo` or `symbols`)
|
||||||
-Z symbol-mangling-version=val -- which mangling version to use for symbol names ('legacy' (default) or 'v0')
|
-Z symbol-mangling-version=val -- which mangling version to use for symbol names ('legacy' (default) or 'v0')
|
||||||
-Z teach=val -- show extended diagnostic help (default: no)
|
-Z teach=val -- show extended diagnostic help (default: no)
|
||||||
-Z temps-dir=val -- the directory the intermediate files are written to
|
-Z temps-dir=val -- the directory the intermediate files are written to
|
||||||
-Z translate-lang=val -- language identifier for diagnostic output
|
|
||||||
-Z translate-additional-ftl=val -- additional fluent translation to preferentially use (for testing translation)
|
|
||||||
-Z translate-directionality-markers=val -- emit directionality isolation markers in translated diagnostics
|
|
||||||
-Z tune-cpu=val -- select processor to schedule for (`rustc --print target-cpus` for details)
|
|
||||||
-Z thinlto=val -- enable ThinLTO when possible
|
-Z thinlto=val -- enable ThinLTO when possible
|
||||||
-Z thir-unsafeck=val -- use the THIR unsafety checker (default: no)
|
-Z thir-unsafeck=val -- use the THIR unsafety checker (default: no)
|
||||||
-Z threads=val -- use a thread pool with N threads
|
-Z threads=val -- use a thread pool with N threads
|
||||||
|
@ -174,10 +170,14 @@
|
||||||
-Z time-passes=val -- measure time of each rustc pass (default: no)
|
-Z time-passes=val -- measure time of each rustc pass (default: no)
|
||||||
-Z tls-model=val -- choose the TLS model to use (`rustc --print tls-models` for details)
|
-Z tls-model=val -- choose the TLS model to use (`rustc --print tls-models` for details)
|
||||||
-Z trace-macros=val -- for every macro invocation, print its name and arguments (default: no)
|
-Z trace-macros=val -- for every macro invocation, print its name and arguments (default: no)
|
||||||
|
-Z translate-additional-ftl=val -- additional fluent translation to preferentially use (for testing translation)
|
||||||
|
-Z translate-directionality-markers=val -- emit directionality isolation markers in translated diagnostics
|
||||||
|
-Z translate-lang=val -- language identifier for diagnostic output
|
||||||
-Z translate-remapped-path-to-local-path=val -- translate remapped paths into local paths when possible (default: yes)
|
-Z translate-remapped-path-to-local-path=val -- translate remapped paths into local paths when possible (default: yes)
|
||||||
-Z trap-unreachable=val -- generate trap instructions for unreachable intrinsics (default: use target setting, usually yes)
|
-Z trap-unreachable=val -- generate trap instructions for unreachable intrinsics (default: use target setting, usually yes)
|
||||||
-Z treat-err-as-bug=val -- treat error number `val` that occurs as bug
|
-Z treat-err-as-bug=val -- treat error number `val` that occurs as bug
|
||||||
-Z trim-diagnostic-paths=val -- in diagnostics, use heuristics to shorten paths referring to items
|
-Z trim-diagnostic-paths=val -- in diagnostics, use heuristics to shorten paths referring to items
|
||||||
|
-Z tune-cpu=val -- select processor to schedule for (`rustc --print target-cpus` for details)
|
||||||
-Z ui-testing=val -- emit compiler diagnostics in a form suitable for UI testing (default: no)
|
-Z ui-testing=val -- emit compiler diagnostics in a form suitable for UI testing (default: no)
|
||||||
-Z uninit-const-chunk-threshold=val -- allow generating const initializers with mixed init/uninit chunks, and set the maximum number of chunks for which this is allowed (default: 16)
|
-Z uninit-const-chunk-threshold=val -- allow generating const initializers with mixed init/uninit chunks, and set the maximum number of chunks for which this is allowed (default: 16)
|
||||||
-Z unleash-the-miri-inside-of-you=val -- take the brakes off const evaluation. NOTE: this is unsound (default: no)
|
-Z unleash-the-miri-inside-of-you=val -- take the brakes off const evaluation. NOTE: this is unsound (default: no)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue