This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug other/46332] __cxa_demangle yields excess parentheses for function types


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?


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]