This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/36888] Error message when forgetting a semicolon after a class definition should be better
- From: "froydnj at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sat, 20 Nov 2010 18:50:55 +0000
- Subject: [Bug c++/36888] Error message when forgetting a semicolon after a class definition should be better
- Auto-submitted: auto-generated
- References: <bug-36888-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36888
--- Comment #4 from Nathan Froyd <froydnj at gcc dot gnu.org> 2010-11-20 18:50:06 UTC ---
Author: froydnj
Date: Sat Nov 20 18:50:00 2010
New Revision: 166977
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=166977
Log:
gcc/c-family/
PR c++/16189
PR c++/36888
PR c++/45331
* c-common.h (keyword_begins_type_specifier): Declare.
(keyword_is_storage_class_specifier): Declare.
(keyword_is_type_qualifier): Declare.
* c-common.c (keyword_begins_type_specifier): New function.
(keyword_is_storage_class_specifier): New function.
(keyword_is_type_qualifier): Declare.
gcc/cp/
PR c++/16189
PR c++/36888
PR c++/45331
* parser.c (cp_lexer_set_token_position): New function.
(cp_lexer_previous_token_position): New function.
(cp_lexer_previous_token): Call it.
(cp_parser_class_specifier): Try to gracefully handle a missing
semicolon.
gcc/testsuite/
PR c++/16189
PR c++/36888
PR c++/45331
* g++.dg/parse/semicolon3.C: New test.
* g++.dg/debug/pr22514.C: Adjust.
* g++.dg/init/error1.C: Adjust.
* g++.dg/other/bitfield3.C: Adjust.
* g++.dg/other/semicolon.C: Adjust.
* g++.dg/parse/error14.C: Adjust.
* g++.dg/parse/error5.C: Adjust.
* g++.dg/parse/parameter-declaration-1.C: Adjust.
* g++.dg/template/pr23510.C: Adjust.
* g++.dg/template/pr39425.C: Adjust.
* g++.old-deja/g++.robertl/eb125.C: Adjust.
Added:
trunk/gcc/testsuite/g++.dg/parse/semicolon3.C
Modified:
trunk/gcc/c-family/ChangeLog
trunk/gcc/c-family/c-common.c
trunk/gcc/c-family/c-common.h
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/parser.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/g++.dg/debug/pr22514.C
trunk/gcc/testsuite/g++.dg/init/error1.C
trunk/gcc/testsuite/g++.dg/other/bitfield3.C
trunk/gcc/testsuite/g++.dg/other/semicolon.C
trunk/gcc/testsuite/g++.dg/parse/error14.C
trunk/gcc/testsuite/g++.dg/parse/error5.C
trunk/gcc/testsuite/g++.dg/parse/parameter-declaration-1.C
trunk/gcc/testsuite/g++.dg/template/pr23510.C
trunk/gcc/testsuite/g++.dg/template/pr39425.C
trunk/gcc/testsuite/g++.old-deja/g++.robertl/eb125.C