pub struct PrefixMaps {
pub macros: PrefixMap,
pub debug: PrefixMap,
pub profile: PrefixMap,
}Expand description
The three answers to the question the -f*-prefix-map= family asks, which is one question
asked about three kinds of output.
They are separate because gcc’s flags are separate and a build uses that: a distribution maps
its debug paths to something a debugger can find the sources under and leaves __FILE__ alone,
or maps __FILE__ so that an assertion message does not name a build directory and leaves the
debug info pointing at the real tree. -ffile-prefix-map= is the shorthand for all three and is
what a build that simply wants to be reproducible writes.
Fields§
§macros: PrefixMapWhat __FILE__ and __BASE_FILE__ are rewritten by, from -fmacro-prefix-map=.
The only one of the three this compiler acts on today, because it is the only one whose
output exists: __FILE__ is a string literal in the binary and an assertion message a user
reads.
debug: PrefixMapWhat a path in the debug info is rewritten by, from -fdebug-prefix-map=.
Nothing reads this yet, because no debug info is generated yet. It is kept rather than
dropped so that the crate that generates it has the answer waiting rather than a flag to
go and add, and crates/rucc-debug says so where the work will start.
profile: PrefixMapWhat a path in the profile data is rewritten by, from -fprofile-prefix-map=.
Nothing reads this yet either, and for the same reason: there is no profile data.
Trait Implementations§
Source§impl Clone for PrefixMaps
impl Clone for PrefixMaps
Source§fn clone(&self) -> PrefixMaps
fn clone(&self) -> PrefixMaps
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more