Commit Graph

618 Commits

Author SHA1 Message Date
Danny Smith
50a2de961f * lrealpath.c (lrealpath): Add _WIN32 support.
From-SVN: r83853
2004-06-29 11:37:20 +00:00
Zack Weinberg
0cf614012f cp-demangle.h: Declare cplus_demangle_operators...
libiberty:
	* cp-demangle.h: Declare cplus_demangle_operators,
	cplus_demangle_builtin_types, cplus_demangle_mangled_name, and
	cplus_demangle_type as static if IN_GLIBCPP_V3.
libobjc:
	* encoding.c: Rename target_flags with a #define to avoid
	conflict with a prior declaration.

From-SVN: r83800
2004-06-28 17:52:45 +00:00
Ian Lance Taylor
5cd2906234 * testsuite/demangle-expected: Add test case.
From-SVN: r83799
2004-06-28 17:36:27 +00:00
Ian Lance Taylor
00a5aa9c30 re PR c++/16240 (g++ generates incorrect mangled name)
PR other/16240
	* cp-demangle.c (d_expr_primary): Check for a failure return from
	cplus_demangle_type.

From-SVN: r83791
2004-06-28 15:23:33 +00:00
Danny Smith
b47785f4ab * pex-win32.c (fix_argv): Expand comment.
From-SVN: r82482
2004-05-31 10:32:58 +00:00
Daniel Jacobowitz
54b2f3104e * Makefile.in: Add .NOEXPORT.
From-SVN: r82256
2004-05-25 19:37:02 +00:00
Douglas B Rupp
8fd583973e gcc.c (DELETE_IF_ORDINARY): New macro default definition.
* gcc.c (DELETE_IF_ORDINARY): New macro default definition.
	(delete_if_ordinary): Use above macro.
	* config/alpha/xm-vms.h (DELETE_IF_ORDINARY): New macro VMS definition.
	Update copyright.
	* doc/hostconfig.texi (DELETE_IF_ORDINARY): Document new macro.
	* libiberty/mkstemps.c (mkstemps) [VMS]: Remove special open option.
	 Update copyright.

From-SVN: r81290
2004-04-29 15:28:42 +00:00
Maciej W. Rozycki
6489430a36 configure.ac (UNSIGNED_64BIT_TYPE): Unquote the definition.
* configure.ac (UNSIGNED_64BIT_TYPE): Unquote the definition.
	* configure: Regenerate.

From-SVN: r81191
2004-04-26 14:21:49 +00:00
Richard Henderson
9bf3c9cc6d hashtab.c: Include limits.h, stdint.h, ansidecl.h.
* hashtab.c: Include limits.h, stdint.h, ansidecl.h.
        (CHAR_BIT): Provide default.
        (struct prime_ent, prime_tab): New.
        (higher_prime_index): Rename from higher_prime_number, return index.
        (htab_mod_1): New.
        (htab_mod, htab_mod_m2): Use it.
        (htab_create_alloc, htab_create_alloc_ex): Store prime index.
        (htab_expand): Likewise.
        * configure.ac: Check for stdint.h.
        (UNSIGNED_64BIT_TYPE): New define and checks to fill it in.
        * config.in, configure: Rebuild.

From-SVN: r81029
2004-04-22 10:35:44 -07:00
Ian Lance Taylor
80790b050f strerror.c: Include config.h...
* strerror.c: Include config.h, and redefine sys_nerr and
	sys_errlist, before including ansidecl.h and libiberty.h.

From-SVN: r80650
2004-04-13 19:46:01 +00:00
Jeff Law
7f96816adb hashtab.c (htab_remove_elt_with_hash): New function.
* hashtab.c (htab_remove_elt_with_hash): New function.
	(htab_remove_elt): Implement in terms of htab_remove_elt_with_hash.

	* hashtab.h (htab_remove_elt_with_hash): Prototype new function.

From-SVN: r80641
2004-04-13 08:48:56 -06:00
Richard Henderson
d9175b871c hashtab.c (htab_size): Move to top of file; mark inline.
* hashtab.c (htab_size): Move to top of file; mark inline.
        (htab_elements): Likewise.
        (htab_mod, htab_mod_m2): New.
        (htab_delete): Refactor htab->size and htab->entries.
        (htab_empty): Likewise.
        (find_empty_slot_for_expand): Use htab_size, htab_mod, htab_mod_m2.
        (htab_find_with_hash, htab_find_slot_with_hash): Likewise.
        (htab_clear_slot): Use htab_size, htab_elements.
        (htab_traverse_noresize, htab_traverse): Likewise.

From-SVN: r80278
2004-03-31 17:40:43 -08:00
Ian Lance Taylor
fed8129b15 pex-unix.c (pexecute): Use vfork instead of fork, with appropriate changes to make this safe.
* pex-unix.c (pexecute): Use vfork instead of fork, with
	appropriate changes to make this safe.
	* pex-common.h (STDERR_FILE_NO): Define.

From-SVN: r79617
2004-03-18 03:16:37 +00:00
Ian Lance Taylor
e8190aa2d4 Makefile.in: Clean up REQUIRED_OFILES and CONFIGURED_OFILES for an 80 column screen.
* Makefile.in: Clean up REQUIRED_OFILES and CONFIGURED_OFILES for
	an 80 column screen.  Run maint-deps.

From-SVN: r79616
2004-03-18 01:40:15 +00:00
Kelley Cook
a4f74b5884 configure.ac: Bump version to 2.59.
2004-03-09  Kelley Cook  <kcook@gcc.gnu.org>

	* configure.ac: Bump version to 2.59.  Apply suggested autoupdates.
	* acconfig.h: Delete redundant file.
	* config.in: Regenerate.
	* configure: Regenerate.

From-SVN: r79204
2004-03-09 23:02:47 +00:00
Hans-Peter Nilsson
3beb131556 * configure: Regenerate for config/accross.m4 correction.
From-SVN: r79147
2004-03-09 01:22:49 +00:00
Andreas Jaeger
688556b9a7 test-demangle.c: Include <string.h> and <stdlib.h> for prototypes.
* testsuite/test-demangle.c: Include <string.h> and <stdlib.h> for
	prototypes.
	(main): Initialize style.

From-SVN: r79062
2004-03-07 15:25:51 +01:00
Ian Lance Taylor
31058ee354 cp-demangle.h (enum d_builtin_type_print): Add D_PRINT_UNSIGNED...
* cp-demangle.h (enum d_builtin_type_print): Add D_PRINT_UNSIGNED,
	D_PRINT_UNSIGNED_LONG, D_PRINT_LONG_LONG,
	D_PRINT_UNSIGNED_LONG_LONG, D_PRINT_FLOAT.
	* cp-demangle.c (cplus_demangle_builtin_types): Change char and
	short types to D_PRINT_DEFAULT.  Change other integer types to use
	new D_PRINT_* values where appropriate.  Change float types to
	D_PRINT_FLOAT.
	(d_print_comp) [LITERAL, LITERAL_NEG]: Handle new D_PRINT_*
	values.
	* testsuite/demangle-expected: Adjust two test cases.

	* cp-demangle.c (d_print_function_type): Print a space before the
	parenthesis around the function type in more cases.
	* testsuite/demangle-expected: Adjust one test case.

From-SVN: r78421
2004-02-25 04:51:39 +00:00
Ian Lance Taylor
93f20626db cp-demangle.c (d_print_comp): Don't emit extra parentheses around a cast.
* cp-demangle.c (d_print_comp) [UNARY]: Don't emit extra
	parentheses around a cast.
	* testsuite/demangle-expected: Adjust two test cases to match new
	output.

From-SVN: r78416
2004-02-25 01:45:49 +00:00
Ian Lance Taylor
dbd6ec2bdc * cp-demangle.c (__cxa_demangle): Pass DMGL_PARAMS to d_demangle.
From-SVN: r78355
2004-02-24 06:42:26 +00:00
Ian Lance Taylor
80a19ac825 cp-demangle.c (d_print_comp): Don't push more than one of the same CV-qualifier on the top of the stack.
* cp-demangle.c (d_print_comp) [RESTRICT, VOLATILE, CONST]: Don't
	push more than one of the same CV-qualifier on the top of the
	stack.
	(d_print_comp) [ARRAY_TYPE]: If the array itself is CV-qualified,
	move the CV-qualifiers to apply to the element type instead.
	(d_print_array_type): When checking the modifiers, keep looking
	past ones which have been printed already.
	* testsuite/demangle-expected: Add three test cases.

From-SVN: r78354
2004-02-24 06:32:16 +00:00
Ian Lance Taylor
e8ed4ac21e cp-demangle.c (__cxa_demangle): Adjust last patch to handle empty string correctly.
* cp-demangle.c (__cxa_demangle): Adjust last patch to handle
	empty string correctly.

From-SVN: r78353
2004-02-24 04:02:22 +00:00
Ian Lance Taylor
4a368ffd95 cp-demangle.c (__cxa_demangle): It is not an error if status is not NULL.
2004-02-23  Ian Lance Taylor  <ian@wasabisystems.com>

	* cp-demangle.c (__cxa_demangle): It is not an error if status is
	not NULL.  It is an error if the mangled name is the same as a
	built-in type name.
	(main): If IN_GLIBCPP_V3 is defined, test __cxa_demangle rather
	than cplus_demangle_v3.

From-SVN: r78348
2004-02-24 02:49:24 +00:00
Ian Lance Taylor
8ad1c80ea8 dyn-string.c: Remove test of IN_LIBGCC2 and IN_GLIBCPP_V3 and the associated #define of...
* dyn-string.c: Remove test of IN_LIBGCC2 and IN_GLIBCPP_V3 and
	the associated #define of RETURN_ON_ALLOCATION_FAILURE.

From-SVN: r78347
2004-02-24 02:32:50 +00:00
Matt Kraai
ef2a223fbd regex.c: Include <ansidecl.h>.
* regex.c: Include <ansidecl.h>.
	(regcomp): Cast i to int.
	(regerror): Add ATTRIBUTE_UNUSED to parameter preg.

From-SVN: r77944
2004-02-17 01:59:42 +00:00
Ian Lance Taylor
5254fd7b55 configure.ac: Add m4_pattern_allow(LIBOBJS).
* configure.ac: Add m4_pattern_allow(LIBOBJS).
	* configure: Regenerate.

From-SVN: r76619
2004-01-26 04:44:11 +00:00
DJ Delorie
398b3debc4 Makefile.in: Convert to ./ throughout.
* Makefile.in: Convert to ./ throughout.  Rebuild dependencies
with explicit build rules.
(VPATH): Remove.
(.c.o): Poison.
* configure.ac (pexecute, LIBOBJS): Add ./ .
* maint-tool: Build dependencies with explicit rules.

From-SVN: r76366
2004-01-22 14:10:56 -05:00
Kazu Hirata
4e394293bf * strdup.c (strdup): Constify the argument.
From-SVN: r75929
2004-01-15 16:28:04 +00:00
Loren J. Rittle
0046e3428a * Makefile.in (distclean): Remove config.cache.
From-SVN: r75885
2004-01-14 21:27:28 +00:00
Daniel Jacobowitz
d4f3ce5cc0 cp-demangle.c (d_make_comp): DEMANGLE_COMPONENT_CONSTRUCTION_VTABLE takes two parameters.
* cp-demangle.c (d_make_comp): DEMANGLE_COMPONENT_CONSTRUCTION_VTABLE
	takes two parameters.
	* cp-demint.c (cplus_demangle_fill_component): Likewise.

From-SVN: r75819
2004-01-13 21:35:12 +00:00
Ian Lance Taylor
5e777af517 demangle.h (enum demangle_component_type): Define.
* demangle.h (enum demangle_component_type): Define.
	(struct demangle_operator_info): Declare.
	(struct demangle_builtin_type_info): Declare.
	(struct demangle_component): Define.
	(cplus_demangle_fill_component): Declare.
	(cplus_demangle_fill_name): Declare.
	(cplus_demangle_fill_builtin_type): Declare.
	(cplus_demangle_fill_operator): Declare.
	(cplus_demangle_fill_extended_operator): Declare.
	(cplus_demangle_fill_ctor, cplus_demangle_fill_dtor): Declare.
	(cplus_demangle_v3_components): Declare.
	(cplus_demangle_print): Declare.

	* cp-demangle.c: Include "cp-demangle.h".  If IN_GLIBCPP_V3 is
	defined, rename some functions which are to become static via
	#define.
	(CP_STATIC_IF_GLIBCPP_V3): Define.
	(struct d_operator_info): Move definition to cp-demangle.h, and
	rename to demangle_operator_info.  Change all uses.
	(enum d_builtin_type_print): Move definition to cp-demangle.h.
	(struct d_builtin_type_info): Move definition to cp-demangle.h,
	and rename to demangle_builtin_type_info.  Change all uses.
	(enum d_comp_type): Move definition to include/demangle.h, and
	rename to demangle_component_type, and change all enums to start
	with DEMANGLE_COMPONENT_ instead of D_.  Change all uses.
	(struct d_comp): Move definition to include/demangle.h, and rename
	to demangle_component.  Change all uses.
	(struct d_info): Move definition to cp-demangle.h.
	(cplus_demangle_fill_name): New function.
	(cplus_demangle_fill_extended_operator): New function.
	(cplus_demangle_fill_ctor): New function.
	(cplus_demangle_fill_dtor): New function.
	(d_make_empty): Remove type parameter.  Change all callers.
	(d_make_name): Use cplus_demangle_fill_name.
	(d_make_extended_operator): Use
	cplus_demangle_fill_extended_operator.
	(d_make_ctor): Use cplus_demangle_fill_ctor.
	(d_make_dtor): Use cplus_demangle_fill_dtor.
	(cplus_demangle_mangled_name): Rename from d_mangled_name.  Make
	non-static by default.  Change all callers.
	(cplus_demangle_operators): Rename from d_operators.  Change all
	uses.  Make non-static by default.  Add sentinel at end of array.
	(d_operator_name): Adjust initialization of high for new sentinel
	in cplus_demangle_operators.
	(cplus_demangle_builtin_types): Rename from d_builtin_types.
	Change all uses.  Make non-static by default.  Change initializer
	to use D_BUILTIN_TYPE_COUNT instead of magic number 26.
	(cplus_demangle_type): Rename from d_type.  Make non-static by
	default.  Change all callers.
	(cplus_demangle_init_info): Rename from d_init_info.  Make
	non-static by default.  Change all callers.
	* cp-demangle.h: New file.
	* cp-demint.c: New file.
	* Makefile.in: Rebuild dependencies.
	(CFILES): Add cp-demint.c.
	(REQUIRED_OFILES): Add cp-demint.o.

From-SVN: r75748
2004-01-12 19:46:31 +00:00
Kelley Cook
c31d56ed06 configure.in: Rename file to ...
2004-01-09  Kelley Cook  <kcook@gcc.gnu.org>

	* configure.in:  Rename file to ...
	* configure.ac:  ... this.
	* Makefile.in: Update a comment for above change.
	* README: Likewise.
	* config.in: Regenerate.

From-SVN: r75623
2004-01-10 02:17:41 +00:00
Ian Lance Taylor
e4796f1c88 cp-demangle.c (d_encoding): When DMGL_PARAMS is not set...
* cp-demangle.c (d_encoding): When DMGL_PARAMS is not set, strip
	CV-qualifiers from D_COMP_LOCAL_NAME right subtree.
	* cplus-dem.c (demangle_arm_hp_template): Set DMGL_PARAMS when
	demangling template parameters.
	* testsuite/test-demangle.c (fail): New static function.
	(main): Support new options in input file: --no-params,
	--is-v3-ctor, and --is-v3-dtor.
	* testsuite/demangle-expected: Add --no-params to most tests, and
	add the correct result when parameters are not demangled.  Add
	some simple tests for V3 constructor/destructor recognition.

From-SVN: r75336
2004-01-02 20:33:55 +00:00
Kaveh R. Ghazi
4d42522958 * cp-demangle.c (is_ctor_or_dtor): Fix error in last change.
From-SVN: r75030
2003-12-26 01:54:43 +00:00
Daniel Jacobowitz
6b309c6e57 re PR other/13272 (libiberty/lbasename.c has incorrect DIR_SEPARATOR)
PR debug/13272
	* Makefile.in (lbasename.o): Depend on filenames.h.
	* lbasename.c: Include "filenames.h" instead of defining
	its macros locally.

From-SVN: r74943
2003-12-22 19:21:37 +00:00
Ian Lance Taylor
2d6c4025cc cp-demangle.c (CP_DYNAMIC_ARRAYS): Define if compiler supports dynamic arrays.
* cp-demangle.c (CP_DYNAMIC_ARRAYS): Define if compiler supports
	dynamic arrays.
	(struct d_operator_info): Add len field.
	(struct d_builtin_type_info): Add len and java_len fields.
	(struct d_standard_sub_info): Add simple_len, full_len, and
	set_last_name_len fields.
	(struct d_comp): Add len field to s_string.
	(struct d_info): Add send, did_subs, and expansion fields.
	(d_append_string_constant): Define.
	(d_append_string): Remove.  Change all users to use
	d_append_string_constant or d_append_buffer instead.
	(d_make_sub): Add len parameter.  Change all callers.
	(d_name): Increase expansion when substituting std::.
	(d_unqualified_name): Increase expansion for an operator.
	(d_number): Don't use multiplication for negative numbers.
	(d_identifier): Make sure there are enough characters in the
	string for the specified length.  Adjust expansion for an
	anonymous namespace.
	(d_operators): Initialize len field.
	(d_special_name, d_ctor_dtor_name): Increase expansion.
	(d_builtin_types): Initialize len and java_len fields.
	(d_type): Increase expansion for a builtin type.
	(d_cv_qualifiers): Increase expansion for each qualifier.
	(d_bare_function_type): Decrease expansion when removing single
	void parameter.
	(d_template_param): Increment did_subs.
	(d_expression): Increase expansion for an operator.
	(d_expr_primary): Decrease expansion for a type we will print
	specially.
	(standard_subs): Initialize new fields.
	(d_substitution): Increment did_subs when doing a normal
	substitution.  Increase expansion for a special substitution.
	(d_print): Add estimate parameter.  Change all callers.
	(d_print_comp) [D_COMP_NAME]: Handle C++ case inline.
	(d_print_comp) [D_COMP_BINARY]: Use length to avoid strcmp call.
	(d_print_java_identifier): Rename from d_print_identifier.  Handle
	only Java case.  Change caller.
	(d_init_info): Change return type to void.  Change all callers.
	Initialize send, did_subs, and expansion fields.  Do not
	initialize comps and subs fields.
	(d_demangle): Ifdef CP_DYNAMIC_ARRAYS, allocate comps and subs
	arrays on stack.  Make an estimate of the length of the demangled
	name.  Ifdef CP_DEMANGLE_DEBUG, print estimation failures.
	(is_ctor_or_dtor): Ifdef CP_DYNAMIC_ARRAYS, allocate comps and
	subs arrays on stack.

From-SVN: r74933
2003-12-22 15:45:12 +00:00
Ian Lance Taylor
2307e075c1 cp-demangle.c (d_identifier): In Java mode, skip an optional '$' after the identifier.
* cp-demangle.c (d_identifier): In Java mode, skip an optional '$'
	after the identifier.
	* testsuite/demangle-expected: Add test case.

From-SVN: r74885
2003-12-20 15:53:06 +00:00
Ian Lance Taylor
a91d1af087 re PR c++/13447 (Another demangler problem with method cv-qualifiers)
Fix for PR c++/13447:
	* cp-demangle.c (enum d_comp_type): Add D_COMP_LOCAL_NAME.
	(d_dump, d_make_comp): Handle D_COMP_LOCAL_NAME.
	(is_ctor_dtor_or_conversion): Handle D_COMP_LOCAL_NAME like
	D_COMP_QUAL_NAME.
	(is_ctor_or_dtor): Likewise.
	(d_local_name): Use D_COMP_LOCAL_NAME rather than
	D_COMP_QUAL_NAME.
	(d_print_comp) [D_COMP_LOCAL_NAME]: New.
	(d_prinT_comp) [D_COMP_TYPED_NAME]: If the left tree is
	D_COMP_LOCAL_NAME, pull any qualifiers off its right subtree.
	(d_print_mod_list): Handle D_COMP_LOCAL_NAME.
	* testsuite/demangle-expected: Add two test cases.

	* cp-demangle.c (d_print_function_type): Clear the global modifier
	list when printing the modifiers, not just when printing the
	function parameters.
	* testsuite/demangle-expected: Add two test cases.

From-SVN: r74850
2003-12-19 21:14:35 +00:00
Ian Lance Taylor
cbc278f440 cp-demangle.c (d_print_function_type): Print the function parameters with no modifiers.
* cp-demangle.c (d_print_function_type): Print the function
	parameters with no modifiers.
	* testsuite/demangle-expected: Add test case.

From-SVN: r74652
2003-12-15 23:29:31 +00:00
Ian Lance Taylor
8d686df280 cp-demangle.c (d_demangle): If DMGL_PARAMS is not set, don't expect that we've read the entire string.
* cp-demangle.c (d_demangle): If DMGL_PARAMS is not set, don't
	expect that we've read the entire string.
	(is_ctor_or_dtor): Don't expect that we've read the entire
	string--reverse patch of 2003-11-29.

From-SVN: r74651
2003-12-15 23:18:49 +00:00
Brendan Kehoe
adf269c7af Makefile.in (floatformat.o): Add dependency on config.h to accompany change of 2003-12-03.
* libiberty/Makefile.in (floatformat.o): Add dependency on
config.h to accompany change of 2003-12-03.

From-SVN: r74641
2003-12-15 14:00:49 -05:00
Ian Lance Taylor
374caa503b Fix handling of constructor/destructor of standard substitution:
* cp-demangle.c (struct d_standard_sub_info): Define.
	(d_substitution): Add prefix argument.  Change all callers.
	Rework handling of standard substitutions to print full name when
	qualifying a constructor/destructor, or when DMGL_VERBOSE is set.
	* testsuite/demangle-expected: Add test case.

	Fix handling of negative literal constants:
	* cp-demangle.c (enum d_comp_type): Add D_COMP_LITERAL_NEG.
	(d_dump, d_make_comp): Handle D_COMP_LITERAL_NEG.
	(d_expr_primary): Use D_COMP_LITERAL_NEG for a negative number.
	(d_print_comp): Handle D_COMP_LITERAL_NEG.
	* testsuite/demangle-expected: Add test case.

From-SVN: r74632
2003-12-15 14:37:25 +00:00
Ian Lance Taylor
a51753e47f re PR other/13304 (demangler bad output, "operator<<" insteads of "operator< <")
* cp-demangle.c (IS_UPPER, IS_LOWER): Define.
	(d_last_char): Define new macro.
	(d_make_name): Reject an empty name.
	(d_prefix, d_unqualified_name, d_type): Use new IS_* macros.
	(d_substitution, d_print_identifier): Likewise.
	(d_print_comp) [D_COMP_OPERATOR]: Likewise.
	(d_print_comp) [D_COMP_TEMPLATE]: Use new d_last_char macro.
	(d_print_mod) Use new d_last_char macro.
	(d_print_cast): Use new d_last_char macro.
	(is_ctor_or_dtor): Don't leak memory.

	Fix handling of member function modifiers:
	* cp-demangle.c (enum d_comp_type): Add D_COMP_RESTRICT_THIS,
	D_COMP_VOLATILE_THIS, and D_COMP_CONST_THIS.
	(d_dump): Dump new d_comp_type values.
	(d_make_comp): Accept new d_comp_type values.
	(has_return_type): Only accept _THIS variants of qualifiers.
	(d_encoding): Without DMGL_PARAMS, only remove _THIS variants of
	qualifiers.
	(d_cv_qualifiers): Add member_fn parameter.  Change all callers.
	(d_print_comp) [D_COMP_TYPED_NAME]: Rather than removing
	qualifiers and printing them at the end, add _THIS qualifiers to
	the modifier list.
	(d_print_comp) [D_COMP_*_THIS]: New cases.
	(d_print_comp) [D_COMP_PTRMEM_TYPE]: Remove special handling of
	qualifiers.
	(d_print_mod_list): Add suffix parameter.  Change all callers.
	Keep walking the list even if the current modifier has been
	printed.
	(d_print_mod): Handle new _THIS qualifiers.
	(d_print_function_type): Handle new _THIS qualifiers when deciding
	whether to print a parenthesis.  Put a space before the
	parenthesis in some cases.  Call d_print_mod_list again at the
	end, passing suffix as 1.
	(is_ctor_or_dtor): Look for new _THIS qualifiers.
	* testsuite/demangle-expected: Add test case.

	Fix for PR gcc/13304:
	* cp-demangle.c (d_print_comp) [D_COMP_TEMPLATE]: If the character
	before the '<' is itself a '<', insert a space.
	(d_print_cast): Likewise.
	* testsuite/demangle-expected: Add test case.

	Fix for PR gcc/13244:
	* cp-demangle.c (d_print_comp) [D_COMP_BINARY]: Wrap an expression
	which uses the '>' operator in an extra layer of parens.
	* testsuite/demangle-expected: Add test case.

From-SVN: r74290
2003-12-04 19:48:44 +00:00
Ian Lance Taylor
bee6ab3e72 floatformat.c: Include "config.h" and <string.h> if available.
* floatformat.c: Include "config.h" and <string.h> if available.
	(INFINITY, NAN): Define if not defined by <math.h>.
	(floatformat_to_double): Handle NaN, infinity, and denormalized
	numbers.
	(floatformat_from_double): Likewise.
	(ieee_test): In debugging code, use little endian rather than big
	endian.  Correct tests to handle NaN and to check correct sign of
	zero.  Omit m68k extended test.
	(main): Add more debugging cases.

From-SVN: r74237
2003-12-03 18:36:50 +00:00
Ian Lance Taylor
f26deb3d44 cp-demangle.c (d_demangle): Only return success if we consumed the entire demangled string.
* cp-demangle.c (d_demangle): Only return success if we consumed
	the entire demangled string.
	(is_ctor_or_dtor): Likewise.

From-SVN: r74129
2003-12-01 22:04:04 +00:00
Ian Lance Taylor
be571b7758 demangle-expected: Revert one part of 2003-06-26 patch to restore expected result of EDG test case...
* testsuite/demangle-expected: Revert one part of 2003-06-26 patch
	to restore expected result of EDG test case to original expected
	result.

From-SVN: r74128
2003-12-01 22:03:16 +00:00
Ian Lance Taylor
81dc098b39 cp-demangle.c (struct d_print_mod): Add templates field.
* cp-demangle.c (struct d_print_mod): Add templates field.
	(d_make_builtin_type): Check for NULL type.
	(d_make_extended_operator): Check for NULL name.
	(d_make_ctor, d_make_dtor): Likewise.
	(d_mangled_name): Add top_level parameter.  Change all callers.
	(d_encoding): If DMGL_PARAMS is not set, strip off initial
	CV-qualifiers.
	(d_type): Check some return values we rely on.
	(d_bare_function_type, d_array_type): Likewise.
	(d_pointer_to_member_type, d_template_args): Likewise.
	(d_add_substitution): Fail if argument is NULL.
	(d_print_resize): Check whether buf is NULL.
	(d_print_comp): Save current templates list with each modifier.
	Don't pass the modifier list down when printing a template.
	(d_print_cast): Don't pass the modifier list down when printing a
	template.
	(d_print_mod_list): Temporarily set templates list while printing
	a modifier.
	(d_print_mod): Check that buf is not NULL before using it.
	(d_print_function_type): Print parens if there is no modifier.
	(d_init_info): Permit as many substitutions as there are
	characters in the mangled name.
	* testsuite/demangle-expected: Add two new test cases.

From-SVN: r73970
2003-11-26 23:33:05 +00:00
Ian Lance Taylor
eb459c81bf cp-demangle.c (java_demangle_v3): Pass DMGL_PARAMS to d_demangle.
* cp-demangle.c (java_demangle_v3): Pass DMGL_PARAMS to
	d_demangle.

From-SVN: r73931
2003-11-25 21:04:41 +00:00
Ian Lance Taylor
ad07f5e522 cp-demangle.c (d_encoding): Add top_level parameter.
* cp-demangle.c (d_encoding): Add top_level parameter.  Change all
	callers.
	(print_usage): Display new -p option.
	(long_options): Add --no-params.
	(main): Accept and handle -p.

From-SVN: r73884
2003-11-24 18:42:39 +00:00
Ian Lance Taylor
0ba5c8a2be cp-demangle.c (has_return_type): Skip qualifiers when checking whether we have a template.
* cp-demangle.c (has_return_type): Skip qualifiers when checking
	whether we have a template.
	* testsuite/demangle-expected: Add four new tests.

From-SVN: r73819
2003-11-21 21:34:55 +00:00
Ian Lance Taylor
9cca376f2d demangle-expected: Minor changes to match output of new demangler...
* testsuite/demangle-expected: Minor changes to match output of
	new demangler: adjust whitespace in four tests, and change order
	of qualifiers in one test.

From-SVN: r73813
2003-11-21 20:12:22 +00:00
Ian Lance Taylor
bd6946d1bf * cp-demangle.c: Complete rewrite.
From-SVN: r73788
2003-11-21 03:27:58 +00:00
Mark Mitchell
6df5a5c72a cp-demangle.c (demangle_type): Correct thinko in substitution processing.
* cp-demangle.c (demangle_type): Correct thinko in substitution
	processing.

From-SVN: r73751
2003-11-20 01:48:41 +00:00
Ian Lance Taylor
820555e6f9 cp-demangle.c (demangle_operator_name): Remove space before "sizeof".
* cp-demangle.c (demangle_operator_name): Remove space before
	"sizeof".
	(demangle_type_ptr): Put qualifiers in the right place.  Handle
	qualifiers in pointer to member specially.
	(demangle_type): Handle qualifiers for pointer or reference
	specially.  Handle function type.
	(demangle_local_name): Save and restore caret around demangling of
	initial encoding.

From-SVN: r73723
2003-11-19 04:06:50 +00:00
Ian Lance Taylor
c4328d32dd test-demangle.c (main): Don't pass DMGL_VERBOSE to cplus_demangle.
* testsuite/test-demangle.c (main): Don't pass DMGL_VERBOSE to
	cplus_demangle.

From-SVN: r73709
2003-11-18 18:29:30 +00:00
Ian Lance Taylor
a9b571f241 * testsuite/Makefile.in (test-demangle): Depend upon libiberty.a.
From-SVN: r73708
2003-11-18 18:29:02 +00:00
Andreas Jaeger
ad37274a97 * floatformat.c (floatformat_always_valid): Add unused attribute.
From-SVN: r73119
2003-10-31 06:29:37 +01:00
Josef Zlomek
27eb8ab145 Jan Hubicka <jh@suse.cz>
Jan Hubicka <jh@suse.cz>
	* vasprintf.c (int_vasprintf): Pass va_list by value.
	Use va_copy for copying va_list.
	(vasprintf): Pass va_list by value.

From-SVN: r73098
2003-10-30 20:18:13 +00:00
Josef Zlomek
e0432c1c14 hashtab.c (htab_find_slot_with_hash): Decrease n_deleted instead of increasing n_elements when inserting to deleted slot.
* hashtab.c (htab_find_slot_with_hash): Decrease n_deleted
	instead of increasing n_elements when inserting to deleted slot.

From-SVN: r73090
2003-10-30 17:00:51 +00:00
J. Brobecker
08c5b96d1b cplus-dem.c (demangle_template): Register a new Btype only when needed.
* cplus-dem.c (demangle_template): Register a new Btype only
        when needed.
        * testsuite/demangle-expected: Add a new test.

From-SVN: r72729
2003-10-20 23:21:30 +00:00
H.J. Lu
968e3f935b demangle-expected: Update the expected output of _GLOBAL__I__Z2fnv.
2003-10-16  H.J. Lu  <hongjiu.lu@intel.com>

	* testsuite/demangle-expected: Update the expected output of
	_GLOBAL__I__Z2fnv.

From-SVN: r72552
2003-10-16 08:23:11 -07:00
Daniel Jacobowitz
bca48dc625 strerror.c: Revert last change.
* strerror.c: Revert last change.  Declare static sys_nerr
	and sys_errlist using different names.

From-SVN: r72046
2003-10-02 19:06:29 +00:00
Daniel Jacobowitz
b9e8f4b38e strerror.c: Don't provide or reference sys_errlist if strerror is available.
* strerror.c: Don't provide or reference sys_errlist if
	strerror is available.

From-SVN: r72001
2003-10-01 23:12:37 +00:00
H.J. Lu
c0590bfdf1 configure.in: Check if $MAKEINFO is missing.
2003-10-01  H.J. Lu  <hongjiu.lu@intel.com>

	* configure.in: Check if $MAKEINFO is missing.
	* configure: Regenerated.

From-SVN: r71983
2003-10-01 10:11:29 -07:00
Daniel Jacobowitz
b033df9072 configure.in: Use AC_PROG_CPP_WERROR.
* configure.in: Use AC_PROG_CPP_WERROR.
	* configure: Regenerated.

From-SVN: r71775
2003-09-25 14:27:45 +00:00
Andrew Cagney
83c073429b floatformat.h (struct floatformat): Add field "is_valid".
2003-09-22  Andrew Cagney  <cagney@redhat.com>

	* floatformat.h (struct floatformat): Add field "is_valid".

2003-09-22  Andrew Cagney  <cagney@redhat.com>

	* floatformat.c (floatformat_i387_ext_is_valid): New function.
	(floatformat_always_valid): New function.
	(floatformat_i387_ext): Initialize new "is_valid" field to
	"floatformat_i387_ext_is_valid".
	(floatformat_ieee_single_little): Initialize "is_valid" field to
	floatformat_always_valid.
	(floatformat_ieee_double_big): Ditto.
	(floatformat_ieee_double_little): Ditto.
	(floatformat_ieee_double_little): Ditto.
	(floatformat_ieee_double_littlebyte_bigword): Ditto.
	(floatformat_i960_ext): Ditto.
	(floatformat_m88110_ext): Ditto.
	(floatformat_m88110_harris_ext): Ditto.
	(floatformat_arm_ext_big): Ditto.
	(floatformat_arm_ext_littlebyte_bigword): Ditto.
	(floatformat_ia64_spill_big): Ditto.
	(floatformat_ia64_spill_little): Ditto.
	(floatformat_ia64_quad_big): Ditto.
	(floatformat_ia64_quad_little): Ditto.
	(floatformat_ia64_quad_little): Ditto.
	(floatformat_is_valid): Call "is_valid".

From-SVN: r71659
2003-09-22 17:42:03 +00:00
Andrew Cagney
c9fbef12be Index: include/ChangeLog
2003-09-15  Andrew Cagney  <cagney@redhat.com>

	* floatformat.h (floatformat_to_double): Make input buffer constant.
	(floatformat_from_double, floatformat_is_valid): Ditto.

Index: libiberty/ChangeLog
2003-09-15  Andrew Cagney  <cagney@redhat.com>

	* floatformat.c (get_field): Make "data" constant.
	(floatformat_is_valid, floatformat_to_double): Make "from"
	constant, fix casts.
	(floatformat_from_double): Make "from" constant.

From-SVN: r71422
2003-09-16 01:51:07 +00:00
Daniel Jacobowitz
9c8860c370 floatformat.c (floatformat_is_valid): New function.
* floatformat.c (floatformat_is_valid): New function.
	(get_field, put_field): Correct comments.

From-SVN: r71405
2003-09-15 20:16:32 +00:00
Josef Zlomek
13f7d3a1c0 fibheap.c (fibheap_replace_key_data): Change type of OKEY to FIBHEAPKEY_T.
* fibheap.c (fibheap_replace_key_data): Change type of OKEY to
	FIBHEAPKEY_T.

From-SVN: r71129
2003-09-06 05:28:03 +00:00
DJ Delorie
03eec143ff ack, wrong date.
From-SVN: r71010
2003-09-02 19:29:34 -04:00
John David Anglin
86d7590652 re PR bootstrap/12100 (time.h:402: error: previous declaration of clock'evious declaration of clock')
2003-08-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
PR bootstrap/12100
* aclocal.m4 (AC_LANG_FUNC_LINK_TRY): Define.
* configure: Rebuilt.

From-SVN: r71009
2003-09-02 19:29:10 -04:00
Daniel Jacobowitz
238235effd aclocal.m4: Include acx.m4 and no-executables.m4.
* aclocal.m4: Include acx.m4 and no-executables.m4.
	(libiberty_AC_FUNC_STRNCMP): Use AC_LIBOBJ.
	(LIB_AC_PROG_CC): Remove.
	* configure.in: Update AC_PREREQ to 2.57.  Use GCC_NO_EXECUTABLES.
	Use AC_PROG_CC and set ac_libiberty_warn_cflags instead of using
	LIB_AC_PROG_CC.  Use AC_LIBOBJ.  Call AC_ISC_POSIX later, only if
	performing link tests.
	* configure: Regenerated.

From-SVN: r70860
2003-08-27 21:14:28 +00:00
Nathanael Nerode
2b81b2c970 * cp-demangle.c: Clarify what package(s) this is part of.
From-SVN: r70361
2003-08-12 06:58:17 +00:00
Danny Smith
7b96f3e460 pex-win32.c (pexecute): Mark parameters this_pname and temp_base as unused.
* pex-win32.c (pexecute): Mark parameters this_pname and
	temp_base as unused. Remove unused variables retries,
	sleep_interval. Initialize org_stdin, org_stdout.
	(pwait): Mark parameter flags as unused.

From-SVN: r68953
2003-07-05 00:52:07 +00:00
Danny Smith
bacb96b24f pex-win32.c (fix_argv): Ensure that the executable pathname uses Win32 backslashes.
2003-07-02  Danny Smith  <dannysmith@users.source.forge.net>

	* pex-win32.c (fix_argv): Ensure that the executable pathname
	uses Win32 backslashes.
	(pexecute): Cast away constness when assigning *errmsg_arg.

From-SVN: r68862
2003-07-03 04:21:13 +00:00
H.J. Lu
6f8507b13f demangle-expected: Add more GNU V3 testcases.
2003-06-26  H.J. Lu <hongjiu.lu@intel.com>

	* testsuite/demangle-expected: Add more GNU V3 testcases.

From-SVN: r68540
2003-06-26 12:09:56 -07:00
Zack Weinberg
21299dbda4 safe-ctype.h (HC_UNKNOWN, [...]): Rename to HOST_CHARSET_UNKNOWN...
include:
	* safe-ctype.h (HC_UNKNOWN, HC_ASCII, HC_EBCDIC): Rename to
	HOST_CHARSET_UNKNOWN, HOST_CHARSET_ASCII, HOST_CHARSET_EBCDIC
	respectively.
libiberty:
	* safe-ctype.c: Use HOST_CHARSET_ASCII and HOST_CHARSET_EBCDIC,
	not HC_ASCII and HC_EBCDIC.
	Add documentation in form expected by gather-docs.
	* hex.c: Use HOST_CHARSET, not hand-coded check of character set.
	* Makefile.in, functions.texi: Regenerate.
gcc:
	* config/i370/i370.c, config/i370/i370.h: Use HOST_CHARSET_ASCII
	and HOST_CHARSET_EBCDIC, not HC_ASCII and HC_EBCDIC.

From-SVN: r68335
2003-06-22 15:59:49 +00:00
Zack Weinberg
7468e0b523 safe-ctype.h (HC_UNKNOWN, [...]): New #defines.
include:
	* safe-ctype.h (HC_UNKNOWN, HC_ASCII, HC_EBCDIC, HOST_CHARSET):
	New #defines.
libiberty:
	* safe-ctype.c: Separate out EOF==-1 check.  Use HOST_CHARSET
	for charset determination.
gcc:
	* aclocal.m4 (gcc_AC_C_CHARSET): Delete.
	* configure.in: Don't use gcc_AC_C_CHARSET.
	* configure, config.in: Regenerate.
	* config/i370/i370.c, config/i370/i370.h: Use
	(HOST_CHARSET == HC_EBCDIC) or (HOST_CHARSET == HC_ASCII)
	instead of HOST_EBCDIC or !HOST_EBCDIC.  Clarify comments a tad.

From-SVN: r68317
2003-06-21 23:22:30 +00:00
Dara Hazeghi
cf8e4b7876 configure.in: Add check for malloc.h needed by m68k for function free().
* configure.in: Add check for malloc.h needed by
m68k for function free().
* configure: Regenerated.
* config.in: Add HAVE_MALLOC_H.
* hashtab.c: include malloc.h were available for
free().

From-SVN: r68213
2003-06-19 15:04:03 -04:00
Albert Chin-A-Young
aa9dc53d0d re PR bootstrap/10974 (Bootstrap failure)
PR bootstrap/10974
	* physmem.c: Update comment.
	* configure.in: Modify test for _system_configuration for older
	AIX systems.

	* config.in, configure: Regenerated.

From-SVN: r67649
2003-06-09 05:20:02 +00:00
John David Anglin
8191fe819a re PR other/10810 (gcc-3.3 fails make check: buffer overrun in test_demangle.c)
PR other/10810
	* test-demangle.c (getline): Fix fence-post error.

From-SVN: r67499
2003-06-05 16:38:22 +00:00
Nick Clifton
8d398258b5 asprintf.c: Change comment to note that -1 is returned upon error.
vasprintf.c: Likewise. (vasprintf): Return -1 upon error.
functions.texi: Document changes to asprintf and vasprintf.

From-SVN: r67395
2003-06-03 18:19:17 +00:00
Kelley Cook
29ad6d3f11 * config.table: Accept i[345867]86 variant.
From-SVN: r66986
2003-05-19 22:49:26 -04:00
Jim Blandy
49a19cfd34 hex.c (_hex_value): Make this unsigned.
libiberty/ChangeLog:
2003-05-14  Jim Blandy  <jimb@redhat.com>

	* hex.c (_hex_value): Make this unsigned.
	(hex_value): Update documentation for new return type.  hex_value
	now expands to an unsigned int expression, to avoid unexpected
	sign extension when we store it in a bfd_vma, which is larger than
	int on some platforms.
	* functions.texi: Regenerated.

include/ChangeLog:
2003-05-14  Jim Blandy  <jimb@redhat.com>

	* libiberty.h (hex_value): Make the value an unsigned int, to
	avoid unexpected sign-extension when cast to unsigned types larger
	than int --- like bfd_vma, on some platforms.
	(_hex_value): Update declaration.

From-SVN: r66840
2003-05-15 19:02:13 +00:00
Jason Merrill
9d70d418db s/burtle/iterative
From-SVN: r66577
2003-05-07 16:30:32 -04:00
Josef Zlomek
d5d4eae28d splay-tree.c (splay_tree_predecessor): Fix comment.
* splay-tree.c (splay_tree_predecessor): Fix comment.
	(splay_tree_successor): Fix comment.

From-SVN: r66569
2003-05-07 18:19:36 +00:00
Jason Merrill
5cc5a0d00d hashtab.c (burtle_hash): New fn.
libiberty/
        * hashtab.c (burtle_hash): New fn.
        * configure.in: Add AC_C_BIGENDIAN_CROSS.
        * aclocal.m4: Include accross.m4.
        * configure, config.in: Regenerate.
include/
        * hashtab.h (burtle_hash): Prototype.
        (burtle_hash_object): New macro.

From-SVN: r66565
2003-05-07 14:07:58 -04:00
Kaveh R. Ghazi
05c30f2224 configure.in (AC_CHECK_FUNCS): Don't make multiple calls.
* configure.in (AC_CHECK_FUNCS): Don't make multiple calls.
	* configure: Regenerate.

From-SVN: r66467
2003-05-04 22:14:18 +00:00
Carlo Wood
41fe940407 cp-demangle.c: Fix typo in "char_traints" string-literal.
2003-05-03  Carlo Wood  <carlo@alinoe.com>

	* cp-demangle.c: Fix typo in "char_traints" string-literal.

From-SVN: r66427
2003-05-03 14:09:35 +00:00
Kaveh R. Ghazi
52dd322420 vsnprintf.c (vsnprintf): Don't pad string with extra nulls.
* vsnprintf.c (vsnprintf): Don't pad string with extra nulls.
	(main): Test that we don't write too much data.

From-SVN: r65955
2003-04-22 19:58:57 +00:00
Kaveh R. Ghazi
bd3fbc6b72 configure.in (funcs, [...]): Add snprintf and vsnprintf.
* configure.in (funcs, AC_CHECK_FUNCS): Add snprintf and
	vsnprintf.
	* snprintf.c, vsnprintf.c: New files.
	* Makefile.in (CFILES): Add snprintf.c and vsnprintf.c.
	(CONFIGURED_OFILES): Add snprintf.o and vsnprintf.o.
	Regenerate dependencies.

	* functions.texi, configure, config.in: Regenerated.

From-SVN: r65704
2003-04-16 22:42:07 +00:00
Kaveh Ghazi
733340fb05 Fix typo in last checkin.
From-SVN: r65676
2003-04-16 04:42:38 +00:00
Kaveh R. Ghazi
029bcc09d2 mempcpy.c, [...]: New files.
* mempcpy.c, stpcpy.c, stpncpy.c: New files.
	* configure.in (funcs, AC_CHECK_FUNCS): Add mempcpy, stpcpy
	and stpncpy.
	* Makefile.in (CFILES): Add mempcpy.c, stpcpy.c and stpncpy.c.
	(CONFIGURED_OFILES): Add mempcpy.o, stpcpy.o and stpncpy.o.
	Regenerate dependencies.

	* functions.texi, configure, config.in: Regenerated.

From-SVN: r65674
2003-04-16 02:56:46 +00:00
Kaveh R. Ghazi
c9ac9147cf argv.c: Fix comments.
* argv.c: Fix comments.
	* calloc.c: Don't unnecessarily include "libiberty.h".
	(bzero): Add prototype.
	* floatformat.c: Include "ansidecl.h", rely on ANSI_PROTOTYPES.
	* getcwd.c (getcwd): Use standard definition to avoid conflicts
	with system headers.
	* hashtab.c (htab_traverse): Delete unused variables.
	* rename.c: Include "ansidecl.h".
	(rename): Use standard definition to avoid conflicts with system
	headers.
	* strsignal.c: Rely on ANSI_PROTOTYPES.
	* strstr.c: Check GNUC >= 2, not GNUC == 2.
	* vfprintf.c: Include "ansidecl.h", rely on ANSI_PROTOTYPES.
	* vprintf.c: Include "ansidecl.h" earlier, rely on
	ANSI_PROTOTYPES.
	* vsprintf.c: Include "ansidecl.h" earlier, rely on
	ANSI_PROTOTYPES and possibly include <stdarg.h>.

	* Makefile.in: Regenerate dependencies.

From-SVN: r65659
2003-04-15 20:36:33 +00:00
DJ Delorie
98475c572e * maint-tool (deps): Scan for headers in $srcdir also.
From-SVN: r65653
2003-04-15 15:21:38 -04:00
Kaveh R. Ghazi
55adc7bd57 re PR target/10338 ([3.3 regression?] [Cygwin -> tic4x | avr] cross target compilation error)
gcc:
	PR target/10338
	PR bootstrap/10198
	PR bootstrap/10140
	* fixinc/gnu-regex.c (regerror): Use mempcpy not __mempcpy.

libiberty:
	PR target/10338
	PR bootstrap/10198
	PR bootstrap/10140
	* getopt.c (exchange, _getopt_initialize): Use mempcpy not
	__mempcpy.
	* regex.c (regerror): Likewise.

From-SVN: r65634
2003-04-15 14:24:26 +00:00
Roger Sayle
0ae0f1b084 argv.c: Use ANSI_PROTOTYPES instead of __STDC__.
* argv.c: Use ANSI_PROTOTYPES instead of __STDC__.
	* memchr.c: Likewise.
	* strcasecmp.c: Likewise.
	* strncasecmp.c: Likewise.
	* strncmp.c: Likewise.
	* xatexit.c: Likewise.
	* xmalloc.c: Likewise.

	* copysign.c: Use traditional function declaration instead of DEFUN.
	* sigsetmask.c: Likewise.

	* memcmp.c: Both of the above, ANSI_PROTOTYPES and DEFUN.
	* memset.c: Likewise.

	* memcpy.c: ANSI_PROTOTYPES, DEFUN and prototype bcopy.
	* memmove.c: Likewise.

From-SVN: r65619
2003-04-15 03:35:47 +00:00
Roger Sayle
88702c45a6 * strdup.c (strdup): Tweak implementation to use memcpy.
From-SVN: r65616
2003-04-15 02:11:43 +00:00
Kaveh R. Ghazi
39e8d04986 configure.in (HAVE_UINTPTR_T): Always define.
* configure.in (HAVE_UINTPTR_T): Always define.
	* configure: Regenerated.

From-SVN: r65574
2003-04-14 14:29:14 +00:00
Alexandre Oliva
9f2e060862 Makefile.in (MULTIOSDIR): New macro.
* Makefile.in (MULTIOSDIR): New macro.  Use $(CC) $(LIBCFLAGS)
instead of $$CC alone.
(install_to_tooldir): Use it.

From-SVN: r64745
2003-03-23 10:15:50 +00:00