diff options
| author | Luqman Aden <me@luqman.ca> | 2013-03-15 18:54:39 -0700 |
|---|---|---|
| committer | Luqman Aden <laden@mozilla.com> | 2013-03-15 18:57:19 -0700 |
| commit | 83f2d4ab3dbd3b52ea60212a6698c73201b67a34 (patch) | |
| tree | 02147f212bea60df1cf4391714cd1541fc3c6f43 | |
| parent | d68b98a5bfebffb28d49e14e6568a69c547c74ae (diff) | |
| download | rust-83f2d4ab3dbd3b52ea60212a6698c73201b67a34.tar.gz rust-83f2d4ab3dbd3b52ea60212a6698c73201b67a34.zip | |
Fix type_use for inline asm.
| -rw-r--r-- | src/librustc/middle/moves.rs | 10 | ||||
| -rw-r--r-- | src/librustc/middle/trans/type_use.rs | 7 | ||||
| -rw-r--r-- | src/libsyntax/visit.rs | 4 |
3 files changed, 9 insertions, 12 deletions
diff --git a/src/librustc/middle/moves.rs b/src/librustc/middle/moves.rs index 372c54f2b09..9848c65ac43 100644 --- a/src/librustc/middle/moves.rs +++ b/src/librustc/middle/moves.rs @@ -558,15 +558,7 @@ pub impl VisitContext { self.use_expr(base, Read, visitor); } - expr_inline_asm(_, ref ins, ref outs, _, _, _) => { - for ins.each |&(c, in)| { - // XXX: Do something? - } - for outs.each |&(c, out)| { - // XXX: Do something? - } - } - + expr_inline_asm(*) | expr_break(*) | expr_again(*) | expr_lit(*) => {} diff --git a/src/librustc/middle/trans/type_use.rs b/src/librustc/middle/trans/type_use.rs index 8439d941c90..692dc392173 100644 --- a/src/librustc/middle/trans/type_use.rs +++ b/src/librustc/middle/trans/type_use.rs @@ -350,7 +350,12 @@ pub fn mark_for_expr(cx: Context, e: @expr) { } expr_inline_asm(_, ref ins, ref outs, _, _, _) => { - // XXX Do something, maybe? + for ins.each |&(_, in)| { + node_type_needs(cx, use_repr, in.id); + } + for outs.each |&(_, out)| { + node_type_needs(cx, use_repr, out.id); + } } expr_paren(e) => mark_for_expr(cx, e), diff --git a/src/libsyntax/visit.rs b/src/libsyntax/visit.rs index 1fb81b5c702..6a0f1a2ec46 100644 --- a/src/libsyntax/visit.rs +++ b/src/libsyntax/visit.rs @@ -563,10 +563,10 @@ pub fn visit_expr<E>(ex: @expr, e: E, v: vt<E>) { expr_mac(ref mac) => visit_mac((*mac), e, v), expr_paren(x) => (v.visit_expr)(x, e, v), expr_inline_asm(_, ins, outs, _, _, _) => { - for ins.each |&(c, in)| { + for ins.each |&(_, in)| { (v.visit_expr)(in, e, v); } - for outs.each |&(c, out)| { + for outs.each |&(_, out)| { (v.visit_expr)(out, e, v); } } |
