re PR c++/40831 (g++ generated symbols for cloned function that be demangled.)

include/ChangeLog:

	PR 40831
	* demangle.h (enum demangle_component_type): Add
	DEMANGLE_COMPONENT_CLONE.

libiberty/ChangeLog:

	PR 40831
	* cp-demangle.c (d_make_comp): Add new component type.
	(cplus_demangle_mangled_name): Check for clone suffixes.
	(d_parmlist): Don't error out if we see '.'.
	(d_clone_suffix): New function.
	(d_print_comp): Print info for clone suffixes.
	* testsuite/demangle-expected: Add new testcases.

From-SVN: r179132
This commit is contained in:
Cary Coutant
2011-09-23 21:39:10 +00:00
committed by Cary Coutant
parent d220e00d6b
commit 2d2b02c4da
5 changed files with 120 additions and 4 deletions

View File

@@ -402,7 +402,9 @@ enum demangle_component_type
/* An unnamed type. */
DEMANGLE_COMPONENT_UNNAMED_TYPE,
/* A pack expansion. */
DEMANGLE_COMPONENT_PACK_EXPANSION
DEMANGLE_COMPONENT_PACK_EXPANSION,
/* A cloned function. */
DEMANGLE_COMPONENT_CLONE
};
/* Types which are only used internally. */