semicolon.C
208 Bytes
-
re PR c++/16189 (obfuscated error message for missing semicolon after declaration in C++) · a9aa2c3a
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. From-SVN: r166977
Nathan Froyd committed