From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7601 invoked by alias); 9 Oct 2002 00:14:15 -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 7551 invoked from network); 9 Oct 2002 00:14:14 -0000 Received: from unknown (HELO mx1.redhat.com) (66.187.233.31) by sources.redhat.com with SMTP; 9 Oct 2002 00:14:14 -0000 Received: from int-mx2.corp.redhat.com (nat-pool-rdu-dmz.redhat.com [172.16.52.200]) by mx1.redhat.com (8.11.6/8.11.6) with ESMTP id g98NsWX21683 for ; Tue, 8 Oct 2002 19:54:33 -0400 Received: from potter.sfbay.redhat.com (potter.sfbay.redhat.com [172.16.27.15]) by int-mx2.corp.redhat.com (8.11.6/8.11.6) with ESMTP id g990E6l01733; Tue, 8 Oct 2002 20:14:06 -0400 Received: from redhat.com (dhcp-172-16-25-149.sfbay.redhat.com [172.16.25.149]) by potter.sfbay.redhat.com (8.11.6/8.11.6) with ESMTP id g990E6N30313; Tue, 8 Oct 2002 17:14:06 -0700 Message-ID: <3DA37488.6C182D26@redhat.com> Date: Tue, 08 Oct 2002 17:14:00 -0000 From: Michael Snyder Organization: Red Hat, Inc. X-Accept-Language: en MIME-Version: 1.0 To: Adam Fedor CC: gdb-patches@sources.redhat.com Subject: Re: [PATCH] Objective-C language support. References: <3D889A97.90202@doc.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-SW-Source: 2002-10/txt/msg00197.txt.bz2 Adam Fedor wrote: > > This patch adds Objective-C language support to gdb based upon a patch > provided by Apple Computer Inc from their version of gdb. Note that the > patch only contains changes to existing files. New files (objc-lang.h, > objc-lang.c, objc-exp.y) and a gdb.objc testsuite directory are located at > > ftp://ftp.gnustep.org/pub/gnustep/contrib/gdb-objc-patch.tar.gz Adam, these changes have no effect on anyone who is not debugging objective c. They can go in as soon as the appropriate enum values definitions are in. > * parse.c: (length_of_subexp, prefixify_subexp): Handle > OP_MSGCALL, OP_SELECTOR, OP_NSSTRING, and OP_SELF. > Index: gdb/parse.c > =================================================================== > RCS file: /cvs/src/src/gdb/parse.c,v > retrieving revision 1.25 > diff -u -p -r1.25 parse.c > --- gdb/parse.c 21 Jun 2002 14:32:10 -0000 1.25 > +++ gdb/parse.c 17 Sep 2002 19:30:53 -0000 > @@ -867,6 +867,11 @@ length_of_subexp (register struct expres > args = 1 + longest_to_int (expr->elts[endpos - 2].longconst); > break; > > + case OP_MSGCALL: /* Objective C message (method) call */ > + oplen = 4; > + args = 1 + longest_to_int (expr->elts[endpos - 2].longconst); > + break; > + > case UNOP_MAX: > case UNOP_MIN: > oplen = 3; > @@ -898,6 +903,8 @@ length_of_subexp (register struct expres > /* fall through */ > case OP_M2_STRING: > case OP_STRING: > + case OP_NSSTRING: /* Objective C Foundation Class NSString constant */ > + case OP_SELECTOR: /* Objective C "@selector" pseudo-op */ > case OP_NAME: > case OP_EXPRSTRING: > oplen = longest_to_int (expr->elts[endpos - 2].longconst); > @@ -936,6 +943,7 @@ length_of_subexp (register struct expres > > /* C++ */ > case OP_THIS: > + case OP_SELF: > oplen = 2; > break; > > @@ -1004,6 +1012,11 @@ prefixify_subexp (register struct expres > args = 1 + longest_to_int (inexpr->elts[inend - 2].longconst); > break; > > + case OP_MSGCALL: /* Objective C message (method) call */ > + oplen = 4; > + args = 1 + longest_to_int (inexpr->elts[inend - 2].longconst); > + break; > + > case UNOP_MIN: > case UNOP_MAX: > oplen = 3; > @@ -1034,6 +1047,8 @@ prefixify_subexp (register struct expres > /* fall through */ > case OP_M2_STRING: > case OP_STRING: > + case OP_NSSTRING: /* Objective C Foundation Class NSString constant */ > + case OP_SELECTOR: /* Objective C "@selector" pseudo-op */ > case OP_NAME: > case OP_EXPRSTRING: > oplen = longest_to_int (inexpr->elts[inend - 2].longconst); > @@ -1072,6 +1087,7 @@ prefixify_subexp (register struct expres > > /* C++ */ > case OP_THIS: > + case OP_SELF: > oplen = 2; > break; >