c++/5390: Libiberty fails to demangle multi-digit template parameters.

DJ Delorie dj@redhat.com
Fri Mar 7 17:26:00 GMT 2003


Vlad reported a core dump.  Nick fixed it with a small patch.  You
also wrote a significantly larger patch also claiming to fix it.  You
were asked if you tested on older gcc's to ensure backward
compatibility.  You said you didn't.  The issue of backward
compatibility was never resolved to my satisfaction, so I didn't
approve it.  I also noted that the demanglers are normally maintained
by the C++ folks, but apparently you didn't convince them either.

However, if you look in libiberty's ChangeLog, you'll see that your
patch was eventually applied, over a year ago.  So, I'm not sure what
you're complaining about.

2002-02-18  Carlo Wood  <carlo@gnu.org>

	PR c++/5390
	* cplus-dem.c (demangle_integral_value): Accept multi-digit
	numbers that do not start with an underscore; This is needed
	for integer template parameters. This doesn't break anything
	because multi-digit numbers are never followed by a digit.
	* testsuite/demangle-expected: Corrected all mangled test
	cases with multi-digit template parameters: g++ 2.95.x does
	not generate underscores around these parameters.



More information about the Gcc-bugs mailing list