some very minor changes
authordick <none@none>
Sun, 28 Sep 1986 20:33:15 +0000 (20:33 +0000)
committerdick <none@none>
Sun, 28 Sep 1986 20:33:15 +0000 (20:33 +0000)
lang/cem/cemcom/arith.c
lang/cem/cemcom/declar.g
lang/cem/cemcom/declarator.c

index 51382e4..bcf6047 100644 (file)
@@ -141,24 +141,27 @@ any2arith(expp, oper)
        case LONG:
                break;
        case ENUM:
+               /* test the admissibility of the operator */
                if (    is_test_op(oper) || oper == '=' || oper == PARCOMMA ||
-                       oper == ',' || oper == ':' ||
-                       ( !options['R'] && 
-                               (is_arith_op(oper) || is_asgn_op(oper))
-                       )
-               )
-                       {}
+                       oper == ',' || oper == ':'
+               )       {
+                       /* allowed by K & R */
+               }
+               else
+               if (!options['R'])      {
+                       /* allowed by us */
+               }
                else
                        expr_warning(*expp, "%s on enum", symbol2str(oper));
                int2int(expp, int_type);
                break;
-#ifndef NOFLOAT
+#ifndef        NOFLOAT
        case FLOAT:
                float2float(expp, double_type);
                break;
        case DOUBLE:
                break;
-#endif NOFLOAT
+#endif NOFLOAT
 #ifndef NOBITFIELD
        case FIELD:
                field2arith(expp);
index ac6535c..71f8202 100644 (file)
@@ -208,7 +208,7 @@ arrayer(arith *sizep;)
                [
                        constant_expression(&expr)
                        {
-                               array_subscript(expr);
+                               check_array_subscript(expr);
                                *sizep = expr->VL_VALUE;
                                free_expression(expr);
                        }
index ff79ab0..f74705f 100644 (file)
@@ -89,7 +89,7 @@ reject_params(dc)
        }
 }
 
-array_subscript(expr)
+check_array_subscript(expr)
        register struct expr *expr;
 {
        arith size = expr->VL_VALUE;
@@ -104,7 +104,7 @@ array_subscript(expr)
                expr->VL_VALUE = (arith)-1;
        }
        else
-       if (size & ~max_unsigned) {     /* absolute ridiculous */
+       if (size & ~max_unsigned) {     /* absolutely ridiculous */
                expr_error(expr, "overflow in array size");
                expr->VL_VALUE = (arith)1;
        }