From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13668 invoked by alias); 2 May 2002 18:06:09 -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 13657 invoked from network); 2 May 2002 18:06:07 -0000 Received: from unknown (HELO cygnus.com) (205.180.83.203) by sources.redhat.com with SMTP; 2 May 2002 18:06:07 -0000 Received: from redhat.com (reddwarf.sfbay.redhat.com [172.16.24.50]) by runyon.cygnus.com (8.8.7-cygnus/8.8.7) with ESMTP id LAA14716; Thu, 2 May 2002 11:06:04 -0700 (PDT) Message-ID: <3CD17D16.A61F19D8@redhat.com> Date: Thu, 02 May 2002 11:06:00 -0000 From: Michael Snyder Organization: Red Hat, Inc. X-Accept-Language: en MIME-Version: 1.0 To: Pierre Muller CC: gdb-patches@sources.redhat.com Subject: Re: Resend: [RFC] p-exp.y enhancements. References: <4.2.0.58.20020502144659.02489e38@ics.u-strasbg.fr> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-SW-Source: 2002-05/txt/msg00042.txt.bz2 Pierre Muller wrote: > > (Second posting with the patch attached, > this way you should have less problems to > apply the patch). > > This patch has several benefits: > > 1) it adds support for S[exp] if S is a pascal string. > I must admit that this only works for Free Pascal Compiler > for now, because GPC uses BITSTRING type > for the array containg the chars which confuses GDB. > I informed the GPC developper team, but their answer > seems to be that they didn't really directly change any code > regarding debug information output for pascal... What will happen if a GPC user tries to do that? > 2) it adds support for case insensitive searches of record > (pascal struct) fields. This seems like a good thing... > 3) It prepares to a more simple RFC > about the enhancement to the completer for > structure field that I sent some time ago. See > http://sources.redhat.com/ml/gdb-patches/2002-04/msg00774.html This seems like a good thing too, but is pretty unrelated to the two above. Would you mind breaking this patch down into functional units? Since I'm a little rusty in both Pascal and Yacc, that will make it considerably easier to review. > The way current_type is treated in my patch is > not completely correct, in the sense that > current_type is often non NULL when it should be NULL > (like for instance after an operator like '+' or '*', > but this has no influence on its functionallity, so I did not > add all the rules that would reset current_type > (which would have made the patch much bigger). > > If I get no observations about this patch, I will commit it > in the next days. > > 2002-05-02 Pierre Muller > > * p-exp.y (current_type): New static variable. > Carries the type of the expression at the position that is parsed. > (push_current_type, pop_current_type): Two new functions. Used > to store/restore current_type in expression on specific tokens. > (search_filed): New static variable. Set to one after parsing a point as > at that point only a FIELDNAME token should be searched. > (FIELDNAME): New token. After a point only a token belonging to > current_type type definition is allowed. > (all over token rules): reset and change current_type according > to rules. > (exp '[' rule): insert implicit array index field if exp is a pascal string type. > > ------------------------------------------------------------------------ > > p-exp.difName: p-exp.dif > Type: Plain Text (text/plain) > > ------------------------------------------------------------------------ > > 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