diff --git a/tools/qfcc/source/def.c b/tools/qfcc/source/def.c index 3f2f1c838..865ef4066 100644 --- a/tools/qfcc/source/def.c +++ b/tools/qfcc/source/def.c @@ -807,6 +807,8 @@ def_visit_all (def_t *def, int overlap, def = def->alias; if ((ret = visit (def, data))) return ret; + } else { + overlap = 0; } for (def = def->alias_defs; def; def = def->next) { if (def == start_def) diff --git a/tools/qfcc/source/statements.c b/tools/qfcc/source/statements.c index 61ab35c5e..0ba4d1e21 100644 --- a/tools/qfcc/source/statements.c +++ b/tools/qfcc/source/statements.c @@ -393,6 +393,8 @@ tempop_visit_all (tempop_t *tempop, int overlap, tempop = &top->o.tempop; if ((ret = visit (tempop, data))) return ret; + } else { + overlap = 0; } for (top = tempop->alias_ops; top; top = top->next) { if (top->op_type != op_temp) {