This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug other/46332] __cxa_demangle yields excess parentheses for function types
- From: "ian at airs dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 9 Nov 2010 19:53:32 +0000
- Subject: [Bug other/46332] __cxa_demangle yields excess parentheses for function types
- Auto-submitted: auto-generated
- References: <bug-46332-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46332
Ian Lance Taylor <ian at airs dot com> 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 <ian at airs dot com> 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<int, void ()(double), int>()". With my patch it
demangles to "void foo<int, void (double), int>()". 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?