@@ -125,8 +125,8 @@ register_builtin! {
125125 ( assert, Assert ) => assert_expand,
126126 ( stringify, Stringify ) => stringify_expand,
127127 ( asm, Asm ) => asm_expand,
128- ( global_asm, GlobalAsm ) => asm_expand ,
129- ( naked_asm, NakedAsm ) => asm_expand ,
128+ ( global_asm, GlobalAsm ) => global_asm_expand ,
129+ ( naked_asm, NakedAsm ) => naked_asm_expand ,
130130 ( cfg, Cfg ) => cfg_expand,
131131 ( core_panic, CorePanic ) => panic_expand,
132132 ( std_panic, StdPanic ) => panic_expand,
@@ -325,6 +325,36 @@ fn asm_expand(
325325 ExpandResult :: ok ( expanded)
326326}
327327
328+ fn global_asm_expand (
329+ _db : & dyn ExpandDatabase ,
330+ _id : MacroCallId ,
331+ tt : & tt:: TopSubtree ,
332+ span : Span ,
333+ ) -> ExpandResult < tt:: TopSubtree > {
334+ let mut tt = tt. clone ( ) ;
335+ tt. top_subtree_delimiter_mut ( ) . kind = tt:: DelimiterKind :: Parenthesis ;
336+ let pound = mk_pound ( span) ;
337+ let expanded = quote ! { span =>
338+ builtin #pound global_asm #tt
339+ } ;
340+ ExpandResult :: ok ( expanded)
341+ }
342+
343+ fn naked_asm_expand (
344+ _db : & dyn ExpandDatabase ,
345+ _id : MacroCallId ,
346+ tt : & tt:: TopSubtree ,
347+ span : Span ,
348+ ) -> ExpandResult < tt:: TopSubtree > {
349+ let mut tt = tt. clone ( ) ;
350+ tt. top_subtree_delimiter_mut ( ) . kind = tt:: DelimiterKind :: Parenthesis ;
351+ let pound = mk_pound ( span) ;
352+ let expanded = quote ! { span =>
353+ builtin #pound naked_asm #tt
354+ } ;
355+ ExpandResult :: ok ( expanded)
356+ }
357+
328358fn cfg_expand (
329359 db : & dyn ExpandDatabase ,
330360 id : MacroCallId ,
0 commit comments