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 libstdc++/16328] __cxa_demangle problem with member pointers as template parameters


------- Additional Comments From ian at wasabisystems dot com  2004-07-13 02:26 -------
I also see that GNU/Linux nm 2.14.90.0.6 20030820 crashes on this test case. 
However, the current version of the demangler works correctly.  The mangled name
which appears to cause the crash is

_ZZN1x6GetTLVIN3awn4dscr6StructIS_NS2_6MemberIMS_iXadL_ZNS_1iEEENS4_IMS_dXadL_ZNS_1dEEENS4_IMS_NS_1yEXadL_ZNS_2y1EEENS2_4LastEEEEEEEEES_EEbRT0_E19__PRETTY_FUNCTION__

and the current demangler demangles that as

bool x::GetTLV<awn::dscr::Struct<x, awn::dscr::Member<int x::*, &(x::i),
awn::dscr::Member<double x::*, &(x::d), awn::dscr::Member<x::y x::*, &(x::y1),
awn::dscr::Last> > > >, x>(x&)::__PRETTY_FUNCTION__

The demangler has been completely rewritten since 2.14.90, so that crash can be
presumed to be fixed.

With your test case, the mainline compiler does not produce the questionable
XadsrS5_NS5_1iEE string.  Instead, it uses the local name construct
XadL_ZNS_1iEEE.  That seems correct and reasonable.

I am closing this PR as fixed, because to me it seems that it has already been
fixed in the mainline versions.  Let me know if you disagree.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|WAITING                     |RESOLVED
         Resolution|                            |FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16328


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