[Bug libstdc++/12947] Demangler bug

cvs-commit at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Wed Nov 12 02:19:00 GMT 2003


------- Additional Comments From cvs-commit at gcc dot gnu dot org  2003-11-12 02:18 -------
Subject: Bug 12947

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	carlo@gcc.gnu.org	2003-11-12 02:18:37

Modified files:
	libstdc++-v3   : ChangeLog 
	libstdc++-v3/include/bits: demangle.h 
	libstdc++-v3/testsuite/demangle/regression: 3111-2.cc cw-16.cc 

Log message:
	PR libstdc++/12947
	* bits/demangle.h
	(_GLIBCXX_DEMANGLER_STYLE_COMPACT_EXPR_OPS): Added.
	(_GLIBCXX_DEMANGLER_STYLE_SIZEOF_TYPENAME): Added.
	(session<Allocator>::next_peek() const): Added.
	(decode_non_negative_decimal_integer(string_type&)):
	Renamed from decode_decimal_integer(string_type&).
	(session<Allocator>::decode_nested_name):
	Decode <template_param> as well.
	(session<Allocator>::add_substitution):
	Handle <template-param> for <nested-name>'s.
	(enum xary_nt): Added.
	(struct entry_st): Added member `xary_nt type' instead of `bool unary'.
	(symbol_name_table_c): Updated for `entry_st::type' and additional
	operators (unary `operator+' and `sizeof(type)').
	(offset_table_c): Updated for new operators (causing a new hash map).
	(decode_operator_name): Match the updated hash map.
	(session<Allocator>::decode_expression):
	Support for `sizeof ([typename] type)' (st),
	dependent names (sr) and casting operator (cv).  Handle
	`entry_st::type'.  Handle _GLIBCXX_DEMANGLER_STYLE_COMPACT_EXPR_OPS
	and _GLIBCXX_DEMANGLER_STYLE_SIZEOF_TYPENAME.
	(session<Allocator>::decode_type_with_postfix):
	Support `extern "C"' function types (FY).
	* testsuite/demangle/regression/cw-16.cc: Added tests for the
	added functionality.
	* testsuite/demangle/regression/3111-2.cc: sizeof now has a space
	appended.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/ChangeLog.diff?cvsroot=gcc&r1=1.2075&r2=1.2076
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/include/bits/demangle.h.diff?cvsroot=gcc&r1=1.10&r2=1.11
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/demangle/regression/3111-2.cc.diff?cvsroot=gcc&r1=1.3&r2=1.4
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/demangle/regression/cw-16.cc.diff?cvsroot=gcc&r1=1.2&r2=1.3



-- 


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



More information about the Gcc-bugs mailing list