Module rustc_session::config
source · Expand description
Contains infrastructure for configuring the compiler, including parsing command-line options.
Modules
Command-line arguments passed to the compiler have to be incorporated with
the dependency tracking system for incremental compilation. This module
provides some utilities to make this more convenient.
opt 🔒
NOTE: Keep these constants in sync with
library/std/src/sys/unix/mod.rs
!Structs
The parsed
--check-cfg
optionsUse tree-based collections to cheaply get a deterministic
Hash
implementation.
Do not switch BTreeMap
or BTreeSet
out for an unsorted container type! That
would break dependency tracking for command-line arguments.Possible json config files
The different settings that can be enabled via the
-Z location-detail
flag.The top-level command-line options struct.
Use tree-based collections to cheaply get a deterministic
Hash
implementation.
Do not switch BTreeMap
out for an unsorted container type! That would break
dependency tracking for command-line arguments. Also only hash keys, since tracking
should only depend on the output types, not the paths they’re written to.Enums
The different settings that the
-C control-flow-guard
flag can have.The different settings that the
-Z cf-protection
flag can have.The type of diagnostics output to generate.
Used with
-Z assert-incr-state
.The different settings that the
-C instrument-coverage
flag can have.Report unused externs in event stream
This is what the
LtoCli
values get mapped to after resolving defaults and
and taking other command line options into account.The different settings that the
-C lto
flag can have.The different settings that the
-Z dump_mir_spanview
flag can have. Statement
generates a
document highlighting each span of every statement (including terminators). Terminator
and
Block
highlight a single span per BasicBlock
: the span of the block’s Terminator
, or a
computed span for the block, representing the entire range, covering the block’s terminator and
all of its statements.Default behavior to use in out-of-memory situations.
How to run proc-macro code when building this crate
Split debug-information is enabled by
-C split-debuginfo
, this enum is only used if split
debug-information is enabled (in either Packed
or Unpacked
modes), and the platform
uses DWARF for debug-information.The different settings that the
-C strip
flag can have.Parameter to control path trimming.
Constants
Functions
Parses the
--color
flag.Parses the
--error-format
flag.Parse the
--json
flag.Returns all rustc command line options, including metadata for
each option, such as whether the option is part of the stable
long-term interface for rustc.
Returns the “short” subset of the rustc command line options,
including metadata for each option, such as whether the option is
part of the stable long-term interface for rustc.
Converts the crate
--check-cfg
options from String
to Symbol
.
rustc_interface::interface::Config
accepts this in the compiler configuration,
but the symbol interner is not yet set up then, so we must convert it later.Converts the crate
cfg!
configuration from String
to Symbol
.
rustc_interface::interface::Config
accepts this in the compiler configuration,
but the symbol interner is not yet set up then, so we must convert it later.