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);