ssa: implement #[collapse_debuginfo]
Debuginfo line information for macro invocations are collapsed by default - line information are replaced by the line of the outermost expansion site. Using `-Zdebug-macros` disables this behaviour. When the `collapse_debuginfo` feature is enabled, the default behaviour is reversed so that debuginfo is not collapsed by default. In addition, the `#[collapse_debuginfo]` attribute is available and can be applied to macro definitions which will then have their line information collapsed. Signed-off-by: David Wood <david.wood@huawei.com>
This commit is contained in:
parent
2991a7c715
commit
38958aa8bd
20 changed files with 699 additions and 35 deletions
|
@ -336,6 +336,8 @@ declare_features! (
|
|||
(active, closure_track_caller, "1.57.0", Some(87417), None),
|
||||
/// Allows to use the `#[cmse_nonsecure_entry]` attribute.
|
||||
(active, cmse_nonsecure_entry, "1.48.0", Some(75835), None),
|
||||
/// Allows use of the `#[collapse_debuginfo]` attribute.
|
||||
(active, collapse_debuginfo, "CURRENT_RUSTC_VERSION", Some(100758), None),
|
||||
/// Allows `async {}` expressions in const contexts.
|
||||
(active, const_async_blocks, "1.53.0", Some(85368), None),
|
||||
// Allows limiting the evaluation steps of const expressions
|
||||
|
|
|
@ -481,6 +481,12 @@ pub const BUILTIN_ATTRIBUTES: &[BuiltinAttribute] = &[
|
|||
experimental!(deprecated_safe),
|
||||
),
|
||||
|
||||
// `#[collapse_debuginfo]`
|
||||
gated!(
|
||||
collapse_debuginfo, Normal, template!(Word), WarnFollowing,
|
||||
experimental!(collapse_debuginfo)
|
||||
),
|
||||
|
||||
// ==========================================================================
|
||||
// Internal attributes: Stability, deprecation, and unsafe:
|
||||
// ==========================================================================
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue