From: ceriel Date: Thu, 9 Nov 1989 14:06:35 +0000 (+0000) Subject: cleaned up a little X-Git-Tag: release-5-5~2089 X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=013a6f9cd630592de6bee5365f614c340ce0e9cd;p=ack.git cleaned up a little --- diff --git a/lang/cem/cemcom.ansi/expr.c b/lang/cem/cemcom.ansi/expr.c index 311e26104..facde6aec 100644 --- a/lang/cem/cemcom.ansi/expr.c +++ b/lang/cem/cemcom.ansi/expr.c @@ -393,7 +393,7 @@ new_oper(tp, e1, oper, e2) } chk_cst_expr(expp) - register struct expr **expp; + struct expr **expp; { /* The expression expr is checked for constancy. @@ -416,26 +416,31 @@ chk_cst_expr(expp) Preprocessor #if) have to be dealt with locally */ register struct expr *expr = *expp; - register int fund = expr->ex_type->tp_fund; - int err = 0; #ifdef DEBUG print_expr("constant_expression", expr); #endif DEBUG - if ( fund != CHAR && fund != SHORT && fund != INT - && fund != ENUM && fund != LONG) { - expr_error(expr, "non-numerical constant expression"); - err++; - } else if (!is_ld_cst(expr)) { + switch(expr->ex_type->tp_fund) { + case CHAR: + case SHORT: + case INT: + case ENUM: + case LONG: + if (is_ld_cst(expr)) { + return; + } expr_error(expr, "expression is not constant"); - err++; + break; + default: + expr_error(expr, "non-numerical constant expression"); + break; } - if (err) - erroneous2int(expp); + erroneous2int(expp); } init_expression(eppp, expr) - register struct expr ***eppp, *expr; + register struct expr ***eppp; + struct expr *expr; { /* The expression expr is added to the tree designated indirectly by **eppp.