From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6758 invoked by alias); 13 Nov 2002 09:17:37 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 6749 invoked from network); 13 Nov 2002 09:17:35 -0000 Received: from unknown (HELO cerbere.u-strasbg.fr) (130.79.112.250) by sources.redhat.com with SMTP; 13 Nov 2002 09:17:35 -0000 Received: from laocoon.ics.u-strasbg.fr (laocoon.u-strasbg.fr [130.79.112.72]) by cerbere.u-strasbg.fr (Postfix) with ESMTP id AB0336BE; Wed, 13 Nov 2002 10:30:49 +0100 (CET) Message-Id: <5.0.2.1.2.20021113101533.00b01c48@ics.u-strasbg.fr> X-Sender: muller@ics.u-strasbg.fr Date: Wed, 13 Nov 2002 01:17:00 -0000 To: gdb-patches@sources.redhat.com From: Pierre Muller Subject: Re: [PATCH] Correct pascal parser problem. Cc: Andrew Cagney In-Reply-To: <5.0.2.1.2.20021113100327.0317ffe8@ics.u-strasbg.fr> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" X-SW-Source: 2002-11/txt/msg00360.txt.bz2 At 10:12 13/11/2002, you wrote: > The following patch fixes a problem when parsing >expressions that started with fields of this. > > If you where in a method that have a filed named owner >that is a pointer, >(gdb) p owner >$1 = (PSYMTABLE) $507a48 >(gdb) p owner^ >Type TNAMEDINDEXOBJECT has no component named OWNER^. > >The problem was that lookup_struct_elt_type >was call with 'OWNER^' instead of only 'OWNER'. > >After that patch, I get this: >(gdb) p owner >$3 = (PSYMTABLE) $507a48 >(gdb) p owner^ >$4 = {NAME = $0, DATASIZE = 0, DATAALIGNMENT = 2, SYMINDEX = $507a78, > DEFINDEX = $507a98, SYMSEARCH = $507ab8, NEXT = $5075f8, DEFOWNER = $507ad8, > ADDRESS_FIXUP = 0, UNITID = 0, SYMTABLELEVEL = 0, > SYMTABLETYPE = RECORDSYMTABLE, _vptr$ = {$4eb2c8, $1}} >which is much better. Can I also commit this to 5.3 branch or is it too late? >ChangeLog entry: > >2002-11-13 Pierre Muller > > * p-exp.y (name_not_typename): Use copy_name to > set current_type variable for fields of THIS. > > > >diff -u -p -r1.17 p-exp.y >--- p-exp.y 6 Nov 2002 22:48:25 -0000 1.17 >+++ p-exp.y 13 Nov 2002 09:04:25 -0000 >@@ -649,7 +649,7 @@ variable: name_not_typename > if (this_type) > current_type = lookup_struct_elt_type ( > this_type, >- $1.stoken.ptr, false); >+ copy_name($1.stoken), false); > else > current_type = NULL; > } > > > > >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 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