diff options
author | mmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-11-24 18:10:26 +0000 |
---|---|---|
committer | mmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-11-24 18:10:26 +0000 |
commit | f6781b9a0fc84a93aa6ff5a8fd340f48dd9d39c3 (patch) | |
tree | 8c71e87be9e6aaa39c6f76290576dce0b58c5637 /gcc/cp | |
parent | a16d215f9df221f34e67a2a8edf4fc4dff6ff03b (diff) | |
download | gcc-f6781b9a0fc84a93aa6ff5a8fd340f48dd9d39c3.tar.gz |
PR c++/18586
* parser.c (cp_parser_init_declarator): Do not pop scope twice.
PR c++/18586
* g++.dg/template/crash27.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@91182 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cp')
-rw-r--r-- | gcc/cp/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/cp/parser.c | 5 |
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index faf73ad89fd..abfc86abb8a 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,5 +1,8 @@ 2004-11-24 Mark Mitchell <mark@codesourcery.com> + PR c++/18586 + * parser.c (cp_parser_init_declarator): Do not pop scope twice. + PR c++/18530 * cp-tree.h (CTOR_NAME): Remove. (DTOR_NAME): Remove. diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c index 265abdb81e4..ccd8a95c434 100644 --- a/gcc/cp/parser.c +++ b/gcc/cp/parser.c @@ -10590,7 +10590,10 @@ cp_parser_init_declarator (cp_parser* parser, if (member_p) { if (pop_p) - pop_scope (scope); + { + pop_scope (scope); + pop_p = false; + } decl = grokfield (declarator, decl_specifiers, initializer, /*asmspec=*/NULL_TREE, /*attributes=*/NULL_TREE); |