This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/36888] Error message when forgetting a semicolon after a class definition should be better


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]