@@ -4,7 +4,7 @@ use rustc_ast::ptr::P;
44use rustc_ast:: tokenstream:: TokenStream ;
55use rustc_ast:: { AsmMacro , token} ;
66use rustc_data_structures:: fx:: { FxHashMap , FxIndexMap } ;
7- use rustc_errors:: { DiagCtxtHandle , PResult } ;
7+ use rustc_errors:: PResult ;
88use rustc_expand:: base:: * ;
99use rustc_index:: bit_set:: GrowableBitSet ;
1010use rustc_parse:: exp;
@@ -33,7 +33,7 @@ pub enum RawAsmArgKind {
3333}
3434
3535/// Validated assembly arguments, ready for macro expansion.
36- pub struct AsmArgs {
36+ struct AsmArgs {
3737 pub templates : Vec < P < ast:: Expr > > ,
3838 pub operands : Vec < ( ast:: InlineAsmOperand , Span ) > ,
3939 named_args : FxIndexMap < Symbol , usize > ,
@@ -261,26 +261,17 @@ fn parse_args<'a>(
261261 tts : TokenStream ,
262262 asm_macro : AsmMacro ,
263263) -> PResult < ' a , AsmArgs > {
264- let mut p = ecx. new_parser_from_tts ( tts) ;
265- parse_asm_args ( & mut p , sp , asm_macro )
264+ let raw_args = parse_raw_asm_args ( & mut ecx. new_parser_from_tts ( tts) , sp , asm_macro ) ? ;
265+ validate_raw_asm_args ( ecx , asm_macro , raw_args )
266266}
267267
268- // public for use in rustfmt
269- // FIXME: use `RawAsmArg` in the formatting code instead.
270- pub fn parse_asm_args < ' a > (
271- p : & mut Parser < ' a > ,
272- sp : Span ,
273- asm_macro : AsmMacro ,
274- ) -> PResult < ' a , AsmArgs > {
275- let raw_args = parse_raw_asm_args ( p, sp, asm_macro) ?;
276- validate_raw_asm_args ( p. dcx ( ) , asm_macro, raw_args)
277- }
278-
279- pub fn validate_raw_asm_args < ' a > (
280- dcx : DiagCtxtHandle < ' a > ,
268+ fn validate_raw_asm_args < ' a > (
269+ ecx : & ExtCtxt < ' a > ,
281270 asm_macro : AsmMacro ,
282271 raw_args : Vec < RawAsmArg > ,
283272) -> PResult < ' a , AsmArgs > {
273+ let dcx = ecx. dcx ( ) ;
274+
284275 let mut args = AsmArgs {
285276 templates : vec ! [ ] ,
286277 operands : vec ! [ ] ,
0 commit comments