OSDN Git Service

PR c/21879
authorjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 3 Jun 2005 22:25:13 +0000 (22:25 +0000)
committerjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 3 Jun 2005 22:25:13 +0000 (22:25 +0000)
* c-decl.c (start_function): Restore label_context_stack_se and
label_context_stack_vm  if returning with an error.

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

gcc/ChangeLog
gcc/c-decl.c

index 372e308..2449d13 100644 (file)
@@ -1,3 +1,9 @@
+2005-06-03  Joseph S. Myers  <joseph@codesourcery.com>
+
+       PR c/21879
+       * c-decl.c (start_function): Restore label_context_stack_se and
+       label_context_stack_vm  if returning with an error.
+
 2005-06-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
 
        * configure.ac: Check declaration for asprintf, needed by
index d36ceb5..ec94f95 100644 (file)
@@ -5802,7 +5802,11 @@ start_function (struct c_declspecs *declspecs, struct c_declarator *declarator,
   /* If the declarator is not suitable for a function definition,
      cause a syntax error.  */
   if (decl1 == 0)
-    return 0;
+    {
+      label_context_stack_se = label_context_stack_se->next;
+      label_context_stack_vm = label_context_stack_vm->next;
+      return 0;
+    }
 
   decl_attributes (&decl1, attributes, 0);