From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6673 invoked by alias); 9 Nov 2010 19:53:38 -0000 Received: (qmail 6663 invoked by uid 22791); 9 Nov 2010 19:53:38 -0000 X-SWARE-Spam-Status: No, hits=-2.8 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00,TW_CX X-Spam-Check-By: sourceware.org Received: from localhost (HELO gcc.gnu.org) (127.0.0.1) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 09 Nov 2010 19:53:33 +0000 From: "ian at airs dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug other/46332] __cxa_demangle yields excess parentheses for function types X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: other X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: ian at airs dot com X-Bugzilla-Status: ASSIGNED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: ian at airs dot com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: Status Last reconfirmed CC AssignedTo Ever Confirmed Message-ID: In-Reply-To: References: X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 Date: Tue, 09 Nov 2010 19:53:00 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2010-11/txt/msg01191.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46332 Ian Lance Taylor changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |ASSIGNED Last reconfirmed| |2010.11.09 19:53:18 CC| |bkoz at redhat dot com AssignedTo|unassigned at gcc dot |ian at airs dot com |gnu.org | Ever Confirmed|0 |1 --- Comment #6 from Ian Lance Taylor 2010-11-09 19:53:18 UTC --- I have a patch for this, but it breaks the libstdc++ test testsuite/abi/demangle/abi_examples/14.cc . That test expects _Z3fooIiFvdEiEvv to demangle to "void foo()". With my patch it demangles to "void foo()". That is, the inner "()" goes away. Now, clearly the inner "()" makes little sense, but I wonder whether it should be "(*)" instead. Ben, you added the test on 2003-02-27. The test says it comes from the ABI doc, but I can't find anything in the ABI doc which looks quite like this case. Do you recall anything about this test? Do you think simply omitting the inner "()" would be an appropriate demangling?