Commit Graph

104 Commits

Author SHA1 Message Date
Jan-Benedict Glaw abdef8eb90 Sync libiberty from GCC 2014-11-17 03:30:13 +01:00
Iain Buclaw b55f967878 Sync libiberty with upstream GCC.
include/ChangeLog
	* libiberty.h (PEX_STDOUT_APPEND): New flag.
	(PEX_STDERR_APPEND): Likewise.

	* demangle.h (DMGL_DLANG): New macro.
	(DMGL_STYLE_MASK): Add DMGL_DLANG.
	(demangling_styles): Add dlang_demangling.
	(DLANG_DEMANGLING_STYLE_STRING): New macro.
	(DLANG_DEMANGLING): New macro.
	(dlang_demangle): New prototype.

	* longlong.h: Add __udiv_w_sdiv prototype.

libiberty/ChangeLog
	* cp-demangle.c (d_substitution): Handle abi tags on abbreviation.

	* pex-common.h (struct pex_funcs): Add new parameter for open_write field.
	* pex-unix.c (pex_unix_open_write): Add support for new parameter.
	* pex-djgpp.c (pex_djgpp_open_write): Likewise.
	* pex-win32.c (pex_win32_open_write): Likewise.
	* pex-common.c (pex_run_in_environment): Likewise.

	* Makefile.in (CFILES): Add d-demangle.c.
	(REQUIRED_OFILES): Add d-demangle.o.
	* cplus-dem.c (libiberty_demanglers): Add dlang_demangling case.
	(cplus_demangle): Likewise.
	* d-demangle.c: New file.
	* testsuite/Makefile.in (really-check): Add check-d-demangle.
	* testsuite/d-demangle-expected: New file.

	* simple-object-elf.c (simple_object_elf_write_ehdr): Correctly
	handle objects with more than SHN_LORESERVE sections.
	(simple_object_elf_write_shdr): Add sh_link parameter.
	(simple_object_elf_write_to_file): Correctly handle objects with
	more than SHN_LORESERVE sections.

	* cp-demangle.c (d_dump): Only access field from s_fixed part of
	the union for DEMANGLE_COMPONENT_FIXED_TYPE.
	(d_count_templates_scopes): Likewise.

	* testsuite/demangler-fuzzer.c: New file.
	* testsuite/Makefile.in (fuzz-demangler): New rule.
	(demangler-fuzzer): Likewise.
	(mostlyclean): Clean up demangler fuzzer.
2014-10-11 10:29:10 +01:00
Thomas Schwinge 6e933ccc75 Fix test in libiberty/testsuite/demangle-expected.
libiberty/
	* testsuite/demangle-expected: Fix last commit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210803 138bc75d-0d04-0410-961f-82ee72b054a4
2014-05-28 23:06:43 +01:00
Andrew Burgess 0aaa9a3aa1 cplus-demangler, free resource after a failed call to gnu_special.
libiberty/
2014-05-14  Andrew Burgess  <aburgess@broadcom.com>

	* cplus-dmem.c (internal_cplus_demangle): Free any resources
	allocated by possible previous call to gnu_special.
	(squangle_mop_up): Reset pointers to NULL after calling free.
	* testsuite/demangle-expected: New test case.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210425 138bc75d-0d04-0410-961f-82ee72b054a4
2014-05-28 23:06:43 +01:00
gary 91662bad25 libiberty/ 2014-05-08 Gary Benson <gbenson@redhat.com>
* cp-demangle.c (struct d_component_stack): New structure.
	(struct d_print_info): New field component_stack.
	(d_print_init): Initialize the above.
	(d_print_comp_inner): Renamed from d_print_comp.
	Do not restore template stack if it would cause a loop.
	(d_print_comp): New function.
	* testsuite/demangle-expected: New test cases.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210205 138bc75d-0d04-0410-961f-82ee72b054a4
2014-05-08 10:18:30 -06:00
ccoutant 492e19d098 Fix demangler to handle conversion operators correctly.
libiberty/
	PR other/59195
	* cp-demangle.c (struct d_info_checkpoint): New struct.
	(struct d_print_info): Add current_template field.
	(d_operator_name): Set flag when processing a conversion
	operator.
	(cplus_demangle_type): When processing <template-args> for
	a conversion operator, backtrack if necessary.
	(d_expression_1): Renamed from d_expression.
	(d_expression): New wrapper around d_expression_1.
	(d_checkpoint): New function.
	(d_backtrack): New function.
	(d_print_init): Initialize current_template.
	(d_print_comp): Set current_template.
	(d_print_cast): Put current_template in scope for
	printing conversion operator name.
	(cplus_demangle_init_info): Initialize is_expression and
	is_conversion.
	* cp-demangle.h (struct d_info): Add is_expression and
	is_conversion fields.
	* testsuite/demangle-expected: New test cases.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205292 138bc75d-0d04-0410-961f-82ee72b054a4
2013-11-26 09:35:29 -07:00
gerald eec6550343 * testsuite/test-demangle.c: Include unistd.h.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204107 138bc75d-0d04-0410-961f-82ee72b054a4
2013-11-08 11:11:41 -07:00
gary 9548bbede5 libiberty/ 2013-10-25 Gary Benson <gbenson@redhat.com>
* cp-demangle.c (struct d_saved_scope): New structure.
	(struct d_print_info): New fields saved_scopes and
	num_saved_scopes.
	(d_print_init): Initialize the above.
	(d_print_free): New function.
	(cplus_demangle_print_callback): Call the above.
	(d_copy_templates): New function.
	(d_print_comp): New variables saved_templates and
	need_template_restore.
	[DEMANGLE_COMPONENT_REFERENCE,
	DEMANGLE_COMPONENT_RVALUE_REFERENCE]: Capture scope the first
	time the component is traversed, and use the captured scope for
	subsequent traversals.
	* testsuite/demangle-expected: Add regression test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204068 138bc75d-0d04-0410-961f-82ee72b054a4
2013-11-08 11:11:41 -07:00
gerald ae6da67e35 * testsuite/test-expandargv.c: Include unistd.h.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203993 138bc75d-0d04-0410-961f-82ee72b054a4
2013-11-08 11:11:40 -07:00
DJ Delorie 26505cc0c4 merge from gcc 2013-10-16 00:29:48 +00:00
DJ Delorie 53f94b92ee merge from gcc 2013-09-10 19:01:22 +00:00
DJ Delorie eabdca0f8d merge from gcc 2013-09-10 16:05:02 +00:00
DJ Delorie dcd7e9d6a5 merge from gcc 2013-04-04 01:03:01 +00:00
DJ Delorie 3a4d23392f merge from gcc 2013-04-03 18:21:49 +00:00
DJ Delorie a9c3ecea79 merge from gcc 2013-02-15 02:48:33 +00:00
DJ Delorie 1f3de044c6 merge from gcc 2012-11-11 22:37:30 +00:00
DJ Delorie 7c32896367 merge from gcc 2012-07-18 20:09:08 +00:00
DJ Delorie 67bf71fede merge from gcc 2012-05-22 18:05:41 +00:00
DJ Delorie 24e829d007 merge from gcc 2012-04-02 18:50:29 +00:00
DJ Delorie 4e3aa40890 merge from gcc 2012-03-08 00:01:31 +00:00
DJ Delorie fbfd63c0a6 merge from gcc 2012-01-10 18:15:34 +00:00
DJ Delorie eb7b5ddb8b merge from gcc 2012-01-06 22:04:43 +00:00
DJ Delorie f9fb0b2d9f merge from gcc 2011-10-10 21:02:57 +00:00
DJ Delorie 7955ede528 merge from gcc 2011-09-23 22:21:36 +00:00
DJ Delorie 6b6bd65aa5 merge from gcc 2011-08-06 18:40:27 +00:00
H.J. Lu 31ba042a69 Sync with gcc.
2011-07-26  H.J. Lu  <hongjiu.lu@intel.com>

	* testsuite/demangle-expected: Remove an extra line.
2011-07-31 19:57:23 +00:00
DJ Delorie 04aed65246 merge from gcc 2011-07-26 16:04:38 +00:00
DJ Delorie f2917a30d0 merge from gcc 2011-07-05 15:40:17 +00:00
Jan Kratochvil 02e7efbffb merge from gcc
libiberty/
	PR debug/49408
	* cp-demangle.c (d_print_comp): Suppress argument list for function
	references by the '&' unary operator.  Keep also already processed
	variant without the argument list.  Suppress argument list types for
	function call used in an expression.
	* testsuite/demangle-expected: Fix excessive argument list types in
	`test for typed function in decltype'.  New testcase for no argument
	list types printed.  3 new testcases for function references by the
	'&' unary operator..
2011-07-01 17:30:48 +00:00
DJ Delorie b24539b3f7 merge from gcc 2011-06-22 19:13:44 +00:00
DJ Delorie ddee5e46a4 merge from gcc 2011-06-13 23:01:48 +00:00
DJ Delorie a55c6f410e merge from gcc 2011-04-10 19:15:10 +00:00
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
DJ Delorie 6a44904e97 merge from gcc 2010-09-27 21:01:18 +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 0a5b531f15 merge from gcc 2010-05-26 18:16:19 +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 fbe5da0e6f merge from gcc 2010-02-04 17:08:54 +00:00
DJ Delorie cbc4312826 merge from gcc 2010-02-03 23:28:01 +00:00
DJ Delorie 6d390a9ef0 merge from gcc 2010-01-11 19:12:47 +00:00
DJ Delorie 79e3146812 merge from gcc 2009-10-09 04:49:52 +00:00
DJ Delorie 664aa91f58 merge from gcc 2009-10-02 18:23:01 +00:00
Nick Clifton 5d7aee1055 PR 10197
* testsuite/test-demangle.c: Rename getline to get_line to avoid
        conflicts with system function of the same name.
2009-06-16 12:44:35 +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 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