about summary refs log tree commit diff
path: root/compiler/rustc_parse/src/validate_attr.rs
diff options
context:
space:
mode:
authorFolkert de Vries <folkert@folkertdev.nl>2025-04-14 14:36:53 +0200
committerFolkert de Vries <folkert@folkertdev.nl>2025-04-14 20:44:15 +0200
commitcb22c1d5e949b64aafb99994befde4bd25a421e9 (patch)
tree58f6e202c1c164026de0ae406e1a965c02414205 /compiler/rustc_parse/src/validate_attr.rs
parent5961e5ba3daa20d98f549eb9029105ae50c13aed (diff)
downloadrust-cb22c1d5e949b64aafb99994befde4bd25a421e9.tar.gz
rust-cb22c1d5e949b64aafb99994befde4bd25a421e9.zip
Allow (but don't require) `#[unsafe(naked)]` so that `compiler-builtins` can upgrade to it
Diffstat (limited to 'compiler/rustc_parse/src/validate_attr.rs')
-rw-r--r--compiler/rustc_parse/src/validate_attr.rs6
1 files changed, 6 insertions, 0 deletions
diff --git a/compiler/rustc_parse/src/validate_attr.rs b/compiler/rustc_parse/src/validate_attr.rs
index 6a1c2af48ed..b518fca7a65 100644
--- a/compiler/rustc_parse/src/validate_attr.rs
+++ b/compiler/rustc_parse/src/validate_attr.rs
@@ -194,6 +194,12 @@ pub fn check_attribute_safety(psess: &ParseSess, safety: AttributeSafety, attr:
             }
         }
     } else if let Safety::Unsafe(unsafe_span) = attr_item.unsafety {
+        // Allow (but don't require) `#[unsafe(naked)]` so that compiler-builtins can upgrade to it.
+        // FIXME(#139797): remove this special case when compiler-builtins has upgraded.
+        if attr.has_name(sym::naked) {
+            return;
+        }
+
         psess.dcx().emit_err(errors::InvalidAttrUnsafe {
             span: unsafe_span,
             name: attr_item.path.clone(),