[PATCH] Handle pascal object fields correctly.
Pierre Muller
muller@cerbere.u-strasbg.fr
Tue Apr 9 07:19:00 GMT 2002
At 16:07 09/04/2002 , vous avez écrit:
>On Tue, Apr 09, 2002 at 12:46:19PM +0200, Pierre Muller wrote:
> >
> > There was a bug in the code that I added to p-exp.y
> > for support of GPC and FPC standard name case conventions
> > that made GDB not to print out object or class fields.
> >
> > The following patch fixes that bug.
> >
> > Can I also apply this patch to 5.2 branch?
> >
> >
> > 2002-04-09 Pierre Muller <muller@ics.u-strasbg.fr>
> >
> > * p-exp.y (yylex): Handle also the fact that is_a_field_of_this is non zero
> > as a found symbol.
> >
>
>I don't know what a .DIF file is, but it has nulls instead of newlines.
>Please post ASCII patches to this list...
Sorry, still a problem with Eudora config that I don't master...
There are no nulls, but only spaces instead of newlines, sorry,
but when I include my patch into the main mail
I also get troubles because Eudora sometimes adds spaces :(
But here is the diff
Index: p-exp.y
===================================================================
RCS file: /cvs/src/src/gdb/p-exp.y,v
retrieving revision 1.7
diff -u -p -r1.7 p-exp.y
--- p-exp.y 9 Nov 2001 09:46:40 -0000 1.7
+++ p-exp.y 9 Apr 2002 10:34:55 -0000
@@ -1300,7 +1300,7 @@ yylex ()
&is_a_field_of_this,
(struct symtab **) NULL);
/* second chance uppercased (as Free Pascal does). */
- if (!sym)
+ if (!sym && !is_a_field_of_this)
{
for (i = 0; i <= namelen; i++)
{
@@ -1311,7 +1311,7 @@ yylex ()
VAR_NAMESPACE,
&is_a_field_of_this,
(struct symtab **) NULL);
- if (sym)
+ if (sym || is_a_field_of_this)
for (i = 0; i <= namelen; i++)
{
if ((tokstart[i] >= 'a' && tokstart[i] <= 'z'))
@@ -1319,7 +1319,7 @@ yylex ()
}
}
/* Third chance Capitalized (as GPC does). */
- if (!sym)
+ if (!sym && !is_a_field_of_this)
{
for (i = 0; i <= namelen; i++)
{
@@ -1336,7 +1336,7 @@ yylex ()
VAR_NAMESPACE,
&is_a_field_of_this,
(struct symtab **) NULL);
- if (sym)
+ if (sym || is_a_field_of_this)
for (i = 0; i <= namelen; i++)
{
if (i == 0)
Pierre Muller
Institut Charles Sadron
6,rue Boussingault
F 67083 STRASBOURG CEDEX (France)
mailto:muller@ics.u-strasbg.fr
Phone : (33)-3-88-41-40-07 Fax : (33)-3-88-41-40-99
More information about the Gdb-patches
mailing list