This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: __cxa_demangle
On Wed, Dec 11, 2002 at 11:10:47AM -0600, Benjamin Kosnik wrote:
> >Attached the code. Let me know if there is a problem.
>
> Ok. I'm integrating it, and I'm running the symbols in libstdc++/7986
> through it. The results are not super.
>
> _Z1fA37_iPS_ -> f(int[37], int[37]*), should be: f(int[37], int (*) [37])
> %./dt _Z1fA37_iPS_
> Segmentation fault (core dumped)
>
> _Z1fM1AFivEPS0_ -> f(int (A::*)(), int ()()*), should be: f(int
> (A::*)(), int (*)())
> %./dt _Z1fM1AFivEPS0_
> Segmentation fault (core dumped)
>
> _Z1fM1AKFivE -> _Z1fM1AKFivE, should be: f(int (A::*)() const)
> %./dt _Z1fM1AKFivE
> _Z1fM1AKFivE
>
> ?
>
> -benjamin
Hmm - I am afraid that I cannot reproduce the above.
I think you are doing something wrong.
~/c++/demangler>make dt
g++ -O3 -I. dt.cc -o dt
~/c++/demangler>dt _Z1fA37_iPS_
f(int [37], int (*) [37])
~/c++/demangler>./dt _Z1fM1AFivEPS0_
f(int (A::*)(void), int (*)(void))
~/c++/demangler>dt _Z1fM1AKFivE
f(int ( constA::*)(void))
Apart for the latter, where the ' const' is placed
wrong - this doesn't look nearly as bad as what you
posted.
Do you still have the tar ball I sent you?
>md5sum demangler-20021210.tar.gz
d9ac572fda0b8e75080460be59354ed2 demangler-20021210.tar.gz
--
Carlo Wood <carlo@alinoe.com>