[Bug c++/45331] Generate clear diagnostics when a semicolon is missing at the end of a class definition
froydnj at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sat Nov 20 18:50:00 GMT 2010
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45331
--- Comment #2 from Nathan Froyd <froydnj at gcc dot gnu.org> 2010-11-20 18:50:05 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
More information about the Gcc-bugs
mailing list