From 065432a84e9b80968838004a1d784708fff3f295 Mon Sep 17 00:00:00 2001 From: Pierre Muller Date: Fri, 3 May 2002 08:23:12 +0000 Subject: [PATCH] 2002-05-03 Pierre Muller * f-exp.y: Also use new prev_lexptr variable to improve error reporting. Based on Michael Snyder 2002-04-24 dated patch to c-exp.y. * jv-exp.y: Likewise. * m2-exp.y: Likewise. --- gdb/ChangeLog | 8 ++++++++ gdb/f-exp.y | 7 ++++++- gdb/jv-exp.y | 5 +++++ gdb/m2-exp.y | 5 +++++ 4 files changed, 24 insertions(+), 1 deletion(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index e267bff087c..459dfb95df4 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,11 @@ +2002-05-03 Pierre Muller + + * f-exp.y: Also use new prev_lexptr variable + to improve error reporting. Based on Michael Snyder + 2002-04-24 dated patch to c-exp.y. + * jv-exp.y: Likewise. + * m2-exp.y: Likewise. + 2002-05-02 Elena Zannoni * valops.c (value_arg_coerce): Don't coerce arrays to pointers if diff --git a/gdb/f-exp.y b/gdb/f-exp.y index 7cbfd5ac8f2..e11687726ef 100644 --- a/gdb/f-exp.y +++ b/gdb/f-exp.y @@ -924,7 +924,9 @@ yylex () char *tokstart; retry: - + + prev_lexptr = lexptr; + tokstart = lexptr; /* First of all, let us make sure we are not dealing with the @@ -1171,5 +1173,8 @@ void yyerror (msg) char *msg; { + if (prev_lexptr) + lexptr = prev_lexptr; + error ("A %s in expression, near `%s'.", (msg ? msg : "error"), lexptr); } diff --git a/gdb/jv-exp.y b/gdb/jv-exp.y index 1b80ab45827..495bf3e0537 100644 --- a/gdb/jv-exp.y +++ b/gdb/jv-exp.y @@ -862,6 +862,8 @@ yylex () retry: + prev_lexptr = lexptr; + tokstart = lexptr; /* See if it is a special token of length 3. */ for (i = 0; i < sizeof tokentab3 / sizeof tokentab3[0]; i++) @@ -1207,6 +1209,9 @@ void yyerror (msg) char *msg; { + if (prev_lexptr) + lexptr = prev_lexptr; + error ("A %s in expression, near `%s'.", (msg ? msg : "error"), lexptr); } diff --git a/gdb/m2-exp.y b/gdb/m2-exp.y index eaaad5a3882..772c6b7b286 100644 --- a/gdb/m2-exp.y +++ b/gdb/m2-exp.y @@ -821,6 +821,8 @@ yylex () retry: + prev_lexptr = lexptr; + tokstart = lexptr; @@ -1090,5 +1092,8 @@ void yyerror (msg) char *msg; { + if (prev_lexptr) + lexptr = prev_lexptr; + error ("A %s in expression, near `%s'.", (msg ? msg : "error"), lexptr); } -- 2.30.2