diff options
author | Joseph Myers <joseph@codesourcery.com> | 2005-06-03 23:25:13 +0100 |
---|---|---|
committer | Joseph Myers <jsm28@gcc.gnu.org> | 2005-06-03 23:25:13 +0100 |
commit | d4d1cfd444501f09fd1e049bf7f14bbefec9da0a (patch) | |
tree | e4e3c12f9efbb2c87208368eb71b43258fc2290b /gcc | |
parent | fd693ba3cc71f4aec0109a36ac67d9bda485e298 (diff) | |
download | gcc-d4d1cfd444501f09fd1e049bf7f14bbefec9da0a.zip gcc-d4d1cfd444501f09fd1e049bf7f14bbefec9da0a.tar.gz gcc-d4d1cfd444501f09fd1e049bf7f14bbefec9da0a.tar.bz2 |
re PR c/21879 (Memory management problem)
PR c/21879
* c-decl.c (start_function): Restore label_context_stack_se and
label_context_stack_vm if returning with an error.
From-SVN: r100557
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/c-decl.c | 6 |
2 files changed, 11 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 372e308..2449d13 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 diff --git a/gcc/c-decl.c b/gcc/c-decl.c index d36ceb5..ec94f95 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); |