From: jsm28 Date: Fri, 3 Jun 2005 22:25:13 +0000 (+0000) Subject: PR c/21879 X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=commitdiff_plain;h=3cf0a0d0dd99fe0068cd791cdf843af1d5e55b55 PR c/21879 * 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 372e308d491..2449d13860a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2005-06-03 Joseph S. Myers + + 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 * configure.ac: Check declaration for asprintf, needed by diff --git a/gcc/c-decl.c b/gcc/c-decl.c index d36ceb563d2..ec94f95420c 100644 --- a/gcc/c-decl.c +++ b/gcc/c-decl.c @@ -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);