*** empty log message ***
authorrms <rms@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 5 Jul 1992 21:59:55 +0000 (21:59 +0000)
committerrms <rms@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 5 Jul 1992 21:59:55 +0000 (21:59 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@1452 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/stmt.c

index a6d98e6..6e55df2 100644 (file)
@@ -3232,6 +3232,9 @@ pushcase (value, label, duplicate)
   if (index_type == error_mark_node)
     return 0;
 
+  /* There may be NOP_EXPR around the value if we got it from an enum.  */
+  STRIP_NOPS (arg);
+
   /* Convert VALUE to the type in which the comparisons are nominally done.  */
   if (value != 0)
     value = convert (nominal_type, value);
@@ -3361,6 +3364,10 @@ pushcase_range (value1, value2, label, duplicate)
     }
   case_stack->data.case_stmt.seenlabel = 1;
 
+  /* There may be NOP_EXPR around the value if we got it from an enum.  */
+  STRIP_NOPS (value1);
+  STRIP_NOPS (value2);
+
   /* Convert VALUEs to type in which the comparisons are nominally done.  */
   if (value1 == 0)  /* Negative infinity. */
     value1 = TYPE_MIN_VALUE(index_type);
@@ -3525,7 +3532,7 @@ check_for_full_enumeration_handling (type)
 }
 \f
 /* Terminate a case (Pascal) or switch (C) statement
-   in which CASE_INDEX is the expression to be tested.
+   in which ORIG_INDEX is the expression to be tested.
    Generate the code to test it and jump to the right place.  */
 
 void