This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Handle pascal object fields correctly.


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]