(check_for_full_enumeration_handling): Don't create a

default label if all enumeration literals are covered by cases.

From-SVN: r4640
This commit is contained in:
Richard Stallman 1993-06-06 03:59:32 +00:00
parent a2469305ae
commit ae8cb34677
1 changed files with 6 additions and 0 deletions

View File

@ -3654,6 +3654,11 @@ check_for_full_enumeration_handling (type)
}
}
#if 0
/* ??? This optimization is disabled because it causes valid programs to
fail. ANSI C does not guarantee that an expression with enum type
will have a value that is the same as one of the enumation literals. */
/* If all values were found as case labels, make one of them the default
label. Thus, this switch will never fall through. We arbitrarily pick
the last one to make the default since this is likely the most
@ -3669,6 +3674,7 @@ check_for_full_enumeration_handling (type)
case_stack->data.case_stmt.default_label = (*l)->code_label;
*l = 0;
}
#endif /* 0 */
}
/* Terminate a case (Pascal) or switch (C) statement