diff --git a/tccgen.c b/tccgen.c index 9a91c882..602afa3f 100644 --- a/tccgen.c +++ b/tccgen.c @@ -6545,19 +6545,14 @@ static void expr_eq(void) ST_FUNC void gexpr(void) { - int comma_found = 0; - - while (1) { - expr_eq(); - if (comma_found) - convert_parameter_type (&vtop->type); - if (tok != ',') - break; + expr_eq(); + while (tok == ',') { constant_p &= (vtop->r & (VT_VALMASK | VT_LVAL)) == VT_CONST && !((vtop->r & VT_SYM) && vtop->sym->a.addrtaken); - comma_found = 1; vpop(); next(); + expr_eq(); + convert_parameter_type (&vtop->type); } }