Commit Graph

663 Commits

Author SHA1 Message Date
Gabriel Dos Reis
e7590e9543 Fix missed replacements.
From-SVN: r98063
2005-04-13 01:02:40 +00:00
Gabriel Dos Reis
4cf88ac343 regex.c (wcs_re_match_2_internal, [...]): Replace not with negate.
* regex.c (wcs_re_match_2_internal, byte_re_match_2_internal):
        Replace not with negate.

From-SVN: r98062
2005-04-13 00:52:16 +00:00
Gabriel Dos Reis
1ff7682ce1 configure.ac: Check declarations for basename, ffs, asprintf, vasprintf.
* configure.ac: Check declarations for basename, ffs,
          asprintf, vasprintf.
        * configure: Regenerate.
        * config.in: Likewise.

From-SVN: r98022
2005-04-12 14:23:48 +00:00
Kaveh R. Ghazi
78a7dc9032 libiberty.h (fopen_unlocked, [...]): Provide prototypes for new functions.
include:
	* libiberty.h (fopen_unlocked, fdopen_unlocked, freopen_unlocked):
	Provide prototypes for new functions.

libiberty:
	* Makefile.in (CFILES): Add fopen_unlocked.c.
	(REQUIRED_OFILES): Add ./fopen_unlocked.o.
	Regenerate dependencies.

	* configure.ac: Check for stdio_ext.h and __fsetlocking.

	* fopen_unlocked.c: New file.

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

From-SVN: r97977
2005-04-11 17:49:47 +00:00
Ian Lance Taylor
2f84c996da test-pexecute.c (TEST_PEX_RUN): Move variable declaration before statement.
* testsuite/test-pexecute.c (TEST_PEX_RUN): Move variable
	declaration before statement.

From-SVN: r97576
2005-04-04 20:58:00 +00:00
Kaveh R. Ghazi
291387970d bcmp.c: Fix warnings and implement using memcmp.
* bcmp.c: Fix warnings and implement using memcmp.
	* bcopy.c: Fix warnings.
	* bzero.c: Fix warnings and implement using memset.

From-SVN: r97457
2005-04-02 20:28:00 +00:00
Kaveh R. Ghazi
f9a9ac80d6 configure.ac (ac_libiberty_warn_cflags): Add -Wwrite-strings -Wstrict-prototypes.
* configure.ac (ac_libiberty_warn_cflags): Add -Wwrite-strings
	-Wstrict-prototypes.
	* configure, config.in: Regenerate.

	* bsearch.c, index.c, rindex.c, strstr.c, strtol.c, waitpid.c: Fix
	warnings and reconcile interfaces with relevant standards.

From-SVN: r97456
2005-04-02 19:57:12 +00:00
Ian Lance Taylor
23ea4f4a80 * cp-demangle.c: Update copyright.
From-SVN: r97452
2005-04-02 17:17:02 +00:00
Joseph Myers
1e3a21000a gettimeofday.c: Add "Supplemental" to @deftypefn.
* gettimeofday.c: Add "Supplemental" to @deftypefn.
	* functions.texi: Regenerate.

From-SVN: r97331
2005-03-31 17:14:58 +01:00
Ian Lance Taylor
a584cf65fa pex-common.c: New file.
libiberty:
	* pex-common.c: New file.
	* pex-one.c: New file.
	* pexecute.c: New file.
	* pex-common.h: Include <stdio.h>.
	(struct pex_obj): Define.
	(struct pex_funcs): Define.
	(pex_init_common): Declare.
	* pex-unix.c: Rewrite.
	* pex-win32.c: Rewrite.
	* pex-djgpp.c: Rewrite.
	* pex-msdos.c: Rewrite.
	* testsuite/text-pexecute.c: New file.
	* pexecute.txh: Rewrite.
	* configure.ac: Check for wait3 and wait4.  Set CHECK to
	really-check rather than check-cplus-dem.
	* functions.texi: Rebuild.
	* Makefile.in: Rebuild dependencies.
	(CFILES): Add pexecute.c, pex-common.c, pex-one.c.
	(REQUIRED_OFILES): Add pexecute.o, pex-common.o, pex-one.o.
	* testsuite/Makefile.in (really-check): New target.
	(check-pexecute, test-pexecute): New targets.
	* configure: Rebuild.
include:
	* libiberty.h: Include <stdio.h>.
	(PEX_RECORD_TIMES, PEX_USE_PIPES, PEX_SAVE_TEMPS): Define.
	(PEX_LAST, PEX_SEARCH, PEX_SUFFIX, PEX_STDERR_TO_STDOUT): Define.
	(PEX_BINARY_INPUT, PEX_BINARY_OUTPUT): Define.
	(pex_init, pex_run, pex_read_output): Declare.
	(pex_get_status, pex_get_times, pex_free, pex_one): Declare.
	(struct pex_time): Define.

From-SVN: r97148
2005-03-29 02:08:46 +00:00
Mark Kettenis
93764b5b0a * unlink-if-ordinary.c: Include <sys/types.h>.
From-SVN: r97134
2005-03-28 12:17:02 -05:00
Gabriel Dos Reis
93079c819b xregex2.h (_RE_ARGS): Remove definition and uses.
include/
2005-03-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>

        * xregex2.h (_RE_ARGS): Remove definition and uses.

libiberty/
2005-03-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>

        Convert libiberty to use ISO C prototype style 7/n.
        * regex.c (PARAMS): Remove definition.
        (PREFIX): Unconditionaly define using ISO C ## operator.
        (init_syntax_once, extract_number, extract_number_and_incr,
        print_fastmap, print_partial_compiled_pattern,
        print_compiled_pattern, print_double_string, printchar,
        convert_mbs_to_wcs, re_set_syntax, regex_grow_registers,
        regex_compile, store_op1, store_op2, insert_op1, insert_op2,
        at_begline_loc_p, at_endline_p, group_in_compile_stack,
        insert_space, wcs_compile_range, byte_compile_range,
        truncate_wchar, re_compile_fastmap, re_compile_fastmap,
        re_set_registers, re_search, re_search_2, re_search_3,
        re_match,
        re_match_2, count_mbs_length, wcs_re_match_2_internal,
        byte_re_match_2_internal, group_match_null_string_p,
        alt_match_null_string_p, common_op_match_null_string_p,
        bcmp_translate, re_compile_pattern, re_comp, re_exec, regcomp,
        regexec, regerror, regfree): Use ISO C prototype style.
        * partition.c: (elem_compare): Likewise.
        * cp-demangle.c (print_usage): Likewise.

From-SVN: r97129
2005-03-28 08:34:12 +00:00
Gabriel Dos Reis
885f2199f3 partition.h: Remove use of PARAMS.
include/
2005-03-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>

        * partition.h: Remove use of PARAMS.
        * obstack.h: Remove conditional prototypes __STDC__.
        * objalloc.h:  Remove use of PARAMS.
        * splay-tree.h: Likewise.

libiberty/
2005-03-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>

        Convert libiberty to use ISO C prototype style 5/n.
        * random.c (srandom, initstate, setstate, random): Use ISO C
        prototypes.
        * putenv.c (putenv): Likewise.
        * physmem.c (physmem_available, physmem_total, main):
        Likewise.
        * pex-win32.c (fix_argv, pexecute, pwait): Likewise.
        * pex-unix.c (pexecute, pwait): Likewise.
        * pex-msdos.c (pexecute, pwait): Likewise.
        * pex-djgpp.c (pexecute, pwait): Likewise.
        * partition.c (partition_new, partition_delete,
        partition_union)
        (elem_compare, partition_print): Likewise.
        * obstack.c (_obstack_begin, _obstack_begin_1,
        _obstack_newchunk,
        _obstack_allocated_p, _obstack_free, obstack_free,
        _obstack_memory_used, print_and_abort, obstack_next_free,
        obstack_object_size, obstack_base): Likewise.  Remove codes
        predicated on !defined(__STDC__).
        * objalloc.c (objalloc_create, _objalloc_alloc, objalloc_free,
        objalloc_free_block): Use ISO C prototypes.
        * mkstemps.c (mkstemps): Likewise.
        * memset.c (memset): Likewise.
        * mempcpy.c (mempcpy): Likewise.
        * rename.c (rename): Likewise.
        * rindex.c (rindex): Likewise.
        * setenv.c (setenv, unsetenv): Likewise.
        * sigsetmask.c (sigsetmask): Likewise.
        * snprintf.c (snprintf): Likewise.
        * sort.c (sort_pointers, xmalloc): Likewise.
        * spaces.c (spaces): Likewise.
        * splay-tree.c (splay_tree_delete_helper,
        splay_tree_splay_helper, splay_tree_splay,
        splay_tree_foreach_helper, splay_tree_xmalloc_allocate,
        splay_tree_new, splay_tree_xmalloc_allocate,
        splay_tree_new_with_allocator, splay_tree_delete,
        splay_tree_insert, splay_tree_remove, splay_tree_lookup,
        splay_tree_max, splay_tree_min, splay_tree_predecessor,
        splay_tree_successor, splay_tree_foreach,
        splay_tree_compare_ints, splay_tree_compare_pointers):
        Likewise.
        * stpcpy.c (stpcpy): Likewise.
        * stpncpy.c (stpncpy): Likewise.
        * strcasecmp.c (strcasecmp): Likewise.
        * strchr.c (strchr): Likewise.
        * strdup.c (strdup): Likewise.

From-SVN: r97125
2005-03-28 04:22:33 +00:00
Gabriel Dos Reis
7a17ef5e63 ternary.h: Don't use PARAMS anymore.
include/
2005-03-27  Gabriel Dos Reis  <gdr@integreable-solutions.net>

        * ternary.h: Don't use PARAMS anymore.

libiberty/
2005-03-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>

        Convert libiberty to use ISO C prototype style 6/n.
        * strerror.c (init_error_tables, errno_max, strerror,
        strerrno,
        strtoerrno, main): Use ISO C prototype style.
        * strncasecmp.c (strncasecmp): Likewise.
        * strncmp.c (strncmp): Likewise.
        * strndup.c (strndup): Likewise.
        * strrchr.c (strrchr): Likewise.
        * strsignal.c (init_signal_tables, signo_max, strsignal,
        strsigno, strtosigno, psignal, main): Likewise.
        * strstr.c (strstr): Likewise.
        * strtod.c (strtod, atof): Likewise.
        * strtol.c (strtol): Likewise.
        * strtoul.c (strtoul): Likewise.
        * ternary.c (ternary_insert, ternary_cleanup, ternary_search,
        ternary_recursivesearch): Likewise.
        * tmpnam.c (tmpnam): Likewise.
        * unlink-if-ordinary.c (unlink_if_ordinary): Likewise.
        * vasprintf.c (int_vasprintf, vasprintf, checkit, main):
        Likewise.
        * vfork.c (vfork): Likewise.
        * vfprintf.c (vfprintf): Likewise.
        * vprintf.c (vprintf): Likewise.
        * vsnprintf.c (vsnprintf, checkit, main): Likewise.
        * vsprintf.c (vsprintf): Likewise.
        * waitpid.c (waitpid): Likewise.
        * xatexit.c (xatexit, xatexit_cleanup): Likewise.
        * xexit.c (xexit): Likewise.
        * xmalloc.c (xmalloc_set_program_name, xmalloc_failed,
        xmalloc,
        xcalloc, xrealloc): Likewise.
        * xmemdup.c (xmemdup): Likewise.
        * xstrdup.c (xstrdup): Likewise.
        * xstrerror.c (xstrerror): Likewise.
        * xstrndup.c (xstrndup): Likewise.

From-SVN: r97122
2005-03-28 01:28:01 +00:00
Andreas Jaeger
1134b11dcb configure.ac (ac_c_preproc_warn_flag): Remove -Wtraditional flags.
* configure.ac (ac_c_preproc_warn_flag): Remove -Wtraditional
	flags.
	* configure: Regenerated.

From-SVN: r97116
2005-03-27 21:27:31 +02:00
Gabriel Dos Reis
e78410c164 * getopt1.c (getopt_long_only): Fix thinko.
From-SVN: r97114
2005-03-27 17:13:15 +00:00
Gabriel Dos Reis
6da879de22 md5.h: Remove definition and uses of __P.
include/
2005-03-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* md5.h: Remove definition and uses of __P.
	* dyn-string.h: Remove uses of PARAMS.
	* fibheap.h: Likewise.
	* floatformat.h: Likewise.
	* hashtab.h: Likewise.

libiberty/

2005-03-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	Convert libiberty to use ISO C prototype style 4/n.
	* hashtab.c (higher_prime_index, hash_pointer, eq_pointer,
	htab_size, htab_elements, htab_mod_1, htab_mod, htab_mod_m2,
	htab_create_alloc, htab_set_functions_ex, htab_create,
	htab_try_create, htab_delete, htab_empty,
	find_empty_slot_for_expand, htab_expand, htab_find_with_hash,
	htab_find, htab_find_slot_with_hash, htab_find_slot,
	htab_remove_elt, htab_remove_elt_with_hash, htab_clear_slot,
	htab_traverse_noresize, htab_traverse, htab_collisions,
	htab_hash_string, iterative_hash): Use ISO C prototype.
	* hex.c (hex_init): Likewise.
	* index.c (index): Likewise.
	* insque.c (insque, remque): Likewise.
	* lbasename.c (lbasename): Likewise.
	* lrealpath.c (lrealpath): Likewise.
	* make-relative-prefix.c (save_string, split_directories,
	free_split_directories, make_relative_prefix): Likewise.
	* make-temp-file.c (try, choose_tmpdir, make_temp_file): Likewise.
	* md5.c (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
	md5_buffer, md5_process_bytes, md5_process_block): Likewise.
	* memchr.c (memchr): Likewise.
	* memcpy.c (memcpy): Likewise.
	* memmove.c (memmove): Likewise.
	* gettimeofday.c (gettimeofday): Likewise.
	* getruntime.c (get_run_time): Likewise.
	* getpwd.c (getpwd, getpwd): Likewise.
	* getpagesize.c (getpagesize): Likewise.
	* getopt1.c (getopt_long, getopt_long_only, main): Likewise.
	* getopt.c (my_index, exchange, _getopt_initialize,
	_getopt_internal, getopt, main): Likewise.
	* getcwd.c (getcwd): Likewise.
	* fnmatch.c (fnmatch): Likewise.
	* floatformat.c (floatformat_always_valid,
	floatformat_i387_ext_is_valid, get_field, floatformat_to_double,
	put_field, floatformat_from_double, floatformat_is_valid,
	ieee_test, main): Likewise.
	* fibheap.c (fibheap_new, fibnode_new, fibheap_compare,
	fibheap_comp_data, fibheap_insert, fibheap_min, fibheap_min_key,
	fibheap_union, fibheap_extract_min, fibheap_replace_key_data,
	fibheap_replace_key, fibheap_replace_data, fibheap_delete_node,
	fibheap_delete, fibheap_empty, fibheap_extr_min_node,
	fibheap_ins_root, fibheap_rem_root, fibheap_consolidate,
	fibheap_link, fibheap_cut, fibheap_cascading_cut,
	fibnode_insert_after, fibnode_remove): Likewise.
	* ffs.c (ffs): Likewise.
	* fdmatch.c (fdmatch): Likewise.
	* dyn-string.c (dyn_string_init, dyn_string_new,
	dyn_string_delete, dyn_string_release, dyn_string_resize,
	dyn_string_clear, dyn_string_copy, dyn_string_copy_cstr,
	dyn_string_prepend, dyn_string_prepend_cstr, dyn_string_insert,
	dyn_string_insert_cstr, dyn_string_insert_char,
	dyn_string_append, dyn_string_append_cstr,
	dyn_string_append_char, dyn_string_substring, dyn_string_eq):
	Likewise.

From-SVN: r97113
2005-03-27 15:31:13 +00:00
Gabriel Dos Reis
500d77012d Convert libiberty to use ISO C prototype style 3/n.
* cplus-dem.c (set_cplus_marker_for_demangling, consume_count,
        consume_count_with_underscores, code_for_qualifier,
        qualifier_string, demangle_qualifier, cplus_demangle_opname,
        cplus_mangle_opname, cplus_demangle_set_style,
        cplus_demangle_name_to_style, cplus_demangle, grow_vect,
        ada_demangle, internal_cplus_demangle, squangle_mop_up,
        work_stuff_copy_to_from, delete_non_B_K_work_stuff,
        delete_work_stuff, mop_up, demangle_signature,
        demangle_method_args, demangle_template_template_parm,
        demangle_expression, demangle_integral_value,
        demangle_real_value, demangle_template_value_parm,
        demangle_template, arm_pt, demangle_arm_hp_template,
        demangle_class_name, demangle_class,
        iterate_demangle_function,
        demangle_prefix, gnu_special, recursively_demangle,
        arm_special,
        demangle_qualified, get_count, do_type, demangle_fund_type,
        do_hpacc_template_const_value, do_hpacc_template_literal,
        snarf_numeric_literal, do_arg, remember_type, remember_Ktype,
        register_Btype, remember_Btype, forget_B_and_K_types,
        forget_types, demangle_args, demangle_nested_args,
        demangle_function_name, string_need, string_delete,
        string_init,
        string_clear, string_empty, string_append, string_appends,
        string_appendn, string_prepend, string_prepends,
        string_prependn,
        string_append_template_idx): Use ISO C prootype style.
        * cp-demint.c (cplus_demangle_fill_component,
        cplus_demangle_fill_builtin_type,
        cplus_demangle_fill_operator,
        cplus_demangle_v3_components): Likewise.

From-SVN: r97109
2005-03-27 05:00:12 +00:00
Gabriel Dos Reis
9486db4fb6 demangle.h: Remove uses of PARAMS.
include/
2005-03-26  Gabriel Dos Reis  <gdr@integrable-solutions.net>

        * demangle.h: Remove uses of PARAMS.

        * libiberty.h (ANSI_PROTOTYPES): Remove guard since
        ANSI_PROTOTYPES is always assumed.
        Remove uses of PARAMS throughout.

libiberty/
2005-03-26  Gabriel Dos Reis  <gdr@integrable-solutions.net>

        Convert libiberty to use ISO C prototype style 2/n.
        * cp-demangle.h: Remove uses of PARAMS.
        * cp-demangle.c: Likewise.
        (d_dump, cplus_demangle_fill_name,
        cplus_demangle_fill_extended_operator,
        cplus_demangle_fill_ctor,
        cplus_demangle_fill_dtor, d_make_empty, d_make_comp,
        d_make_name,
        d_make_builtin_type, d_make_operator,
        d_make_extended_operator,
        d_make_ctor, d_make_dtor, d_make_template_param, d_make_sub,
        cplus_demangle_mangled_name, has_return_type,
        is_ctor_dtor_or_conversion, d_encoding, d_name, d_nested_name,
        d_prefix, d_unqualified_name, d_source_name, d_number,
        d_identifier, d_operator_name, d_special_name, d_call_offset,
        d_ctor_dtor_name, cplus_demangle_type, d_cv_qualifiers,
        d_function_type, d_bare_function_type, d_class_enum_type,
        d_array_type, d_pointer_to_member_type, d_template_param,
        d_template_args, d_template_arg, d_expression, d_expr_primary,
        d_local_name, d_discriminator, d_add_substitution,
        d_substitution, d_print_resize, d_print_append_char,
        d_print_append_buffer, d_print_error, cplus_demangle_print,
        d_print_comp, d_print_java_identifier, d_print_mod_list,
        d_print_mod, d_print_function_type, d_print_array_type,
        d_print_expr_op, d_print_cast, cplus_demangle_init_info,
        d_demangle, __cxa_demangle, cplus_demangle_v3,
        java_demangle_v3,
        is_ctor_or_dtor, is_gnu_v3_mangled_ctor,
        is_gnu_v3_mangled_dtor,
        print_usage, main):

2005-03-26  Gabriel Dos Reis  <gdr@integrable-solutions.net>

        Convert libiberty to ISO C prototype style 1/n.
        * _doprnt.c: Remove conditional #include <varargs.h> on
        ANSI_PROTOTYPES as the latter is always assumed.
        (_doprnt, checkit, main): Use ISO C prototype.
        * alloca.c (find_stack_direction, C_alloca): Use ISO C
        prototype.
        * argv.c: Remove conditional #includes on ANSI_PROTOTYPES.
        (dupargv, freeargv, buildargv, main): Use ISO C prototype.
        * atexit.c (atexit): Likewise
        * asprintf.c: Remove conditional include on ANSI_PROTOTYPES.
        (asprintf): Use ISO C prototype.
        * basename.c (basename): Likewise
        * bcmp.c (bcmp): Likewise.
        * bcopy.c (bcopy): Likewise.
        * bzero.c (bzero): Likewise.
        * bsearch.c (bsearch): Likewise.  Improve const-correctness.
        * choose-temp.c (choose_temp_base): Likewise.
        * calloc.c: Remove conditional #include on ANSI_PROTOTYPES.
        (calloc): Use ISO C prototype.
        * clock.c (clock): Likewise.
        * concat.c: Remove conditional #include on ANSI_PROTOTYPES.
        (vconcat_length, vconcat_copy, concat_length, concat_copy,
        concat_copy2, concat, reconcat, main): Use ISO C prototype.
        * copysign.c (copysign): Likewise.

From-SVN: r97085
2005-03-26 19:24:33 +00:00
Kaveh R. Ghazi
17998b22b5 libiberty.h (xstrndup): Declare.
include:
	* libiberty.h (xstrndup): Declare.

libiberty:
	* Makefile.in (CFILES): Add strndup.c and xstrndup.c.
	(REQUIRED_OFILES): Add xstrndup.o.
	(CONFIGURED_OFILES): Add strndup.o.
	Regenerate dependencies.

	* configure.ac (funcs, AC_CHECK_FUNCS): Add strndup.

	* strndup.c, xstrndup.c: New.

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

From-SVN: r97034
2005-03-25 04:41:41 +00:00
Kaveh R. Ghazi
bb99744fd4 * xmemdup.c, xstrdup.c: Expose the tail call.
From-SVN: r97033
2005-03-25 04:05:12 +00:00
Mark Mitchell
17049f0bbb libiberty.h (gettimeofday): Declare.
* libiberty.h (gettimeofday): Declare.

	* configure.ac (funcs): Add gettimeofday.
	* configure: Regenerated.
	* gettimeofday.c: New file.
	* Makefile.in (CFILES): Add gettimeofday.
	(CONFIGURED_OFILES): Add gettimeofday.o.
	(./gettimeofday.o): New rule.

From-SVN: r96230
2005-03-10 00:57:10 +00:00
Ian Lance Taylor
6af8bd502d pex-os2.c: Remove.
* pex-os2.c: Remove.
	* configure.ac: Remove *-*-os2-emx* case when setting pexecute.
	* Makefile.in (CFILES): Remove pex-os2.c.
	(CONFIGURED_OFILES): Remove pex-os2.o.
	(pex-os2.o): Remove target.
	* configure: Rebuild.

From-SVN: r96211
2005-03-09 21:27:11 +00:00
Ian Lance Taylor
c80d391c3e mpw-config.in: Remove.
* mpw-config.in: Remove.
	* mpw-make.sed: Remove.
	* mpw.c: Remove.
	* Makefile.in (CFILES): Remove pex-mpw.c.
	(CONFIGURED_OFILES): Remove pex-mpw.o.
	(mpw.o, pex-mpw.o): Remove targets.
	* maint-tool (undoc): Remove reference to mpw.c.

From-SVN: r96043
2005-03-07 21:07:48 +00:00
DJ Delorie
b3df8be147 configure.ac (target_header_dir): vfork is a stub under djgpp.
* configure.ac (target_header_dir): vfork is a stub under djgpp.
* configure: Regenerated.

From-SVN: r95980
2005-03-06 12:41:16 -05:00
DJ Delorie
fe8ee922e3 configure.ac (target_header_dir): vfork is a stub under djgpp.
* configure.ac (target_header_dir): vfork is a stub under djgpp.
* configure: Regenerated.

From-SVN: r95979
2005-03-06 12:40:06 -05:00
Jan Beulich
c363985db8 libiberty.h: Declare unlink_if_ordinary.
include/
2005-03-01  Jan Beulich  <jbeulich@novell.com>

	* libiberty.h: Declare unlink_if_ordinary.

libiberty/
2005-03-01  Jan Beulich  <jbeulich@novell.com>

	* Makefile.in (CFILES): Add unlink-if-ordinary.c
	(REQUIRED_OFILES): Add unlink-if-ordinary.o.
	Add dependencies and rule for unlink-if-ordinary.o.
	* unlink-if-ordinary.c: New.

From-SVN: r95732
2005-03-01 09:23:26 +00:00
Ben Elliston
6a88516c9d hashtab.c (htab_find_slot_with_hash): Make function documentation clearer.
* hashtab.c (htab_find_slot_with_hash): Make function
	documentation clearer.

From-SVN: r95717
2005-03-01 12:03:02 +11:00
Jason Merrill
b8b3c655b0 cp-demangle.c (__cxa_demangle): Change resolution of ambiguous arguments.
* cp-demangle.c (__cxa_demangle): Change resolution of ambiguous
        arguments.

From-SVN: r94980
2005-02-13 01:58:20 -05:00
Tobias Schlüter
e88059909a hex.c (hex_value): Group 'unsigned int' together to get correct markup.
* hex.c (hex_value): Group 'unsigned int' together to get correct
markup.
* functions.texi: Regenerated.

From-SVN: r93196
2005-01-11 15:22:38 -05:00
H.J. Lu
24f2cabbff Makefile.in: Undo to 2004-12-17.
2004-12-27  H.J. Lu  <hongjiu.lu@intel.com>

	* Makefile.in: Undo to 2004-12-17.
	* aclocal.m4: Likewise.
	* config.table: Likewise.
	* configure.ac: Likewise.
	* maint-tool: Likewise.
	* configure: Likewise.

From-SVN: r92651
2004-12-27 13:00:12 -08:00
H.J. Lu
3d81559430 Add the missing ChangeLog entry.
From-SVN: r92409
2004-12-19 21:14:34 -08:00
H.J. Lu
ad49d8653b re PR bootstrap/19072 (--disable-static bootstrap failure)
2004-12-19  H.J. Lu  <hongjiu.lu@intel.com>

	PR bootstrap/19072
	* Makefile.in (enable_shared): New substitute.
	(LTTARGETLIB): New.
	(PREFIXTARGETLIB): New.
	(LTTESTLIB): New.
	(PREFIXTESTLIB): New.
	(CCLD): New.
	(LINK): New.
	($(TARGETLIB)): Use $(LINK) to create libraries and create
	targets by hand.
	($(TESTLIB)): Likewise.
	(mostlyclean): Don't remove .libs. Remove the libtool object
	directory.

	* config.table (enable_shared): Removed.

	* configure.ac (enable_static): Set to yes.
	(AC_PROG_LIBTOOL): Removed.
	(AM_DISABLE_SHARED): Uncommented.
	(AM_PROG_LIBTOOL): Likewise.
	(LIBOBJS): Add `./' to avoid VPATH.
	(LTLIBOBJS): Likewise.
	(enable_shared): Substitute.
	* configure: Regenerated.

From-SVN: r92406
2004-12-19 20:01:20 -08:00
H.J. Lu
207db768e9 Makefile.in (top_builddir): Set to `.'.
2004-12-18  H.J. Lu  <hongjiu.lu@intel.com>

	* Makefile.in (top_builddir): Set to `.'.
	(OUTPUT_OPTION): Removed.
	(LIBTOOL): New.
	(LTLIBOBJS): New.
	(EXTRA_LTOFILES): New.
	(FLAGS_TO_PASS): Add EXTRA_LTOFILES.
	(all): Remove stamp-picdir.
	(LTCOMPILE): New.
	(.c.lo): New rule.
	(REQUIRED_LTOFILES): New.
	(CONFIGURED_LTOFILES): New.
	($(TARGETLIB)): Check .libs for PIC object files. Depend on
	$(REQUIRED_LTOFILES) $(EXTRA_LTOFILES) $(LTLIBOBJS).
	(stamp-picdir): Completely removed.
	(maint-missing): Pass $(REQUIRED_LTOFILES)
	$(CONFIGURED_LTOFILES) instead of (REQUIRED_OFILES)
	$(CONFIGURED_OFILES)
	(maint-buildall): Depend on $(REQUIRED_LTOFILES)
	$(CONFIGURED_LTOFILES).
	(mostlyclean): Also remove *.lo .libs.
	Run "make maint-deps".

	* aclocal.m4: Include ../libtool.m4.

	* config.table: Don't check --enable-shared.

	* configure.ac (AC_PROG_LIBTOOL): Add.
	(AC_PROG_CC_C_O): Removed.
	(OUTPUT_OPTION): Removed.
	(NO_MINUS_C_MINUS_O): Removed.
	(ltpexecute): New substitute.
	(LIBOBJS): Cleanup.
	* configure: Regenerated.

	* maint-tool: Updated for .lo/libtool.

From-SVN: r92353
2004-12-18 08:43:38 -08:00
Ben Elliston
d49d090735 fibheap.h (struct fibnode): Only use unsigned long bitfields when __GNUC__ is defined and ints are less...
[include]
	* fibheap.h (struct fibnode): Only use unsigned long bitfields
	when __GNUC__ is defined and ints are less than 32-bits wide.
[libiberty]
	* configure.ac: Invoke AC_CHECK_SIZEOF for sizeof (int).
	* configure: Regenerate.
	* config.in: Likewise.

From-SVN: r92009
2004-12-11 08:25:00 +11:00
DJ Delorie
b180d5fb7b splay-tree.c (splay_tree_delete_helper): Redesign the logic so that recursion (and thus large stack space) is not needed.
* splay-tree.c (splay_tree_delete_helper): Redesign the logic so
that recursion (and thus large stack space) is not needed.

From-SVN: r91815
2004-12-07 15:01:17 -05:00
Matt Kraai
ecc30353f4 * pex-unix.c: Fix the spelling of longjmp.
From-SVN: r91507
2004-11-30 02:56:42 +00:00
Ian Lance Taylor
0b167d51ed re PR other/18623 (4 * libiberty local variables set but never used)
PR other/18623
	* cp-demangle.c (d_call_offset): Remove useless local variables
	offset and virtual_offset.
	* cplus-dem.c (ada_demangle): Remove useless local variable
	at_start_name.
	(demangle_template): Remove useless local variable start.

From-SVN: r91133
2004-11-24 02:19:10 +00:00
Roger Sayle
2d59754f6a objalloc.c, [...]: Include "config.h" before "ansidecl.h" to avoid redeclaration errors with...
* objalloc.c, strsignal.c, xstrerror.c: Include "config.h" before
	"ansidecl.h" to avoid redeclaration errors with native compilers.
	* regex.c: Protect config.h from multiple inclusion.

From-SVN: r90954
2004-11-20 02:44:34 +00:00
Mike Stump
6b66a9554f Revert Index->Manual Index until --no-split is removed...
From-SVN: r90584
2004-11-13 17:00:09 +00:00
Mike Stump
610784f0d1 * Makefile.in (libiberty.html): Fix html generation.
From-SVN: r90572
2004-11-13 06:34:59 +00:00
Mike Stump
ea27a39408 libiberty.texi (Index): Fix html generation with makeinfo by renaming this node to Manual Index.
* libiberty.texi (Index): Fix html generation with makeinfo by
        renaming this node to Manual Index.

From-SVN: r90571
2004-11-13 06:20:01 +00:00
Adam Nemet
626ff3dea7 * vasprintf.c: Accept __va_copy in addition to va_copy.
From-SVN: r87203
2004-09-08 21:29:42 +00:00
Paolo Bonzini
7b3ed47dad configure: Regenerate.
2004-09-03  Paolo Bonzini  <bonzini@gnu.org>

        * configure: Regenerate.

From-SVN: r87030
2004-09-03 06:52:06 +00:00
Paolo Bonzini
27cfe3106e configure.ac: Do not enable multilibs for build-side libiberty.
2004-09-02  Paolo Bonzini  <bonzini@gnu.org>

	* configure.ac: Do not enable multilibs for build-side libiberty.

From-SVN: r86959
2004-09-02 07:05:24 +00:00
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