diff options
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 8 | ||||
-rw-r--r-- | gdb/f-exp.y | 7 | ||||
-rw-r--r-- | gdb/jv-exp.y | 5 | ||||
-rw-r--r-- | gdb/m2-exp.y | 5 |
4 files changed, 24 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index e267bff..459dfb9 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,11 @@ +2002-05-03 Pierre Muller <muller@ics.u-strasbg.fr> + + * 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 <ezannoni@redhat.com> * 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 7cbfd5a..e1168772 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 1b80ab4..495bf3e 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 eaaad5a..772c6b7 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); } |