Commit Graph

90 Commits

Author SHA1 Message Date
H.J. Lu a0692e366a Properly demangle a global constructor symbol.
2010-11-16  H.J. Lu  <hongjiu.lu@intel.com>

	PR other/42670
	PR binutils/11137
	* cp-demangle.c (d_make_demangle_mangled_name): New.
	(d_demangle_callback): Use it on DCT_GLOBAL_XTORS.

	* testsuite/demangle-expected: Updated.
2010-11-16 17:58:26 +00:00
DJ Delorie 361c311554 merge from gcc 2010-11-13 02:20:31 +00:00
Tom Tromey 57cf60a5bb 2010-09-10 James Lyon <jameslyon0@googlemail.com>
http://sourceware.org/bugzilla/show_bug.cgi?id=11572
	* cp-demangle.c (d_find_pack): Add case for
	DEMANGLE_COMPONENT_LAMBDA.
	* testsuite/demangle-expected: Add regression test.
2010-09-10 22:42:05 +00:00
Jakub Jelinek 3baae9d67e PR other/43838
* cp-demangle.c (struct d_print_info): Add flush_count field.
	(d_print_init): Initialize it to 0.
	(d_print_flush): Increment it.
	(d_print_comp): If needed flush before appending ", ".  Only
	decrement dpi->len if no flushes happened during the recursive
	call.
	* testsuite/demangle-expected: Add a test for this.
2010-06-10 15:42:01 +00:00
DJ Delorie cf383746fa merge from gcc 2010-05-06 21:40:04 +00:00
DJ Delorie f9b58c5ba6 merge from gcc 2010-03-22 21:39:44 +00:00
DJ Delorie cbc4312826 merge from gcc 2010-02-03 23:28:01 +00:00
DJ Delorie 9ac9c2b6b0 merge from gcc 2010-01-21 02:05:11 +00:00
H.J. Lu ffe7cfdf31 Return dgs.alc on success
2010-01-09  Ian Lance Taylor  <iant@google.com>

	PR other/42230
	* cp-demangle.c (d_demangle): Return dgs.alc on success.
2010-01-10 01:19:02 +00:00
DJ Delorie 664aa91f58 merge from gcc 2009-10-02 18:23:01 +00:00
DJ Delorie d503175434 merge from gcc 2009-07-17 20:20:45 +00:00
DJ Delorie 4e55d6c3ee merge from gcc 2009-05-19 03:02:30 +00:00
DJ Delorie e2e1864d3b merge from gcc 2009-03-23 22:05:12 +00:00
DJ Delorie c743cf5d81 merge from gcc 2009-03-18 00:07:49 +00:00
DJ Delorie 60cf58f5cf merge from gcc 2009-01-07 18:52:57 +00:00
DJ Delorie 4e59450ef0 merge from gcc 2008-12-18 15:56:12 +00:00
DJ Delorie d2825c1a4c merge from gcc 2008-12-10 23:28:19 +00:00
DJ Delorie 1c08f2c880 merge from gcc 2008-10-07 01:28:01 +00:00
DJ Delorie ba8cb4bac5 merge from gcc 2008-09-09 18:21:49 +00:00
DJ Delorie dddc49b73b merge from gcc 2008-03-31 18:11:50 +00:00
David Daney 830ef6349c include/
2008-01-26  David Daney  <ddaney@avtrex.com>

	* demangle.h (demangle_component_type):  Add
	DEMANGLE_COMPONENT_JAVA_RESOURCE,
	DEMANGLE_COMPONENT_COMPOUND_NAME, and
	DEMANGLE_COMPONENT_CHARACTER as new enum values.
	(demangle_component): Add struct s_character to union u.

libiberty/
2008-01-26  David Daney  <ddaney@avtrex.com>

	* cp-demangle.c (d_dump): Handle DEMANGLE_COMPONENT_JAVA_RESOURCE,
	DEMANGLE_COMPONENT_COMPOUND_NAME, and
	DEMANGLE_COMPONENT_CHARACTER cases.
	(d_make_comp): Handle DEMANGLE_COMPONENT_COMPOUND_NAME and
	DEMANGLE_COMPONENT_JAVA_RESOURCE cases.
	(d_make_character): New function.
	(d_java_resource): Same.
	(d_special_name): Handle "Gr" case.
	(d_print_comp): Handle DEMANGLE_COMPONENT_JAVA_RESOURCE,
	DEMANGLE_COMPONENT_COMPOUND_NAME, and
	DEMANGLE_COMPONENT_CHARACTER cases.
	* testsuite/demangle-expected: Add test for java resource name
	mangling.
2008-01-27 06:25:45 +00:00
DJ Delorie 8969a67f0a merge from gcc 2007-08-31 20:20:49 +00:00
Michael Snyder 168b82983a 2007-07-31 Michael Snyder <msnyder@access-company.com>
* cp-demangle.c (d_print_comp): Guard against null.
2007-08-01 19:43:08 +00:00
Geoffrey Keating 8bf955e1b8 * cp-demangle.c (d_name): Detect local-source-name.
(d_prefix): Likewise.
	(d_unqualified_name): Implement local-source-name.
2007-05-06 00:25:11 +00:00
Geoffrey Keating 8d3010701b * cp-demangle.c (d_encoding): Exit early on error.
(d_pointer_to_member_type): Exit early if cplus_demangle_type
	returns NULL.
	(cplus_demangle_type): Likewise.
	* testsuite/demangle-expected: New testcase.
2007-03-16 01:09:26 +00:00
DJ Delorie 208c16740c merge from gcc 2007-01-30 23:16:58 +00:00
Geoffrey Keating 6ef6358e51 * cp-demangle.h: Add comment explaining what to do to avoid
overrunning string.
	(d_check_char): New.
	(d_next_char): Don't advance past trailing '\0'.
	* cp-demangle.c (cplus_demangle_mangled_name): Use d_check_char.
	(d_nested_name): Likewise.
	(d_special_name): Likewise.
	(d_call_offset): Likewise.
	(d_function_type): Likewise.
	(d_array_type): Likewise.
	(d_pointer_to_member_type): Likewise.
	(d_template_param): Likewise.
	(d_template_args): Likewise.
	(d_template_arg): Likewise.
	(d_expr_primary): Likewise.
	(d_local_name): Likewise.
	(d_substitution): Likewise.
	(d_ctor_dtor_name): Use d_advance rather than d_next_char.
	* testsuite/test-demangle.c: Include sys/mman.h.
	(MAP_ANONYMOUS): Define.
	(protect_end): New.
	(main): Use protect_end.
	* testsuite/demangle-expected: Add testcases for overrunning
	the end of the string.
2006-12-21 01:32:48 +00:00
DJ Delorie e63f184e3f merge from gcc 2006-09-22 19:19:32 +00:00
DJ Delorie cb6c09ace5 merge from gcc 2006-08-28 00:56:25 +00:00
DJ Delorie 7887b2ce66 merge from gcc 2005-12-11 02:16:09 +00:00
DJ Delorie 6ba85b8caf merge from gcc 2005-07-03 19:16:20 +00:00
Richard Henderson 839e4798b0 include/
* demangle.h (DEMANGLE_COMPONENT_HIDDEN_ALIAS): New.
libiberty/
	* cp-demangle.c (d_dump): Handle DEMANGLE_COMPONENT_HIDDEN_ALIAS.
	(d_make_comp, d_print_comp): Likewise.
	(d_special_name): Generate one.
	* testsuite/demangle-expected: Add a hidden alias test.
2005-05-25 23:32:36 +00:00
DJ Delorie abf6a75b42 merge from gcc 2005-05-24 21:01:33 +00:00
Nick Clifton 979c05d324 Update the address and phone number of the FSF organization. 2005-05-10 15:33:34 +00:00
Ian Lance Taylor b31a49d78d * cp-demangle.c: Update copyright. 2005-04-02 17:18:43 +00:00
DJ Delorie e064c173c6 merge from gcc 2005-03-28 17:14:34 +00:00
DJ Delorie 9334f9c6cd merge from gcc 2005-03-27 05:28:42 +00:00
Jason Merrill aca9a74241 * cp-demangle.c (__cxa_demangle): Change resolution of ambiguous
arguments.
2005-02-13 06:58:55 +00:00
DJ Delorie eb129e357a merge from gcc 2004-11-24 03:00:34 +00:00
DJ Delorie a21da8bff0 merge from gcc 2004-06-28 18:01:46 +00:00
DJ Delorie 2d7332114a merge from gcc 2004-02-25 05:40:03 +00:00
DJ Delorie 099f84cfba merge from gcc 2004-02-25 02:04:37 +00:00
DJ Delorie 74aee4eb9f merge from gcc 2004-02-24 16:30:50 +00:00
Daniel Jacobowitz 2d6520ee20 * cp-demangle.c (d_make_comp): DEMANGLE_COMPONENT_CONSTRUCTION_VTABLE
takes two parameters.
	* cp-demint.c (cplus_demangle_fill_component): Likewise.
2004-01-13 21:34:31 +00:00
DJ Delorie 5972747385 merge from gcc 2004-01-12 21:24:38 +00:00
DJ Delorie 820542c970 merge from gcc 2004-01-02 21:11:34 +00:00
DJ Delorie 2f9c405836 merge from gcc 2003-12-26 16:27:37 +00:00
DJ Delorie b6fb00c07b merge from gcc 2003-12-22 16:03:32 +00:00
DJ Delorie 2730f65149 merge from gcc 2003-12-20 16:06:10 +00:00
DJ Delorie d4edd1123b merge from gcc 2003-12-19 22:03:41 +00:00