]> git.lizzy.rs Git - rust.git/commitdiff
Fix type_use for inline asm.
authorLuqman Aden <me@luqman.ca>
Sat, 16 Mar 2013 01:54:39 +0000 (18:54 -0700)
committerLuqman Aden <laden@mozilla.com>
Sat, 16 Mar 2013 01:57:19 +0000 (18:57 -0700)
src/librustc/middle/moves.rs
src/librustc/middle/trans/type_use.rs
src/libsyntax/visit.rs

index 372c54f2b09f92b758cd13f934e8daa3cd477620..9848c65ac4372d07dc18076680db0ced4422a0d5 100644 (file)
@@ -558,15 +558,7 @@ fn use_expr(&self,
                 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(*) => {}
index 8439d941c90a67507b49e1e15bf8b62c18458f8f..692dc392173b3fdd6b0d478289a42a11378e4daa 100644 (file)
@@ -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),
index 1fb81b5c70270f55f6db9bc24c08a50344ece600..6a0f1a2ec46b21dc5a39684eb24c052f42ea03aa 100644 (file)
@@ -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);
             }
         }