PR c++/11595
authorsteven <steven@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 6 Sep 2003 15:44:34 +0000 (15:44 +0000)
committersteven <steven@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 6 Sep 2003 15:44:34 +0000 (15:44 +0000)
* decl.c (define_label): Remove unreachable timevar pop.
Always return the decl, even if the definition is invalid.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71138 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/cp/ChangeLog
gcc/cp/decl.c

index 4926d58..49782e3 100644 (file)
@@ -1,3 +1,9 @@
+2003-09-06  Steven Bosscher  <steven@gcc.gnu.org>
+
+       PR c++/11595
+       * decl.c (define_label): Remove unreachable timevar pop.
+       Always return the decl, even if the definition is invalid.
+
 2003-09-06  Nathan Sidwell  <nathan@codesourcery.com>
 
        PR c++/12167
index 1575ec4..c11a7c5 100644 (file)
@@ -4937,8 +4937,7 @@ check_goto (tree decl)
 }
 
 /* Define a label, specifying the location in the source file.
-   Return the LABEL_DECL node for the label, if the definition is valid.
-   Otherwise return 0.  */
+   Return the LABEL_DECL node for the label.  */
 
 tree
 define_label (location_t location, tree name)
@@ -4961,10 +4960,7 @@ define_label (location_t location, tree name)
     pedwarn ("label named wchar_t");
 
   if (DECL_INITIAL (decl) != NULL_TREE)
-    {
-      error ("duplicate label `%D'", decl);
-      POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, NULL_TREE);
-    }
+    error ("duplicate label `%D'", decl);
   else
     {
       /* Mark label as having been defined.  */
@@ -4977,9 +4973,10 @@ define_label (location_t location, tree name)
          ent->binding_level = current_binding_level;
        }
       check_previous_gotos (decl);
-      POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, decl);
     }
+
   timevar_pop (TV_NAME_LOOKUP);
+  return decl;
 }
 
 struct cp_switch