Print this page
11972 resync smatch

@@ -266,35 +266,24 @@
 
 
 static void match_param_assign_in_asm(struct statement *stmt)
 {
 
-        struct expression *expr;
+        struct expression *tmp, *expr;
         struct symbol *type;
-        int state = 0;
         int param;
 
-        FOR_EACH_PTR(stmt->asm_inputs, expr) {
-                switch (state) {
-                case 0: /* identifier */
-                case 1: /* constraint */
-                        state++;
-                        continue;
-                case 2: /* expression */
-                        state = 0;
-
-                        expr = strip_expr(expr);
+        FOR_EACH_PTR(stmt->asm_inputs, tmp) {
+                expr = strip_expr(tmp->expr);
                         type = get_type(expr);
                         if (!type || type->type != SYM_PTR)
                                 continue;
                         param = get_param_num(expr);
                         if (param < 0)
                                 continue;
                         set_state_expr(my_id, expr, &untracked);
-                        continue;
-                }
-        } END_FOR_EACH_PTR(expr);
+        } END_FOR_EACH_PTR(tmp);
 }
 
 static void match_inline_start(struct expression *expr)
 {
         push_int(&tracked_stack, tracked);