From: reichelt Date: Tue, 22 Mar 2005 14:44:10 +0000 (+0000) Subject: PR c++/20499 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=94637815dae72051211302b0cfc1a96253525c2b;p=thirdparty%2Fgcc.git PR c++/20499 * parser.c (cp_parser_class_head): Return NULL_TREE when encountering a redefinition. * g++.dg/parse/error16.C: Tweak error markers. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@96870 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index ddac9f887698..bb0c547eeb8a 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2005-03-22 Volker Reichelt + + PR c++/20499 + * parser.c (cp_parser_class_head): Return NULL_TREE when + encountering a redefinition. + 2005-03-22 Nathan Sidwell PR c++/20465 diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c index 6df7bad1d810..a6145406de98 100644 --- a/gcc/cp/parser.c +++ b/gcc/cp/parser.c @@ -12858,7 +12858,8 @@ cp_parser_class_head (cp_parser* parser, { error ("redefinition of %q#T", type); cp_error_at ("previous definition of %q#T", type); - type = error_mark_node; + type = NULL_TREE; + goto done; } /* We will have entered the scope containing the class; the names of diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 896052860afe..3909d568423f 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2005-03-22 Volker Reichelt + + PR c++/20499 + * g++.dg/parse/error16.C: Tweak error markers. + 2005-03-22 Jakub Jelinek PR target/20561 diff --git a/gcc/testsuite/g++.dg/parse/error16.C b/gcc/testsuite/g++.dg/parse/error16.C index afc790e072e4..3dc58ad53c06 100644 --- a/gcc/testsuite/g++.dg/parse/error16.C +++ b/gcc/testsuite/g++.dg/parse/error16.C @@ -2,7 +2,7 @@ struct A { - struct B {}; // { dg-error "" } + struct B {}; // { dg-error "previous" } }; -struct A::B{}; // { dg-error "" } +struct A::B{}; // { dg-error "redefinition" }