use syntax::ast;
use syntax::ext::base::{self, *};
-use syntax::feature_gate;
use syntax::parse;
use syntax::parse::token::{self, Token};
use syntax::ptr::P;
sp: Span,
tts: &[tokenstream::TokenTree])
-> Box<dyn base::MacResult + 'cx> {
- if !cx.ecfg.enable_asm() {
- feature_gate::emit_feature_err(&cx.parse_sess,
- sym::asm,
- sp,
- feature_gate::GateIssue::Language,
- feature_gate::EXPLAIN_ASM);
- }
-
let mut inline_asm = match parse_inline_asm(cx, sp, tts) {
Ok(Some(inline_asm)) => inline_asm,
- Ok(None) => return DummyResult::expr(sp),
+ Ok(None) => return DummyResult::any(sp),
Err(mut err) => {
err.emit();
- return DummyResult::expr(sp);
+ return DummyResult::any(sp);
}
};
MacEager::expr(P(ast::Expr {
id: ast::DUMMY_NODE_ID,
node: ast::ExprKind::InlineAsm(P(inline_asm)),
- span: sp,
+ span: sp.with_ctxt(cx.backtrace()),
attrs: ThinVec::new(),
}))
}
volatile,
alignstack,
dialect,
- ctxt: cx.backtrace(),
}))
}