From 326356e4cffe0b0cb6116b79c89605bb21b72672 Mon Sep 17 00:00:00 2001 From: nathan Date: Tue, 1 May 2001 10:53:09 +0000 Subject: [PATCH] cp: * spew.c (last_token_id): New static variable. (read_token): Set it here. (yyerror): Use it here. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@41719 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/cp/ChangeLog | 6 ++++++ gcc/cp/spew.c | 12 ++++++++---- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index e952168..5255f15 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2001-05-01 Nathan Sidwell + + * spew.c (last_token_id): New static variable. + (read_token): Set it here. + (yyerror): Use it here. + 2001-04-30 Richard Henderson * cvt.c: Downcase C_PROMOTING_INTEGER_TYPE_P invocations. diff --git a/gcc/cp/spew.c b/gcc/cp/spew.c index ea2392a..4a230f0 100644 --- a/gcc/cp/spew.c +++ b/gcc/cp/spew.c @@ -140,6 +140,7 @@ static void debug_yychar PARAMS ((int)); extern char *debug_yytranslate PARAMS ((int)); #endif static enum cpp_ttype last_token; +static tree last_token_id; /* From lex.c: */ /* the declaration found for the last IDENTIFIER token read in. @@ -259,7 +260,8 @@ read_token (t) { retry: - last_token = c_lex (&t->yylval.ttype); + last_token = c_lex (&last_token_id); + t->yylval.ttype = last_token_id; switch (last_token) { @@ -1499,10 +1501,12 @@ yyerror (msgid) error ("%s before numeric constant", string); else if (last_token == CPP_NAME) { - if (yylval.ttype && TREE_CODE (yylval.ttype) == IDENTIFIER_NODE) - error ("%s before `%s'", string, IDENTIFIER_POINTER (yylval.ttype)); - else + if (TREE_CODE (last_token_id) == IDENTIFIER_NODE) + error ("%s before `%s'", string, IDENTIFIER_POINTER (last_token_id)); + else if (ISGRAPH (yychar)) error ("%s before `%c'", string, yychar); + else + error ("%s before `\%o'", string, yychar); } else error ("%s before `%s' token", string, NAME (last_token)); -- 2.7.4