diff options
Diffstat (limited to 'src/libsyntax/ext')
| -rw-r--r-- | src/libsyntax/ext/asm.rs | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/libsyntax/ext/asm.rs b/src/libsyntax/ext/asm.rs index 4f2fd68ff95..a014d8ccb8b 100644 --- a/src/libsyntax/ext/asm.rs +++ b/src/libsyntax/ext/asm.rs @@ -75,6 +75,13 @@ pub fn expand_asm(cx: @ext_ctxt, sp: span, tts: &[ast::token_tree]) let out = p.parse_expr(); p.expect(&token::RPAREN); + let out = @ast::expr { + id: cx.next_id(), + callee_id: cx.next_id(), + span: out.span, + node: ast::expr_addr_of(ast::m_mutbl, out) + }; + outputs.push((constraint, out)); } } @@ -156,7 +163,8 @@ pub fn expand_asm(cx: @ext_ctxt, sp: span, tts: &[ast::token_tree]) MRExpr(@ast::expr { id: cx.next_id(), callee_id: cx.next_id(), - node: ast::expr_inline_asm(@asm, @cons, volatile, alignstack), + node: ast::expr_inline_asm(@asm, inputs, outputs, + @cons, volatile, alignstack), span: sp }) } |
