This is the mail archive of the
gcc-prs@gcc.gnu.org
mailing list for the GCC project.
Re: c++/5390: Libiberty fails to demangle multi-digit template parameters.
- From: Carlo Wood <carlo at alinoe dot com>
- To: nobody at gcc dot gnu dot org
- Cc: gcc-prs at gcc dot gnu dot org,
- Date: 7 Mar 2003 12:36:00 -0000
- Subject: Re: c++/5390: Libiberty fails to demangle multi-digit template parameters.
- Reply-to: Carlo Wood <carlo at alinoe dot com>
The following reply was made to PR c++/5390; it has been noted by GNATS.
From: Carlo Wood <carlo at alinoe dot com>
To: bangerth at dealii dot org, gcc-bugs at gcc dot gnu dot org, gcc-prs at gcc dot gnu dot org,
nobody at gcc dot gnu dot org, gcc-gnats at gcc dot gnu dot org
Cc:
Subject: Re: c++/5390: Libiberty fails to demangle multi-digit template parameters.
Date: Fri, 7 Mar 2003 13:14:20 +0100
On Fri, Mar 07, 2003 at 02:26:50AM -0000, bangerth at dealii dot org wrote:
> Synopsis: Libiberty fails to demangle multi-digit template parameters.
>
> State-Changed-From-To: open->feedback
> State-Changed-By: bangerth
> State-Changed-When: Fri Mar 7 02:26:50 2003
> State-Changed-Why:
> Carlo, this report has been sitting idly for a year now.
> What is the present state? Is it still unsolved, or did
> your patch go in?
>
> Thanks
> Wolfgang
>
> http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=5390
I don't have 2.95.4 and don't even know if there is a CVS branch for it.
The file libiberty/testsuite/demangle-expected still exists in version 3.3,
and contains some broken mangled names (the way 2.95.x doesn't mangle them):
my patch was not applied to 'libiberty/testsuite/demangle-expected' but it
seems to have been partly applied, or someone did double work (and a bad job).
c++filt of 3.3 does not demangle the correct mangled names (at least the
ones I tried) - while it does demangle the old (wrong) mangled names. By
looking at libiberty/cplus-dem.c it seems that the patch was at least party
applied, but someone made changes that broke it, or they ignored failing
hunks. As it is, libiberty/cplus-dem.c cannot demangle all the names as
produced by 2.95.x.
Because in the past my patches have been totally ignored too often, I did put
this one in the bugs database, so it wouldn't get lost... But later I got so
much demotivated that I unsubbed from all gcc mailinglists and stopped
caring about gcc. Therefore I must say now: I am sorry, but I can't bother
to put more time into this one and fix it AGAIN - for the current cplus-dem.c.
Perhaps you manage to manually fix the current cplus-dem.c by looking at
the old patch and figuring out what was applied and what was not applied.
Keep in mind that it is not possible, nor interesting to keep backwards
compatibility with the mangled names as mangled by pre-2.95.x (the ones
with a '-' in front of it in my testsuite/demangle-expected patch) in
libiberty/testsuite/demangle-expected: if you do that then you garanteed
have a broken demangler for the way 2.95.x mangles these names. My patch
(for cplus-dem.c) was the best possible fix imho.
--
Carlo Wood <carlo at alinoe dot com>