(shadow_label): Emit an error if the label is already

declared at this label scope.

From-SVN: r8191
This commit is contained in:
Richard Earnshaw 1994-10-01 10:58:44 +00:00
parent b5eda7762d
commit a784882b53

View File

@ -2440,6 +2440,21 @@ shadow_label (name)
if (decl != 0)
{
register tree dup;
/* Check to make sure that the label hasn't already been declared
at this label scope */
for (dup = named_labels; dup; dup = TREE_CHAIN (dup))
if (TREE_VALUE (dup) == decl)
{
error ("duplicate label declaration `%s'",
IDENTIFIER_POINTER (name));
error_with_decl (TREE_VALUE (dup),
"this is a previous declaration");
/* Just use the previous declaration. */
return lookup_label (name);
}
shadowed_labels = tree_cons (NULL_TREE, decl, shadowed_labels);
IDENTIFIER_LABEL_VALUE (name) = decl = 0;
}