diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2024-01-26 06:36:38 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-01-26 06:36:38 +0100 |
| commit | 626797b61db2467e4c6e8f5f180130e94d50c964 (patch) | |
| tree | 133994d85828a53a16ba5a6cc4cf791ac5352083 | |
| parent | e04cba27248180e0bf38eb47e1e7bdaad8d8c473 (diff) | |
| parent | 27717dbd4d0df888e66661690199d5dd07078259 (diff) | |
Rollup merge of #120204 - azhogin:azhogin/collapse_debuginfo_for_builtin, r=petrochenkov
Builtin macros effectively have implicit #[collapse_debuginfo(yes)] If collapse_debuginfo attribute for builtin macro is not specified explicitly, it will be effectively set to `#[collapse_debuginfo(yes)]`.
| -rw-r--r-- | compiler/rustc_expand/src/base.rs | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/compiler/rustc_expand/src/base.rs b/compiler/rustc_expand/src/base.rs index 29b70f33a6c..657e19277a7 100644 --- a/compiler/rustc_expand/src/base.rs +++ b/compiler/rustc_expand/src/base.rs @@ -796,9 +796,15 @@ impl SyntaxExtension { /// | external | no | if-ext | if-ext | yes | /// | yes | yes | yes | yes | yes | fn get_collapse_debuginfo(sess: &Session, attrs: &[ast::Attribute], is_local: bool) -> bool { - let collapse_debuginfo_attr = attr::find_by_name(attrs, sym::collapse_debuginfo) + let mut collapse_debuginfo_attr = attr::find_by_name(attrs, sym::collapse_debuginfo) .map(|v| Self::collapse_debuginfo_by_name(sess, v)) .unwrap_or(CollapseMacroDebuginfo::Unspecified); + if collapse_debuginfo_attr == CollapseMacroDebuginfo::Unspecified + && attr::contains_name(attrs, sym::rustc_builtin_macro) + { + collapse_debuginfo_attr = CollapseMacroDebuginfo::Yes; + } + let flag = sess.opts.unstable_opts.collapse_macro_debuginfo; let attr = collapse_debuginfo_attr; let ext = !is_local; |
