@@ -125,8 +125,8 @@ register_builtin! {
125
125
( assert, Assert ) => assert_expand,
126
126
( stringify, Stringify ) => stringify_expand,
127
127
( 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 ,
130
130
( cfg, Cfg ) => cfg_expand,
131
131
( core_panic, CorePanic ) => panic_expand,
132
132
( std_panic, StdPanic ) => panic_expand,
@@ -325,6 +325,36 @@ fn asm_expand(
325
325
ExpandResult :: ok ( expanded)
326
326
}
327
327
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
+
328
358
fn cfg_expand (
329
359
db : & dyn ExpandDatabase ,
330
360
id : MacroCallId ,
0 commit comments