From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27483 invoked by alias); 13 Apr 2007 17:17:49 -0000 Received: (qmail 27266 invoked by uid 22791); 13 Apr 2007 17:17:48 -0000 X-Spam-Check-By: sourceware.org Received: from an-out-0708.google.com (HELO an-out-0708.google.com) (209.85.132.247) by sourceware.org (qpsmtpd/0.31) with ESMTP; Fri, 13 Apr 2007 18:17:41 +0100 Received: by an-out-0708.google.com with SMTP id c2so1001830anc for ; Fri, 13 Apr 2007 10:17:40 -0700 (PDT) Received: by 10.100.31.2 with SMTP id e2mr2675245ane.1176484659214; Fri, 13 Apr 2007 10:17:39 -0700 (PDT) Received: by 10.100.214.16 with HTTP; Fri, 13 Apr 2007 10:17:39 -0700 (PDT) Message-ID: Date: Fri, 13 Apr 2007 17:27:00 -0000 From: "Andrew Pinski" To: "Dave MacLachlan" Subject: Re: binutils/libiberty patch for c++filt to demangle ObjC++ symbols Cc: binutils@sourceware.org, gcc-patches@gcc.gnu.org, "DJ Delorie" , "Daniel Berlin" , "Mike Stump" In-Reply-To: <31CDB327-F3DB-4884-95EF-98C247D70A2F@google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <27E8A691-807E-4CB5-A7EE-6A3FAC4013A1@google.com> <200704130412.l3D4CbdI024712@localhost.localdomain> <31CDB327-F3DB-4884-95EF-98C247D70A2F@google.com> Mailing-List: contact binutils-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: binutils-owner@sourceware.org X-SW-Source: 2007-04/txt/msg00178.txt.bz2 On 4/13/07, Dave MacLachlan wrote: > This is a patch for c++filt so it can demangle ObjC++ symbols. Turns > out that if you have an Objective C++ file (.mm) with a static var > inside of a method it will get mangled in such a fashion that the > current c++filt can't unmangle it: > > @implementation Foo > + (void)bar:(id)sender { > static int baz = 1; > } > @end > > gets mangled to > > _ZZ11+[Foo bar:]E3baz Actually I think this is the way it gets mangled on Darwin, I think it gets mangled differently on any other target as the other targets actually mangle the message name instead of keeping it as "+[Foo bar:]". So you might want to double check what happens under Linux with the objective-C++ front-end also. Thanks, Andrew Pinski