Commit 3b24f55b by Richard Stallman

(check_for_full_enumeration_handling): Handle nameless type.

From-SVN: r3516
parent b4e3b9e9
...@@ -3602,12 +3602,18 @@ check_for_full_enumeration_handling (type) ...@@ -3602,12 +3602,18 @@ check_for_full_enumeration_handling (type)
; ;
if (!chain) if (!chain)
{
if (TYPE_NAME (type) == 0)
warning ("case value `%d' not in enumerated type",
TREE_INT_CST_LOW (n->low));
else
warning ("case value `%d' not in enumerated type `%s'", warning ("case value `%d' not in enumerated type `%s'",
TREE_INT_CST_LOW (n->low), TREE_INT_CST_LOW (n->low),
IDENTIFIER_POINTER ((TREE_CODE (TYPE_NAME (type)) IDENTIFIER_POINTER ((TREE_CODE (TYPE_NAME (type))
== IDENTIFIER_NODE) == IDENTIFIER_NODE)
? TYPE_NAME (type) ? TYPE_NAME (type)
: DECL_NAME (TYPE_NAME (type)))); : DECL_NAME (TYPE_NAME (type))));
}
if (!tree_int_cst_equal (n->low, n->high)) if (!tree_int_cst_equal (n->low, n->high))
{ {
for (chain = TYPE_VALUES (type); for (chain = TYPE_VALUES (type);
...@@ -3616,6 +3622,11 @@ check_for_full_enumeration_handling (type) ...@@ -3616,6 +3622,11 @@ check_for_full_enumeration_handling (type)
; ;
if (!chain) if (!chain)
{
if (TYPE_NAME (type) == 0)
warning ("case value `%d' not in enumerated type",
TREE_INT_CST_LOW (n->high));
else
warning ("case value `%d' not in enumerated type `%s'", warning ("case value `%d' not in enumerated type `%s'",
TREE_INT_CST_LOW (n->high), TREE_INT_CST_LOW (n->high),
IDENTIFIER_POINTER ((TREE_CODE (TYPE_NAME (type)) IDENTIFIER_POINTER ((TREE_CODE (TYPE_NAME (type))
...@@ -3624,6 +3635,7 @@ check_for_full_enumeration_handling (type) ...@@ -3624,6 +3635,7 @@ check_for_full_enumeration_handling (type)
: DECL_NAME (TYPE_NAME (type)))); : DECL_NAME (TYPE_NAME (type))));
} }
} }
}
/* If all values were found as case labels, make one of them the default /* 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 label. Thus, this switch will never fall through. We arbitrarily pick
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment