From f748eb510efe499e62a8570fbfbca9cc9266cbce Mon Sep 17 00:00:00 2001 From: Lukas Wirth Date: Thu, 12 Dec 2024 17:40:51 +0100 Subject: [PATCH] internal: Implement `naked_asm!` builtin --- crates/hir-expand/src/builtin/fn_macro.rs | 3 ++- crates/hir/src/semantics.rs | 1 + crates/intern/src/symbol/symbols.rs | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/crates/hir-expand/src/builtin/fn_macro.rs b/crates/hir-expand/src/builtin/fn_macro.rs index 4894c7a931..b76db2e005 100644 --- a/crates/hir-expand/src/builtin/fn_macro.rs +++ b/crates/hir-expand/src/builtin/fn_macro.rs @@ -74,7 +74,7 @@ impl BuiltinFnLikeExpander { } pub fn is_asm(&self) -> bool { - matches!(self, Self::Asm | Self::GlobalAsm) + matches!(self, Self::Asm | Self::GlobalAsm | Self::NakedAsm) } } @@ -122,6 +122,7 @@ register_builtin! { (stringify, Stringify) => stringify_expand, (asm, Asm) => asm_expand, (global_asm, GlobalAsm) => asm_expand, + (naked_asm, NakedAsm) => asm_expand, (cfg, Cfg) => cfg_expand, (core_panic, CorePanic) => panic_expand, (std_panic, StdPanic) => panic_expand, diff --git a/crates/hir/src/semantics.rs b/crates/hir/src/semantics.rs index f9d3f9d07e..602b085f00 100644 --- a/crates/hir/src/semantics.rs +++ b/crates/hir/src/semantics.rs @@ -434,6 +434,7 @@ impl<'db> SemanticsImpl<'db> { | BuiltinFnLikeExpander::ModulePath | BuiltinFnLikeExpander::Asm | BuiltinFnLikeExpander::GlobalAsm + | BuiltinFnLikeExpander::NakedAsm | BuiltinFnLikeExpander::LogSyntax | BuiltinFnLikeExpander::TraceMacros | BuiltinFnLikeExpander::FormatArgs diff --git a/crates/intern/src/symbol/symbols.rs b/crates/intern/src/symbol/symbols.rs index 1120d3c7d6..c15751e7c6 100644 --- a/crates/intern/src/symbol/symbols.rs +++ b/crates/intern/src/symbol/symbols.rs @@ -307,6 +307,7 @@ define_symbols! { module_path, mul_assign, mul, + naked_asm, ne, neg, Neg,