4 * configure: Regenerated.
8 * Makefile.in (AR): Add @AR_PLUGIN_OPTION@
9 (RANLIB): Add @RANLIB_PLUGIN_OPTION@.
10 (configure_deps): Depend on ../config/gcc-plugin.m4.
11 * aclocal.m4: Include ../config/gcc-plugin.m4.
12 * configure.ac: AC_SUBST AR_PLUGIN_OPTION and
14 * configure: Regenerated.
18 * strverscmp.c: Convert to utf8 from iso8859.
23 * cp-demangle.h (struct d_info): Add unresolved_name_state.
24 * cp-demangle.c (d_prefix): Add subst parm.
25 (d_nested_name): Pass it.
26 (d_unresolved_name): Split out from...
27 (d_expression_1): ...here.
28 (d_demangle_callback): Maybe retry with old sr mangling.
29 * testsuite/demangle-expected: Add test.
33 * cp-demangle.c (d_expression_1): Recognize qualified-id
35 * testsuite/demangle-expected: Add test.
39 * cp-demangle.c (d_unqualified_name): Clear is_expression.
40 * testsuite/demangle-expected: Add tests.
44 * configure: Regenerate.
45 * configure.ac: Avoid using sanitizer.
49 * rust-demangle.c (struct rust_demangler): Add
50 skipping_printing and bound_lifetime_depth fields.
52 (parse_integer_62): Add (v0-only).
53 (parse_opt_integer_62): Add (v0-only).
54 (parse_disambiguator): Add (v0-only).
55 (struct rust_mangled_ident): Add punycode{,_len} fields.
56 (parse_ident): Support v0 identifiers.
57 (print_str): Respect skipping_printing.
58 (print_uint64): Add (v0-only).
59 (print_uint64_hex): Add (v0-only).
60 (print_ident): Respect skipping_printing,
61 Support v0 identifiers.
62 (print_lifetime_from_index): Add (v0-only).
63 (demangle_binder): Add (v0-only).
64 (demangle_path): Add (v0-only).
65 (demangle_generic_arg): Add (v0-only).
66 (demangle_type): Add (v0-only).
67 (demangle_path_maybe_open_generics): Add (v0-only).
68 (demangle_dyn_trait): Add (v0-only).
69 (demangle_const): Add (v0-only).
70 (demangle_const_uint): Add (v0-only).
71 (basic_type): Add (v0-only).
72 (rust_demangle_callback): Support v0 symbols.
73 * testsuite/rust-demangle-expected: Add v0 testcases.
77 * strstr.c (strstr): Make implementation ANSI/POSIX compliant.
82 * cp-demangle.c (d_print_comp_inner)
83 <case DEMANGLE_COMPONENT_EXTENDED_OPERATOR>: Don't print the
84 "operator " prefix for __alignof__.
85 <case DEMANGLE_COMPONENT_UNARY>: Always print parens around the
86 operand of __alignof__.
87 * testsuite/demangle-expected: Test demangling for __alignof__.
91 * pex-win32.c (pex_win32_exec_child): Initialize orig_err.
96 * simple-object-elf.c (simple_object_elf_copy_lto_debug_sections):
97 Use sh_link of a .symtab_shndx section.
101 * dwarfnames.c (get_DW_UT_name): Define using DW_UT_FIRST, DW_UT
106 * floatformat.c (floatformat_bfloat16_big): New.
107 (floatformat_bfloat16_little): New.
111 * d-demangle.c: Include limits.h.
112 (ULONG_MAX, UINT_MAX): Provide fall-back definition.
113 (dlang_number): Simplify and correct overflow test. Only
114 write *ret on returning non-NULL. Make "ret" an unsigned long*.
115 Only succeed for result of [0,UINT_MAX].
116 (dlang_decode_backref): Simplify and correct overflow test.
117 Only write *ret on returning non-NULL. Only succeed for
119 (dlang_backref): Remove now unnecessary range check.
120 (dlang_symbol_name_p): Likewise.
121 (string_need): Take a size_t n arg, and use size_t tem.
122 (string_append): Use size_t n.
123 (string_appendn, string_prependn): Take a size_t n arg.
124 (TEMPLATE_LENGTH_UNKNOWN): Define as -1UL.
125 (dlang_lname, dlang_parse_template): Take an unsigned long len
127 (dlang_symbol_backref, dlang_identifier, dlang_parse_integer),
128 (dlang_parse_integer, dlang_parse_string),
129 (dlang_parse_arrayliteral, dlang_parse_assocarray),
130 (dlang_parse_structlit, dlang_parse_tuple),
131 (dlang_template_symbol_param, dlang_template_args): Use
132 unsigned long variables.
133 * testsuite/d-demangle-expected: Add new tests.
137 * d-demangle.c (dlang_function_args): Handle 'in' and 'in ref'
138 parameter storage classes.
139 (dlang_type): Remove identifier type.
140 * testsuite/d-demangle-expected: Update tests.
145 * simple-object-elf.c
146 (simple_object_elf_copy_lto_debug_sections): Localize global
147 UNDEFs and reuse the prevailing name.
152 * configure: Regenerated.
157 * cp-demangle.c (d_lambda): Don't add substitution candidate.
158 * testsuite/demangle-expected: Update a few existing test cases
159 accordingly, and add a new test case.
163 * cp-demangle.c (cplus_demangle_operators): Add di, dx, dX.
164 (d_expression_1): Handle di and dX.
165 (is_designated_init, d_maybe_print_designated_init): New.
166 (d_print_comp_inner): Use d_maybe_print_designated_init.
167 * testsuite/demangle-expected: Add designator tests.
171 * bsearch.c (bsearch): Remove use of register keyword.
172 * bsearch_r.c (bsearch_r): Likewise.
176 * bsearch_r.c: New file.
177 * Makefile.in (CFILES): Add bsearch_r.c.
178 (REQUIRED_OFILES): Add bsearch_r.o.
179 * functions.texi: Regenerate.
184 * configure: Regenerated.
188 * d-demangle.c (dlang_attributes): Add @live attribute.
189 * testsuite/d-demangle-expected: Add new tests.
194 * d-demangle.c (enum dlang_symbol_kinds): Remove enum.
195 (struct dlang_info): New struct
196 (dlang_decode_backref): New function.
197 (dlang_backref): New function.
198 (dlang_symbol_backref): New function.
199 (dlang_type_backref): New function.
200 (dlang_symbol_name_p): New function.
201 (dlang_function_type_noreturn): New function.
202 (dlang_function_type): Add 'info' parameter. Decode function type
203 with dlang_function_type_noreturn.
204 (dlang_function_args): Add 'info' parameter.
205 (dlang_type): Add 'info' parameter. Handle back referenced types.
206 (dlang_identifier): Replace 'kind' parameter with 'info'. Handle back
207 referenced symbols. Split off decoding of plain identifiers to...
208 (dlang_lname): ...here.
209 (dlang_parse_mangle): Replace 'kind' parameter with 'info'. Decode
210 function type and return with dlang_type.
211 (dlang_parse_qualified): Replace 'kind' parameter with 'info', add
212 'suffix_modifier' parameter. Decode function type with
213 dlang_function_type_noreturn.
214 (dlang_parse_tuple): Add 'info' parameter.
215 (dlang_template_symbol_param): New function.
216 (dlang_template_args): Add 'info' parameter. Decode symbol parameter
217 with dlang_template_symbol_param. Handle back referenced values, and
218 externally mangled parameters.
219 (dlang_parse_template): Add 'info' parameter.
220 (dlang_demangle_init_info): New function.
221 (dlang_demangle): Initialize and pass 'info' parameter.
222 * testsuite/d-demangle-expected: Add new tests.
227 * configure: Regenerated.
232 * configure: Regenerated.
237 * cp-demangle.c (cplus_demangle_operators): Add ss <=> operator.
238 * testsuite/demangle-expected: Add operator<=> test.
243 * Makefile.in (COMPILE.c): Add @CET_HOST_FLAGS@.
244 (configure_deps): Add $(srcdir)/../config/cet.m4 and
245 $(srcdir)/../config/enable.m4.
246 * aclocal.m4: Include ../config/cet.m4 and ../config/enable.m4.
247 * configure.ac: Add GCC_CET_HOST_FLAGS(CET_HOST_FLAGS) and
248 AC_SUBST(CET_HOST_FLAGS).
249 * configure: Regenerated.
253 * simple-object.c (handle_lto_debug_sections): Name
254 ".GCC.command.line" among debug sections to be copied over
259 * testsuite/demangle-expected: Update expected demangling of
265 * simple-object.c (handle_lto_debug_sections): Also copy
266 .note.gnu.property section.
273 * configure: Regenerated.
277 * hashtab.c (htab_remove_elt): Make a parameter const.
278 (htab_remove_elt_with_hash): Likewise.
282 * argv.c (writeargv): Output empty args as "".
286 Update copyright years.
290 * make-relative-prefix.c (split_directories):
291 Return early on empty 'name'
295 * cp-demangle.c (d_print_init): Remove const from 4th param.
296 (cplus_demangle_fill_name): Initialize d->d_counting.
297 (cplus_demangle_fill_extended_operator): Likewise.
298 (cplus_demangle_fill_ctor): Likewise.
299 (cplus_demangle_fill_dtor): Likewise.
300 (d_make_empty): Likewise.
301 (d_count_templates_scopes): Remobe const from 3rd param,
302 Return on dc->d_counting > 1,
303 Increment dc->d_counting.
304 * cp-demint.c (cplus_demangle_fill_component): Initialize d->d_counting.
305 (cplus_demangle_fill_builtin_type): Likewise.
306 (cplus_demangle_fill_operator): Likewise.
310 * cplus-dem.c (cplus_demangle): Use rust_demangle directly.
311 (rust_demangle): Remove.
312 * rust-demangle.c (is_prefixed_hash): Rename to is_legacy_prefixed_hash.
313 (parse_lower_hex_nibble): Rename to decode_lower_hex_nibble.
314 (parse_legacy_escape): Rename to decode_legacy_escape.
315 (rust_is_mangled): Remove.
316 (struct rust_demangler): Add.
319 (struct rust_mangled_ident): Add.
321 (rust_demangle_sym): Remove.
325 (rust_demangle_callback): Add.
326 (struct str_buf): Add.
327 (str_buf_reserve): Add.
328 (str_buf_append): Add.
329 (str_buf_demangle_callback): Add.
330 (rust_demangle): Add.
331 * rust-demangle.h: Remove.
335 * testsuite/demangle-expected: Fix test.
339 * cp-demangle.c (d_expr_primary): Handle
341 * testsuite/demangle-expected: Added test.
345 * cp-demangle.c (d_number): Avoid signed int overflow.
349 * cp-demangle.c (d_print_mod): Add a space before printing `complex`
350 and `imaginary`, as opposed to after.
351 * testsuite/demangle-expected: Adjust test.
355 * rust-demangle.c (looks_like_rust): Remove.
356 (rust_is_mangled): Don't check escapes.
357 (is_prefixed_hash): Allow 0-9a-f permutations.
358 (rust_demangle_sym): Don't bail on unknown escapes.
359 * testsuite/rust-demangle-expected: Update 'main::$99$' test.
363 * rust-demangle.c (unescape): Remove.
364 (parse_lower_hex_nibble): New function.
365 (parse_legacy_escape): New function.
366 (is_prefixed_hash): Use parse_lower_hex_nibble.
367 (looks_like_rust): Use parse_legacy_escape.
368 (rust_demangle_sym): Use parse_legacy_escape.
369 * testsuite/rust-demangle-expected: Add 'llv$u6d$' test.
374 * simple-object-elf.c (simple_object_elf_copy_lto_debug_sections):
375 First find a WEAK HIDDEN symbol in symbol table that will be
376 preserved. Later, use the symbol name for all removed symbols.
380 * Makefile.in: Add filedescriptor.c.
381 * filedescriptor.c: New file.
382 * lrealpath.c (is_valid_fd): Remove.
387 * lrealpath.c (is_valid_fd): New function.
392 * simple-object-elf.c (simple_object_elf_copy_lto_debug_sections):
393 Find first '\0' starting from gnu_lto + 1.
397 * simple-object-elf.c (simple_object_elf_match): Check zero value shstrndx.
398 This fixes a Bug 90924.
402 * simple-object-elf.c (simple_object_elf_copy_lto_debug_sections):
403 Do not search for gnu_lto_v1, but search for first '\0'.
407 * cplus-dem.c: Include rust-demangle.h.
408 * rust-demangle.c: Include rust-demangle.h.
409 * rust-demangle.h: New file.
413 * cp-demangle.c: Don't define CP_DYNAMIC_ARRAYS if __STDC_NO_VLA__
418 * d-demangle.c (dlang_parse_assocarray): Correctly handle error result.
419 * testsuite/d-demangle-expected: Add testcase.
421 * d-demangle.c (dlang_parse_tuple): Correctly handle error result.
422 * testsuite/d-demangle-expected: Add testcase.
424 * d-demangle.c (dlang_parse_structlit): Correctly handle error result.
425 * testsuite/d-demangle-expected: Add testcase.
427 * d-demangle.c (dlang_parse_arrayliteral): Correctly handle error result.
428 * testsuite/d-demangle-expected: Add testcase.
430 * d-demangle.c (dlang_parse_integer): Fix stack underflow.
431 * testsuite/d-demangle-expected: Add testcase.
433 * cp-demangle (d_print_comp_inner): Guard against a NULL 'typed_name'.
434 * testsuite/demangle-expected: Add testcase.
436 * cp-demangle.c (d_encoding): Guard against NULL return values from
438 * testsuite/demangle-expected: Add testcase.
442 * cp-demangle.c (d_expression_1): Don't peek ahead unless the current
444 * testsuite/demangle-expected: Add testcase.
449 * cp-demangle.c (cplus_demangle_fill_name): Reject negative
451 (d_count_templates_scopes): Replace num_templates and num_scopes
452 parameters with a struct d_print_info pointer parameter. Adjust
453 body of the function accordingly. Add recursion counter and check
454 that the recursion limit is not reached.
455 (d_print_init): Pass dpi parameter to d_count_templates_scopes.
456 Reset recursion counter afterwards, unless the recursion limit was
461 * functions.texi: Regenerate.
466 * hashtab.c (htab_remove_elt_with_hash): Return if slot is NULL rather
467 than if *slot is HTAB_EMPTY_ENTRY.
471 * splay-tree.c (splay_tree_insert): Also release old KEY in case
472 of insertion of a key equal to an already present key.
473 (splay_tree_new_typed_alloc): Update comment.
478 * simple-object.c (O_BINARY): Define if not already defined.
479 (simple_object_copy_lto_debug_sections): Create file in binary
484 * splay-tree.c (splay_tree_remove): Delete the key if necessary.
488 * cp-demangle.c (cplus_demangle_builtin_types)
489 (cplus_demangle_type): Add name demangling for char8_t (Du).
490 * cp-demangle.h: Increase D_BUILTIN_TYPE_COUNT to accommodate the
497 * cp-demangle.c: Mechanically replace "can not" with "cannot".
498 * floatformat.c: Likewise.
499 * strerror.c: Likewise.
503 Update copyright years.
507 Remove support for demangling GCC 2.x era mangling schemes.
508 * cplus-dem.c: Remove cplus_mangle_opname, cplus_demangle_opname,
509 internal_cplus_demangle, and all subroutines.
510 (libiberty_demanglers): Remove entries for ancient GNU (pre-3.0),
511 Lucid, ARM, HP, and EDG demangling styles.
512 (cplus_demangle): Remove 'work' variable. Don't call
513 internal_cplus_demangle.
522 * cp-demangle.h (struct d_info): Add recursion_level field.
523 * cp-demangle.c (d_function_type): Add recursion counter.
524 If the recursion limit is reached and the check is not disabled,
525 then return with a failure result.
526 (cplus_demangle_init_info): Initialise the recursion_level field.
527 (d_demangle_callback): If the recursion limit is enabled, check
528 for a mangled string that is so long that there is not enough
529 stack space for the local arrays.
530 * cplus-dem.c (struct work): Add recursion_level field.
531 (squangle_mop_up): Set the numb and numk fields to zero.
532 (work_stuff_copy_to_from): Handle the case where a btypevec or
533 ktypevec field is NULL.
534 (demangle_nested_args): Add recursion counter. If
535 the recursion limit is not disabled and reached, return with a
540 Implement P0732R2, class types in non-type template parameters.
541 * cp-demangle.c (d_dump, d_make_comp, d_count_templates_scopes)
542 (d_print_comp_inner): Handle DEMANGLE_COMPONENT_TPARM_OBJ.
543 (d_special_name): Handle TA.
544 (d_expresion_1): Fix demangling of brace-enclosed initializer list.
549 Merge from binutils-gdb:
552 * configure.ac: Remove AC_PREREQ.
553 * configure: Re-generate.
554 * config.in: Re-generate.
558 * configure.ac (checkfuncs): Add pipe2.
559 * config.in, configure: Rebuilt.
560 * pex-unix.c (pex_unix_exec_child): Comminicate errors from child
561 to parent with a pipe, when possible.
567 * pex-unix.c (pex_unix_exec_child): Duplicate bad_fn into local
568 scopes to avoid potential clobber.
572 * pex-unix.c (pex_child_error): Delete.
573 (pex_unix_exec_child): Commonize error paths to single message &
578 * cplus-dem.c (remember_Btype): Don't call memcpy with LEN==0.
583 * make-temp-file.c (TEMP_FILE): Remove leading 'cc'.
584 (make_temp_file): Call make_temp_file_with_prefix with
585 first argument set to NULL.
586 (make_temp_file_with_prefix): Support also prefix.
590 * simple-object-elf.c (ENOTSUP): If not defined by errno.h, redirect
595 * simple-object.c (handle_lto_debug_sections): Add rename parameter.
596 (handle_lto_debug_sections_rename): New function.
597 (handle_lto_debug_sections_norename): New function.
598 (simple_object_copy_lto_debug_sections): Add rename parameter.
602 * splay-tree.c (splay_tree_compare_strings,
603 splay_tree_delete_pointers): New utility functions.
608 * md5.c: Use strict alignment with UBSAN_BOOTSTRAP.
612 * argv.c (expandargv): Fix memory leak for copied argv.
617 * simple-object.c (handle_lto_debug_sections): Keep .comment
622 * cp-demangle.c: Update URL for g++ V3 ABI.
626 * simple-object-xcoff.c (simple_object_xcoff_find_sections): Use
627 ulong_type to avoid warning about 32-bit shift.
633 * simple-object-common.h (struct simple_object_functions):
634 Change copy_lto_debug_sections callback signature.
635 * simple-object-elf.c (SHN_HIRESERVE, SHT_SYMTAB_SHNDX,
636 SHF_INFO_LINK): Add defines.
637 (simple_object_elf_copy_lto_debug_sections): Instead of
638 leaving not to be copied sections empty unnamed SHT_NULL
639 remove them from the target section headers and adjust section
640 reference everywhere. Handle SHN_XINDEX in the symbol table
642 * simple-object.c (handle_lto_debug_sections): Change
643 interface to return a modified string and handle renaming
644 of relocation sections.
648 * argv.c (expandargv): Correct check for dynamically
653 Update copyright years.
658 * simple-object-elf.c (simple_object_elf_copy_lto_debug_section):
659 Do not use UNDEF locals for removed symbols but instead just
660 define them in the first prevailing section and with no name.
661 Use the same gnu_lto_v1 name for all removed globals we promote to
662 WEAK UNDEFs so hpux can use a stub to provide this symbol. Clear
663 sh_info and sh_link in removed sections.
668 * simple-object-elf.c (simple_object_elf_copy_lto_debug_sections):
669 Strip two leading _s from the __gnu_lto_* symbols.
675 * simple-object-elf.c (simple_object_elf_copy_lto_debug_sections):
676 Only make __gnu_lto symbols hidden.
681 * simple-object-elf.c (simple_object_elf_copy_lto_debug_sections):
682 Make discarded non-local symbols weak and hidden.
687 * simple-object.c (handle_lto_debug_sections): Copy over also
688 .note.GNU-stack section with unchanged name.
689 * simple-object-elf.c (SHF_EXECINSTR): Define.
690 (simple_object_elf_copy_lto_debug_section): Drop SHF_EXECINSTR bit
691 on .note.GNU-stack section.
696 * cp-demangle.c (d_encoding): Strip return type when name is a
698 (d_local_name): Strip return type of enclosing TYPED_NAME.
699 * testsuite/demangle-expected: Add and adjust tests.
704 * cp-demangle.c (d_name): Revert addition of 'toplevel' parm.
705 (has_return_type): Recurse for DEMANGLE_COMPONENT_LOCAL_NAME.
706 (d_encoding): Revert d_name change. Use is_fnqual_component_type
707 to strip modifiers that do not belong.
708 (d_special_name, d_class_enum_type): Revert d_name call change.
709 (d_expresion_1): Commonize DEMANGLE_COMPONENT_UNARY building.
710 (d_local_name): Revert parsing of a function type.
711 (d_print_comp_inner): An inner LOCAL_NAME might contain a
713 * testsuite/demangle-expected: Add & adjust tests
718 * cp-demangle.c (d_name): Add 'toplevel' parm. Pass to ...
719 (d_local_name): ... here. Parse trailing function args on nested
721 (d_encoding, d_special_name, d_class_enum_type): Adjust d_name calls.
722 * testsuite/demangle-expected: Add tests.
727 * simple-object-elf.c (simple_object_elf_copy_lto_debug_sections):
728 Iterate marking dependent sections necessary.
732 * cp-demangle.c (is_fnqual_component_type): Reimplement using
733 FNQUAL_COMPONENT_CASE.
734 (d_encoding): Hold bare_function_type in local var.
735 (d_local_name): Build name in both cases and build result once.
736 Collapse switch-if to single conditional.
739 * testsuite/demangle-expected: Realign blank lines with tests.
743 * dwarfnames.c (DW_CFA_DUP): New define.
747 * simple-object-elf.c (simple_object_elf_copy_lto_debug_sections):
748 Remove duplicite declaration.
753 * simple-object-elf.c (simple_object_elf_copy_lto_debug_section):
754 Keep names of removed global symbols.
758 * simple-object-xcoff.c (simple_object_xcoff_find_sections):
759 Improve .go_export csect handling. Don't make assumptions
760 on containing section or number of auxiliary entries.
765 * simple-object-elf.c (simple_object_elf_copy_lto_debug_section):
766 Adjust field with for sh_type write, set SHF_EXCLUDE only for
772 * simple-object-elf.c (simple_object_elf_write_shdr): Adjust
773 type of sh_addralign and sh_entsize and properly write
774 sh_entsize as Elf_Addr.
775 (simple_object_elf_write_to_file): Read sh_entsize as Elf_Addr.
779 * simple-object-common.h (struct simple_object_functions): Add
780 copy_lto_debug_sections hook.
781 * simple-object.c: Include fcntl.h.
782 (handle_lto_debug_sections): New helper function.
783 (simple_object_copy_lto_debug_sections): New function copying
784 early LTO debug sections to regular debug sections in a new file.
785 (simple_object_start_write): Handle NULL segment_name.
786 * simple-object-coff.c (simple_object_coff_functions): Adjust
787 for not implemented copy_lto_debug_sections hook.
788 * simple-object-mach-o.c (simple_object_mach_o_functions): Likewise.
789 * simple-object-xcoff.c (simple_object_xcoff_functions): Likewise.
790 * simple-object-elf.c (SHT_NULL, SHT_SYMTAB, SHT_RELA, SHT_REL,
791 SHT_GROUP): Add various sectopn header types.
792 (SHF_EXCLUDE): Add flag.
793 (Elf32_External_Sym, Elf64_External_Sym): Add symbol struct.
794 (ELF_ST_BIND, ELF_ST_TYPE, ELF_ST_INFO): Add accessors.
795 (STT_OBJECT, STT_FUNC, STT_TLS, STT_GNU_IFUNC): Add Symbol types.
796 (STV_DEFAULT): Add symbol visibility.
797 (SHN_COMMON): Add special section index name.
798 (struct simple_object_elf_write): New.
799 (simple_object_elf_start_write): Adjust for new private data.
800 (simple_object_elf_write_shdr): Pass in values for all fields
802 (simple_object_elf_write_to_file): Adjust. Copy from recorded
803 section headers if requested.
804 (simple_object_elf_release_write): Release private data.
805 (simple_object_elf_copy_lto_debug_sections): Copy and rename sections
806 as denoted by PFN and all their dependences, symbols and relocations
807 to the empty destination file.
808 (simple_object_elf_functions): Adjust for copy_lto_debug_sections hook.
812 * dwarfnames.c (DW_FIRST_IDX, DW_END_IDX, DW_IDX, DW_IDX_DUP): New.
818 * simple-object-xcoff.c (simple_object_xcoff_find_sections):
819 Search symbol table for .go_export symbol and apply pfn if found.
823 * configure.ac (strnlen): Add to AC_CHECK_DECLS.
824 * configure: Likewise.
825 * config.in: Add HACE_DECL_STRNLEN.
829 * d-demangle.c (dlang_identifier): Prefix mangled init symbols
830 with `initializer for'.
831 * testsuite/demangle-expected: Update tests.
835 * d-demangle.c (dlang_call_convention_p): Move declaration
837 (dlang_type): Handle function types.
838 * testsuite/d-demangle-expected: Add tests.
842 * d-demangle.c (dlang_parse_real): Remove stack buffer, write
843 the demangled hexadecimal directly to string.
844 * testsuite/d-demangle-expected: Add tests.
848 * waitpid.c (wait) [__MINGW32__]: Define as a macro
849 that calls _cwait, so that this function works on MinGW.
853 * d-demangle.c (dlang_hexdigit): New function.
854 (ascii2hex): Remove function.
855 (dlang_parse_string): Update to call dlang_hexdigit.
856 * testsuite/d-demangle-expected: Add tests.
860 * d-demangle.c (strtol): Remove declaration.
861 Updated all callers to use dlang_number.
862 (dlang_number): New function.
863 (dlang_value): Moved check for ISDIGIT into dlang_parse_integer.
864 * testsuite/d-demangle-expected: Add tests.
868 * d-demangle.c (dlang_parse_symbol): Remove function.
869 (dlang_parse_qualified): New function.
870 (dlang_parse_mangle): New function.
871 (dlang_type): Update to call dlang_parse_qualified.
872 (dlang_identifier): Update to call either dlang_parse_qualified or
874 (dlang_type_modifier_p): Remove function.
875 (dlang_call_convention_p): Don't allow type modifiers in mangle.
876 (dlang_template_args): Update to call dlang_identifier.
877 (dlang_demangle): Update to call dlang_parse_mangle.
878 * testsuite/d-demangle-expected: Add tests.
882 * d-demangle.c (dlang_value): Add comment explaining why cases for
884 * testsuite/d-demangle-expected: Update integer value tests.
888 * d-demangle.c (dlang_parse_symbol): Skip over anonymous symbols.
889 * testsuite/d-demangle-expected: Add tests.
893 * d-demangle.c (dlang_identifier): Handle template constraint symbols.
894 (dlang_parse_template): Only advance if template symbol prefix is
896 * testsuite/d-demangle-expected: Add tests.
900 * d-demangle.c (dlang_attributes): Handle scope attributes.
901 * testsuite/d-demangle-expected: Add tests.
906 * cp-demangle.c (d_number): Check for overflow.
907 * cplus-dem.c (consume_count): Fix overflow check.
908 (gnu_special): Check for underscore after thunk delta.
909 * testsuite/demangle-expected: Add tests for overflows and invalid
910 characters in thunks.
914 * cp-demangle.c (MAX_RECURSION_COUNT): New constant.
915 (struct d_print_info): Add recursion field.
916 (d_print_init): Initialize recursion.
917 (d_print_comp): Check and update d_print_info recursion depth.
921 * cp-demangle.c (d_substitution): Return NULL if d_add_substitution
926 * cp-demangle.h (struct d_info): Remove did_subs field.
927 * cp-demangle.c (struct d_info_checkpoint): Likewise.
928 (d_template_param): Don't update did_subs.
929 (d_substitution): Likewise.
930 (d_checkpoint): Don't assign did_subs.
931 (d_backtrack): Likewise.
932 (cplus_demangle_init_info): Don't initialize did_subs.
936 * cp-demint.c (cplus_demangle_fill_component): Handle
937 DEMANGLE_COMPONENT_RVALUE_REFERENCE.
941 * cp-demangle.c (cplus_demangle_fill_name): Initialize
942 demangle_component d_printing.
943 (cplus_demangle_fill_extended_operator): Likewise.
944 (cplus_demangle_fill_ctor): Likewise.
945 (cplus_demangle_fill_dtor): Likewise.
951 * cp-demangle.c: Fix endless recursion. Pass
952 struct demangle_component as non const.
953 (d_make_empty): Initialize variable.
954 (d_print_comp_inner): Limit recursion.
955 (d_print_comp): Decrement variable.
956 * cp-demint.c (cplus_demangle_fill_component): Initialize
958 (cplus_demangle_fill_builtin_type): Likewise.
959 (cplus_demangle_fill_operator): Likewise.
960 * testsuite/demangle-expected: Add tests.
965 * cp-demangle.c (d_unqualified_name): Handle "on" for
967 * testsuite/demangle-expected: Add tests.
972 * cp-demangle.c (d_discriminator): Handle discriminator >= 10.
973 * testsuite/demangle-expected: Add tests for discriminator.
977 Update copyright years.
981 * Makefile.in (configure_deps): Update.
982 * configure: Regenerate.
987 * cp-demangle.c (cplus_demangle_type): Demangle Dc as decltype(auto).
988 * testsuite/demangle-expected: Add test for decltype(auto).
993 * cp-demangle.c (struct d_print_info): Add is_lambda_arg field.
994 (d_print_init): Initialize it.
995 (d_print_comp_inner) <DEMANGLE_COMPONENT_TEMPLATE_PARAM>: Check
996 is_lambda_arg for auto.
997 <DEMANGLE_COMPONENT_REFERENCE,
998 DEMANGLE_COMPONENT_RVALUE_REFERENCE>: Skip smashing check when
1000 <DEMANGLE_COMPONENT_LAMBDA>: Increment is_lambda_arg around arg
1002 * testsuite/demangle-expected: Add lambda auto mangling cases.
1006 * argv.c (expandargv): Check for directories passed as @-files.
1011 * strndup.c (strlen): Delete decl.
1012 (strnlen): Add decl.
1013 (strndup): Call strnlen rather than strlen.
1014 * xstrndup.c (xstrndup): Likewise.
1018 * cp-demangle.c (d_print_comp_inner): Fix parameter indentation.
1023 * Makefile.in (CFILES): Add rust-demangle.c.
1024 (REQUIRED_OFILES): Add rust-demangle.o.
1025 * cplus-dem.c (libiberty_demanglers): Add rust_demangling case.
1026 (cplus_demangle): Handle RUST_DEMANGLING.
1027 (rust_demangle): New function.
1028 * rust-demangle.c: New file.
1029 * testsuite/Makefile.in (really-check): Add check-rust-demangle.
1030 (check-rust-demangle): New rule.
1031 * testsuite/rust-demangle-expected: New file.
1035 * cp-demangle.c (d_expression_1): Make sure third expression
1036 exists for ?: and fold expressions.
1037 * testsuite/demangle-expected: Add examples of strings that could
1038 crash the demangler because of missing expression.
1042 * cplus-dem.c (demangle_signature): After 'H', template function,
1043 no success and don't advance position if end of string reached.
1044 (demangle_template): After 'z', template name, return zero on
1045 premature end of string.
1046 (gnu_special): Guard strchr against searching for zero characters.
1047 (do_type): If member, only advance mangled string when 'F' found.
1048 * testsuite/demangle-expected: Add examples of strings that could
1049 crash the demangler by reading past end of input.
1053 * configure.ac (ac_libiberty_warn_cflags): Add -Wshadow=local.
1054 * configure: Regenerated.
1058 * cp-demangle.c (is_fnqual_component_type): New.
1059 (d_encoding, d_print_comp_inner, d_print_mod_list): Use it.
1060 (FNQUAL_COMPONENT_CASE): New.
1061 (d_make_comp, has_return_type, d_print_comp_inner)
1062 (d_print_function_type): Use it.
1063 (next_is_type_qual): New.
1064 (d_cv_qualifiers, d_print_mod): Handle noexcept and throw-spec.
1068 * cplus-dem.c (demangle_signature): Move fall through comment.
1069 (demangle_fund_type): Add fall through comment between 'G' and 'I'.
1070 * hashtab.c (iterative_hash): Add fall through comments.
1071 * regex.c (regex_compile): Add Fall through comment after '+'/'?'.
1072 (byte_re_match_2_internal): Add Fall through comment after jump_n.
1073 Change "Note fall through" to "Fall through".
1074 (common_op_match_null_string_p): Return false after set_number_at
1075 instead of fall through.
1079 * cp-demangle.c (d_ctor_dtor_name): Handle inheriting constructor.
1083 * cplus-dem.c (ada_demangle): Initialize demangled to NULL and
1084 XDELETEVEC demangled when unknown.
1088 * pex-win32.c (argv_to_cmdline): Quote zero-length parameters.
1089 * testsuite/test-pexecute.c (main): Insert check for zero-length parameters.
1093 * cp-demangle.c (d_substitution): Change struct demangle_component
1094 variable name from c to dc.
1099 * cp-demangle.c (d_print_mod): Add FALLTHRU.
1104 * cplus-dem.c: Prevent infinite recursion when there is a cycle
1105 in the referencing of remembered mangled types.
1106 (work_stuff): New stack to keep track of the remembered mangled
1107 types that are currently being processed.
1108 (push_processed_type): New method to push currently processed
1109 remembered type onto the stack.
1110 (pop_processed_type): New method to pop currently processed
1111 remembered type from the stack.
1112 (work_stuff_copy_to_from): Copy values of new variables.
1113 (delete_non_B_K_work_stuff): Free stack memory.
1114 (demangle_args): Push/Pop currently processed remembered type.
1115 (do_type): Do not demangle a cyclic reference and push/pop
1116 referenced remembered type.
1120 * make-relative-prefix.c (make_relative_prefix_1): Fall back to
1121 malloc if alloca argument is greater than MAX_ALLOCA_SIZE.
1125 * cp-demangle.c (cplus_demangle_operators): Add f[lrLR].
1126 (d_expression_1): Handle them.
1127 (d_maybe_print_fold_expression): New.
1128 (d_print_comp_inner): Use it.
1129 (d_index_template_argument): Handle negative index.
1131 * cp-demangle.c (cplus_demangle_operators): Add sP and sZ.
1132 (d_print_comp_inner): Handle them.
1133 (d_template_args_1): Split out from d_template_args.
1134 (d_args_length): New.
1139 * cplus-dem.c: Handle large values and overflow when demangling
1141 (demangle_template_value_parm): Read only until end of mangled string.
1142 (do_hpacc_template_literal): Likewise.
1143 (do_type): Handle overflow when demangling array indices.
1147 * cp-demangle.c (cplus_demangle_print_callback): Avoid zero-length
1152 * xmemdup.c (xmemdup): Use xmalloc rather than xcalloc.
1157 * cp-demangle.c (d_expression_1): Formatting fix.
1161 * cplus-dem.c (enum type_kind_t): Add tk_rvalue_reference
1163 (demangle_template_value_parm): Handle tk_rvalue_reference
1165 (do_type): Support 'O' type id (rvalue references).
1167 * testsuite/demangle-expected: Add tests.
1172 * cp-demangle.c: Parse numbers as integer instead of long to avoid
1173 overflow after sanity checks. Include <limits.h> if available.
1174 (INT_MAX): Define if necessary.
1175 (d_make_template_param): Takes integer argument instead of long.
1176 (d_make_function_param): Likewise.
1177 (d_append_num): Likewise.
1178 (d_identifier): Likewise.
1179 (d_number): Parse as and return integer.
1180 (d_compact_number): Handle overflow.
1181 (d_source_name): Change variable type to integer for parsed number.
1182 (d_java_resource): Likewise.
1183 (d_special_name): Likewise.
1184 (d_discriminator): Likewise.
1185 (d_unnamed_type): Likewise.
1186 * testsuite/demangle-expected: Add regression test cases.
1190 * configure: Remove SH5 support.
1195 * cplus-dem.c: Include <limits.h> if available.
1196 (INT_MAX): Define if necessary.
1197 (remember_type, remember_Ktype, register_Btype, string_need):
1198 Abort if we detect cases where we the size of the allocation would
1202 * cplus-dem.c (gnu_special): Handle case where consume_count returns
1210 * cplus-dem.c (squangle_mop_up): Zero bsize/ksize after freeing
1212 * testsuite/demangle-expected: Add coverage tests.
1216 * d-demangle.c (dlang_call_convention): Handle extern Objective-C
1217 function calling convention.
1218 (dlang_call_convention_p): Likewise.
1219 (dlang_type): Likewise.
1220 * testsuite/d-demangle-expected: Add coverage tests.
1224 * d-demangle.c (dlang_function_args): Append ',' for variadic functions
1225 only if parameters were seen before the elipsis symbol.
1226 * testsuite/d-demangle-expected: Add coverage test for parameter-less
1231 * d-demangle.c (dlang_type): Handle function types only in the context
1232 of seeing a pointer type symbol.
1233 * testsuite/d-demangle-expected: Update function pointer tests.
1237 * argv.c (dupargv): Change arg to char * const *. Update comment.
1238 (writeargv, countargv): Likewise.
1239 * functions.texi (dupargv, writeargv, countargv): Likewise.
1243 * argv.c (dupargv): Replace strlen/xmalloc/strcpy with xstrdup.
1247 * crc32.c: In the documentation, don't refer to GDB's
1248 now-nonexistent crc32 implementation. In the table-generation
1249 program embedded within the documentation, change the type of
1250 the induction variables i and j from int to unsigned int, to
1251 avoid undefined behavior.
1256 * regex.c (EXTRACT_NUMBER): Cast sign byte to unsigned before left
1263 * cp-demangle.c (d_demangle_callback, d_make_comp): Handle
1264 DEMANGLE_COMPONENT_CONVERSION.
1265 (is_ctor_dtor_or_conversion): Handle DEMANGLE_COMPONENT_CONVERSION
1266 instead of DEMANGLE_COMPONENT_CAST.
1267 (d_operator_name): Return a DEMANGLE_COMPONENT_CONVERSION
1268 component if handling a conversion.
1269 (d_count_templates_scopes, d_print_comp_inner): Handle
1270 DEMANGLE_COMPONENT_CONVERSION.
1271 (d_print_comp_inner): Handle DEMANGLE_COMPONENT_CONVERSION instead
1272 of DEMANGLE_COMPONENT_CAST.
1273 (d_print_cast): Rename as ...
1274 (d_print_conversion): ... this. Adjust comments.
1275 (d_print_cast): Rewrite - simply print the left subcomponent.
1276 * cp-demint.c (cplus_demangle_fill_component): Handle
1277 DEMANGLE_COMPONENT_CONVERSION.
1279 * testsuite/demangle-expected: Add tests.
1283 * Makefile.in (etags tags TAGS): Use && instead of ;.
1287 * configure.ac: Check size of size_t.
1288 * configure: Regenerate.
1289 * config.in: Regenerate.
1293 * obstack.c (_obstack_newchunk): Silence -Wc++compat warning.
1294 (_obstack_begin_worker): Likewise. Move assignment to h->chunk
1295 after alloc failure check.
1300 * obstack.c (__alignof__): Expand alignof_type from alignof.h.
1301 (obstack_exit_failure): Don't use exitfail.h.
1302 (_): Include libintl.h when HAVE_LIBINTL_H and nls enabled.
1303 Provide default. Don't include gettext.h.
1304 (_Noreturn): Define.
1305 * obstacks.texi: Adjust node references to external libc info files.
1310 * obstack.c: Import current gnulib file.
1311 * obstacks.texi: Updated doc, from glibc's manual/memory.texi.
1315 * configure.ac: Set AC_CV_FUNC_GETPAGESIZE to "yes" on
1317 * configure: Regenerate.
1321 * Makefile.in (TAGS): Fix for separate build directory.
1327 * pex-unix.c: Obtain the environment interface from settings in
1328 environ.h rather than in-line code. Update copyright date.
1329 * setenv.c: Likewise.
1330 * xmalloc.c: Likewise.
1334 * cp-demangle.c (d_cv_qualifiers): Dx means transaction_safe.
1335 (cplus_demangle_type): Let d_cv_qualifiers handle it.
1336 (d_dump, d_make_comp, has_return_type, d_encoding)
1337 (d_count_templates_scopes, d_print_comp_inner)
1338 (d_print_mod_list, d_print_mod, d_print_function_type)
1339 (is_ctor_or_dtor): Handle DEMANGLE_COMPONENT_TRANSACTION_SAFE.
1343 * cp-demangle.c (d_abi_tags): Preserve di->last_name across any
1348 * d-demangle.c (dlang_parse_real): Remove call to strtod.
1349 (strtod): Remove declaration.
1350 * testsuite/d-demangle-expected: Update float and complex literal
1351 tests to check correct hexadecimal demangling.
1355 * cp-demangle.c (d_dump): Fix syntax error.
1356 (d_identifier): Adjust type of len to match d_source_name.
1357 (d_expression_1): Fix out-of-bounds access. Check code variable for
1358 NULL before dereferencing it.
1359 (d_find_pack): Do not recurse for FIXED_TYPE, DEFAULT_ARG and NUMBER.
1360 (d_print_comp_inner): Add NULL pointer check.
1361 * cp-demangle.h (d_peek_next_char): Define as inline function when
1362 CHECK_DEMANGLER is defined.
1363 (d_advance): Likewise.
1364 * testsuite/demangle-expected: Add new testcases.
1368 * getruntime.c (RUSAGE_SELF): Define if not already defined.
1369 (get_runtime): Use RUSAGE_SELF as argument 1 of getrusage call.
1373 * cp-demangle.c (cplus_demangle_type): Handle arguments to vendor
1378 * configure.ac: Add AC_GNU_SOURCE.
1379 * Makefile.in (COMPILE.c): Add -D_GNU_SOURCE.
1380 * configure, config.in: Rebuild.
1381 * floatformat.c (_GNU_SOURCE): Don't define if already defined.
1385 * d-demangle.c (dlang_symbol_kinds): New enum.
1386 (dlang_parse_symbol): Update signature. Handle an ambiguity between
1387 pascal functions and template value arguments. Only check for a type
1388 if parsing a function, or at the top level. Return failure if the
1389 entire symbol was not successfully demangled.
1390 (dlang_identifier): Update signature. Handle an ambiguity between two
1391 adjacent digits in a mangled symbol string.
1392 (dlang_type): Update call to dlang_parse_symbol.
1393 (dlang_template_args): Likewise.
1394 (dlang_parse_template): Likewise.
1395 (dlang_demangle): Likewise.
1396 * testsuite/d-demangle-expected: Fix bad tests found, and add problematic
1397 examples to the unittests.
1401 * d-demangle.c (dlang_template_args): Skip over specialized template
1402 parameters in mangled symbol.
1403 * testsuite/d-demangle-expected: Add coverage and unittest for specialized
1404 template parameters.
1408 * d-demangle.c (dlang_type): Handle cent and ucent types.
1409 * testsuite/d-demangle-expected: Add coverage tests for cent and ucent.
1413 * d-demangle.c (dlang_attributes): Handle return attributes, ignoring
1414 return parameters in the mangled string. Return NULL if have encountered
1415 an unknown attribute.
1416 (dlang_function_args): Handle return parameters in the mangled string.
1417 * testsuite/d-demangle-expected: Add coverage tests for functions with
1418 return parameters and return attributes.
1422 * d-demangle.c (dlang_identifier): Check encoded length of identifier
1423 to verify strncmp matches entire string.
1424 * testsuite/d-demangle-expected: Fix wrong test for postblit symbol.
1428 * d-demangle.c (dlang_type_modifiers): New function.
1429 (dlang_type_modifier_p): New function.
1430 (dlang_call_convention_p): Ignore any kind of type modifier.
1431 (dlang_type): Handle and emit the type modifier after delegate types.
1432 (dlang_parse_symbol): Handle and emit the type modifier after the symbol.
1433 * testsuite/d-demangle-expected: Add coverage tests for all valid
1434 usages of function symbols with type modifiers.
1438 * d-demangle.c (dlang_call_convention): Return NULL if have reached the
1439 end of the symbol, but expected something to read.
1440 (dlang_attributes): Likewise.
1441 (dlang_function_type): Likewise.
1442 (dlang_type): Likewise.
1443 (dlang_identifier): Likewise.
1444 (dlang_value): Likewise.
1448 * d-demangle.c (dlang_parse_string): Represent embedded whitespace or
1449 non-printable characters as hex or escape sequences.
1450 * testsuite/d-demangle-expected: Add test for templates with tabs and
1451 newlines embedded into the signature.
1455 * mkstemps.c: #include <time.h> if HAVE_TIME_H is defined
1456 but not HAVE_SYS_TIME_H.
1460 * setenv.c <environ>: Declare only if not a macro.
1464 * testsuite/Makefile.in (LIBCFLAGS): Add LDFLAGS.
1470 * configure: Regenerate.
1476 * configure: Regenerate.
1480 * strerror.c <sys_nerr, sys_errlist>: Declare only if they aren't
1487 * xasprintf.c: New file.
1488 * Makefile.in (CFILES): Add xasprintf.c.
1489 (REQUIRED_OFILES): Add xasprintf.$(objext).
1490 (xasprintf.$(objext)): New target.
1491 * functions.texi: Regenerate.
1497 * xvasprintf.c: New file.
1498 * vprintf-support.h: Likewise.
1499 * vprintf-support.c: Likewise.
1500 * Makefile.in (CFILES): Add vprintf-support.c, xvasprintf.c.
1501 (REQUIRED_OFILES): Add vprintf-support.$(objext), xvasprintf.$(objext).
1502 (vprintf-support.$(objext), xvasprintf.$(objext)): New targets.
1503 (vasprintf.$(objext)): Depend on $(srcdir)/vprintf-support.h.
1504 * functions.texi: Regenerate.
1505 * vasprintf.c (int_vasprintf): Use libiberty_vprintf_buffer_size.
1510 * configure.ac: Check for strtol, strtoul, strtoll and strtoull
1512 * configure: Regenerated.
1516 * testsuite/test-strtol.c (run_tests): Cast strtol return to
1523 * filename_cmp.c (canonical_filename_eq): New function to check if
1524 file names are the same.
1525 * functions.texi: Updated with documentation for new function.
1529 * ChangeLog.jit: New.
1533 * sigsetmask.c (_POSIX_SOURCE): Remove.
1537 * strtoll.c: New file.
1538 * strtoull.c: New file.
1539 * configure.ac: Add long long checks. Add harness for strtoll and
1540 strtoull. Check decls for strtol, strtoul, strtoll, strtoull.
1541 * Makefile.in (CFILES, CONFIGURED_OFILES): Add strtoll and strtoull.
1542 * config.in: Regenerate.
1543 * configure: Regenerate.
1544 * functions.texi: Regenerate.
1545 * testsuite/Makefile.in (check-strtol): New rule.
1546 (test-strtol): Likewise.
1547 (mostlyclean): Clean up strtol test.
1548 * testsuite/test-strtol.c: New test.
1552 * choose-temp.c (choose_tmpdir): Remove now-redundant local
1554 * functions.texi: Regenerate.
1555 * make-temp-file.c (choose_tmpdir): Convert return type from
1556 char * to const char * - given that this returns a pointer to
1557 a memoized allocation, the caller must not touch it.
1561 * d-demangle.c: Replace strtold with strtod in global comment.
1562 (strtold): Remove declaration.
1563 (strtod): New declaration.
1564 (dlang_parse_real): Declare value as double instead of long
1565 double. Replace call to strtold by call to strtod.
1566 Update format in call to snprintf.
1570 * cp-demangle.c (d_substitution): Handle abi tags on abbreviation.
1574 * pex-common.h (struct pex_funcs): Add new parameter for open_write field.
1575 * pex-unix.c (pex_unix_open_write): Add support for new parameter.
1576 * pex-djgpp.c (pex_djgpp_open_write): Likewise.
1577 * pex-win32.c (pex_win32_open_write): Likewise.
1578 * pex-common.c (pex_run_in_environment): Likewise.
1582 * Makefile.in (CFILES): Add d-demangle.c.
1583 (REQUIRED_OFILES): Add d-demangle.o.
1584 * cplus-dem.c (libiberty_demanglers): Add dlang_demangling case.
1585 (cplus_demangle): Likewise.
1586 * d-demangle.c: New file.
1587 * testsuite/Makefile.in (really-check): Add check-d-demangle.
1588 * testsuite/d-demangle-expected: New file.
1592 * simple-object-elf.c (simple_object_elf_write_ehdr): Correctly
1593 handle objects with more than SHN_LORESERVE sections.
1594 (simple_object_elf_write_shdr): Add sh_link parameter.
1595 (simple_object_elf_write_to_file): Correctly handle objects with
1596 more than SHN_LORESERVE sections.
1600 * cp-demangle.c (d_dump): Only access field from s_fixed part of
1601 the union for DEMANGLE_COMPONENT_FIXED_TYPE.
1602 (d_count_templates_scopes): Likewise.
1606 * testsuite/demangler-fuzzer.c: New file.
1607 * testsuite/Makefile.in (fuzz-demangler): New rule.
1608 (demangler-fuzzer): Likewise.
1609 (mostlyclean): Clean up demangler fuzzer.
1613 * cplus-dem.c (do_type): Call string_delete even if the call to
1614 demangle_template fails.
1618 * pex-win32.c (argv_to_cmdline): Don't quote
1623 * cp-demangle.c (d_dump): Handle DEMANGLE_COMPONENT_FUNCTION_PARAM
1624 and DEMANGLE_COMPONENT_NUMBER.
1628 * testsuite/demangle-expected: Fix last commit.
1632 * cplus-dmem.c (internal_cplus_demangle): Free any resources
1633 allocated by possible previous call to gnu_special.
1634 (squangle_mop_up): Reset pointers to NULL after calling free.
1635 * testsuite/demangle-expected: New test case.
1639 * cp-demangle.c (struct d_component_stack): New structure.
1640 (struct d_print_info): New field component_stack.
1641 (d_print_init): Initialize the above.
1642 (d_print_comp_inner): Renamed from d_print_comp.
1643 Do not restore template stack if it would cause a loop.
1644 (d_print_comp): New function.
1645 * testsuite/demangle-expected: New test cases.
1650 * maint-tool: Also emit rule for noasan/ subdirectory.
1651 * configure.ac (NOASANFLAG): Set and substitute.
1652 * Makefile.in: Regenerated.
1654 (all, $(TARGETLIB), mostlyclean): Handle noasan subdir like pic
1656 (stamp-noasandir): New goal.
1657 * configure: Regenerated.
1661 * simple-object.c (simple_object_internal_write): Handle
1662 EINTR and short writes.
1666 * simple-object.c (simple_object_internal_read): Handle
1667 EINTR and short reads.
1671 * regex.c (bzero) [!_LIBC]: Define without coma expression.
1672 (regerror): Cast the call to memcpy to (void) to avoid unused
1677 * cp-demangle.c (d_demangle_callback): Put an abort call in place,
1678 to help the compiler.
1682 * _doprint.c (checkit): Use stdarg, not VA_* macros.
1683 * asprintf.c (asprintf): Use stdarg, not VA_* macros.
1684 * concat.c (concat_length, concat_copy, concat_copy2, concat)
1685 (reconcat): Use stdarg, not VA_* macros.
1686 * snprintf.c (snprintf): Use stdarg, not VA_* macros.
1687 * vasprintf.c (checkit): Use stdarg, not VA_* macros.
1688 * vsnprintf.c (checkit): Use stdarg, not VA_* macros.
1693 * configure.ac: Delete target_header_dir assignment.
1694 * configure: Regenerated.
1698 * cp-demangle.c (struct d_print_info): New fields
1699 next_saved_scope, copy_templates, next_copy_template and
1701 (d_count_templates): New function.
1702 (d_print_init): New parameter "dc".
1703 Estimate numbers of templates and scopes required.
1704 (d_print_free): Removed function.
1705 (cplus_demangle_print_callback): Allocate stack for
1706 templates and scopes. Removed call to d_print_free.
1707 (d_copy_templates): Removed function.
1708 (d_save_scope): New function.
1709 (d_get_saved_scope): Likewise.
1710 (d_print_comp): Replace state saving/restoring code with
1711 calls to d_save_scope and d_get_saved_scope.
1715 * cp-demangle.c (cplus_demangle_fill_ctor,cplus_demangle_fill_dtor):
1716 Handle unified ctor/dtor.
1717 (d_ctor_dtor_name): Handle unified ctor/dtor.
1722 * cp-demangle.c (struct d_info_checkpoint): New struct.
1723 (struct d_print_info): Add current_template field.
1724 (d_operator_name): Set flag when processing a conversion
1726 (cplus_demangle_type): When processing <template-args> for
1727 a conversion operator, backtrack if necessary.
1728 (d_expression_1): Renamed from d_expression.
1729 (d_expression): New wrapper around d_expression_1.
1730 (d_checkpoint): New function.
1731 (d_backtrack): New function.
1732 (d_print_init): Initialize current_template.
1733 (d_print_comp): Set current_template.
1734 (d_print_cast): Put current_template in scope for
1735 printing conversion operator name.
1736 (cplus_demangle_init_info): Initialize is_expression and
1738 * cp-demangle.h (struct d_info): Add is_expression and
1739 is_conversion fields.
1740 * testsuite/demangle-expected: New test cases.
1744 * configure: Regenerate.
1748 * cp-demangle.c (d_copy_templates): Cast result of malloc
1749 to (struct d_print_template *).
1750 (d_print_comp): Cast result of realloc to (struct d_saved scope *).
1754 PR tree-optimization/58689
1755 * concat.c: Remove note about xmalloc.
1759 * testsuite/test-demangle.c: Include unistd.h.
1763 * cp-demangle.c (struct d_saved_scope): New structure.
1764 (struct d_print_info): New fields saved_scopes and
1766 (d_print_init): Initialize the above.
1767 (d_print_free): New function.
1768 (cplus_demangle_print_callback): Call the above.
1769 (d_copy_templates): New function.
1770 (d_print_comp): New variables saved_templates and
1771 need_template_restore.
1772 [DEMANGLE_COMPONENT_REFERENCE, DEMANGLE_COMPONENT_RVALUE_REFERENCE]:
1773 Capture scope the first time the component is traversed, and use the
1774 captured scope for subsequent traversals.
1775 * testsuite/demangle-expected: Add regression test.
1779 * testsuite/test-expandargv.c: Include unistd.h.
1783 * configure.ac: If --enable-host-shared, use -fPIC.
1784 * configure: Regenerate.
1788 * cp-demangle.c (d_name): Demangle local-source-names.
1789 * testsuite/demangle-expected: New test.
1798 * cp-demangle.c: Include hashtab.h.
1799 (struct d_print_info): New field saved_scopes.
1800 (d_print_init): Initialize the above.
1801 (d_print_free): New function.
1802 (cplus_demangle_print_callback): Call the above.
1803 (struct d_saved_scope): New structure.
1804 (d_store_scope): New function.
1805 (d_free_scope) Likewise.
1806 (d_restore_scope) Likewise.
1807 (d_hash_saved_scope) Likewise.
1808 (d_equal_saved_scope) Likewise.
1809 (d_print_comp): New variable saved_scope.
1810 [DEMANGLE_COMPONENT_REFERENCE,
1811 DEMANGLE_COMPONENT_RVALUE_REFERENCE]: Capture scope the first
1812 time the component is traversed, and use the captured scope for
1813 subsequent traversals.
1814 * testsuite/demangle-expected: Add regression test.
1818 * cp-demangle.c: Include hashtab.h.
1819 (struct d_print_info): New field saved_scopes.
1820 (d_print_init): Initialize the above.
1821 (d_print_free): New function.
1822 (cplus_demangle_print_callback): Call the above.
1823 (struct d_saved_scope): New structure.
1824 (d_store_scope): New function.
1825 (d_free_scope) Likewise.
1826 (d_restore_scope) Likewise.
1827 (d_hash_saved_scope) Likewise.
1828 (d_equal_saved_scope) Likewise.
1829 (d_print_comp): New variable saved_scope.
1830 [DEMANGLE_COMPONENT_REFERENCE,
1831 DEMANGLE_COMPONENT_RVALUE_REFERENCE]: Capture scope the first
1832 time the component is traversed, and use the captured scope for
1833 subsequent traversals.
1834 * testsuite/demangle-expected: Add regression test.
1838 * floatformat.c (floatformat_ibm_long_double): Rename to..
1839 (floatformat_ibm_long_double_big): ..this.
1840 (floatformat_ibm_long_double_little): New.
1844 * makefile.vms (OBJS): Add dwarfnames.obj
1849 * configure.ac: Move test for --enable-install-libiberty
1850 outside of the 'with_target_subdir' test so that it actually gets
1851 run. Add output messages to show the test result.
1852 * configure: Regenerate.
1853 * Makefile.in (install_to_libdir): Place the
1854 installation of the libiberty library in the same guard as that
1855 used for the headers to prevent it being installed unless
1856 requested via --enable-install-libiberty.
1863 * hashtab.c (hash_pointer): Remove conditional and avoid
1864 unexecuted shift equal to wordsize.
1868 * hashtab.c (hash_pointer): Move to end of file and reimplement.
1872 * cp-demangle.c (cplus_demangle_type): Fix function quals.
1873 (d_pointer_to_member_type): Simplify.
1875 Demangle C++11 ref-qualifier.
1876 * cp-demangle.c (d_ref_qualifier): New.
1877 (d_nested_name, d_function_type): Use it.
1878 (d_parmlist): Don't get confused by a ref-qualifier.
1879 (cplus_demangle_type): Reorder ref-qualifier.
1880 (d_pointer_to_member_type): Likewise.
1881 (d_dump): Handle DEMANGLE_COMPONENT_REFERENCE_THIS and
1882 DEMANGLE_COMPONENT_RVALUE_REFERENCE_THIS.
1883 (d_make_comp, has_return_type, d_encoding): Likewise.
1884 (d_print_comp, d_print_mod_list, d_print_mod): Likewise.
1885 (d_print_function_type, is_ctor_or_dtor): Likewise.
1889 * configure: Regenerated.
1893 * libiberty.texi: Update comment, remove lowersections.
1894 * obstacks.texi: Regenerate.
1899 * simple-object-mach-o.c (simple_object_mach_o_segment): Initialize
1900 wrapper_sect_offset to avoid a warning.
1904 * obstacks.texi (Obstacks): Trim @node to only contain the
1906 * libiberty.texi (Obstacks): Lower section.
1910 * cp-demangle.c (d_dump): Handle DEMANGLE_COMPONENT_DEFAULT_ARG.
1911 (d_print_comp): Likewise.
1916 * regex.c (PTR_INT_TYPE): Define.
1917 (EXTEND_BUFFER): Change incr type from int to PTR_INT_TYPE.
1922 * sha1.c (sha1_process_block): Handle case that size_t is
1923 a wider-integer-scalar as a 32-bit unsigned integer.
1926 * md5.c (md5_process_block): Handle case that size_t is
1927 a wider-integer-scalar a 32-bit unsigned integer.
1932 * simple-object-mach-o.c (simple_object_mach_o_segment): Don't
1933 bother to zero out a buffer we are about to set anyhow.
1937 * simple-object-xcoff.c: New file.
1938 * Makefile.in: Add it to build machinery.
1939 * simple-object-common.h (simple_object_xcoff_functions): Declare.
1940 * simple-object.c (format_functions): Add
1941 simple_object_xcoff_functions.
1945 * cp-demangle.c (d_unqualified_name): Handle abi tags here.
1950 * cp-demangle.c (d_dump): Handle DEMANGLE_COMPONENT_TAGGED_NAME.
1951 (d_make_comp, d_find_pack, d_print_comp): Likewise.
1957 * cp-demangle.c (d_special_name, d_dump): Handle TH and TW.
1958 (d_make_comp, d_print_comp): Likewise.
1962 * strnlen.c: New file.
1963 * configure.ac: Check for strnlen, add it to AC_LIBOBJ if it's not
1965 * Makefile.in: Rebuild dependencies.
1966 (CFILES): Add strnlen.c.
1967 (CONFIGURED_OFILES): Add ./strnlen.$(objext).
1968 * configure, config.in, functions.texi: Rebuild.
1970 * maint-tool: Accept .def files in the include directory.
1975 * objalloc.c (_objalloc_alloc): Add overflow check covering
1976 alignment and CHUNK_HEADER_SIZE addition.
1980 * argv.c (dupargv): Replace malloc with xmalloc. Don't check
1982 (buildargv): Likewise. Also replace strdup with xstrdup.
1983 (expandargv): Don't check dupargv return.
1988 * argv.c (buildargv): Replace alloca with xmalloc/free.
1992 * floatformat.c (floatformat_to_double): Correctly handle numbers
1993 between 1 and 2. Simplify handling of denormal number.
1994 (main): Test with 1.1.
1998 * md5.c (md5_finish_ctx): Declare swap_bytes. Assign SWAP() output
1999 to swap_bytes, and then call memcpy to move it to ctx->buffer.
2004 * pex-win32.c (pex_win32_exec_child): Only close original file
2005 descriptors if child is launched successfully.
2009 * cp-demangle.c (cplus_demangle_operators): Add *_cast.
2010 (op_is_new_cast): New.
2011 (d_expression, d_print_comp): Check it.
2015 * filename_cmp.c (filename_hash, filename_eq): New functions.
2019 * copying-lib.texi (Library Copying): Don't use @heading inside
2024 http://sourceware.org/bugzilla/show_bug.cgi?id=14065
2025 * testsuite/demangle-expected: Add regression test.
2026 * cp-demangle.c (d_find_pack): Return NULL for
2027 DEMANGLE_COMPONENT_UNNAMED_TYPE.
2031 * dwarfnames.c: New file.
2032 * Makefile.in (CFILES): Add dwarfnames.
2033 (REQUIRED_OFILES): Add dwarfnames.
2034 (./dwarfnames.$(objext)): New target.
2038 * pex-unix.c (to_ptr32): Fix style.
2042 * stack-limit.c: Includes ansidecl.h.
2043 (stack_limit_increase): Add ATTRIBUTE_UNUSED
2047 * cp-demangle.c (cplus_demangle_type): Handle 'auto'.
2051 * cp-demangle.c (cplus_demangle_operators): Add li.
2052 (d_unqualified_name): Handle it specially.
2056 * make-relative-prefix.c (make_relative_prefix_1): Avoid warning
2057 about using preprocessor directives inside of macro arguments.
2061 * configure: Regenerate.
2065 * cp-demangle.c (d_print_comp) [DEMANGLE_COMPONENT_OPERATOR]:
2066 Omit a trailing space in the operator name.
2074 * cp-demangle.c (d_dump): Handle DEMANGLE_COMPONENT_NULLARY and
2075 DEMANGLE_COMPONENT_INITIALIZER_LIST.
2076 (d_make_comp): Likewise. Allow null right arg for
2077 DEMANGLE_COMPONENT_TRINARY_ARG2.
2078 (cplus_demangle_operators): Adjust new/delete; add .*, :: and throw.
2079 (d_template_args, d_template_arg): Handle 'J' for argument packs.
2080 (d_exprlist): Add terminator parm.
2081 (d_expression, d_print_comp): Handle initializer lists, nullary
2082 expressions, prefix/suffix operators, and new.
2083 (d_print_subexpr): Avoid parens around DEMANGLE_COMPONENT_QUAL_NAME
2084 and DEMANGLE_COMPONENT_INITIALIZER_LIST.
2085 * testsuite/demangle-expected: Add tests.
2087 * cp-demangle.c (cplus_demangle_type): decltype, pack expansion
2088 and vector are substitutable.
2089 (cplus_demangle_operators): Sort.
2093 * configure: Regenerate.
2097 * make-relative-prefix.c (make_relative_prefix_1): Avoid
2098 stack overflow if PATH contains just a single entry and
2099 HOST_EXECUTABLE_SUFFIX needs to be used.
2102 * make-relative-prefix.c: Include sys/stat.h.
2103 (make_relative_prefix_1): If access succeeds, check also stat
2104 if nstore is a regular file.
2108 * configure: Regenerate.
2112 * aclocal.m4: Assume strncmp works in cross case.
2113 * configure: Regenerate
2117 * configure: Regenerate.
2121 Merged from transactional-memory.
2123 * cp-demangle.c (cplus_demangle_fill_ctor): Accept
2124 gnu_v3_object_ctor_group.
2125 (cplus_demangle_fill_dtor): Accept gnu_v3_object_dtor_group.
2126 (d_ctor_dtor_name): Recognize gnu_v3_object_ctor_group
2127 and gnu_v3_object_dtor_group.
2128 (d_dump): Handle DEMANGLE_COMPONENT_TRANSACTION_CLONE
2129 and DEMANGLE_COMPONENT_NONTRANSACTION_CLONE.
2130 (d_make_comp, d_print_comp): Likewise.
2131 (d_special_name): Generate them.
2136 * cp-demangle.c (d_special_name, d_print_comp): Handle a
2137 discriminator number on DEMANGLE_COMPONENT_REFTEMP.
2141 * Makefile.in (CFILES): Add timeval-utils.c.
2142 (REQUIRED_OFILES): Add timeval-utils.$(objext).
2143 (INSTALLED_HEADERS): Add timeval-utils.h.
2144 (timeval-utils.$(objext)): Add rule.
2148 * setproctitle.c (setproctitle): Use "GNU/Linux" in comment.
2153 * simple-object-mach-o.c (GNU_WRAPPER_SECTS, GNU_WRAPPER_INDEX,
2154 GNU_WRAPPER_NAMES): New macros.
2155 (simple_object_mach_o_segment): Handle wrapper scheme.
2156 (simple_object_mach_o_write_section_header): Allow the segment name
2158 (simple_object_mach_o_write_segment): Handle wrapper scheme. Ensure
2159 that the top-level segment name in the load command is empty.
2160 (simple_object_mach_o_write_to_file): Determine the number of
2161 sections during segment output, use that in writing the header.
2166 * cp-demangle.c (d_cv_qualifiers): If qualifiers are applied to a
2167 function type, change them to apply to the "this" parameter.
2168 * testsuite/demangle-expected: Add test case.
2172 * timeval-utils.c: New file.
2174 * argv.c (countargv): New function.
2179 * cp-demangle.c (d_make_comp): Add new component type.
2180 (cplus_demangle_mangled_name): Check for clone suffixes.
2181 (d_parmlist): Don't error out if we see '.'.
2182 (d_clone_suffix): New function.
2183 (d_print_comp): Print info for clone suffixes.
2184 * testsuite/demangle-expected: Add new testcases.
2189 * md5.c (md5_process_bytes): Correct handling of unaligned
2194 * aclocal.m4: Include ../config/picflag.m4.
2195 * configure.ac (GCC_PICFLAG): Call it.
2196 (enable_shared): Clear PICFLAG unless shared.
2197 * configure: Regenerate.
2201 * md5.c (md5_read_ctx): Handle mis-aligned resbuf pointer.
2205 * testsuite/test-expandargv.c (writeout_test): Check result of fwrite.
2210 * cp-demangle.c (d_prefix): Handle decltype.
2211 * testsuite/demangle-expected: Test it.
2215 * testsuite/demangle-expected: Remove an extra line.
2219 * cp-demangle.c (d_print_init): Initialize pack_index field.
2220 (d_print_comp): Check for NULL template argument.
2221 * testsuite/demangle-expected: Add test case.
2226 * stack-limit.c: Include <stdint.h>.
2231 * stack-limit.c: New file.
2232 * Makefile.in: Regenerate deps.
2233 (CFILES): Add stack-limit.c.
2234 (REQUIRED_OFILES): Add ./stack-limit.$(objext).
2235 * configure.ac (checkfuncs): Add getrlimit and setrlimit.
2236 (AC_CHECK_FUNCS): Likewise.
2237 * configure: Regenerated.
2238 * config.in: Regenerated.
2242 * cp-demangle.c (d_expression): Handle 'this'.
2243 (d_print_comp) [DEMANGLE_COMPONENT_FUNCTION_PARAM]: Likewise.
2247 * filename_cmp.c (filename_cmp, filename_ncmp): Add handling of
2248 HAVE_CASE_INSENSITIVE_FILE_SYSTEM.
2253 * cp-demangle.c (d_print_comp): Suppress argument list for function
2254 references by the '&' unary operator. Keep also already processed
2255 variant without the argument list. Suppress argument list types for
2256 function call used in an expression.
2257 * testsuite/demangle-expected: Fix excessive argument list types in
2258 `test for typed function in decltype'. New testcase for no argument
2259 list types printed. 3 new testcases for function references by the
2260 '&' unary operator..
2265 * cp-demangle.c (d_print_comp): Handle reference smashing.
2266 * testsuite/demangle-expected: Test it.
2270 * cp-demangle.c (d_print_comp) <DEMANGLE_COMPONENT_FUNCTION_TYPE>:
2271 Suppress d_print_mod for DMGL_RET_POSTFIX.
2272 * testsuite/demangle-expected: New testcases for --ret-postfix.
2276 * cp-demangle.c (d_print_comp) <DEMANGLE_COMPONENT_FUNCTION_TYPE>: Do
2277 not pass DMGL_RET_POSTFIX or DMGL_RET_DROP. Support DMGL_RET_DROP.
2278 * testsuite/demangle-expected: New testcases for --ret-drop.
2279 * testsuite/test-demangle.c: Document --ret-drop in a comment.
2280 (main): New variable ret_drop, fill it, call cplus_demangle with it.
2284 * cp-demangle.c (struct d_print_info): Remove field options.
2285 (d_print_init): Remove parameter options.
2286 (cplus_demangle_print_callback): Update all the callers.
2287 (d_print_comp, d_print_mod_list, d_print_mod, d_print_function_type)
2288 (d_print_array_type, d_print_expr_op, d_print_cast, d_print_subexpr):
2289 Add parameter options, update all the callers.
2293 * cp-demint.c (cplus_demangle_v3_components): Remove useless
2295 * cplus-dem.c (squangle_mop_up): Likewise.
2296 (delete_non_B_K_work_stuff): Likewise.
2297 * pex-common.c (pex_free): Likewise.
2298 * pex-msdos.c (pex_msdos_cleanup): Likewise.
2299 * pex-win32.c (mingw_rootify, msys_rootify): Likewise.
2300 (win32_spawn): Likewise.
2301 * regex.c (FREE_VAR, weak_alias): Likewise.
2302 * spaces.c (spaces): Likewise.
2306 Avoid memory overrun in a test leading to potential double-free.
2307 * testsuite/test-expandargv.c (writeout_test): Fix off-by-one error:
2308 i.e., do copy the trailing NUL byte.
2312 * makefile.vms (OBJS): Add filename_cmp.obj
2316 * filename_cmp.c (filename_ncmp): New function.
2317 * functions.texi: Regenerated.
2321 * splay-tree.c: Escape wrapping newlines in texinfo markup
2322 with '@', to fix function declaration output rendering.
2323 * gather-docs: Relax and improve macro name matching to actually
2324 match all current names and to allow input line wrapping.
2325 * bsearch.c, concat.c, crc32.c, fnmatch.txh, fopen_unlocked.c,
2326 hashtab.c, insque.c, make-relative-prefix.c, memchr.c, memcmp.c,
2327 memcpy.c, memmem.c, memmove.c, mempcpy.c, memset.c,
2328 pexecute.txh, random.c, setenv.c, setproctitle.c,
2329 simple-object.txh, snprintf.c, stpncpy.c, strncmp.c, strtod.c,
2330 strtol.c, vasprintf.c, vprintf.c, vsnprintf.c, xmemdup.c:
2331 Wrap long texinfo input lines.
2332 * functions.texi: Regenerate.
2336 * .gitignore: New file.
2340 * splay-tree.c (splay_tree_foreach_helper): Remove arg `sp',
2341 all callers updated. Rewrite to be non-recursive.
2345 * setproctitle.c [HAVE_SYS_PRCTL_H]: Include <sys/types.h>.
2349 * configure.ac: Turn PR_SET_NAME link test into a test for
2351 * configure, config.in: Rebuilt.
2352 * setproctitle.c: Test for HAVE_SYS_PRCTL_H.
2353 (setproctitle) Test for PR_SET_NAME definition.
2358 * Makefile.in (install-strip): New phony target.
2359 (install): Also mark as phony.
2363 * simple-object.c (simple_object_attributes_merge): Rename from
2364 simple_object_attributes_compare. Call merge field.
2365 * simple-object-common.h (struct simple_object_functions): Rename
2366 attributes_compare field to attribute_merge.
2367 * simple-object-elf.c (EM_SPARC): Define.
2368 (EM_SPARC32PLUS): Define.
2369 (simple_object_elf_attributes_merge): Renamed from
2370 simple_object_elf_attributes_compare. Permit EM_SPARC and
2371 EM_SPARC32PLUS objects to be merged.
2372 (simple_object_elf_functions): Update function name.
2373 * simple-object-coff.c (simple_object_coff_attributes_merge):
2374 Rename from simple_object_coff_attributes_compare.
2375 (simple_object_coff_functions): Update function name.
2376 * simple-object-mach-o.c (simple_object_mach_o_attributes_merge):
2377 Renamed from simple_object_mach_o_attributes_compare.
2378 (simple_object_mach_o_functions): Update function name.
2384 * cp-demangle.c (d_make_demangle_mangled_name): New.
2385 (d_demangle_callback): Use it on DCT_GLOBAL_XTORS.
2387 * testsuite/demangle-expected: Updated.
2391 * simple-object-coff.c (simple_object_coff_read_strtab): Fix reading
2397 * cp-demangle.c (d_print_function_type): Don't print parentheses
2398 if there are no modifiers to print.
2399 * testsuite/demangle-expected: Tweak one test case, add another.
2403 * configure.ac (AC_CHECK_HEADERS): Add process.h.
2404 (checkfuncs): Add dup3, spawnve, spawnvpe; sort the list.
2405 (AC_CHECK_FUNCS): Add dup3, spawnve, spawnvpe.
2406 * configure, config.in: Rebuild.
2407 * pex-unix.c [HAVE_SPAWNVE] (pex_unix_exec_child): New function.
2408 [HAVE_SPAWNVE] (save_and_install_fd, restore_fd): New functions.
2414 * simple-object.c: New file.
2415 * simple-object-common.h: New file.
2416 * simple-object-elf.c: New file.
2417 * simple-object-mach-o.c: New file.
2418 * simple-object-coff.c: New file.
2419 * simple-object.txh: New file.
2420 * configure.ac: Add AC_TYPE_SSIZE_T.
2421 * Makefile.in: Rebuild dependencies.
2422 (CFILES): Add simple-object.c, simple-object-coff,
2423 simple-object-elf.c, and simple-object-mach-o.c.
2424 (REQUIRED_OFILES): Add corresponding object files.
2425 * configure: Rebuild.
2426 * config.in: Rebuild.
2427 * functions.texi: Rebuild.
2431 * setproctitle.c: Add space after function name in @deftypefn
2433 * functions.texi: Rebuild.
2437 * aclocal.m4 (AC_LANG_FUNC_LINK_TRY(C)): Delete.
2438 * configure: Regenerate.
2442 * configure: Regenerate.
2443 * configure.ac: Turn PR_SET_NAME check into link check.
2447 * Makefile.in (CFILES): Add setproctitle.
2448 (CONFIGURED_OFILES): Add setproctitle.
2449 (setproctitle): Add rule.
2450 * config.in: Regenerate.
2451 * configure: Regenerate.
2452 * configure.ac: Add checks for prctl PR_SET_NAME and setproctitle.
2453 * setproctitle.c: Add file.
2454 * functions.texi: Regenerate.
2458 * cplus-dem.c (ada_demangle): Add comments.
2459 Handle stream and controlled type operations.
2460 Decoding of some uppercase letters moved before separators.
2461 * testsuite/demangle-expected: Add tests.
2465 http://sourceware.org/bugzilla/show_bug.cgi?id=11572
2466 * cp-demangle.c (d_find_pack): Add case for
2467 DEMANGLE_COMPONENT_LAMBDA.
2468 * testsuite/demangle-expected: Add regression test.
2473 * maint-tool (missing): Fix pattern for object file.
2474 (deps): Use $(objext) for object extension.
2475 * Makefile.in (objext): New variable.
2476 Replace all occurences of .o with .$(objext)
2477 Regenerate with maint-deps
2478 * configure.ac (pexecute): Set to the basename.
2479 * configure: Regenerate.
2483 * pex-common.c (pex_read_err): Set stderr_pipe to -1 if a
2484 corresponding stream has been opened.
2485 (pex_free): Close pipe file descriptors corresponding to child's
2486 stdout and stderr before waiting.
2490 * argv.c (expandargv): Limit the number of times that response
2491 files are opened in order to prevent infinite recursion.
2495 * make-temp-file.c (choose_tmpdir): Append a dot to P_tmpdir if needed.
2499 * floatformat.c (floatformat_ieee_half_big): New variable.
2500 (floatformat_ieee_half_little): Likewise.
2504 * libiberty.texi: Remove reference to GCC 3 and 2001 (thrice).
2505 Update copyright years.
2511 * cp-demangle.c (struct d_print_info): Add flush_count field.
2512 (d_print_init): Initialize it to 0.
2513 (d_print_flush): Increment it.
2514 (d_print_comp): If needed flush before appending ", ". Only
2515 decrement dpi->len if no flushes happened during the recursive
2517 * testsuite/demangle-expected: Add a test for this.
2521 * splay-tree.c: Update copyright years.
2522 (splay_tree_new_typed_alloc): New.
2523 (splay_tree_new_with_allocator): Use it.
2525 * hashtab.c: Update copyright years.
2526 (htab_create_typed_alloc): New.
2527 (htab_create_alloc): Use it.
2529 * functions.texi: Regenerate.
2535 * configure.ac: Check for declaration of 'basename(char *)'.
2536 * configure: Regenerate.
2540 * testsuite/demangle-expected: Add tests for __int128
2541 and unsigned __int128 types.
2546 * cp-demangle.c (cplus_demangle_builtin_types): Add nullptr.
2547 (cplus_demangle_type): Handle nullptr.
2548 * testsuite/demangle-expected: Test it.
2552 * lbasename.c (lbasename): Split into ...
2553 (unix_lbasename, dos_basename): ... these.
2554 (lbasename): ... and reimplement on top of them.
2555 * Makefile.in (lbasename.o): Add dependency on
2556 $(INCDIR)/filenames.h.
2560 * regex.c (byte_re_match_2_internal): Avoid set but not used
2565 * cp-demangle.c (d_print_mod): Use () rather than [] for vectors.
2569 * Makefile.in (all): Do not use exec.
2573 * testsuite/demangle-expected: Add missing --format=gnu-v3.
2577 * cp-demangle.c (d_expression): Handle dependent operator name.
2580 * cp-demangle.c (d_number_component, d_vector_type): New.
2581 (cplus_demangle_type, d_print_comp, d_print_mod): Handle vectors.
2585 * cp-demangle.c (cplus_demangle_type): Check for invalid type
2587 * testsuite/demangle-expected: Add test.
2592 * cp-demangle.c (d_print_comp): Fix array index printing.
2596 * cplus-dem.c (ada_demangle): Remove prototype.
2597 (grow_vect): Removed.
2598 (ada_demangle): Rewritten.
2599 (cplus_demangle): Fix indentation.
2600 * testsuite/demangle-expected: Add tests for Ada.
2605 * cp-demangle.c (d_demangle): Return dgs.alc on success.
2610 * configure.ac (PICFLAG): Use -fPIC on SH hosts.
2611 * configure: Regenerate.
2615 * pex-unix.c (pex_unix_exec_child): Save/restore environ.
2619 * configure.ac (AC_CHECK_FUNCS): Sort into alphabetic order.
2620 * configure: Regenerate.
2624 * functions.texi: Rebuild.
2629 * README: Mention changes to Makefile.in and functions.texi.
2630 * gather-docs: Mention 'make stamp-functions' in the header.
2635 * pex-unix.c (pex_child_error): Improve warning avoidance by
2636 checking the results of write(3) and exiting with -2 if any write
2637 returns a negative value.
2641 * dyn-string.c (dyn_string_append_char): Fix typo in comment.
2645 * pex-unix.c (pex_child_error): Define writeerr macro to avoid
2646 unused result warnings from write(3) calls. Undefine writeerr
2653 * argv.c (consume_whitespace): New function.
2654 (only_whitespace): New function.
2655 (buildargv): Always use ISSPACE by calling consume_whitespace.
2656 (expandargv): Skip empty files. Do not stop at the first empty
2657 argument (calling only_whitespace)..
2658 * testsuite/test-expandargv.c: (test_data): Test empty lines
2659 and empty arguments.
2660 (run_tests): Fix false positives due to shorter arguments.
2664 * regex.c (byte_re_match_2_internal): Split declaration and
2665 assignment to avoid -Wc++-compat warning due to goto.
2669 * Makefile.in: Enable demangle target.
2670 * cp-demangle.c (d_lambda, d_unnamed_type, d_make_default_arg): New.
2671 (d_name, d_prefix, d_unqualified_name, d_local_name): Handle lambdas.
2672 (d_parmlist): Factor out from d_bare_function_type.
2673 (d_compact_number): Factor out from d_template_param and d_expression.
2674 (d_append_num): Factor out from d_print_comp.
2675 (d_print_comp, d_print_mod_list): Handle lambdas.
2676 * testsuite/demangle-expected: Add lambda tests.
2680 * cplus-dem.c (ada_demangle): Ensure demangled is freed.
2684 * choose-temp.c: Include unistd.h for mingw targets.
2688 * hashtab.c [HAVE_INTTYPES_H]: Include <inttypes.h>.
2692 * config.h-vms (intptr_t): Define to compile hashtab.c
2697 * configure.ac: Replace AC_CHECK_TYPE() for intptr_t and uintptr_t
2698 with AC_TYPE_INTPTR_T and AC_TYPE_UINTPTR_T.
2699 * config.in: Regenerated.
2700 * configure: Regenerated.
2705 * configure.ac: Also check for intptr_t.
2706 * config.h.in: Regenerated.
2707 * configure: Regenerated.
2708 * hashtab.c (hash_pointer): Cast the pointer argument to intptr_t
2713 * vmsbuild.com: Removed as unused and superceeded by makefile.vms.
2714 * makefile.vms: Ported to Itanium VMS. Remove useless targets and
2715 dependencies. Remove unused FORMAT variable.
2716 * configure.com: New file to create build.com DCL script for
2717 Itanium VMS or Alpha VMS.
2721 * configure.ac (AC_PREREQ): Bump to 2.64.
2726 * Makefile.in (install-html-recursive): Removed.
2730 * config.in: Regenerate.
2731 * configure: Regenerate.
2735 * Makefile.in (AUTOCONF, configure_deps): New variables.
2736 ($(srcdir)/configure): New rule, active only in maintainer mode.
2740 * make-temp-file.c (choose_tmpdir): Try standard temp logical on VMS.
2744 * pex-unix.c (vfork): Remove VMS specific definition (get from header
2746 (to_ptr32): New function.
2747 (pex_unix_exec_child): Use it.
2752 * crc32.c (xcrc32): Rename from crc32.
2756 * crc32.c: New file.
2757 * Makefile.in: Rebuild dependencies.
2758 (CFILES): Add crc32.c.
2759 (REQUIRED_OFILES): Add ./crc32.o.
2760 * functions.texi: Rebuild.
2764 * cp-demangle.c (d_print_comp <DEMANGLE_COMPONENT_GLOBAL_CONSTRUCTORS>)
2765 (d_print_comp <DEMANGLE_COMPONENT_GLOBAL_DESTRUCTORS): New.
2766 (d_make_comp <DEMANGLE_COMPONENT_GLOBAL_CONSTRUCTORS>)
2767 (d_make_comp <DEMANGLE_COMPONENT_GLOBAL_DESTRUCTORS): New.
2768 (d_demangle_callback): The variable type is now declared as enum.
2769 Replace parser of _GLOBAL_ symbols by a d_make_comp call.
2773 * hashtab.c (htab_traverse): Don't call htab_expand for
2774 nearly empty hashtabs with sizes 7, 13 or 31.
2779 * testsuite/test-demangle.c: Rename getline to get_line to avoid
2780 conflicts with system function of the same name.
2784 * snprintf.c: Doc fix.
2786 * vsnprintf.c: Doc fix.
2790 * pex-win32.c (pex_win32_fdopenr): Set INHERIT to false.
2794 * fibheap.c (fibheap_replace_key_data): Make sure we don't early
2795 out when forcing the minimum.
2796 (fibheap_delete_node): Assert that we managed to force the minimum.
2800 * config.h-vms: Rewritten. Define configure macros.
2801 Use DEC-C builtin alloca.
2803 * makefile.vms (OBJS): Update list.
2804 (OPT): New variable.
2805 (CFLAGS): Update compilation flags.
2806 (libiberty.olb): Do not depend on alloca-conf.h anymore.
2811 * cp-demangle.c (cplus_demangle_fill_ctor): Fix logic bug.
2812 (cplus_demangle_fill_dtor): Likewise.
2816 * pex-win32.c (pex_win32_exec_child): Fix logic to avoid closing
2817 standard handles (stdin, stdout, stderr) in parent.
2821 * pex-win32.c (pex_win32_pipe): Add _O_NOINHERIT.
2822 (pex_win32_exec_child): Ensure each process has only one handle open
2823 on pipe endpoints. Close standard input after creating child for
2824 symmetry with standard output/standard error.
2828 * Makefile.in (needed-list): Target removed (not used in GCC
2829 3.0 and later). All references deleted.
2830 (mostlyclean): Remove references to needed.awk and needed2.awk.
2834 * configure.ac (setobjs, msdosdjgpp): Move a-priori setting of
2835 existing and required library functions to with_target_subdir
2836 section, so that the native build does detect them at configure
2838 * configure: Regenerated.
2843 * pex-common.h (struct pex_obj): Store pid values as pid_t,
2844 not as long (members *children and (*wait))
2845 * pex-common.c (pex_run_in_environment): Likewise.
2846 * pex-win32.c (pex_win32_wait): Return pid_t and properly check
2848 * pex-djgpp.c (pex_djgpp_wait): Return pid_t.
2849 * pex-msdos.c (pex_msdos_wait): Likewise.
2853 * configure.ac: Fix Linux/MIPS matching rule.
2854 * configure: Regenerate.
2858 * memmem.c: New file, from gnulib.
2859 * configure.ac: Add memmem to list of functions provided if they
2860 are not available on the host.
2861 * Makefile.in: Rebuild dependencies.
2862 (CFILES): Add memmem.c.
2863 (CONFIGURED_OFILES): Add memmem.o.
2864 * configure, config.in, functions.texi: Rebuild.
2868 * cp-demangle.c (d_expression): Handle pack expansion.
2869 (d_find_pack): Handle DEMANGLE_COMPONENT_FUNCTION_PARAM.
2870 (d_print_subexpr): Don't wrap function parms in ().
2871 (d_print_comp) [DEMANGLE_COMPONENT_PACK_EXPANSION]: Handle
2876 * cp-demangle.c (d_make_function_param): new fn.
2877 (cplus_demangle_mangled_name): Work around abi v2 bug.
2878 (d_expr_primary): Likewise.
2879 (cplus_demangle_operators): Add alignof ops.
2880 (d_expression): Handle function parameters and conversions
2881 with other than 1 operand.
2882 (d_print_comp): Handle function parameters. Fix bug with
2883 function used in type of function.
2884 * testsuite/demangle-expected: Update tests.
2888 * make-temp-file.c (<windows.h>): Include on Windows.
2889 (choose_tmpdir): On Windows, use GetTempPath.
2893 * configure.ac (funcs, vars, checkfuncs): Don't munge on Cygwin,
2894 as it no longer shares libiberty object files.
2895 * configure: Regenerated.
2899 * cp-demangle.c (d_expression): Remove mangling for zero-op casts.
2903 * cp-demangle.c (cplus_demangle_type): Return NULL if the
2904 character following a 'D' cannot be recognised.
2909 * cp-demangle.c (d_expression, d_print_comp): Revert
2914 * cp-demangle.c (d_expression): Handle rvalue stubs too.
2915 [DEMANGLE_COMPONENT_CAST]: Update mangling.
2916 (d_print_comp): Avoid extra ", " with empty template argument packs.
2917 Remove handling for obsolete T() mangling.
2921 * cp-demangle.c (cplus_demangle_type): Support fixed-point types.
2922 (d_print_comp, d_dump): Likewise.
2926 * Makefile.in (CPPFLAGS): Define.
2927 (FLAGS_TO_PASS, COMPILE.c): Add CPPFLAGS.
2932 * Makefile.in (LIBCFLAGS): Remove.
2933 (FLAGS_TO_PASS): Don't mention it.
2934 (COMPILE.c, MULTIOSDIR): Replace it with CFLAGS.
2938 * xstrdup.c: Include <sys/types.h> after "config.h"
2942 * configure.ac: Call AC_SYS_LARGEFILE.
2943 * config.in: Regenerated.
2944 * configure: Likewise.
2948 * cp-demangle.c (struct d_print_info): Add pack_index.
2949 (d_dump): Add DEMANGLE_COMPONENT_PACK_EXPANSION.
2950 (d_make_comp): Likewise. DEMANGLE_COMPONENT_ARGLIST and
2951 DEMANGLE_COMPONENT_TEMPLATE_ARGLIST can have two null args.
2952 (cplus_demangle_builtin_types): Add char16/32_t.
2953 (cplus_demangle_type): Recognize them.
2954 (d_template_args): Handle empty argument packs.
2955 (d_template_arg): Handle argument packs.
2956 (d_expression): Handle dependent name.
2957 (d_index_template_argument): New fn.
2958 (d_lookup_template_argument): New fn.
2959 (d_find_pack, d_pack_length): New fn.
2960 (d_print_subexpr): Split out...
2961 (d_print_comp): ...from here. Use d_*_template_argument.
2962 Handle empty arg lists. Support pack expansions.
2963 * cp-demangle.h (D_BUILTIN_TYPE_COUNT): Increase to 32.
2967 * cp-demangle.c (d_dump): Handle DEMANGLE_COMPONENT_DECLTYPE.
2968 (d_make_comp): Likewise.
2969 (cplus_demangle_type): Handle decltype and DFP types.
2970 (cplus_demangle_operators): Call operator takes 2 args.
2971 (cplus_demangle_builtin_types): Add DFP types.
2972 (d_exprlist): New fn.
2973 (d_expression): Handle parm placeholders, T() and calls.
2974 (d_print_comp): Handle decltype, T() and calls.
2975 * testsuite/demangle-expected: Test the above.
2979 * pex-win32.c (argv_to_argc): New function.
2980 (spawn_script): Duplicate argv before calling win32_spawn.
2984 * mkstemps.c (mkstemps): Keep looping even for EISDIR.
2988 * mkstemps.c (mkstemps): If open failed with errno other than
2989 EEXIST, return immediately.
2990 * make-temp-file.c: Include errno.h.
2991 (make_temp_file): If mkstemps failed, print an error message
2996 * maint-tool (deps): Output config.h instead of stamp-h.
2997 * Makefile.in: Rebuild deps.
2998 (maintainer-clean-subdir): Depend on stamp-h rather than config.h.
2999 Reverts 2007-07-11 change.
3003 Adjust strsignal to POSIX 200x prototype.
3004 * strsignal.c (strsignal): Remove const.
3008 * configure: Regenerate.
3012 * libiberty.texi: Expand TABs, drop indentation outside examples.
3013 * obstacks.texi: Likewise.
3017 * configure.ac: use -fPIC on Linux/MIPS hosts.
3018 * configure: Regenerate.
3022 * testsuite/demangle-expected: Added tests for char16_t and char32_t.
3027 * aclocal.m4: Add override.m4.
3028 * configure: Regenerate.
3032 * cp-demangle.c (d_substitution): Correct overflow check to avoid
3033 -fstrict-overflow optimizations.
3037 * configure.ac (frags): Don't set, use frag instead.
3038 (PICFLAG): Set here and substitute.
3039 * Makefile.in (PICFLAG): Substitute from autoconf.
3040 * configure: Regenerate.
3044 * sha1.c: New file, from gnulib.
3045 * Makefile.in: Rebuild dependencies.
3046 (CFILES): Add sha1.c.
3047 (REQUIRED_OFILES): Add sha1.o.
3051 * make-relative-prefix.c (make_relative_prefix_1): Handle NULL
3056 * cplus-dem.c (malloc, realloc): Use void * instead of char *
3061 * md5.c (md5_process_bytes): Do not assume that memcpy will
3062 provide a return value.
3067 * testsuite/Makefile.in (mostlyclean): Remove any core file.
3071 * cp-demangle.c (d_dump): Handle DEMANGLE_COMPONENT_JAVA_RESOURCE,
3072 DEMANGLE_COMPONENT_COMPOUND_NAME, and
3073 DEMANGLE_COMPONENT_CHARACTER cases.
3074 (d_make_comp): Handle DEMANGLE_COMPONENT_COMPOUND_NAME and
3075 DEMANGLE_COMPONENT_JAVA_RESOURCE cases.
3076 (d_make_character): New function.
3077 (d_java_resource): Same.
3078 (d_special_name): Handle "Gr" case.
3079 (d_print_comp): Handle DEMANGLE_COMPONENT_JAVA_RESOURCE,
3080 DEMANGLE_COMPONENT_COMPOUND_NAME, and
3081 DEMANGLE_COMPONENT_CHARACTER cases.
3082 * testsuite/demangle-expected: Add test for java resource name
3087 * cplus-dem.c (demangle_function_name): Changed to return value
3088 indicating if a name was correctly demangled.
3089 (iterate_demangle_function): Use demangle_function_name return
3095 * splay-tree.c (rotate_left): Fix minor typo in comment.
3096 (rotate_right): Likewise.
3100 * floatformat.c (floatformat_ibm_long_double_is_valid): Fix
3102 (floatformat_ibm_long_double): Use
3103 floatformat_ibm_long_double_is_valid.
3108 * floatformat.c (mant_bits_set): New.
3109 (floatformat_to_double): Use it. Note no special handling of
3111 (floatformat_from_double): Note no special handing of split
3113 (floatformat_ibm_long_double_is_valid,
3114 floatformat_ibm_long_double): New.
3115 (floatformat_ieee_single_big, floatformat_ieee_single_little,
3116 floatformat_ieee_double_big, floatformat_ieee_double_little,
3117 floatformat_ieee_double_littlebyte_bigword, floatformat_vax_f,
3118 floatformat_vax_d, floatformat_vax_g, floatformat_i387_ext,
3119 floatformat_m68881_ext, floatformat_i960_ext,
3120 floatformat_m88110_ext, floatformat_m88110_harris_ext,
3121 floatformat_arm_ext_big, floatformat_arm_ext_littlebyte_bigword,
3122 floatformat_ia64_spill_big, floatformat_ia64_spill_little,
3123 floatformat_ia64_quad_big, floatformat_ia64_quad_little): Update
3124 for addition of split_half field.
3128 * pexecute.txh (pex_free): Document process killing.
3132 * cp-demangle.c (d_dump): Handle
3133 DEMANGLE_COMPONENT_RVALUE_REFERENCE.
3134 (d_make_comp): Ditto.
3135 (cplus_demangle_type): Ditto.
3136 (d_print_comp): Ditto.
3137 (d_print_mod): Ditto.
3138 (d_print_function_type): Ditto.
3142 * pex-common.h: (pex_funcs): Retyped wait and exec_child to pid_t.
3143 * pex-djgpp.c: Likewise.
3144 * pex-msdos.c: Likewise.
3145 * pex-unix.c: Likewise.
3146 * pex-win32.c: Likewise.
3150 * make-relative-prefix.c (make_relative_prefix_1): Resource leaks.
3154 * make-relative-prefix.c (make_relative_prefix_1): Fix resource
3159 * cp-demangle.c (d_print_comp): Guard against null.
3163 * Makefile.in (CFILES): Remove ternary.c.
3164 (REQUIRED_OFILES): Remove ./ternary.o.
3165 (INSTALLED_HEADERS): Remove ternary.h.
3166 (ternary.o): Remove.
3167 * ternary.c: Remove.
3171 * argv.c (writeargv): Fix typo in inline documentation.
3172 * functions.texi: Regenerate.
3176 * configure.ac (target_header_dir, msdosdjgpp): Remove duplicate
3178 * configure: Likewise.
3182 * maint-tool (deps): Output stamp-h instead of config.h.
3183 * Makefile.in: Rebuild deps.
3184 (maintainer-clean-subdir): Depend on stamp-h rather than config.h.
3188 * argv.c (writeargv): Removed declaration of unused variable.
3192 * configure.ac: Use ACX_PROG_CC_ALMOST_PEDANTIC too.
3193 * configure: Regenerate.
3197 * aclocal.m4: Include config/warnings.m4.
3198 * configure.ac: Use ACX_PROG_CC_WARNING_OPTS.
3199 * configure: Regenerate.
3203 * configure.ac: Non-default multilibs can be cross compilations.
3204 * configure: Regenerate
3208 * argv.c (writeargv): New function.
3212 * cp-demangle.c (d_name): Detect local-source-name.
3213 (d_prefix): Likewise.
3214 (d_unqualified_name): Implement local-source-name.
3218 * filename_cmp.c: Replace include of ctype.h by include of
3220 (filename_cmp): Use TOLOWER instead of tolower for conversions
3221 that are locale-independent.
3222 * Makefile.in (filename_cmp.o): Add dependency on safe-ctype.h.
3226 * argv.c: Use ANSI C declarations.
3227 * make-relative-prefix.c: Likewise.
3231 * filename_cmp.c (filename_cmp): Improve documentation.
3235 * filename_cmp.c: Include "config.h".
3239 * filename_cmp.c: New file.
3240 * Makefile.in (CFILES): Add filename_cmp.c.
3241 (REQUIRED_OFILES): Add filename_cmp.o
3242 (filename_cmp.o): New rule.
3243 * functions.texi: Regenerate.
3247 * cp-demangle.c (d_encoding): Exit early on error.
3248 (d_pointer_to_member_type): Exit early if cplus_demangle_type
3250 (cplus_demangle_type): Likewise.
3251 * testsuite/demangle-expected: New testcase.
3255 * Makefile.in: Add install-pdf target as copied from
3256 automake v1.10 rules.
3257 * testsuite/Makefile.in: Add dummy install-pdf target.
3263 * Makefile.in: Install library under $(MULTIOSDIR), not $(MULTISUBDIR).
3264 Install headers in multilib independent location.
3268 * configure.ac: add djgpp-specific results, so we don't have to
3269 link during a cross compilation.
3270 * configure: Regenerated.
3275 * choose-temp.c: Likewise.
3276 * functions.texi: Regenerate.
3280 * pex-common.h (struct pex_obj): New fields
3281 stderr_pipe and read_err.
3282 * pex-common.c (pex_init_common): Initialize
3284 (pex_run_in_environment): Add error checking
3285 for PEX_STDERR_TO_PIPE. Create a pipe
3286 for stderr if necessary.
3287 (pex_read_err): New.
3288 (pex_free): Close read_err.
3289 * pexecute.txh: Document changes.
3290 * functions.texi: Regenerated.
3294 * strsignal.c (psignal): Change type of signo to int.
3295 * functions.texi: Regenerate.
3299 * cp-demangle.h (cplus_demangle_operators): External definition
3300 suppressed if not building for libstdc++.
3301 * cp-demangle.c (__gcclibcxx_demangle_callback): Augmented interface
3302 to demangling, provides a malloc-less version of __cxa_demangle.
3303 (cplus_demangle_print_callback): Public callback version of
3304 cplus_demangle_print.
3305 (struct d_growable_string): New growable string structure.
3306 (d_growable_string_init): New function, provides support for
3307 growable strings separate from print info.
3308 (d_growable_string_resize): Likewise.
3309 (d_growable_string_append_buffer): Likewise.
3310 (d_growable_string_callback_adapter):): Likewise.
3311 (d_print_init): New print info initialization function.
3312 (d_print_error): Macro replace by inline function.
3313 (d_print_saw_error): Likewise.
3314 (d_append_char): Likewise.
3315 (d_append_buffer): Likewise.
3316 (d_append_string): New inline function, replaces the
3317 d_append_string_constant macro.
3318 (d_flush_buffer): New function, flushes buffer to callback.
3319 (d_demangle_callback, is_ctor_or_dtor): Malloc-based fallback
3320 for unsupported dynamic arrays replaced by alloca().
3321 (d_demangle): Return string length estimating removed.
3322 (d_dump): Moved error case handling from call site into function.
3323 (d_print_resize): Function removed.
3324 (d_print_append_char): Likewise.
3325 (d_print_append_buffer): Likewise.
3326 (d_print_error): Likewise.
3327 (d_print_comp): Added special case handling for Java arrays.
3328 (java_demangle_v3): Removed string post-processing for Java arrays,
3329 now replaced by special case handling in d_print_comp.
3330 (cplus_demangle_v3_callback): Augmented interface to demangling,
3331 provides a malloc-less version of cplus_demangle_v3.
3332 (java_demangle_v3_callback): Augmented interface to demangling,
3333 provides a malloc-less version of java_demangle_v3.
3337 * pex-unix.c (writeerr): Cast write result to void.
3339 * choose-temp.c (choose_temp_base): Check the result of the call
3340 to mktemp rather than testing the length of the modified string.
3344 * cp-demangle.h: Add comment explaining what to do to avoid
3346 (d_check_char): New.
3347 (d_next_char): Don't advance past trailing '\0'.
3348 * cp-demangle.c (cplus_demangle_mangled_name): Use d_check_char.
3349 (d_nested_name): Likewise.
3350 (d_special_name): Likewise.
3351 (d_call_offset): Likewise.
3352 (d_function_type): Likewise.
3353 (d_array_type): Likewise.
3354 (d_pointer_to_member_type): Likewise.
3355 (d_template_param): Likewise.
3356 (d_template_args): Likewise.
3357 (d_template_arg): Likewise.
3358 (d_expr_primary): Likewise.
3359 (d_local_name): Likewise.
3360 (d_substitution): Likewise.
3361 (d_ctor_dtor_name): Use d_advance rather than d_next_char.
3362 * testsuite/test-demangle.c: Include sys/mman.h.
3363 (MAP_ANONYMOUS): Define.
3365 (main): Use protect_end.
3366 * testsuite/demangle-expected: Add testcases for overrunning
3367 the end of the string.
3373 * make-relative-prefix.c (make_relative_prefix_1): New function,
3374 broken out of make_relative_prefix. Make link resolution dependent
3376 (make_relative_prefix): Use make_relative_prefix_1.
3377 (make_relative_prefix_ignore_links): New function.
3381 * pex-win32.c (no_suffixes): Remove.
3382 (std_suffixes): Add "" as first element.
3383 (find_executable): Remove detection of already-present
3384 extension. Try all suffixes in std_suffixes.
3388 * floatformat.c (get_field): Fix segfault with little-endian word
3389 order on 64-bit hosts.
3390 (put_field): Likewise.
3391 (min): Move definition.
3395 pex-win32.c (argv_to_cmdline): Replace xmalloc with XNEWVEC.
3396 (find_executable): Likewise.
3397 (win32_spawn): Cast alloca return to (char**).
3398 Replace malloc with XNEWVEC.
3399 bcopy.c (bcopy): Add explict casts in assignments.
3403 * pexecute.txh: Wrap pexecute's "flag" argument with @var {..}.
3407 * Makefile.in: Added "pdf", "libiberty.pdf" target support.
3408 * testsuite/Makefile.in: Added empty "pdf" target.
3413 * cp-demangle.c (d_substitution): Check for overflow when
3414 computing substitution index.
3418 * configure.ac: Add case for Mingw as host.
3419 * configure: Regenerate.
3424 * pex-common.h (struct pex_funcs): Add toclose parameter to
3426 * pex-common.c (pex_run_in_environment): Pass toclose to
3428 * pex-djgpp.c (pex_djgpp_exec_child): Add toclose parameter.
3429 * pex-unix.c (pex_unix_exec_child): Likewise.
3430 * pex-msdos.c (pex_msdos_exec_child): Likewise.
3431 * pex-win32.c (pex_win32_exec_child): Likewise.
3434 * cp-demangle.c (d_pointer_to_member_type): Do add a substitution
3435 for a qualified member which is not a function.
3436 * testsuite/demangle-expected: Add test case.
3440 PR rtl-optimization/28071
3441 * hashtab.c (htab_empty): Clear out n_deleted/n_elements;
3442 downsize the hashtable.
3446 * Makefile.in: chmod 644 before ranlib during install.
3450 * pex-unix.c (pex_unix_exec_child): Insert cast when assigning
3455 * pex-common.c: New function pex_run_in_environment.
3456 * pex-common.h: Add environment parameter to exec_child.
3457 * pex-msdos.c: Add environment parameter to pex_msdos_exec_child.
3458 * pex-djgpp.c: Add environment parameter to pex_djgpp_exec_child.
3459 (pex_djgpp_exec_child): Pass environment to child process.
3460 * pex-unix.c: Add environment parameter to pex_unix_exec_child.
3461 (pex_unix_exec_child): Pass environment to child process.
3462 * pex-win32.c: Add environment parameter to pex_win32_exec_child.
3463 New function env_compare for comparing VAR=VALUE pairs.
3464 (win32_spawn): Assemble environment block and pass to CreateProcess.
3465 (spawn_script): Pass environment through to win32_spawn.
3466 (pex_win32_exec_child): Pass environment through to spawn_script and
3468 * functions.texi: Regenerate.
3469 * pexecute.txh: Document pex_run_in_environment.
3473 * mkstemps.c: Open temporary files in binary mode.
3477 * cplus-dem.c (demangle_fund_type): Ensure buf is large enough to
3482 * floatformat.c (floatformat_to_double): Fix (biased) exponent=0 case.
3486 * pex-common.c (pex_input_file, pex_input_pipe): New functions.
3487 (pex_init_common): Initialize obj->input_file.
3488 (pex_run): Close any file opened by pex_input_file.
3489 * pexecute.txh (pex_input_file, pex_input_pipe): New docs.
3490 * pex-common.h (struct pex_obj): New field input_file.
3491 (struct pex_funcs): New function ptr fdopenw.
3492 * pex-unix.c (pex_unix_fdopenw): New function.
3493 (funcs): List it as our fdopenw function.
3494 * pex-win32.c (pex_win32_fdopenw): New function.
3495 (funcs): List it as our fdopenw function.
3496 * pex-djgpp.c (funcs): Leave fdopenw null.
3497 * pex-msdos (funcs): Same.
3498 * functions.texi: Regenerated.
3502 * pex-common.c (temp_file): New function, containing guts of
3503 pex-style temporary file name generation.
3508 * Makefile.in: Add install-html, install-html-am, and
3509 install-html-recursive targets. Define mkdir_p and
3511 * configure.ac: AC_SUBST datarootdir, docdir, htmldir.
3512 * configure: Regenerate.
3513 * testsuite/Makefile.in: Add install-html and html targets.
3517 * pex-win32.c (<errno.h>): Include.
3519 (argv_to_cmdline): New function.
3520 (std_suffixes): New variable.
3521 (no_suffixes): Likewise.
3522 (find_executable): New function.
3523 (win32_spawn): Likewise.
3524 (spawn_script): Use win32_spawn instead of _spawnv[p].
3525 (pex_win32_exec_child): Replace MSVCRT calls with Win32 API calls.
3526 (pex_win32_wait): Likewise.
3530 * pex-common.c (pex_run): Simplify output name handling.
3534 * pex-common.h (struct pex_obj): Doc fixes.
3538 * functions.texi: Regenerate.
3542 * pexecute.c (pwait): Syntax fix for previous change.
3546 * pexecute.c (pwait): Free vector pointer.
3547 * partition.c (partition_print): Free class_elements pointer.
3554 * floatformat.c: Include <float.h> where available.
3555 (NAN): Use value of DBL_QNAN if defined, and NAN isn't.
3559 * configure.ac: Add -Wc++-compat to ac_libibety_warn_cflags where
3561 * configure: Regenerated.
3565 * testsuite/Makefile.in: Add test-expandargv test.
3566 * testsuite/test-expandargv.c: New test.
3567 * argv.c (expandargv): Check for errors with ferror,
3568 rather than just by looking at return value from fread.
3572 * floatformat.c (floatformat_i387_ext_is_valid): Use explicit cast
3573 to convert from "from".
3574 (floatformat_to_double): Likewise.
3575 (floatformat_from_double): Use explicit cast to convert from "to".
3580 * cp-demangle.c (d_bare_function_type): Recognize new 'J' qualifer
3581 and include return type when found.
3582 (d_print_comp)[DEMANGLE_COMPONENT_FUNCTION_TYPE]: Add
3583 conditional logic to change printing order of return type.when
3584 the DMGL_RET_POSTFIX option is present.
3585 (java_demangle_v3): Add DMGL_RET_POSTFIX option to d_demangle
3587 * testsuite/test-demangle.c (main): Recognize option --ret-postfix
3588 * testsuite/demangle-expected: Test cases to verify extended encoding.
3589 Updated comment to document --ret-postfix option.
3593 * splay-tree.c (rotate_left): New function.
3594 (rotate_right): Likewise.
3595 (splay_tree_splay_helper): Remove.
3596 (splay_tree_splay): Re-implement.
3600 * floatformat.c (floatformat_vax_aingle, floatformat_vax_double):
3605 * at-file.texi: Fix typo.
3609 * at-file.texi: New file.
3613 * argv.c (expandargv): Do not use xmalloc_failed.
3617 * argv.c (safe-ctype.h): Include it.
3620 (buildargv): Use ISSPACE instead of ISBLANK.
3621 (expandargv): New function.
3622 * Makefile.in: Regenerated.
3626 * pex-win32.c: Include "windows.h".
3627 (backslashify): New function.
3628 (fix_argv): Use backslashify to convert path to windows format.
3629 Allocate one more place in new argv for potential executable from '#!'
3631 (tack_on_executable): New function. Conditional on USE_MINGW_MSYS
3633 (mingw_rootify): Ditto.
3634 (msys_rootify): Ditto.
3635 (spawn_script): New function.
3636 (pex_win32_exec_child): Save translated argv in newargv. Pass to
3637 spawn_script if spawnv* fails.
3638 (main): New function. Conditional on MAIN. Useful for testing.
3642 * floatformat.c (floatformat_always_valid): Change type of last
3643 argument to `void *'.
3644 (floatformat_i387_ext_is_valid): Likewise.
3645 (floatformat_to_double): Change type of second argument to `const
3647 (floatformat_from_double): Change type of last argument to `void
3649 (floatformat_is_valid): Change type of last argument to `const
3651 (ieee_test): Remove redundant casts.
3655 * strverscmp.c: Update FSF address.
3656 * testsuite/Makefile.in: Likewise.
3657 * testsuite/test-demangle.c: Likewise.
3658 * testsuite/test-pexecute.c: Likewise.
3662 * getopt.c: Include ansidecl.h before system headers.
3666 * getopt.c: Include "ansidecl.h".
3667 (_getopt_initialize): Mark argc and argv parameters as unused.
3671 * regex.c (regcomp): Change type of `i' from unsigned to int.
3675 Recover patch lost in the sourceware repository:
3677 * memcpy.c: Remove ANSI_PROTOTYPES conditional code.
3678 * memmove.c: Likewise.
3679 * objalloc.c: Likewise.
3683 * configure.ac: Check for a getopt(3) declaration.
3684 * configure, config.in: Regenerate.
3688 * regex.c (TRANSLATE): Cast rhs of ternary expression to char.
3692 * floatformat.c (floatformat_to_double): Add a comment about a
3693 potential source of warnings when compiling this file.
3697 * pexecute.c (pexecute): Cast string litrals to char *.
3698 * regex.c (re_comp): Cast a call to gettext() to char *.
3702 * config.table: Delete file. Move former contents into ...
3703 * configure.ac: ... here and escape any brackets for m4.
3704 * Makefile.in (config.status): Remove dependency on config.table.
3705 * configure: Regenerate.
3709 * config.in: Regenerate for 6/20 change.
3714 * md5.c (md5_process_bytes): Check alignment.
3719 * cp-demangle.c (d_expr_primary): Don't run off the end of the
3720 string while looking for the end of a literal value.
3721 * testsuite/demangle-expected: Add test case.
3725 * hashtab.c (EMPTY_ENTRY): Moved and renamed.
3726 (DELETED_ENTRY): Ditto.
3730 * strverscmp.c: New.
3731 * Makefile.in (CFILES): Add strverscmp.c.
3732 (CONFIGURED_OFILES): Add strverscmp.o.
3733 (strverscmp.o): New rule.
3734 (stamp-functions): Add $(srcdir) to files in source directory.
3735 * configure.ac (funcs): Add strverscmp.
3736 (AC_CHECK_FUNCS): Add strverscmp.
3737 * configure: Regenerate.
3738 * functions.texi: Regenerate.
3742 * configure.ac: Add snprintf and vsnprintf to AC_CHEK_DECLS.
3743 * config.in, configure: Regenerate.
3747 * cp-demangle.c (d_dump): Handle DEMANGLE_COMPONENT_HIDDEN_ALIAS.
3748 (d_make_comp, d_print_comp): Likewise.
3749 (d_special_name): Generate one.
3750 * testsuite/demangle-expected: Add a hidden alias test.
3754 * configure.ac: Check declarations for calloc(), getenv(),
3755 malloc(), realloc() and sbrk().
3756 * config.in: Regenerate.
3757 * configure: Likewise.
3759 * alloca.c (C_alloca): Change "new" to "new_storage". Use XNEWVEC
3761 * choose-temp.c (choose_temp_base): Use XNEWVEC instea od xmalloc.
3762 * concat.c (liiberty_concat_ptr): Surround definition with an
3763 extern "C" block, if __cplusplus.
3764 (concat): Use XNEWVEC instead of xmalloc.
3765 (reconcat): Likewise.
3766 * cp-demangle.c (struct d_print_template): Rename member
3767 "template" to "template_decl". Adjust use throughout the file.
3768 (d_print_resize): Properly cast return value of realloc().
3769 (cplus_demangle_print): Same for malloc().
3770 (d_demangle): Likewise.
3771 * cp-demint.c (cplus_demangle_fill_builtin_type): Rename parameter
3772 "typename" to "type_name".
3773 * cplus-dem.c (grow_vect): Use XRESIZEVEC instead of xrealloc().
3774 (work_stuff_copy_to_from): Use XNEWVEC insteand of xmalloc().
3775 (demangle_template_value_parm): Likewise.
3776 (demangle_template): Likewise.
3777 (recursively_demangle): Likewise.
3778 (do_hpacc_template_literal): Likewise.
3780 (remember_type): Likewise.
3781 (remember_Ktype): Likewise.
3782 (register_Btype): Likewise.
3783 (string_need): Use XRESIZEVEC instead of xrealloc().
3784 * dyn-string.c (dyn_string_init): Use XNEWVEC.
3785 (dyn_string_new): Use XNEW.
3786 (dyn_string_resize): Use XRESIZEVEC.
3787 * fnmatch.c (fnmatch): Rename local variable "not" to "negate".
3788 * getopt.c (getenv): Declare only if !__cplusplus and !getenv.
3789 Otherwise include <stdlib.h>.
3790 (exchange): Cast return value of malloc().
3791 * hashtab.c (htab_size): Define as both macro and non-inline
3793 (htab_elements): Likewise.
3794 * getpwd.c (getpwd): Use XNEWVEC.
3795 (htab_create_alloc_ex): Use C90 prototype-style.
3796 * lrealpath.c (lrealpath): Appropriately cast return value of
3798 * make-relative-prefix.c (save_string): Likewise.
3799 * make-temp-file.c (try_dir): Rename from "try". Adjust use in
3801 (choose_tmpdir): Use XNEWVEC.
3802 * mkstemps.c (mkstemps): Rename parameter "template" to "pattern".
3803 * pex-common.c (pex_init_common): Use XNEW.
3804 (pex_add_remove): Use XRESIZEVEC.
3805 (pex_run): Likewise.
3806 (pex_get_status_and_time): Likewise.
3807 * pex-djgpp.c (pex_djgpp_exec_child): Likewise.
3808 * pex-msdos.c (pex_init): Use XNEW.
3809 (pex_msdos_exec_child): Likewise.
3810 (pex_msdos_exec_child): Use XRESIZEVEC.
3811 * pex-unix.c (pex_wait): Use XNEW.
3812 * pex-win32.c (fix_argv): Use XNEWVEC.
3813 * pexecute.c (pwait): Likewise.
3814 * setenv.c (setenv): Properly cast return value of malloc().
3815 * sigsetmask.c (sigsetmask): Rename local variables "old" and
3816 "new" to "old_sig" and "new_sig".
3817 * sort.c (main): Use XNEWVEC.
3818 * spaces.c (spaces): Cast return value of malloc().
3819 * strndup.c (strndup): Likewise.
3820 * ternary.c (ternary_insert): Use XNEW.
3821 * xmalloc.c (malloc, realloc, calloc, sbrk): Surround declaration
3822 with an extern "C" block if __cplusplus.
3823 * xstrdup.c (xstrdup): Cast return value of memcpy().
3824 * xstrerror.c (strerror): Enclose declaration in an extern "C"
3825 block if __cplusplus.
3826 * xstrndup.c (xstrndup): Use XNEW. Cast return value of memcpy().
3830 * getpwd.c: Remove unneeded prototype getcwd and move getwd so
3831 that it's only declared if needed.
3833 * getopt1.c: Change order of includes so that __GNU_LIBRARY__ is
3838 * functions.texi: Regenerated.
3842 * pexecute.txh: Enclose multi-word data types in @deftypefn in
3843 braces. Minor wording fixes. Use --- for em-dash. Use
3844 @enumerate in enumerated lists.
3846 * fopen_unlocked.c: Enclose multi-word data types in @deftypefn in
3851 * pex-djgpp.c: Include string.h, fcntl.h, unistd.h, and
3853 (pex_init): Fix last argument to pex_init_common.
3854 (pex_djgpp_exec_child): Remove leading underscore from _open,
3855 _dup, _dup2, _close, and _spawnv/_spawnvp. Replace `program',
3856 which is undeclared, with `executable', which was unused. Remove
3857 unused variable `e'. Fix casting of last arg to spawnv/spawnvp.
3858 (pex_djgpp_wait): Declare arguments with ATTRIBUTE_UNUSED.
3862 * Makefile.in: Regenerate dependencies.
3866 * Update the address and phone number of the FSF organization in
3867 the GPL notices in the following files:
3868 COPYING.LIB, Makefile.in, _doprnt.c, argv.c, asprintf.c,
3869 choose-temp.c, clock.c, concat.c, copying-lib.texi, cp-demangle.c,
3870 cp-demangle.h, cp-demint.c, cplus-dem.c, dyn-string.c, fdmatch.c,
3871 fibheap.c, floatformat.c, fnmatch.c, fopen_unlocked.c,
3872 gather-docs, getopt.c, getopt1.c, getruntime.c, hashtab.c, hex.c,
3873 lbasename.c, lrealpath.c, maint-tool, make-relative-prefix.c,
3874 make-temp-file.c, md5.c, mempcpy.c, mkstemps.c, objalloc.c,
3875 obstack.c, partition.c, pex-common.c, pex-common.h, pex-djgpp.c,
3876 pex-msdos.c, pex-one.c, pex-unix.c, pex-win32.c, pexecute.c,
3877 physmem.c, putenv.c, regex.c, safe-ctype.c, setenv.c, snprintf.c,
3878 sort.c, spaces.c, splay-tree.c, stpcpy.c, stpncpy.c, strndup.c,
3879 strtod.c, ternary.c, unlink-if-ordinary.c, vasprintf.c,
3880 vsnprintf.c, vsprintf.c, xexit.c, xmalloc.c, xstrndup.c
3884 * aclocal.m4 (AC_DEFINE_NOAUTOHEADER): Remove.
3885 * configure.ac: Replace any AC_DEFINE_NOAUTOHEADER with AC_DEFINE.
3886 * configure: Regenerate.
3890 * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
3891 Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
3892 * aclocal.m4: Don't include accross.m4.
3893 * configure, config.in: Regenerate.
3897 * fopen_unlocked.c (unlock_std_streams): New.
3899 * functions.texi: Regenerate.
3903 * fopen_unlocked.c (unlock_stream): New.
3904 Consolidate unlocking code into a helper function.
3906 * functions.texi: Regenerate.
3910 * asprintf.c: Include config.h.
3911 * basename.c: Likewise.
3912 * fdmatch.c: Likewise.
3914 * lbasename.c: Likewise.
3915 * spaces.c: Likewise.
3916 * xatexit.c:Likewise.
3917 * configure.ac: Do check declarations for basename, ffs, asprintf
3918 and vasprintf for real.
3919 * configure: Regenerate.
3923 * argv.c (dupargv): Allocate space of argv[argc], not
3924 sizeof(char *) of that amount. Cast result to char *.
3928 * regex.c (wcs_re_match_2_internal, byte_re_match_2_internal):
3929 Replace not with negate.
3933 * configure.ac: Check declarations for basename, ffs, asprintf,
3935 * configure: Regenerate.
3936 * config.in: Likewise.
3940 * Makefile.in (CFILES): Add fopen_unlocked.c.
3941 (REQUIRED_OFILES): Add ./fopen_unlocked.o.
3942 Regenerate dependencies.
3944 * configure.ac: Check for stdio_ext.h and __fsetlocking.
3946 * fopen_unlocked.c: New file.
3948 * functions.texi, configure, config.in: Regenerate.
3952 * testsuite/test-pexecute.c (TEST_PEX_RUN): Move variable
3953 declaration before statement.
3957 * bcmp.c: Fix warnings and implement using memcmp.
3958 * bcopy.c: Fix warnings.
3959 * bzero.c: Fix warnings and implement using memset.
3961 * configure.ac (ac_libiberty_warn_cflags): Add -Wwrite-strings
3962 -Wstrict-prototypes.
3963 * configure, config.in: Regenerate.
3965 * bsearch.c, index.c, rindex.c, strstr.c, strtol.c, waitpid.c: Fix
3966 warnings and reconcile interfaces with relevant standards.
3970 * cp-demangle.c: Update copyright.
3974 * gettimeofday.c: Add "Supplemental" to @deftypefn.
3975 * functions.texi: Regenerate.
3979 * pex-common.c: New file.
3980 * pex-one.c: New file.
3981 * pexecute.c: New file.
3982 * pex-common.h: Include <stdio.h>.
3983 (struct pex_obj): Define.
3984 (struct pex_funcs): Define.
3985 (pex_init_common): Declare.
3986 * pex-unix.c: Rewrite.
3987 * pex-win32.c: Rewrite.
3988 * pex-djgpp.c: Rewrite.
3989 * pex-msdos.c: Rewrite.
3990 * testsuite/text-pexecute.c: New file.
3991 * pexecute.txh: Rewrite.
3992 * configure.ac: Check for wait3 and wait4. Set CHECK to
3993 really-check rather than check-cplus-dem.
3994 * functions.texi: Rebuild.
3995 * Makefile.in: Rebuild dependencies.
3996 (CFILES): Add pexecute.c, pex-common.c, pex-one.c.
3997 (REQUIRED_OFILES): Add pexecute.o, pex-common.o, pex-one.o.
3998 * testsuite/Makefile.in (really-check): New target.
3999 (check-pexecute, test-pexecute): New targets.
4000 * configure: Rebuild.
4004 * unlink-if-ordinary.c: Include <sys/types.h>.
4008 Convert libiberty to use ISO C prototype style 7/n.
4009 * regex.c (PARAMS): Remove definition.
4010 (PREFIX): Unconditionaly define using ISO C ## operator.
4011 (init_syntax_once, extract_number, extract_number_and_incr,
4012 print_fastmap, print_partial_compiled_pattern,
4013 print_compiled_pattern, print_double_string, printchar,
4014 convert_mbs_to_wcs, re_set_syntax, regex_grow_registers,
4015 regex_compile, store_op1, store_op2, insert_op1, insert_op2,
4016 at_begline_loc_p, at_endline_p, group_in_compile_stack,
4017 insert_space, wcs_compile_range, byte_compile_range,
4018 truncate_wchar, re_compile_fastmap, re_compile_fastmap,
4019 re_set_registers, re_search, re_search_2, re_search_3, re_match,
4020 re_match_2, count_mbs_length, wcs_re_match_2_internal,
4021 byte_re_match_2_internal, group_match_null_string_p,
4022 alt_match_null_string_p, common_op_match_null_string_p,
4023 bcmp_translate, re_compile_pattern, re_comp, re_exec, regcomp,
4024 regexec, regerror, regfree): Use ISO C prototype style.
4025 * partition.c: (elem_compare): Likewise.
4026 * cp-demangle.c (print_usage): Likewise.
4030 Convert libiberty to use ISO C prototype style 5/n.
4031 * random.c (srandom, initstate, setstate, random): Use ISO C
4033 * putenv.c (putenv): Likewise.
4034 * physmem.c (physmem_available, physmem_total, main): Likewise.
4035 * pex-win32.c (fix_argv, pexecute, pwait): Likewise.
4036 * pex-unix.c (pexecute, pwait): Likewise.
4037 * pex-msdos.c (pexecute, pwait): Likewise.
4038 * pex-djgpp.c (pexecute, pwait): Likewise.
4039 * partition.c (partition_new, partition_delete, partition_union)
4040 (elem_compare, partition_print): Likewise.
4041 * obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
4042 _obstack_allocated_p, _obstack_free, obstack_free,
4043 _obstack_memory_used, print_and_abort, obstack_next_free,
4044 obstack_object_size, obstack_base): Likewise. Remove codes
4045 predicated on !defined(__STDC__).
4046 * objalloc.c (objalloc_create, _objalloc_alloc, objalloc_free,
4047 objalloc_free_block): Use ISO C prototypes.
4048 * mkstemps.c (mkstemps): Likewise.
4049 * memset.c (memset): Likewise.
4050 * mempcpy.c (mempcpy): Likewise.
4051 * rename.c (rename): Likewise.
4052 * rindex.c (rindex): Likewise.
4053 * setenv.c (setenv, unsetenv): Likewise.
4054 * sigsetmask.c (sigsetmask): Likewise.
4055 * snprintf.c (snprintf): Likewise.
4056 * sort.c (sort_pointers, xmalloc): Likewise.
4057 * spaces.c (spaces): Likewise.
4058 * splay-tree.c (splay_tree_delete_helper,
4059 splay_tree_splay_helper, splay_tree_splay,
4060 splay_tree_foreach_helper, splay_tree_xmalloc_allocate,
4061 splay_tree_new, splay_tree_xmalloc_allocate,
4062 splay_tree_new_with_allocator, splay_tree_delete,
4063 splay_tree_insert, splay_tree_remove, splay_tree_lookup,
4064 splay_tree_max, splay_tree_min, splay_tree_predecessor,
4065 splay_tree_successor, splay_tree_foreach,
4066 splay_tree_compare_ints, splay_tree_compare_pointers): Likewise.
4067 * stpcpy.c (stpcpy): Likewise.
4068 * stpncpy.c (stpncpy): Likewise.
4069 * strcasecmp.c (strcasecmp): Likewise.
4070 * strchr.c (strchr): Likewise.
4071 * strdup.c (strdup): Likewise.
4075 Convert libiberty to use ISO C prototype style 6/n.
4076 * strerror.c (init_error_tables, errno_max, strerror, strerrno,
4077 strtoerrno, main): Use ISO C prototype style.
4078 * strncasecmp.c (strncasecmp): Likewise.
4079 * strncmp.c (strncmp): Likewise.
4080 * strndup.c (strndup): Likewise.
4081 * strrchr.c (strrchr): Likewise.
4082 * strsignal.c (init_signal_tables, signo_max, strsignal,
4083 strsigno, strtosigno, psignal, main): Likewise.
4084 * strstr.c (strstr): Likewise.
4085 * strtod.c (strtod, atof): Likewise.
4086 * strtol.c (strtol): Likewise.
4087 * strtoul.c (strtoul): Likewise.
4088 * ternary.c (ternary_insert, ternary_cleanup, ternary_search,
4089 ternary_recursivesearch): Likewise.
4090 * tmpnam.c (tmpnam): Likewise.
4091 * unlink-if-ordinary.c (unlink_if_ordinary): Likewise.
4092 * vasprintf.c (int_vasprintf, vasprintf, checkit, main): Likewise.
4093 * vfork.c (vfork): Likewise.
4094 * vfprintf.c (vfprintf): Likewise.
4095 * vprintf.c (vprintf): Likewise.
4096 * vsnprintf.c (vsnprintf, checkit, main): Likewise.
4097 * vsprintf.c (vsprintf): Likewise.
4098 * waitpid.c (waitpid): Likewise.
4099 * xatexit.c (xatexit, xatexit_cleanup): Likewise.
4100 * xexit.c (xexit): Likewise.
4101 * xmalloc.c (xmalloc_set_program_name, xmalloc_failed, xmalloc,
4102 xcalloc, xrealloc): Likewise.
4103 * xmemdup.c (xmemdup): Likewise.
4104 * xstrdup.c (xstrdup): Likewise.
4105 * xstrerror.c (xstrerror): Likewise.
4106 * xstrndup.c (xstrndup): Likewise.
4110 * configure.ac (ac_c_preproc_warn_flag): Remove -Wtraditional
4112 * configure: Regenerated.
4116 * getopt1.c (getopt_long_only): Fix thinko.
4120 Convert libiberty to use ISO C prototype style 4/n.
4121 * hashtab.c (higher_prime_index, hash_pointer, eq_pointer,
4122 htab_size, htab_elements, htab_mod_1, htab_mod, htab_mod_m2,
4123 htab_create_alloc, htab_set_functions_ex, htab_create,
4124 htab_try_create, htab_delete, htab_empty,
4125 find_empty_slot_for_expand, htab_expand, htab_find_with_hash,
4126 htab_find, htab_find_slot_with_hash, htab_find_slot,
4127 htab_remove_elt, htab_remove_elt_with_hash, htab_clear_slot,
4128 htab_traverse_noresize, htab_traverse, htab_collisions,
4129 htab_hash_string, iterative_hash): Use ISO C prototype.
4130 * hex.c (hex_init): Likewise.
4131 * index.c (index): Likewise.
4132 * insque.c (insque, remque): Likewise.
4133 * lbasename.c (lbasename): Likewise.
4134 * lrealpath.c (lrealpath): Likewise.
4135 * make-relative-prefix.c (save_string, split_directories,
4136 free_split_directories, make_relative_prefix): Likewise.
4137 * make-temp-file.c (try, choose_tmpdir, make_temp_file): Likewise.
4138 * md5.c (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
4139 md5_buffer, md5_process_bytes, md5_process_block): Likewise.
4140 * memchr.c (memchr): Likewise.
4141 * memcpy.c (memcpy): Likewise.
4142 * memmove.c (memmove): Likewise.
4143 * gettimeofday.c (gettimeofday): Likewise.
4144 * getruntime.c (get_run_time): Likewise.
4145 * getpwd.c (getpwd, getpwd): Likewise.
4146 * getpagesize.c (getpagesize): Likewise.
4147 * getopt1.c (getopt_long, getopt_long_only, main): Likewise.
4148 * getopt.c (my_index, exchange, _getopt_initialize,
4149 _getopt_internal, getopt, main): Likewise.
4150 * getcwd.c (getcwd): Likewise.
4151 * fnmatch.c (fnmatch): Likewise.
4152 * floatformat.c (floatformat_always_valid,
4153 floatformat_i387_ext_is_valid, get_field, floatformat_to_double,
4154 put_field, floatformat_from_double, floatformat_is_valid,
4155 ieee_test, main): Likewise.
4156 * fibheap.c (fibheap_new, fibnode_new, fibheap_compare,
4157 fibheap_comp_data, fibheap_insert, fibheap_min, fibheap_min_key,
4158 fibheap_union, fibheap_extract_min, fibheap_replace_key_data,
4159 fibheap_replace_key, fibheap_replace_data, fibheap_delete_node,
4160 fibheap_delete, fibheap_empty, fibheap_extr_min_node,
4161 fibheap_ins_root, fibheap_rem_root, fibheap_consolidate,
4162 fibheap_link, fibheap_cut, fibheap_cascading_cut,
4163 fibnode_insert_after, fibnode_remove): Likewise.
4164 * ffs.c (ffs): Likewise.
4165 * fdmatch.c (fdmatch): Likewise.
4166 * dyn-string.c (dyn_string_init, dyn_string_new,
4167 dyn_string_delete, dyn_string_release, dyn_string_resize,
4168 dyn_string_clear, dyn_string_copy, dyn_string_copy_cstr,
4169 dyn_string_prepend, dyn_string_prepend_cstr, dyn_string_insert,
4170 dyn_string_insert_cstr, dyn_string_insert_char,
4171 dyn_string_append, dyn_string_append_cstr,
4172 dyn_string_append_char, dyn_string_substring, dyn_string_eq):
4177 Convert libiberty to use ISO C prototype style 3/n.
4178 * cplus-dem.c (set_cplus_marker_for_demangling, consume_count,
4179 consume_count_with_underscores, code_for_qualifier,
4180 qualifier_string, demangle_qualifier, cplus_demangle_opname,
4181 cplus_mangle_opname, cplus_demangle_set_style,
4182 cplus_demangle_name_to_style, cplus_demangle, grow_vect,
4183 ada_demangle, internal_cplus_demangle, squangle_mop_up,
4184 work_stuff_copy_to_from, delete_non_B_K_work_stuff,
4185 delete_work_stuff, mop_up, demangle_signature,
4186 demangle_method_args, demangle_template_template_parm,
4187 demangle_expression, demangle_integral_value,
4188 demangle_real_value, demangle_template_value_parm,
4189 demangle_template, arm_pt, demangle_arm_hp_template,
4190 demangle_class_name, demangle_class, iterate_demangle_function,
4191 demangle_prefix, gnu_special, recursively_demangle, arm_special,
4192 demangle_qualified, get_count, do_type, demangle_fund_type,
4193 do_hpacc_template_const_value, do_hpacc_template_literal,
4194 snarf_numeric_literal, do_arg, remember_type, remember_Ktype,
4195 register_Btype, remember_Btype, forget_B_and_K_types,
4196 forget_types, demangle_args, demangle_nested_args,
4197 demangle_function_name, string_need, string_delete, string_init,
4198 string_clear, string_empty, string_append, string_appends,
4199 string_appendn, string_prepend, string_prepends, string_prependn,
4200 string_append_template_idx): Use ISO C prootype style.
4201 * cp-demint.c (cplus_demangle_fill_component,
4202 cplus_demangle_fill_builtin_type, cplus_demangle_fill_operator,
4203 cplus_demangle_v3_components): Likewise.
4207 Convert libiberty to use ISO C prototype style 2/n.
4208 * cp-demangle.h: Remove uses of PARAMS.
4209 * cp-demangle.c: Likewise.
4210 (d_dump, cplus_demangle_fill_name,
4211 cplus_demangle_fill_extended_operator, cplus_demangle_fill_ctor,
4212 cplus_demangle_fill_dtor, d_make_empty, d_make_comp, d_make_name,
4213 d_make_builtin_type, d_make_operator, d_make_extended_operator,
4214 d_make_ctor, d_make_dtor, d_make_template_param, d_make_sub,
4215 cplus_demangle_mangled_name, has_return_type,
4216 is_ctor_dtor_or_conversion, d_encoding, d_name, d_nested_name,
4217 d_prefix, d_unqualified_name, d_source_name, d_number,
4218 d_identifier, d_operator_name, d_special_name, d_call_offset,
4219 d_ctor_dtor_name, cplus_demangle_type, d_cv_qualifiers,
4220 d_function_type, d_bare_function_type, d_class_enum_type,
4221 d_array_type, d_pointer_to_member_type, d_template_param,
4222 d_template_args, d_template_arg, d_expression, d_expr_primary,
4223 d_local_name, d_discriminator, d_add_substitution,
4224 d_substitution, d_print_resize, d_print_append_char,
4225 d_print_append_buffer, d_print_error, cplus_demangle_print,
4226 d_print_comp, d_print_java_identifier, d_print_mod_list,
4227 d_print_mod, d_print_function_type, d_print_array_type,
4228 d_print_expr_op, d_print_cast, cplus_demangle_init_info,
4229 d_demangle, __cxa_demangle, cplus_demangle_v3, java_demangle_v3,
4230 is_ctor_or_dtor, is_gnu_v3_mangled_ctor, is_gnu_v3_mangled_dtor,
4235 Convert libiberty to ISO C prototype style 1/n.
4236 * _doprnt.c: Remove conditional #include <varargs.h> on
4237 ANSI_PROTOTYPES as the latter is always assumed.
4238 (_doprnt, checkit, main): Use ISO C prototype.
4239 * alloca.c (find_stack_direction, C_alloca): Use ISO C prototype.
4240 * argv.c: Remove conditional #includes on ANSI_PROTOTYPES.
4241 (dupargv, freeargv, buildargv, main): Use ISO C prototype.
4242 * atexit.c (atexit): Likewise
4243 * asprintf.c: Remove conditional include on ANSI_PROTOTYPES.
4244 (asprintf): Use ISO C prototype.
4245 * basename.c (basename): Likewise
4246 * bcmp.c (bcmp): Likewise.
4247 * bcopy.c (bcopy): Likewise.
4248 * bzero.c (bzero): Likewise.
4249 * bsearch.c (bsearch): Likewise. Improve const-correctness.
4250 * choose-temp.c (choose_temp_base): Likewise.
4251 * calloc.c: Remove conditional #include on ANSI_PROTOTYPES.
4252 (calloc): Use ISO C prototype.
4253 * clock.c (clock): Likewise.
4254 * concat.c: Remove conditional #include on ANSI_PROTOTYPES.
4255 (vconcat_length, vconcat_copy, concat_length, concat_copy,
4256 concat_copy2, concat, reconcat, main): Use ISO C prototype.
4257 * copysign.c (copysign): Likewise.
4261 * Makefile.in (CFILES): Add strndup.c and xstrndup.c.
4262 (REQUIRED_OFILES): Add xstrndup.o.
4263 (CONFIGURED_OFILES): Add strndup.o.
4264 Regenerate dependencies.
4266 * configure.ac (funcs, AC_CHECK_FUNCS): Add strndup.
4268 * strndup.c, xstrndup.c: New.
4270 * config.in, configure, functions.texi: Regenerate.
4274 * xmemdup.c, xstrdup.c: Expose the tail call.
4278 * configure.ac (funcs): Add gettimeofday.
4279 * configure: Regenerated.
4280 * gettimeofday.c: New file.
4281 * Makefile.in (CFILES): Add gettimeofday.
4282 (CONFIGURED_OFILES): Add gettimeofday.o.
4283 (./gettimeofday.o): New rule.
4287 * pex-os2.c: Remove.
4288 * configure.ac: Remove *-*-os2-emx* case when setting pexecute.
4289 * Makefile.in (CFILES): Remove pex-os2.c.
4290 (CONFIGURED_OFILES): Remove pex-os2.o.
4291 (pex-os2.o): Remove target.
4292 * configure: Rebuild.
4296 * mpw-config.in: Remove.
4297 * mpw-make.sed: Remove.
4299 * Makefile.in (CFILES): Remove pex-mpw.c.
4300 (CONFIGURED_OFILES): Remove pex-mpw.o.
4301 (mpw.o, pex-mpw.o): Remove targets.
4302 * maint-tool (undoc): Remove reference to mpw.c.
4306 * configure.ac (target_header_dir): vfork is a stub under djgpp.
4307 * configure: Regenerated.
4311 * Makefile.in (CFILES): Add unlink-if-ordinary.c
4312 (REQUIRED_OFILES): Add unlink-if-ordinary.o.
4313 Add dependencies and rule for unlink-if-ordinary.o.
4314 * unlink-if-ordinary.c: New.
4318 * hashtab.c (htab_find_slot_with_hash): Make function
4319 documentation clearer.
4323 * cp-demangle.c (__cxa_demangle): Change resolution of ambiguous
4328 * hex.c (hex_value): Group 'unsigned int' together to get correct
4330 * functions.texi: Regenerated.
4334 * Makefile.in: Undo to 2004-12-17.
4335 * aclocal.m4: Likewise.
4336 * config.table: Likewise.
4337 * configure.ac: Likewise.
4338 * maint-tool: Likewise.
4339 * configure: Likewise.
4344 * Makefile.in (enable_shared): New substitute.
4346 (PREFIXTARGETLIB): New.
4348 (PREFIXTESTLIB): New.
4351 ($(TARGETLIB)): Use $(LINK) to create libraries and create
4353 ($(TESTLIB)): Likewise.
4354 (mostlyclean): Don't remove .libs. Remove the libtool object
4357 * config.table (enable_shared): Removed.
4359 * configure.ac (enable_static): Set to yes.
4360 (AC_PROG_LIBTOOL): Removed.
4361 (AM_DISABLE_SHARED): Uncommented.
4362 (AM_PROG_LIBTOOL): Likewise.
4363 (LIBOBJS): Add `./' to avoid VPATH.
4364 (LTLIBOBJS): Likewise.
4365 (enable_shared): Substitute.
4366 * configure: Regenerated.
4370 * Makefile.in (top_builddir): Set to `.'.
4371 (OUTPUT_OPTION): Removed.
4374 (EXTRA_LTOFILES): New.
4375 (FLAGS_TO_PASS): Add EXTRA_LTOFILES.
4376 (all): Remove stamp-picdir.
4379 (REQUIRED_LTOFILES): New.
4380 (CONFIGURED_LTOFILES): New.
4381 ($(TARGETLIB)): Check .libs for PIC object files. Depend on
4382 $(REQUIRED_LTOFILES) $(EXTRA_LTOFILES) $(LTLIBOBJS).
4383 (stamp-picdir): Completely removed.
4384 (maint-missing): Pass $(REQUIRED_LTOFILES)
4385 $(CONFIGURED_LTOFILES) instead of (REQUIRED_OFILES)
4386 $(CONFIGURED_OFILES)
4387 (maint-buildall): Depend on $(REQUIRED_LTOFILES)
4388 $(CONFIGURED_LTOFILES).
4389 (mostlyclean): Also remove *.lo .libs.
4390 Run "make maint-deps".
4392 * aclocal.m4: Include ../libtool.m4.
4394 * config.table: Don't check --enable-shared.
4396 * configure.ac (AC_PROG_LIBTOOL): Add.
4397 (AC_PROG_CC_C_O): Removed.
4398 (OUTPUT_OPTION): Removed.
4399 (NO_MINUS_C_MINUS_O): Removed.
4400 (ltpexecute): New substitute.
4402 * configure: Regenerated.
4404 * maint-tool: Updated for .lo/libtool.
4408 * configure.ac: Invoke AC_CHECK_SIZEOF for sizeof (int).
4409 * configure: Regenerate.
4410 * config.in: Likewise.
4414 * splay-tree.c (splay_tree_delete_helper): Redesign the logic so
4415 that recursion (and thus large stack space) is not needed.
4419 * pex-unix.c: Fix the spelling of longjmp.
4424 * cp-demangle.c (d_call_offset): Remove useless local variables
4425 offset and virtual_offset.
4426 * cplus-dem.c (ada_demangle): Remove useless local variable
4428 (demangle_template): Remove useless local variable start.
4432 * objalloc.c, strsignal.c, xstrerror.c: Include "config.h" before
4433 "ansidecl.h" to avoid redeclaration errors with native compilers.
4434 * regex.c: Protect config.h from multiple inclusion.
4438 * Makefile.in (libiberty.html): Fix html generation.
4442 * vasprintf.c: Accept __va_copy in addition to va_copy.
4446 * configure: Regenerate.
4450 * configure.ac: Do not enable multilibs for build-side libiberty.
4454 * lrealpath.c (lrealpath): Add _WIN32 support.
4458 * cp-demangle.h: Declare cplus_demangle_operators,
4459 cplus_demangle_builtin_types, cplus_demangle_mangled_name, and
4460 cplus_demangle_type as static if IN_GLIBCPP_V3.
4465 * cp-demangle.c (d_expr_primary): Check for a failure return from
4466 cplus_demangle_type.
4467 * testsuite/demangle-expected: Add test case.
4471 * pex-win32.c (fix_argv): Expand comment.
4475 * Makefile.in: Add .NOEXPORT.
4479 * mkstemps.c (mkstemps) [VMS]: Remove special open option. Update
4484 * configure.ac (UNSIGNED_64BIT_TYPE): Unquote the definition.
4485 * configure: Regenerate.
4489 * hashtab.c: Include limits.h, stdint.h, ansidecl.h.
4490 (CHAR_BIT): Provide default.
4491 (struct prime_ent, prime_tab): New.
4492 (higher_prime_index): Rename from higher_prime_number, return index.
4494 (htab_mod, htab_mod_m2): Use it.
4495 (htab_create_alloc, htab_create_alloc_ex): Store prime index.
4496 (htab_expand): Likewise.
4497 * configure.ac: Check for stdint.h.
4498 (UNSIGNED_64BIT_TYPE): New define and checks to fill it in.
4499 * config.in, configure: Rebuild.
4503 * strerror.c: Include config.h, and redefine sys_nerr and
4504 sys_errlist, before including ansidecl.h and libiberty.h.
4508 * hashtab.c (htab_remove_elt_with_hash): New function.
4509 (htab_remove_elt): Implement in terms of htab_remove_elt_with_hash.
4513 * hashtab.c (htab_size): Move to top of file; mark inline.
4514 (htab_elements): Likewise.
4515 (htab_mod, htab_mod_m2): New.
4516 (htab_delete): Refactor htab->size and htab->entries.
4517 (htab_empty): Likewise.
4518 (find_empty_slot_for_expand): Use htab_size, htab_mod, htab_mod_m2.
4519 (htab_find_with_hash, htab_find_slot_with_hash): Likewise.
4520 (htab_clear_slot): Use htab_size, htab_elements.
4521 (htab_traverse_noresize, htab_traverse): Likewise.
4525 * pex-unix.c (pexecute): Use vfork instead of fork, with
4526 appropriate changes to make this safe.
4527 * pex-common.h (STDERR_FILE_NO): Define.
4529 * Makefile.in: Clean up REQUIRED_OFILES and CONFIGURED_OFILES for
4530 an 80 column screen. Run maint-deps.
4534 * configure.ac: Bump version to 2.59. Apply suggested autoupdates.
4535 * acconfig.h: Delete redundant file.
4536 * config.in: Regenerate.
4537 * configure: Regenerate.
4541 * configure: Regenerate for config/accross.m4 correction.
4545 * testsuite/test-demangle.c: Include <string.h> and <stdlib.h> for
4547 (main): Initialize style.
4551 * cp-demangle.h (enum d_builtin_type_print): Add D_PRINT_UNSIGNED,
4552 D_PRINT_UNSIGNED_LONG, D_PRINT_LONG_LONG,
4553 D_PRINT_UNSIGNED_LONG_LONG, D_PRINT_FLOAT.
4554 * cp-demangle.c (cplus_demangle_builtin_types): Change char and
4555 short types to D_PRINT_DEFAULT. Change other integer types to use
4556 new D_PRINT_* values where appropriate. Change float types to
4558 (d_print_comp) [LITERAL, LITERAL_NEG]: Handle new D_PRINT_*
4560 * testsuite/demangle-expected: Adjust two test cases.
4562 * cp-demangle.c (d_print_function_type): Print a space before the
4563 parenthesis around the function type in more cases.
4564 * testsuite/demangle-expected: Adjust one test case.
4566 * cp-demangle.c (d_print_comp) [UNARY]: Don't emit extra
4567 parentheses around a cast.
4568 * testsuite/demangle-expected: Adjust two test cases to match new
4571 * cp-demangle.c (__cxa_demangle): Pass DMGL_PARAMS to d_demangle.
4573 * cp-demangle.c (d_print_comp) [RESTRICT, VOLATILE, CONST]: Don't
4574 push more than one of the same CV-qualifier on the top of the
4576 (d_print_comp) [ARRAY_TYPE]: If the array itself is CV-qualified,
4577 move the CV-qualifiers to apply to the element type instead.
4578 (d_print_array_type): When checking the modifiers, keep looking
4579 past ones which have been printed already.
4580 * testsuite/demangle-expected: Add three test cases.
4584 * cp-demangle.c (__cxa_demangle): Adjust last patch to handle
4585 empty string correctly.
4587 * cp-demangle.c (__cxa_demangle): It is not an error if status is
4588 not NULL. It is an error if the mangled name is the same as a
4590 (main): If IN_GLIBCPP_V3 is defined, test __cxa_demangle rather
4591 than cplus_demangle_v3.
4593 * dyn-string.c: Remove test of IN_LIBGCC2 and IN_GLIBCPP_V3 and
4594 the associated #define of RETURN_ON_ALLOCATION_FAILURE.
4598 * regex.c: Include <ansidecl.h>.
4599 (regcomp): Cast i to int.
4600 (regerror): Add ATTRIBUTE_UNUSED to parameter preg.
4604 * configure.ac: Add m4_pattern_allow(LIBOBJS).
4605 * configure: Regenerate.
4609 * Makefile.in: Convert to ./ throughout. Rebuild dependencies
4610 with explicit build rules.
4613 * configure.ac (pexecute, LIBOBJS): Add ./ .
4614 * maint-tool: Build dependencies with explicit rules.
4618 * strdup.c (strdup): Constify the argument.
4622 * Makefile.in (distclean): Remove config.cache.
4626 * cp-demangle.c (d_make_comp): DEMANGLE_COMPONENT_CONSTRUCTION_VTABLE
4627 takes two parameters.
4628 * cp-demint.c (cplus_demangle_fill_component): Likewise.
4632 * cp-demangle.c: Include "cp-demangle.h". If IN_GLIBCPP_V3 is
4633 defined, rename some functions which are to become static via
4635 (CP_STATIC_IF_GLIBCPP_V3): Define.
4636 (struct d_operator_info): Move definition to cp-demangle.h, and
4637 rename to demangle_operator_info. Change all uses.
4638 (enum d_builtin_type_print): Move definition to cp-demangle.h.
4639 (struct d_builtin_type_info): Move definition to cp-demangle.h,
4640 and rename to demangle_builtin_type_info. Change all uses.
4641 (enum d_comp_type): Move definition to include/demangle.h, and
4642 rename to demangle_component_type, and change all enums to start
4643 with DEMANGLE_COMPONENT_ instead of D_. Change all uses.
4644 (struct d_comp): Move definition to include/demangle.h, and rename
4645 to demangle_component. Change all uses.
4646 (struct d_info): Move definition to cp-demangle.h.
4647 (cplus_demangle_fill_name): New function.
4648 (cplus_demangle_fill_extended_operator): New function.
4649 (cplus_demangle_fill_ctor): New function.
4650 (cplus_demangle_fill_dtor): New function.
4651 (d_make_empty): Remove type parameter. Change all callers.
4652 (d_make_name): Use cplus_demangle_fill_name.
4653 (d_make_extended_operator): Use
4654 cplus_demangle_fill_extended_operator.
4655 (d_make_ctor): Use cplus_demangle_fill_ctor.
4656 (d_make_dtor): Use cplus_demangle_fill_dtor.
4657 (cplus_demangle_mangled_name): Rename from d_mangled_name. Make
4658 non-static by default. Change all callers.
4659 (cplus_demangle_operators): Rename from d_operators. Change all
4660 uses. Make non-static by default. Add sentinel at end of array.
4661 (d_operator_name): Adjust initialization of high for new sentinel
4662 in cplus_demangle_operators.
4663 (cplus_demangle_builtin_types): Rename from d_builtin_types.
4664 Change all uses. Make non-static by default. Change initializer
4665 to use D_BUILTIN_TYPE_COUNT instead of magic number 26.
4666 (cplus_demangle_type): Rename from d_type. Make non-static by
4667 default. Change all callers.
4668 (cplus_demangle_init_info): Rename from d_init_info. Make
4669 non-static by default. Change all callers.
4670 * cp-demangle.h: New file.
4671 * cp-demint.c: New file.
4672 * Makefile.in: Rebuild dependencies.
4673 (CFILES): Add cp-demint.c.
4674 (REQUIRED_OFILES): Add cp-demint.o.
4678 * configure.in: Rename file to ...
4679 * configure.ac: ... this.
4680 * Makefile.in: Update a comment for above change.
4682 * config.in: Regenerate.
4686 * cp-demangle.c (d_encoding): When DMGL_PARAMS is not set, strip
4687 CV-qualifiers from D_COMP_LOCAL_NAME right subtree.
4688 * cplus-dem.c (demangle_arm_hp_template): Set DMGL_PARAMS when
4689 demangling template parameters.
4690 * testsuite/test-demangle.c (fail): New static function.
4691 (main): Support new options in input file: --no-params,
4692 --is-v3-ctor, and --is-v3-dtor.
4693 * testsuite/demangle-expected: Add --no-params to most tests, and
4694 add the correct result when parameters are not demangled. Add
4695 some simple tests for V3 constructor/destructor recognition.
4699 * cp-demangle.c (is_ctor_or_dtor): Fix error in last change.
4704 * Makefile.in (lbasename.o): Depend on filenames.h.
4705 * lbasename.c: Include "filenames.h" instead of defining
4710 * cp-demangle.c (CP_DYNAMIC_ARRAYS): Define if compiler supports
4712 (struct d_operator_info): Add len field.
4713 (struct d_builtin_type_info): Add len and java_len fields.
4714 (struct d_standard_sub_info): Add simple_len, full_len, and
4715 set_last_name_len fields.
4716 (struct d_comp): Add len field to s_string.
4717 (struct d_info): Add send, did_subs, and expansion fields.
4718 (d_append_string_constant): Define.
4719 (d_append_string): Remove. Change all users to use
4720 d_append_string_constant or d_append_buffer instead.
4721 (d_make_sub): Add len parameter. Change all callers.
4722 (d_name): Increase expansion when substituting std::.
4723 (d_unqualified_name): Increase expansion for an operator.
4724 (d_number): Don't use multiplication for negative numbers.
4725 (d_identifier): Make sure there are enough characters in the
4726 string for the specified length. Adjust expansion for an
4727 anonymous namespace.
4728 (d_operators): Initialize len field.
4729 (d_special_name, d_ctor_dtor_name): Increase expansion.
4730 (d_builtin_types): Initialize len and java_len fields.
4731 (d_type): Increase expansion for a builtin type.
4732 (d_cv_qualifiers): Increase expansion for each qualifier.
4733 (d_bare_function_type): Decrease expansion when removing single
4735 (d_template_param): Increment did_subs.
4736 (d_expression): Increase expansion for an operator.
4737 (d_expr_primary): Decrease expansion for a type we will print
4739 (standard_subs): Initialize new fields.
4740 (d_substitution): Increment did_subs when doing a normal
4741 substitution. Increase expansion for a special substitution.
4742 (d_print): Add estimate parameter. Change all callers.
4743 (d_print_comp) [D_COMP_NAME]: Handle C++ case inline.
4744 (d_print_comp) [D_COMP_BINARY]: Use length to avoid strcmp call.
4745 (d_print_java_identifier): Rename from d_print_identifier. Handle
4746 only Java case. Change caller.
4747 (d_init_info): Change return type to void. Change all callers.
4748 Initialize send, did_subs, and expansion fields. Do not
4749 initialize comps and subs fields.
4750 (d_demangle): Ifdef CP_DYNAMIC_ARRAYS, allocate comps and subs
4751 arrays on stack. Make an estimate of the length of the demangled
4752 name. Ifdef CP_DEMANGLE_DEBUG, print estimation failures.
4753 (is_ctor_or_dtor): Ifdef CP_DYNAMIC_ARRAYS, allocate comps and
4754 subs arrays on stack.
4758 * cp-demangle.c (d_identifier): In Java mode, skip an optional '$'
4759 after the identifier.
4760 * testsuite/demangle-expected: Add test case.
4764 Fix for PR c++/13447:
4765 * cp-demangle.c (enum d_comp_type): Add D_COMP_LOCAL_NAME.
4766 (d_dump, d_make_comp): Handle D_COMP_LOCAL_NAME.
4767 (is_ctor_dtor_or_conversion): Handle D_COMP_LOCAL_NAME like
4769 (is_ctor_or_dtor): Likewise.
4770 (d_local_name): Use D_COMP_LOCAL_NAME rather than
4772 (d_print_comp) [D_COMP_LOCAL_NAME]: New.
4773 (d_prinT_comp) [D_COMP_TYPED_NAME]: If the left tree is
4774 D_COMP_LOCAL_NAME, pull any qualifiers off its right subtree.
4775 (d_print_mod_list): Handle D_COMP_LOCAL_NAME.
4776 * testsuite/demangle-expected: Add two test cases.
4778 * cp-demangle.c (d_print_function_type): Clear the global modifier
4779 list when printing the modifiers, not just when printing the
4780 function parameters.
4781 * testsuite/demangle-expected: Add two test cases.
4785 * cp-demangle.c (d_print_function_type): Print the function
4786 parameters with no modifiers.
4787 * testsuite/demangle-expected: Add test case.
4789 * cp-demangle.c (d_demangle): If DMGL_PARAMS is not set, don't
4790 expect that we've read the entire string.
4791 (is_ctor_or_dtor): Don't expect that we've read the entire
4792 string--reverse patch of 2003-11-29.
4796 * Makefile.in (floatformat.o): Add dependency on
4797 config.h to accompany change of 2003-12-03.
4801 Fix handling of constructor/destructor of standard substitution:
4802 * cp-demangle.c (struct d_standard_sub_info): Define.
4803 (d_substitution): Add prefix argument. Change all callers.
4804 Rework handling of standard substitutions to print full name when
4805 qualifying a constructor/destructor, or when DMGL_VERBOSE is set.
4806 * testsuite/demangle-expected: Add test case.
4808 Fix handling of negative literal constants:
4809 * cp-demangle.c (enum d_comp_type): Add D_COMP_LITERAL_NEG.
4810 (d_dump, d_make_comp): Handle D_COMP_LITERAL_NEG.
4811 (d_expr_primary): Use D_COMP_LITERAL_NEG for a negative number.
4812 (d_print_comp): Handle D_COMP_LITERAL_NEG.
4813 * testsuite/demangle-expected: Add test case.
4817 * cp-demangle.c (IS_UPPER, IS_LOWER): Define.
4818 (d_last_char): Define new macro.
4819 (d_make_name): Reject an empty name.
4820 (d_prefix, d_unqualified_name, d_type): Use new IS_* macros.
4821 (d_substitution, d_print_identifier): Likewise.
4822 (d_print_comp) [D_COMP_OPERATOR]: Likewise.
4823 (d_print_comp) [D_COMP_TEMPLATE]: Use new d_last_char macro.
4824 (d_print_mod) Use new d_last_char macro.
4825 (d_print_cast): Use new d_last_char macro.
4826 (is_ctor_or_dtor): Don't leak memory.
4828 Fix handling of member function modifiers:
4829 * cp-demangle.c (enum d_comp_type): Add D_COMP_RESTRICT_THIS,
4830 D_COMP_VOLATILE_THIS, and D_COMP_CONST_THIS.
4831 (d_dump): Dump new d_comp_type values.
4832 (d_make_comp): Accept new d_comp_type values.
4833 (has_return_type): Only accept _THIS variants of qualifiers.
4834 (d_encoding): Without DMGL_PARAMS, only remove _THIS variants of
4836 (d_cv_qualifiers): Add member_fn parameter. Change all callers.
4837 (d_print_comp) [D_COMP_TYPED_NAME]: Rather than removing
4838 qualifiers and printing them at the end, add _THIS qualifiers to
4840 (d_print_comp) [D_COMP_*_THIS]: New cases.
4841 (d_print_comp) [D_COMP_PTRMEM_TYPE]: Remove special handling of
4843 (d_print_mod_list): Add suffix parameter. Change all callers.
4844 Keep walking the list even if the current modifier has been
4846 (d_print_mod): Handle new _THIS qualifiers.
4847 (d_print_function_type): Handle new _THIS qualifiers when deciding
4848 whether to print a parenthesis. Put a space before the
4849 parenthesis in some cases. Call d_print_mod_list again at the
4850 end, passing suffix as 1.
4851 (is_ctor_or_dtor): Look for new _THIS qualifiers.
4852 * testsuite/demangle-expected: Add test case.
4854 Fix for PR gcc/13304:
4855 * cp-demangle.c (d_print_comp) [D_COMP_TEMPLATE]: If the character
4856 before the '<' is itself a '<', insert a space.
4857 (d_print_cast): Likewise.
4858 * testsuite/demangle-expected: Add test case.
4860 Fix for PR gcc/13244:
4861 * cp-demangle.c (d_print_comp) [D_COMP_BINARY]: Wrap an expression
4862 which uses the '>' operator in an extra layer of parens.
4863 * testsuite/demangle-expected: Add test case.
4867 * floatformat.c: Include "config.h" and <string.h> if available.
4868 (INFINITY, NAN): Define if not defined by <math.h>.
4869 (floatformat_to_double): Handle NaN, infinity, and denormalized
4871 (floatformat_from_double): Likewise.
4872 (ieee_test): In debugging code, use little endian rather than big
4873 endian. Correct tests to handle NaN and to check correct sign of
4874 zero. Omit m68k extended test.
4875 (main): Add more debugging cases.
4879 * cp-demangle.c (d_demangle): Only return success if we consumed
4880 the entire demangled string.
4881 (is_ctor_or_dtor): Likewise.
4883 * testsuite/demangle-expected: Revert one part of 2003-06-26 patch
4884 to restore expected result of EDG test case to original expected
4889 * cp-demangle.c (struct d_print_mod): Add templates field.
4890 (d_make_builtin_type): Check for NULL type.
4891 (d_make_extended_operator): Check for NULL name.
4892 (d_make_ctor, d_make_dtor): Likewise.
4893 (d_mangled_name): Add top_level parameter. Change all callers.
4894 (d_encoding): If DMGL_PARAMS is not set, strip off initial
4896 (d_type): Check some return values we rely on.
4897 (d_bare_function_type, d_array_type): Likewise.
4898 (d_pointer_to_member_type, d_template_args): Likewise.
4899 (d_add_substitution): Fail if argument is NULL.
4900 (d_print_resize): Check whether buf is NULL.
4901 (d_print_comp): Save current templates list with each modifier.
4902 Don't pass the modifier list down when printing a template.
4903 (d_print_cast): Don't pass the modifier list down when printing a
4905 (d_print_mod_list): Temporarily set templates list while printing
4907 (d_print_mod): Check that buf is not NULL before using it.
4908 (d_print_function_type): Print parens if there is no modifier.
4909 (d_init_info): Permit as many substitutions as there are
4910 characters in the mangled name.
4911 * testsuite/demangle-expected: Add two new test cases.
4915 * cp-demangle.c (java_demangle_v3): Pass DMGL_PARAMS to
4920 * cp-demangle.c (d_encoding): Add top_level parameter. Change all
4922 (print_usage): Display new -p option.
4923 (long_options): Add --no-params.
4924 (main): Accept and handle -p.
4928 * cp-demangle.c (has_return_type): Skip qualifiers when checking
4929 whether we have a template.
4930 * testsuite/demangle-expected: Add four new tests.
4934 * testsuite/demangle-expected: Minor changes to match output of
4935 new demangler: adjust whitespace in four tests, and change order
4936 of qualifiers in one test.
4938 * cp-demangle.c: Complete rewrite.
4942 * cp-demangle.c (demangle_type): Correct thinko in substitution
4947 * cp-demangle.c (demangle_operator_name): Remove space before
4949 (demangle_type_ptr): Put qualifiers in the right place. Handle
4950 qualifiers in pointer to member specially.
4951 (demangle_type): Handle qualifiers for pointer or reference
4952 specially. Handle function type.
4953 (demangle_local_name): Save and restore caret around demangling of
4956 * testsuite/test-demangle.c (main): Don't pass DMGL_VERBOSE to
4959 * testsuite/Makefile.in (test-demangle): Depend upon libiberty.a.
4963 * floatformat.c (floatformat_always_valid): Add unused attribute.
4968 * vasprintf.c (int_vasprintf): Pass va_list by value.
4969 Use va_copy for copying va_list.
4970 (vasprintf): Pass va_list by value.
4974 * hashtab.c (htab_find_slot_with_hash): Decrease n_deleted
4975 instead of increasing n_elements when inserting to deleted slot.
4979 * cplus-dem.c (demangle_template): Register a new Btype only
4981 * testsuite/demangle-expected: Add a new test.
4985 * testsuite/demangle-expected: Update the expected output of
4990 * strerror.c: Revert last change. Declare static sys_nerr
4991 and sys_errlist using different names.
4995 * strerror.c: Don't provide or reference sys_errlist if
4996 strerror is available.
5000 * configure.in: Check if $MAKEINFO is missing.
5001 * configure: Regenerated.
5005 * configure.in: Use AC_PROG_CPP_WERROR.
5006 * configure: Regenerated.
5010 * floatformat.c (floatformat_i387_ext_is_valid): New function.
5011 (floatformat_always_valid): New function.
5012 (floatformat_i387_ext): Initialize new "is_valid" field to
5013 "floatformat_i387_ext_is_valid".
5014 (floatformat_ieee_single_little): Initialize "is_valid" field to
5015 floatformat_always_valid.
5016 (floatformat_ieee_double_big): Ditto.
5017 (floatformat_ieee_double_little): Ditto.
5018 (floatformat_ieee_double_little): Ditto.
5019 (floatformat_ieee_double_littlebyte_bigword): Ditto.
5020 (floatformat_i960_ext): Ditto.
5021 (floatformat_m88110_ext): Ditto.
5022 (floatformat_m88110_harris_ext): Ditto.
5023 (floatformat_arm_ext_big): Ditto.
5024 (floatformat_arm_ext_littlebyte_bigword): Ditto.
5025 (floatformat_ia64_spill_big): Ditto.
5026 (floatformat_ia64_spill_little): Ditto.
5027 (floatformat_ia64_quad_big): Ditto.
5028 (floatformat_ia64_quad_little): Ditto.
5029 (floatformat_ia64_quad_little): Ditto.
5030 (floatformat_is_valid): Call "is_valid".
5034 * floatformat.c (get_field): Make "data" constant.
5035 (floatformat_is_valid, floatformat_to_double): Make "from"
5036 constant, fix casts.
5037 (floatformat_from_double): Make "from" constant.
5041 * floatformat.c (floatformat_is_valid): New function.
5042 (get_field, put_field): Correct comments.
5046 * fibheap.c (fibheap_replace_key_data): Change type of OKEY to
5052 * aclocal.m4 (AC_LANG_FUNC_LINK_TRY): Define.
5053 * configure: Rebuilt.
5057 * aclocal.m4: Include acx.m4 and no-executables.m4.
5058 (libiberty_AC_FUNC_STRNCMP): Use AC_LIBOBJ.
5059 (LIB_AC_PROG_CC): Remove.
5060 * configure.in: Update AC_PREREQ to 2.57. Use GCC_NO_EXECUTABLES.
5061 Use AC_PROG_CC and set ac_libiberty_warn_cflags instead of using
5062 LIB_AC_PROG_CC. Use AC_LIBOBJ. Call AC_ISC_POSIX later, only if
5063 performing link tests.
5064 * configure: Regenerated.
5068 * cp-demangle.c: Clarify what package(s) this is part of.
5072 * pex-win32.c (pexecute): Mark parameters this_pname and
5073 temp_base as unused. Remove unused variables retries,
5074 sleep_interval. Initialize org_stdin, org_stdout.
5075 (pwait): Mark parameter flags as unused.
5079 * pex-win32.c (fix_argv): Ensure that the executable pathname
5080 uses Win32 backslashes.
5081 (pexecute): Cast away constness when assigning *errmsg_arg.
5085 * testsuite/demangle-expected: Add more GNU V3 testcases.
5089 * safe-ctype.c: Use HOST_CHARSET_ASCII and HOST_CHARSET_EBCDIC,
5090 not HC_ASCII and HC_EBCDIC.
5091 Add documentation in form expected by gather-docs.
5092 * hex.c: Use HOST_CHARSET, not hand-coded check of character set.
5093 * Makefile.in, functions.texi: Regenerate.
5097 * safe-ctype.c: Separate out EOF==-1 check. Use HOST_CHARSET
5098 for charset determination.
5102 * configure.in: Add check for malloc.h needed by
5103 m68k for function free().
5104 * configure: Regenerated.
5105 * config.in: Add HAVE_MALLOC_H.
5106 * hashtab.c: include malloc.h were available for
5112 * physmem.c: Update comment.
5113 * configure.in: Modify test for _system_configuration for older
5116 * config.in, configure: Regenerated.
5121 * test-demangle.c (getline): Fix fence-post error.
5125 * asprintf.c: Change comment to note that -1 is returned upon
5127 * vasprintf.c: Likewise.
5128 (vasprintf): Return -1 upon error.
5129 * functions.texi: Document changes to asprintf and vasprintf.
5133 * config.table: Accept i[345867]86 variant.
5137 * hex.c (_hex_value): Make this unsigned.
5138 (hex_value): Update documentation for new return type. hex_value
5139 now expands to an unsigned int expression, to avoid unexpected
5140 sign extension when we store it in a bfd_vma, which is larger than
5141 int on some platforms.
5142 * functions.texi: Regenerated.
5146 * splay-tree.c (splay_tree_predecessor): Fix comment.
5147 (splay_tree_successor): Fix comment.
5151 * hashtab.c (iterative_hash): New fn.
5152 * configure.in: Add AC_C_BIGENDIAN_CROSS.
5153 * aclocal.m4: Include accross.m4.
5154 * configure, config.in: Regenerate.
5158 * configure.in (AC_CHECK_FUNCS): Don't make multiple calls.
5159 * configure: Regenerate.
5163 * cp-demangle.c: Fix typo in "char_traints" string-literal.
5167 * vsnprintf.c (vsnprintf): Don't pad string with extra nulls.
5168 (main): Test that we don't write too much data.
5172 * configure.in (funcs, AC_CHECK_FUNCS): Add snprintf and
5174 * snprintf.c, vsnprintf.c: New files.
5175 * Makefile.in (CFILES): Add snprintf.c and vsnprintf.c.
5176 (CONFIGURED_OFILES): Add snprintf.o and vsnprintf.o.
5177 Regenerate dependencies.
5179 * functions.texi, configure, config.in: Regenerated.
5183 * mempcpy.c, stpcpy.c, stpncpy.c: New files.
5184 * configure.in (funcs, AC_CHECK_FUNCS): Add mempcpy, stpcpy
5186 * Makefile.in (CFILES): Add mempcpy.c, stpcpy.c and stpncpy.c.
5187 (CONFIGURED_OFILES): Add mempcpy.o, stpcpy.o and stpncpy.o.
5188 Regenerate dependencies.
5190 * functions.texi, configure, config.in: Regenerated.
5194 * argv.c: Fix comments.
5195 * calloc.c: Don't unnecessarily include "libiberty.h".
5196 (bzero): Add prototype.
5197 * floatformat.c: Include "ansidecl.h", rely on ANSI_PROTOTYPES.
5198 * getcwd.c (getcwd): Use standard definition to avoid conflicts
5199 with system headers.
5200 * hashtab.c (htab_traverse): Delete unused variables.
5201 * rename.c: Include "ansidecl.h".
5202 (rename): Use standard definition to avoid conflicts with system
5204 * strsignal.c: Rely on ANSI_PROTOTYPES.
5205 * strstr.c: Check GNUC >= 2, not GNUC == 2.
5206 * vfprintf.c: Include "ansidecl.h", rely on ANSI_PROTOTYPES.
5207 * vprintf.c: Include "ansidecl.h" earlier, rely on
5209 * vsprintf.c: Include "ansidecl.h" earlier, rely on
5210 ANSI_PROTOTYPES and possibly include <stdarg.h>.
5212 * Makefile.in: Regenerate dependencies.
5216 * maint-tool (deps): Scan for headers in $srcdir also.
5223 * getopt.c (exchange, _getopt_initialize): Use mempcpy not
5225 * regex.c (regerror): Likewise.
5229 * argv.c: Use ANSI_PROTOTYPES instead of __STDC__.
5230 * memchr.c: Likewise.
5231 * strcasecmp.c: Likewise.
5232 * strncasecmp.c: Likewise.
5233 * strncmp.c: Likewise.
5234 * xatexit.c: Likewise.
5235 * xmalloc.c: Likewise.
5237 * copysign.c: Use traditional function declaration instead of DEFUN.
5238 * sigsetmask.c: Likewise.
5240 * memcmp.c: Both of the above, ANSI_PROTOTYPES and DEFUN.
5241 * memset.c: Likewise.
5243 * memcpy.c: ANSI_PROTOTYPES, DEFUN and prototype bcopy.
5244 * memmove.c: Likewise.
5248 * strdup.c (strdup): Tweak implementation to use memcpy.
5252 * configure.in (HAVE_UINTPTR_T): Always define.
5253 * configure: Regenerated.
5257 * Makefile.in (MULTIOSDIR): New macro. Use $(CC) $(LIBCFLAGS)
5258 instead of $$CC alone.
5259 (install_to_tooldir): Use it.
5263 * hashtab.c (htab_traverse_noresize): Break out from ...
5264 * hashtab.c (htab_traverse): ... here.
5268 * hashtab.c (htab_expand): Fix warning.
5270 * hashtab.c (htab_expand): Compute the size of hashtable based
5271 on the number of elements actually used.
5272 (htab_traverse): Call htab_expand when table is too empty.
5276 * cplus-dem.c (demangle_integral_value): Correction to reflect
5277 patch of 2002-01-10 in order to also make negative multi-digits
5278 without leading underscore work.
5282 * cplus-dem.c: Add license exception to copyright notice.
5286 * physmem.c: Formatting changes from upstream.
5290 * physmem.c (physmem_total): Add _WIN32 support.
5291 (physmem_available): Likewise.
5295 * physmem.c (physmem_total) [HAVE_GETSYSINFO]: Test for
5297 (physmem_available) [HAVE_TABLE]: Test for TBL_VMSTATS.
5301 * configure.in: Check for sys/systemcfg.h and
5302 _system_configuration.
5303 * physmem.c: Add support for AIX. Tweek formatting as per
5304 upstream coreutils beta.
5310 * configure.in: Check for sys/sysctl.h and sysctl.
5311 * physmem.c: Add support for *bsd and darwin.
5312 * Makefile.in: Generate depedency for physmem.o.
5316 * physmem.c (physmem_total) [HAVE_GETSYSINFO]: Use getsysinfo on
5318 (physmem_available) [HAVE_TABLE && HAVE_SYS_TABLE_H]: Use table on
5321 * configure.in (AC_CHECK_HEADERS): Check for sys/sysinfo.h,
5322 machine/hal_sysinfo.h, sys/table.h.
5323 (checkfuncs, AC_CHECKFUNCS): Check for getsysinfo, table.
5324 * configure, config.in: Regenerate.
5328 * configure.in: Check for sys/sysmp.h and sysmp.
5329 * physmem.c: Pull upstream copy, add support for irix6.
5331 * config.in, configure: Regenerated.
5335 * physmem.c (physmem_total, physmem_available): De-ANSI-fy.
5336 * configure.in (AC_CHECK_FUNCS): Add pstat_getstatic and
5341 * Makefile.in (CFILES): Add physmem.c.
5342 (REQUIRED_OFILES): Add physmem.o.
5343 * configure.in: Check for sys/pstat.h.
5344 (checkfuncs): Add pstat_getstatic and pstat_getdynamic.
5345 * physmem.c: New file, copied from textutils.
5347 * config.in, configure: Regenerated.
5351 * Makefile.in (CFILES): Add lrealpath.c.
5352 (REQUIRED_OFILES): Add lrealpath.o.
5353 (lrealpath.o): Add rule.
5354 * aclocal.m4 (libiberty_NEED_DECLARATION): Add.
5355 * configure.in: Add realpath and canonicalize_file_name to
5356 checkfuncs and AC_CHECK_FUNCS. Use libiberty_NEED_DECLARATION
5357 for canonicalize_file_name.
5358 * lrealpath.c: New file.
5359 * make-relative-prefix.c: Update documentation.
5360 (make_relative_prefix): Simplify. Use lbasename and lrealpath.
5361 * config.in: Regenerated.
5362 * configure: Regenerated.
5363 * functions.texi: Regenerated.
5367 * cplus_dem.c: Fix typo: intializes -> initializes.
5371 * configure.in: Propagate ORIGINAL_LD_FOR_MULTILIBS to
5373 * configure: Rebuilt.
5378 * cplus-dem.c (demangle_signature): Call string_delete.
5379 Remove extra string_init.
5380 (demangle_arm_hp_template): Call string_delete instead of
5381 string_clear. Add missing string_delete call.
5382 (demangle_qualified): Add missing string_delete call.
5383 (do_type): Remove unused variable btype. Add missing string_delete
5384 call. Call string_delete instead of string_clear.
5385 (demangle_fund_type): Move variable btype inside of the switch
5386 statement. Add missing string_delete call.
5387 (do_arg): Call string_delete instead of string_clear. Remove extra
5389 (demangle_nested_args): Free work->previous_argument.
5393 * acconfig.h: New file. Add uintptr_t.
5394 * config.in: Regenerated.
5398 * libiberty.texi: Update to GFDL 1.2.
5402 * Makefile.in (libiberty_topdir): New subst.
5403 (mkinstalldirs): Redefine in terms of the above.
5404 * configure.in: AC_SUBST it.
5405 * configure: Regenerate.
5409 * Makefile.in (all-subdir, check-subdir, installcheck-subdir)
5410 (info-subdir, install-info-subdir, clean-info-subdir)
5411 (dvi-subdir, install-subdir, etags-subdir, mostlyclean-subdir)
5412 (clean-subdir, distclean-subdir, maintainer-clean-subdir):
5413 Pass $(FLAGS_TO_PASS).
5417 * Makefile.in (install_to_tooldir): Instead of $(MULTISUBDIR), use
5418 /`$$CC -print-multi-os-directory`.
5422 * hashtab.c (htab_create_alloc_ex): New function.
5423 (hatab_set_functions_ex): New function.
5424 (htab_delete, htab_expand): Support alternate allocation functions.
5428 * configure.in: Remove special pex-cygwin consideration.
5429 * configure: Regenerate.
5430 * pex-cygwin.c: Remove.
5431 * Makefile.in: Remove pex-cygwin.[co] lines.
5435 * Makefile.in (CFILES): Add pex-*.c.
5436 (REQUIRED_OFILES): Change pexecute.o to @pexecute@
5437 (CONFIGURED_OFILES): Add pex-*.o.
5438 (TEXIFILES): Add pexecute.txh.
5439 (pexecute.o): Delete rule.
5440 (pex-cygwin.o, pex-djgpp.o, pex-mpw.o, pex-msdos.o, pex-os2.o,
5441 pex-unix.o, pex-win32.o): New rules.
5442 * configure.in: Change AC_INIT argument to xmalloc.c.
5443 Compute appropriate pexecute implementation and substitute it
5446 * pexecute.c: Split up into...
5447 * pex-cygwin.c, pex-djgpp.c, pex-mpw.c, pex-msdos.c, pex-os2.c,
5448 pex-unix.c, pex-win32.c, pex-common.h, pexecute.txh: ... these
5451 * functions.texi: Regenerate.
5452 * configure: Regenerate.
5456 * hashtab.c (htab_expand): Fix allocation of new entries.
5460 * Makefile.in (FLAGS_TO_PASS): Also pass DESTDIR.
5462 * Makefile.in (install_to_libdir, install_to_tooldir): Add a
5463 mkinstalldirs command.
5467 * make-relative-prefix.c (HAVE_HOST_EXECUTABLE_SUFFIX):
5468 Define for hosts with HOST_EXECUTABLE_SUFFIX.
5472 * make-relative-prefix.c (make_relative_prefix): Ensure return
5473 string is empty before using strcat to construct it.
5477 * Makefile.in: Add make-relative-prefix.c.
5478 * make-relative-prefix.c: New file.
5479 * functions.texi: Rebuilt.
5483 * md5.c (md5_process_block): Avoid `function-like macro "F{G,H,I}" must be
5484 used with arguments in traditional C' warnings.
5488 * config.table: Use mh-s390pic for s390x too.
5492 * cplus-dem.c (ada_demangle): Get rid of unneeded
5493 variable and of strict-aliasing warning.
5494 (grow_vect): Use char as first parameter.
5498 * Makefile.in (all): Fix multilib parallel build.
5502 * cp-demangle.c (demangling_new): Cast 0 to enum.
5503 (demangle_char): Cast return of strdup to char *.
5504 (is_gnu_v3_mangled_ctor): Cast 0 to enum.
5505 (is_gnu_v3_mangled_dtor): Likewise.
5506 * cplus-dem.c (grow_vect): Cast return of xrealloc to void *.
5507 (work_stuff_copy_to_from): Cast return of xmalloc to char **.
5508 * fibheap.c (fibnode_new): Cast return of xcalloc to fibnode_t.
5509 * md5.c (md5_process_bytes): Cast results back to const void *.
5510 (md5_process_block): Add cast to const md5_uint32 *.
5511 * regex.c (re_compile_fastmap): Cast enum to UCHAR_T.
5512 * safe-ctype.c (L, XL, U, XU, D, P, _, C, Z, M, V, T, S): Add cast to
5514 * splay-tree.c (splay_tree_xmalloc_allocate): Cast return of xmalloc
5516 * vasprintf.c (int_vasprintf): Cast return of malloc to char *.
5520 * README: Update email addresses for bugs and patches.
5524 * splay-tree.c (splay_tree_successor): Fix comments.
5528 * cplus-dem.c: Code under #ifdef MAIN moved to gcc/cp/cxxfilt.c.
5529 * testsuite/Makefile.in: Adjust for test-demangle.
5530 * testsuite/regress-demangle: Deleted.
5531 * testsuite/test-demangle.c: New file.
5532 * testsuite/demangle-expected: Change \$ to $ throughout, now that
5533 this file is not being read by a shell script.
5537 * regex.c: Only use "#pragma alloca" on AIX when not using gcc.
5541 * regex.c (re_error_msgid): Just use a simple array of strings.
5542 (re_compile_pattern): Compensate.
5543 (re_comp): Likewise.
5544 (re_comp): Likewise.
5545 (regerror): Likewise.
5549 * cplus-dem.c (PREPEND_BLANK): Remove.
5553 * cp-demangle.c (demangle_identifier): Support extended Unicode
5558 * cp-demangle.c (demangle_v3_with_details): Wrap in
5559 !defined IN_GLIBCPP_V3.
5563 * cp-demangle.c (demangle_operator_name): Add type_arg parameter.
5564 Set it for the "st" operator.
5565 (demangle_expression): Handle expressions with types as arguments.
5569 * configure.in (OUTPUT_OPTION,NO_MINUS_C_MINUS_O): Configure.
5570 * Makefile.in (OUTPUT_OPTION): Use.
5574 * Makefile.in (install_to_libdir): Add $(DESTDIR).
5575 (install_to_tooldir): Likewise.
5579 * lbasename.c: Add 2002 to copyright.
5580 (IS_DIR_SEPARATOR): Remove VMS junk.
5584 * hashtab.c (htab_create): New stub function for backward
5586 (htab_try_create): Likewise.
5590 * hashtab.c (htab_create): Delete.
5591 (htab_try_create): Delete.
5592 (htab_create_alloc): New.
5593 (htab_delete): Support user-specified memory allocation.
5594 (htab_expand): Likewise.
5598 * configure.in: Fix typo in the code checking for sys_errlist.
5599 * configure: Regenerated.
5603 * config.table: Use mh-x86pic also for x86-64.
5607 * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
5608 script entry, and set LD to it when configuring multilibs.
5609 * configure: Rebuilt.
5613 * configure.in (AC_TYPE_PID_T): Use it.
5614 * configure: Regenerated.
5615 * getruntime.c: Include <sys/types.h>.
5616 * waitpid.c: Likewise. Use pid_t, not int, as the type of "pid".
5620 * hashtab.c (higher_prime_number): Use 7 as minimum.
5621 (find_empty_slot_for_expand): Don't compute hash2 unless needed.
5622 (htab_find_slot_with_hash): Likewise.
5626 * cp-demangle.c (__cxa_demangle): Also protect with IN_GLIBCPP_V3.
5627 (is_gnu_v3_mangled_ctor, is_gnu_v3_mangled_ctor): Conditionally
5628 not compile if IN_GLIBCPP_V3 defined.
5629 * dyn-string.c: Also allow IN_GLIBCPP_V3 to change allocation scheme.
5633 * cp-demangle.c (java_demangle_v3): Don't try to release "demangled"
5638 * hex.c: Add documentation.
5639 (_hex_value): Provide non-ASCII empty table.
5640 (hex_init): Initialize the non-ASCII table.
5641 * functions.texi: Regenerate.
5645 * dyn-string.c: Add libgcc exception to copyright notice.
5649 * config.table: Support --with-build-subdir.
5650 * configure.in: Likewise.
5651 * configure: Rebuild.
5655 * strtod.c (strtod): Increment 8 chars, not 7, when `infinity'
5660 * cp-demangle.c: Add libgcc exception to cp-demangle.c copyright
5665 * xatexit.c [VMS]: Include stdlib.h and unixlib.h.
5669 * splay-tree.c (splay_tree_xmalloc_allocate,
5670 splay_tree_xmalloc_deallocate): Use K&R-style definitions, not
5671 prototyped definitions. Mark `data' arguments as unused.
5675 * floatformat.c (floatformat_arm_ext_big): Delete definition.
5679 * configure.in: Add --enable-install-libiberty option.
5680 * Makefile.in (INSTALLED_HEADERS): New variable.
5681 (install_to_libdir): Possibly also copy headers.
5682 * configure: Regenerated.
5686 * xmalloc.c (xmalloc_fail): Clarify error message further.
5690 * xmalloc.c (xmalloc_fail): Clarify error message.
5694 * splay-tree.c (splay_tree_xmalloc_allocate,
5695 splay_tree_xmalloc_deallocate): New functions.
5696 (splay_tree_new): Call splay_tree_new_with_allocator, passing the
5697 above functions and a dummy data pointer.
5698 (splay_tree_new_with_allocator): New function.
5699 (splay_tree_delete_helper, splay_tree_delete, splay_tree_insert,
5700 splay_tree_remove): Use the splay tree's allocation and
5701 deallocation functions.
5705 * testsuite/demangle-expected: Add test case for infinite loop in
5707 * cplus-dem.c (demangle_arm_hp_template): Stop trying to demangle
5708 if do_type() doesn't make any progress --- prevents an infinite
5714 * cplus-dem.c (demangle_integral_value): Accept multi-digit
5715 numbers that do not start with an underscore; This is needed
5716 for integer template parameters. This doesn't break anything
5717 because multi-digit numbers are never followed by a digit.
5718 * testsuite/demangle-expected: Corrected all mangled test
5719 cases with multi-digit template parameters: g++ 2.95.x does
5720 not generate underscores around these parameters.
5724 * cplus-dem.c (flags): Add DMGL_VERBOSE
5725 (cplus_demangle_v3_p): Remove.
5726 (demangle_it): Add DMGL_TYPES to passed flags.
5727 * cp-demangle.c (cplus_demangle_v3_all): Remove.
5728 (cplus_demangle_v3_type): Remove.
5729 (cplus_demangle_v3): Add options parm.
5733 * cp-demangle.c (cp_demangle_type): Do not protect with
5735 (cplus_demangle_v3_all): New.
5736 (cplus_demangle_v3): Call cplus_demangle_v3_all.
5737 (cplus_demangle_v3_type): Call cplus_demangle_v3_all.
5739 * cplus-dem.c (cplus_demangle_v3_p): New function pointer.
5740 Initialized to cplus_demangle_v3.
5741 (cplus_demangle_with_style): Call cplus_demangle_v3_p instead
5742 of cplus_demangle_v3.
5743 (main): Set cplus_demangle_v3_p to cplus_demangle_v3_type for
5744 command line symbol.
5746 * testsuite/regress-demangle: Pass the mangled name at the
5751 * cp-demangle.c (cp_demangle_type): Call demangling_new with
5756 * cp-demangle.c: Revert yesterday's change.
5760 * configure.in: Treat mingw the same as cywin
5761 wrt HAVE_SYS_ERRLIST.
5765 * cp-demangle.c (cp_demangle_type): Do not protect with IN_LIBGCC2.
5766 (cplus_demangle_v3): Mimic __cxa_demangle and fall back on
5768 * testsuite/demangle-expected: New gnu-v3 test.
5772 * configure.in (variable detection): Use arrays of unspecified
5773 size instead of plain integers.
5777 * Makefile.in (TESTLIB): New. This library is for future
5779 (CFILES, REQUIRED_OFILES, CONFIGURED_OFILES): Re-alphabetize,
5780 break down by letter.
5781 (REQUIRED_OFILES): List long-to-compile files first.
5782 (maint-deps): New, target for updating dependencies.
5783 (dependencies): Update.
5784 * maint-tool: Add dependency-generating option.
5785 * configure.in: Check for _doprnt even if we're not providing it.
5786 * configure: Regenerate.
5788 * _doprnt.c: Modifications to allow compiling on any platform.
5789 * copysign.c: Likewise.
5790 * putenv.c: Likewise.
5791 * setenv.c: Likewise.
5792 * vsprintf.c: Likewise.
5796 * mkstemps.c (mkstemps): On VMS, open temp file with option
5797 that causes it to be deleted when closed.
5801 * cp-demangle.c (long_options): Const-ify.
5802 * cplus-dem.c (long_options): Likewise.
5804 * cplus-dem.c (mystrstr): Delete. All callers changed to use
5809 * aclocal.m4 (libiberty_AC_FUNC_STRNCMP): Use anon mmap as 2nd try.
5810 * configure: Regenerated.
5814 * configure.in (uintptr_t): Use AC_CHECK_TYPE.
5815 * configure: Regenerated.
5820 * cplus-dem.c (consume_count): Treat negative count as an error.
5821 * testsuite/demangle-expected: Added testcase.
5825 * configure.in: Hardcode that vfork works on VMS host.
5826 * configure: Regenerated.
5830 * cplus-dem.c (libiberty_demanglers): Add no_demangling case.
5831 (cplus_demangle): Support no_demangling.
5835 * _doprnt.c: Moved here from gcc/doprint.c. Adjust to build
5836 in libiberty context. Fix typo in leading comment.
5837 * configure.in: Fix various AC_DEFINEs so autoheader works.
5838 If any of vprintf, vsprintf, vfprintf is missing from libc,
5839 then AC_REPLACE_FUNCS(_doprnt).
5844 * Makefile.in (stamp-h): Depend on Makefile for proper
5846 (*-subdir): Depend on config.h for proper serialization.
5850 * configure.in: Check for alloca.h (for regex.c and putenv.c).
5851 * configure: Regenerate.
5852 * config.h: Add HAVE_ALLOCA_H.
5856 * regex.c: Check defined(__STDC__) || defined(ALMOST_STDC) ||
5857 defined(HAVE_STRINGIZE) to determine whether ISO CPP token pasting
5862 * config.in (HAVE_UINTPTR_T): Provide autoconf stub.
5863 * configure.in (HAVE_UINTPTR_T): Test for system defining
5864 uintptr_t and define HAVE_UINTPTR_T appropriately.
5865 * regex.c (uintptr_t): Do not provide a definition if the
5866 system provided one.
5868 * regex.c (PREFIX): Provide an alternate definition for
5869 non-ANSI/ISO compilers.
5870 (ARG_PREFIX): Likewise.
5874 * obstack.c (_): Honor the setting of ENABLE_NLS. Otherwise,
5875 this code would end up calling gettext even in packages built
5877 * getopt.c (_): Likewise.
5878 * regex.c (_): Likewise.
5882 * configure.in: Cope with missing makeinfo.
5883 * configure: Regenerate.
5887 * hex.c (hex_init): Provide empty stub.
5889 * hex.c (hex_init): Delete.
5890 (_hex_value): Const-ify and initialize at compile-time.
5894 * Makefile.in ($(TARGETLIB)): Also generate pic/$(TARGETLIB) if
5899 * argv.c, asprintf.c, choose-temp.c, concat.c, cplus-dem.c,
5900 ffs.c, fnmatch.txh, getruntime.c, make-temp-file.c,
5901 mkstemps.c, pexecute.c, random.c, strsignal.c, vasprintf.c:
5902 Improve manual formatting.
5903 * functions.texi: Regenerate.
5907 * Makefile.in (TEXIFILES): Add fnmatch.txh.
5909 maint-tool: Add "undoc" tool.
5910 * alloca.c, argv.c, asprintf.c, choose-temp.c, concat.c,
5911 fdmatch.c, ffs.c, getruntime.c, insque.c, lbasename.c,
5912 make-temp-file.c, mkstemps.c, pexecute.c, random.c, spaces.c,
5913 strerror.s, strsignal.c, strtol.c, vasprintf.c: Add or update
5916 * functions.texi: Regenerate.
5920 * bcmp.c, setenv.c: Use "nonzero" instead of "non-zero".
5921 * strtod.c: Use "ISO C" instead of "ANSI C".
5922 * functions.texi: Regenerate.
5926 * alloca.c, clock.c, getcwd.c, getpagesize.c, getpwd.c, index.c,
5927 libiberty.texi, memchr.c, putenv.c, rindex.c, strchr.c, strdup.c,
5928 strerror.c, strrchr.c, strstr.c, strtod.c, tmpnam.c, vfork.c,
5929 xatexit.c, xmalloc.c, xstrerror.c: Improve manual formatting. Fix
5930 spelling. Give names to function arguments in documentation. Use
5931 (void) prototypes in documentation.
5932 * functions.texi: Regenerate.
5936 * argv.c (buildargv, tests, main): Const-ify.
5937 * cp-demangle.c (operator_code): Likewise.
5938 * cplus-dem.c (optable, libiberty_demanglers,
5939 cplus_demangle_set_style, cplus_demangle_name_to_style,
5940 print_demangler_list): Likewise.
5941 * hashtab.c (higher_prime_number): Likewise.
5942 * strcasecmp.c (charmap): Likewise.
5943 * strerror.c (error_info, strerror, main): Likewise.
5944 * strncasecmp.c (charmap): Likewise.
5945 * strsignal.c (signal_info): Likewise.
5949 * configure: Regenerate.
5953 * concat.c: Include stdlib.h.
5957 * libiberty.texi: (Top level): Add syncodeindex pg. Add
5958 @dircategory and @direntry directives. Add @finalout.
5959 (many nodes): Lose the next,prev,up pointers on the @nide line.
5960 (Using, Supplemental Functions, Replacement Functions): Fix
5962 (Functions): Move around, to allow makeinfo to build the manual
5963 without next,prev,up pointers in thye node lines.
5964 (Licenses): Fix typos.
5966 * index.c, rindex.c, strchr.c, strerror.c, strrchr.c, strstr.c,
5967 strtol.c, xatexit.c, xexit.c, xmalloc.c: Fix spelling and markup.
5968 * functions.texi: Regenerate.
5970 * copying-lib.texi: Lose the next,prev,up pointers on the @node
5975 * configure.in: Don't use in-tree texinfo, because libiberty must
5976 be built before it. Check for makeinfo version 4 or higher.
5977 * functions.texi: Regenerate.
5982 * configure.in (MAKEINFO, PERL): Detect these.
5983 (--enable-maintainer-mode): Add.
5984 * configure: Regenerate.
5985 * Makefile.in (MAKEINFO, PERL): Define.
5986 (libiberty.info, libiberty.dvi, libiberty.html): New.
5987 (CFILES): Add bsearch.c.
5988 (CONFIGURED_OFILES): New, list of objects configure might add.
5989 (maint-missing, maint-buildall): New, for maintainers only.
5990 (clean, mostlyclean): Add info/dvi/html files.
5991 * libiberty.texi, copying-lib.texi, obstacks.texi, functions.texi: New.
5992 * gather-docs: New, for maintainers.
5993 * maint-tool: New, for maintainers.
5994 * alloca.c, atexit.c, basename.c, bcmp.c, bcopy.c, bsearch.c,
5995 bzero.c, calloc.c, clock.c, configure.in, configure, getcwd.c,
5996 getpagesize.c, getpwd.c, index.c, memchr.c, memcmp.c, memcpy.c,
5997 memmove.c, memset.c, putenv.c, rename.c, rindex.c, setenv.c,
5998 sigsetmask.c, strcasecmp.c, strchr.c, strdup.c, strerror.c,
5999 strncasecmp.c, strncmp.c, strrchr.c, strstr.c, strtod.c, strtol.c,
6000 tmpnam.c, vfork.c, vprintf.c, waitpid.c, xatexit.c, xexit.c,
6001 xmalloc.c, xmemdup.c, xstrdup.c, xstrerror.c: Add or update
6006 * concat.c (reconcat): Fix for traditional C.
6010 * concat.c (reconcat): New function.
6014 * concat.c (vconcat_length, vconcat_copy, concat_length,
6015 concat_copy, concat_copy2): New functions.
6016 (concat): Use vconcat_length/vconcat_copy.
6018 * alloca.c (libiberty_optr, libiberty_nptr, libiberty_len):
6023 * asprintf.c: Don't define USE_STDARG. Use VPARAMS, VA_OPEN,
6024 VA_FIXEDARG & VA_CLOSE.
6026 * vasprintf.c: Check HAVE_STRING_H when including string.h.
6027 (checkit): Delete redundant prototype. Add ATTRIBUTE_PRINTF_1.
6028 Use VA_OPEN, VA_FIXEDARG & VA_CLOSE. Free allocated string.
6032 * concat.c (concat): Use VPARAMS, VA_OPEN, VA_FIXEDARG & VA_CLOSE.
6036 * regex.c (truncate_wchar): Use wcrtomb not wctomb.
6040 * posix/regex.c [_LIBC] (convert_mbs_to_wcs): Use __mbrtowc
6042 [_LIBC]: Use __iswctype instead of iswctype, __wcslen instead of
6043 wcslen, and __wcscoll instead of wcscoll.
6047 * fibheap.c (fibheap_init, fibnode_init): Remove.
6048 (fibheap_new, fibnode_new): Use xcalloc to allocate and
6050 (fibheap_insert): Remove check for node allocation failure.
6054 * Makefile.in (fibheap.o): Depend on config.h.
6055 * fibheap.c: Tidy formatting. Use config.h.` Rearrange some
6056 functions for inlining.
6060 * configure.in: Need to set HAVE_SYS_ERRLIST and HAVE_SYS_NERR whenever
6062 * configure: Regenerate.
6066 * floatformat.c (floatformat_m88110_ext): Remove #ifdef
6067 HARRIS_FLOAT_FORMAT.
6068 (floatformat_ia64_spill_little, floatformat_ia64_quad_little)
6069 (floatformat_ia64_spill_big, floatformat_ia64_quad_big)
6070 (floatformat_arm_ext_big, floatformat_arm_ext_littlebyte_bigword)
6071 (floatformat_m88110_harris_ext): New float formats.
6075 * fibheap.c: New file. Fibonacci heap.
6077 * Makefile.in (CFILES): Add fibheap.c.
6078 (REQUIRED_OFILES): Add fibheap.o.
6079 (fibheap.o): Add dependencies for fibheap.o.
6083 * configure.in: Always set HAVE_SYS_ERRLIST when targetting cygwin.
6084 * configure: Regenerate.
6088 * hashtab.c (htab_hash_string): New.
6092 * floatformat.c (floatformat_ieee_double_littlebyte_bigword): Fix
6097 * regex.c (wcs_regex_compile): Use appropriate string
6098 to compare with collating element.
6099 Fix the padding for the alignment.
6103 * lbasename.c (lbasename): Change function definition to return a
6108 * cp-demangle.c (demangle_special_name): "GR" -> "reference temporary
6113 * Makefile.in (concat.o): Depend on config.h.
6117 * concat.c: Include "config.h".
6121 * regex.c: Declare wcs functions only if compiling with
6123 Don't use #elif for traditional C.
6127 * regex.c: Revamp memory allocation for WCHAR functions to
6128 not use too much stack.
6132 * regex.c: Declare wcs functions only if compiling with
6134 Don't use #elif for traditional C.
6138 * Makefile.in (regex.o): Add dependency on config.h.
6142 * regex.c (WORDCHAR_P) [WCHAR]: Also return true for the
6143 underscore character.
6147 * regex.c: Limit string length printed in debug messages to 100
6152 * regex.c: Place under LGPL version 2.1.
6156 * Makefile.in: Add support for regex code.
6157 * regex.c: New file.
6161 * Makefile.in: Add ffs.c dependency.
6162 * configure.in: Add ffs.c.
6167 * concat.c: Include <sys/types.h>.
6172 * strerror.c (sys_nerr): Hide the OS header version.
6173 * strsignal.c (sys_nsig): Likewise.
6177 * concat.c: Include string.h. Fix int vs size_t usage.
6178 Simplify the iteration loops. Use memcpy.
6182 * partition.c: Fix misspelling of `implementation'.
6186 * md5.c (md5_init_ctx): Declare constants as unsigned.
6187 (md5_process_block): Likewise.
6191 * cp-demangle.c (demangle_v3_with_details,
6192 is_gnu_v3_mangled_ctor, is_gnu_v3_mangled_dtor): Use K+R style
6193 function definition.
6194 * ternary.c: Use K+R style function definitions. Use PTR, not
6195 void *. Make arguments constant where possible.
6199 * splay-tree.h (splay_tree_max): New function.
6200 (splay_tree_min): Likewise.
6204 * ternary.c: New file - Ternary search tree implementation.
6206 * Makefile.in: Add ternary.o, and ternary.c dependencies.
6210 * make-temp-file.c (try): Inline.
6214 * Makefile.in (make-temp-file.o): Depend on config.h.
6218 * memchr.c (memchr): Adjust condition to avoid infinite loop.
6222 * cp-demangle.c (demangle_discriminator): `_0' is discriminator #1,
6223 `_' not followed by a digit is invalid.
6227 * cp-demangle.c (string_list_delete): Use dyn_string_delete
6228 instead of free, to free the contents as well as the string
6233 * make-temp-file.c: Always default DIR_SEPARATOR to '/'.
6234 Don't default P_tmpdir to anything. Try /var/tmp before
6239 * choose-temp.c: Split off make_temp_file, and the code
6240 duplicated between it and choose_temp_base, into...
6241 * make-temp-file.c: ... here; new file.
6243 * Makefile.in (CFILES): Add make-temp-file.c.
6244 (REQUIRED_OFILES): Add make-temp-file.o.
6248 * cp-demangle.c (struct demangling_def): New fields:
6249 is_constructor and is_destructor.
6250 (demangling_new): Initialize them.
6251 (demangle_ctor_dtor_name): Set them, if we detect a constructor
6253 (demangle_v3_with_details, is_gnu_v3_mangled_ctor,
6254 is_gnu_v3_mangled_dtor): New functions.
6258 * cplus-dem.c (main): Skip initial $.
6262 * hashtab.c (higher_prime_number): Silence warning that 4294967291
6263 might be a signed integer under pre-ISO C systems.
6268 * lbasename.c: New file.
6269 * Makefile.in: Update for lbasename.
6273 * aclocal.m4 (libiberty_AC_FUNC_C_ALLOCA): New.
6274 * configure.in: Replace all alloca logic with a simple use of
6275 the above new macro.
6276 * config.table: Kill *-*-beos* entry.
6277 * config/mh-beos: Delete.
6278 * configure, config.in: Regenerate.
6280 * Makefile.in (ALLOCA, HFILES): Kill.
6281 (REQUIRED_OFILES): Add alloca.o.
6282 (alloca.o): Depend on libiberty.h.
6283 (argv.o): Don't depend on alloca-conf.h.
6284 * alloca-conf.h: Delete.
6285 * alloca.c: Include libiberty.h. Kill all #ifdef emacs
6286 blocks. Provide the C alloca unconditionally. Use PTR where
6287 appropriate. Make i00afunc static.
6288 * argv.c: Don't include alloca-conf.h.
6292 * cplus-dem.c (main): Cast enum style to int.
6296 * cplus-dem.c (main): Initialize style.
6300 * COPYING.LIB: Update to LGPL 2.1 from the FSF.
6304 Add support for Java demangling under the v3 ABI:
6305 * cp-demangle.c (NAMESPACE_SEPARATOR): New define.
6306 (struct demangling_def): Add `style' field.
6307 (demangling_new): New parameter `style'. Set it in demangling_t.
6308 (demangle_prefix): Use NAMESPACE_SEPARATOR.
6309 (demangle_type_ptr): Don't emit pointer symbol if doing Java output.
6310 (cp_demangle): New parameter `style'. Pass it to demangling_new().
6311 (main): Call cp_demangle with extra parameter.
6312 (java_demangle_v3): New function.
6313 (java_builtin_type_names): New. Table of primitive type names used
6314 for Java demangling.
6315 (demangle_builtin_type): Look up in java_builtin_type_names if doing
6317 * cplus-dem.c (cplus_demangle): Use java_demangle_v3 to do Java
6319 (long_options): Remove obsolete `java' option.
6320 (main): Remove explicit handling of `java' option. Instead, pass style
6321 parameter in cplus_demangle flags as gdb does.
6322 * testsuite/demangle.expected: Add some Java test cases.
6326 * fnmatch.c: Make the note about the origins of this file more
6327 accurate, at least until we can sync with glibc.
6335 * bsearch.c: New file.
6336 * configure.in (funcs): Add bsearch.
6337 (AC_CHECK_FUNCS): Likewise.
6338 * configure, config.in: Regenerate.
6342 * safe-ctype.c: #include "ansidecl.h".
6343 * strtod.c: Likewise.
6347 * strtoul.c: Include safe-ctype.h, not ctype.h.
6351 * safe-ctype.c: New file.
6352 * Makefile.in (CFILES): Add safe-ctype.c.
6353 (REQUIRED_OFILES): Add safe-ctype.o.
6355 * argv.c: Define ISBLANK and use it, not isspace.
6356 * basename.c, cplus-dem.c, fnmatch.c, pexecute.c, strtod.c,
6357 strtol.c, strtoul.c: Include safe-ctype.h, not ctype.h. Use
6358 uppercase ctype macros. Don't test ISUPPER(c)/ISLOWER(c)
6359 before calling TOLOWER(c)/TOUPPER(c).
6363 * Makefile.in (distclean): When cleaning, remove testsuite.
6367 * cp-demangle.c (cplus_demangle_v3): Check that it's a v3 mangled
6368 name before allocating the dyn_string.
6372 * cp-demangle.c: s/new_abi/v3/.
6373 * cplus-dem.c: Likewise.
6374 (current_demangling_style): Now auto_demangling.
6375 (cplus_demangle): Try v3 demangling if AUTO_DEMANGLING.
6376 (main): Use standard symbol chars for auto_demangling.
6380 * hashtab.c (higher_prime_number): Use a table, rather than a
6381 seive, to find the next prime.
6385 * cplus-dem.c (main): Handle gnat_demangling.
6389 * aclocal.m4 (LIB_AC_PROG_CC): Moved here from configure.in.
6390 (AC_DEFINE_NOAUTOHEADER): New - work around bug in autoheader.
6391 * configure.in: Call AC_C_INLINE and AC_C_CONST. Use three
6392 argument form of AC_DEFINE in dummy definitions block. Use
6393 AC_DEFINE_NOAUTOHEADER for real definitions of things defined
6394 in dummy block. Preload cache variables instead of bypassing
6395 tests, where possible.
6396 * acconfig.h: Removed.
6398 * xmalloc.c (xmalloc_failed): New function, does error
6399 reporting on failed allocation.
6400 (xmalloc, xcalloc, xrealloc): Use it.
6404 * cplus-dem.c (cplus_demangle): Fix formatting.
6406 (ada_demangle): Ditto.
6407 (internal_cplus_demangle): Ditto.
6412 * cplus-dem.c (main): Handle java_demangling.
6416 * cplus-dem.c (grow_vect): Prototype.
6417 (ada_demangle): Cast the arg of ctype macros to unsigned char.
6421 * cplus-dem.c (ada_demangle): Add back ATTRIBUTE_UNUSED for
6426 * cplus-dem.c: Eliminate use of DEFUN, it is obsolete and cannot
6431 * cplus-dem.c: Add gnat demangler. Add java to demangle style
6436 * hashtab.c (htab_expand): Change to return int. Use calloc or
6437 xcalloc depending on htab->return_allocation_failure. Return zero
6439 (htab_create): Update comment to cover memory allocation.
6440 (htab_try_create): New.
6441 (htab_find_slot_with_hash): Return NULL if htab_expand fails.
6442 Update comment to cover this.
6446 * hashtab.c: Change void * to PTR where necessary.
6447 (htab_create, htab_expand): Correct formatting of comment before
6452 * cp-demangle.c (string_list_def): Add caret_position and comments.
6453 (result_caret_pos): New macro.
6454 (result_append_string): Rename to...
6455 (result_add_string): ... this, and insert at caret position.
6457 (result_append): Rename to...
6458 (result_add): ... this, and insert at caret position. Rename
6460 (result_append_char): Rename to...
6461 (result_add_char): ... this, and insert at caret position. Rename
6463 (result_append_space): Remove.
6464 (string_list_new): Initialize caret position.
6465 (result_add_separated_char): Use caret position.
6466 (result_get_caret): New funtion.
6467 (result_set_caret): Likewise.
6468 (result_shift_caret): Likewise.
6469 (result_previous_char_is_space): Likewise.
6470 (substitution_start): Use caret position.
6471 (substitution_add): Likewise.
6472 (demangling_new): Initialize caret position.
6473 (demangle_encoding): Use caret position.
6474 (demanglin_nested_name): Put CV qualifiers after name.
6475 (demangle_type_ptr): Use switch statement. Handle pointers to
6476 arrays. Don't use result_append_space. Use caret position.
6477 (demangle_type): Emit CV qualifiers after underlying type. Adjust
6478 call to demangle_array_type.
6479 (demangle_array_type): Add parameter to handle pointers to arrays.
6483 * splay-tree.c (splay_tree_insert): Fix formatting.
6487 * splay-tree.c (splay_tree_predecessor): Fix typo in comment.
6491 * splay-tree.c: #include <stdio.h>.
6495 * testsuite/demangle-expected: Add two tests for anonymous
6497 * cplus-dem.c (gnu_special): Handle anonymous namespaces.
6501 * splay-tree.c (splay_tree_predecessor): New function.
6502 (splay_tree_successor): Likewise.
6506 * testsuite/demangle-expected: Add four tests for type_info
6508 * cplus-dem.c (gnu_special): Use do_type, not demangle_fund_type,
6509 for a non-template non-qualified type_info function or node.
6513 * cp-demangle.c: Fix copyright banner.
6517 * md5.c: #include "ansidecl.h".
6521 * cp-demangle.c (status_allocation_failed): Rearrange whitespace.
6522 (demangle_type): Handle substitution candidates correctly in the
6523 face of special substitutions.
6527 * cp-demangle.c (demangle_encoding): Rename variable.
6528 (demangle_name): Rename parameter. Handle return type
6530 (demangle_nested_name): Rename parameter.
6531 (demangle_prefix): Likewise. Change return type suppression.
6532 (demangle_unqualified_name): Add parameter. Flag constructors and
6533 conversion operators.
6534 (demangle_special_name): Fix comment.
6535 (demangle_type): Rename variable.
6536 (demangle_bare_function_type): Check for missing return type and
6538 (demangle_class_enum_type): Rename parameter.
6539 (demangle_discriminator): Fix misspelling in comment.
6543 * configure.in (Cygwin): special case cygwin only when we're
6544 building cygwin, not when we're hosting cygwin.
6548 * cp-demangle.c (demangle_template_arg): Eat an `E' after an
6553 * cp-demangle.c (demangle_type_ptr): Increment position past
6554 pointer and reference characters.
6558 * cp-demangle.c (demangle_nv_offset): New function.
6559 (demangle_v_offset): Likewise.
6560 (demangle_call_offset): Likewise.
6561 (demangle_special_name): Update thunk demangling to comply with
6566 * cp-demangle.c (ANONYMOUS_NAMESPACE_PREFIX): New macro.
6567 (substitution_def): Remove template_parm_number.
6568 (NOT_TEMPLATE_PARM): Remove.
6569 (result_insert_string): New macro.
6570 (result_insert): Likewise.
6571 (result_insert_char): Likewise.
6572 (substitution_add): Remove last parameter. Don't store template
6574 (BFT_NO_RETURN_TYPE): Define as NULL.
6575 (demangle_encoding): Adjust call to demangle_bare_function_type.
6576 (demangle_name): Adjust substitution. Adjust call to
6578 (demangle_prefix): Adjust call to substitution_add.
6579 (demangle_identifier): Handle anonymous namespaces.
6580 (demangle_operator_name): Change demangling of vendor-extended
6581 operator to match ABI changes.
6582 (demangle_type_ptr): Change parameters. Make recursive. Handle
6584 (demangle_type): Adjust calls to demangle_template_param,
6585 substitution_add, and demangle_type_ptr. Fix substitution of
6587 (demangle_function_type): Change parameter to a pointer.
6588 (demangle_bare_function_type): Likewise. Adjust insertion point.
6589 (demangle_template_param): Remove last parameter.
6590 (demangle_expr_primary): Remove unused variable. Adjust call to
6591 demangle_template_param.
6592 (is_mangled_char): Accept `$' and `.'.
6593 * cplus-dem.c (gnu_new_abi_symbol_characters): Add '$' and '.'.
6594 * dyn-string.c (dyn_string_insert_char): New function.
6598 * testsuite/demangle-expected: Add nine tests for
6599 underscore-after-number followed by five tests for name-signature
6604 * Makefile.in (md5.o): Depend on config.h.
6608 * Makefile.in (REQUIRED_OFILES): Add md5.o.
6609 (CFILES): Add md5.c.
6614 * cp-demangle.c (demangle_name): Initialize template_p in local
6615 name case. Don't re-add substitutions as candidates.
6616 (demangle_nested_name): Use <unqualified-name>.
6617 (demangle_prefix): Likewise. Don't add template names as
6618 substitution candidates twice, or re-add a substitution or the
6619 last prefix component.
6620 (demangle_local_name): Adjust output format.
6624 * cp-demangle.c (result_add_separated_char): Change parameter to
6626 (substitution_add): Don't check for duplicates. Check if
6627 previously allocated size is zero.
6628 (demangle_name): Remove duplicate check for std substitution.
6629 Clear template flag appropriately.
6630 (demangle_prefix): Remove argument to demangle_substitution.
6631 Don't check that template flag is already set.
6632 (demangle_operator_name): Add pt operator.
6633 (demangle_type): Don't treat r as built-in type. Remove argument
6634 to demangle_substitution. Fix substitution candidate mechanics.
6635 Handle <template-template-parm>s. Improve comments.
6636 (demangle_template_param): Don't handle template arg lists here.
6637 (demangle_substitution): Remove parameter.
6638 (print_usage): Remove extra fprintf option.
6642 * random.c (end_ptr): Revert previous change.
6646 * cplus-dem.c (cplus_demangle_opname, cplus_mangle_opname,
6647 demangle_expression, demangle_function_name): Use ARRAY_SIZE.
6648 * random.c (end_ptr): Likewise.
6652 * cp-demangle.c (result_close_template_list): Remove function.
6653 (result_add_separated_char): New function.
6654 (result_open_template_list): New macro.
6655 (result_close_template_list): Likewise.
6656 (demangle_prefix): Don't set template_p if the
6657 prefix ends with a ctor name.
6658 (demangle_type_ptr): Remove duplicate RETURN_IF_ERROR.
6659 (demangle_type): Check for template args after substitution.
6660 (demangle_template_args): Use result_open_template_list.
6664 * pexecute.c: Don't use vfork. Initialize 'pid' before retry loop.
6668 * config/mh-openedition.h: Added -DLE370 definition.
6672 * pexecute.c (pexecute) [__MSDOS__]: Change __GO32__ to
6673 __DJGPP__. Use P_WAIT instead of constant in the spawnv* call.
6674 Cast program to 'char *' in errmsg_arg assignment.
6675 (PWAIT_ERROR): Define.
6676 (pwait): Use PWAIT_ERROR. Adjust DJGPP's status code to conform
6677 to DJGPP's WIF* macros.
6682 * getcwd.c: Include string.h, stdlib.h for prototypes
6684 * Makefile.in (rename.o, waitpid.o): Depend on config.h
6685 * rename.c: Include config.h, unistd.h
6686 * waitpid.c: Include config.h, sys/wait.h
6690 * cplus-dem.c (work_stuff_copy_to_from): New.
6691 (delete_non_B_K_work_stuff): New.
6692 (delete_work_stuff): New.
6693 (mop_up): Break out work_stuff partly destruction to
6694 delete_non_B_K_work_stuff.
6695 (iterate_demangle_function): New.
6696 (demangle_prefix): Call iterate_demangle_function instead of
6697 demangle_function_name. Leave handling of name-signature
6698 __-delimiters to iterate_demangle_function.
6699 (demangle_integral_value): Strip an optional
6700 following underscore cautiously. Handle negative numbers.
6704 * cplus-dem.c (demangle_signature): Change if (GNU_DEMANGLING) to
6705 if (AUTO_DEMANGLING || GNU_DEMANGLING)
6709 * cp-demangle.c (demangle_ctor_dtor_name): Remove not-in-charge
6710 allocating ctor mangling.
6711 (demangle_array_type): Handle empty and non-constant array length.
6716 * configure.in (AC_CHECK_HEADERS): Add time.h.
6717 (AC_HEADER_TIME): Add check.
6718 * configure, config.in: Regenerate.
6719 * getruntime.c: Portably #include <sys/time.h> and/or <time.h>.
6721 * configure.in (AC_CHECK_HEADERS): Add limits.h.
6722 * configure, config.in: Regenerate.
6723 * sort.c: Portably #include <limits.h> and/or <sys/param.h>.
6724 * strtol.c, strtoul.c: #include "config.h". Portably #include
6725 <limits.h> and/or <sys/param.h>.
6726 * Makefile.in (strtol.o, strtoul.o): Update dependencies.
6728 * aclocal.m4 (libiberty_AC_DECLARE_ERRNO): New macro.
6729 * configure.in (libiberty_AC_DECLARE_ERRNO): Add check.
6730 * configure, config.in: Regenerate.
6731 * pexecute.c, strtol.c, strtoul.c: Declare errno if necessary.
6733 * cp-demangle.c, mkstemps.c: #include <sys/types.h>.
6737 * Makefile.in (xexit.o): Add dependency for config.h in xexit.c.
6738 * (vasprintf.o): Add dependency for config.h in vasprintf.c.
6742 * cp-demangle.c (cp_demangle_type): Wrap in IN_LIBGCC2.
6744 * setenv.c (setenv): Initialize variable `ep'.
6746 * sigsetmask.c (abort): Prototype.
6748 * vasprintf.c: Include config.h. Check ANSI_PROTOTYPES, not
6749 __STDC__ for stdarg.h include.
6750 (int_vasprintf): Prototype.
6751 (checkit): Prototype. Use VPARAMS/ANSI_PROTOTYPES/VA_START in
6752 definition. Cast `global_total_width' in comparison.
6753 (main): Prototype. Return a value.
6755 * vfork.c (fork): Prototype.
6757 * xexit.c: Include config.h.
6761 * cplus-dem.c (demangle_fund_type): Make 'dec' an unsigned int,
6762 and print it with %u.
6766 * testsuite/regress-demangle (failed test): Show result and
6771 * cplus-dem.c (main): fflush() after emitting last char before
6776 * cp-demangle.c (demangle_encoding): Accept no substitutions.
6777 (demangle_name): Handle <substitution> followed by
6778 <unqualified-template-name>.
6779 (demangle_type): Follow special substitutions with
6781 (demangle_subtitution): Set template_p for special substitutions.
6786 * cp-demangle.c (demangle_special_name): Swap base and derived
6787 class when demangling construction vtables.
6791 * cp-demangle.c: Don't include ctype.h.
6792 (IS_DIGIT): New macro.
6793 (IS_ALPHA): Likewise. Use IS_DIGIT and IS_ALPHA throughout
6794 instead of isdigit and isalpanum.
6795 (demangling_def): Make name and next const pointers.
6796 (STATUS_ALLOCATION_FAILED): New status code.
6797 (dyn_string_append_space): Handle failure in
6798 dyn_string_append_char.
6799 (int_to_dyn_string): Likewise. Change return value to status_t.
6800 (string_list_new): Handle failure of dyn_string_init.
6801 (result_close_template_list): Change return type to status_t.
6802 Handle failure in dyn_string_append.
6803 (result_push): Change return value to status_t. Handle failure in
6804 string_list_new. Handle failure of result_push throughout.
6805 (substitution_add): Change return value to status_t. Handle
6806 dyn_string failures. Handle failure of substitution_add
6808 (template_arg_list_new): Return NULL on allocation failure.
6809 (result_append_string): Return STATUS_ALLOCATION_FAILED on error.
6810 Handle error result throughout.
6811 (result_append): Likewise.
6812 (result_append_char): Likewise.
6813 (result_append_space): Likewise.
6814 (demangling_new): Make argument a const pointer. Handle
6815 allocation failures.
6816 (demangle_template_args): Handle failure in template_arg_list_new
6817 and result_close_template_list.
6818 (demangle_discriminator): Return if int_to_dyn_string fails.
6819 (cp_demangle): Likewise.
6820 (cp_demangle_type): New function.
6821 (cplus_demangle_new_abi): Don't call dyn_string_delete. Abort on
6822 memory allocation failure.
6824 * dyn-string.c (RETURN_ON_ALLOCATION_FAILURE): Define if
6826 (dyn_string_init): Change return value to int. Handle
6827 RETURN_ON_ALLOCATION_FAILURE case.
6828 (dyn_string_new): Handle RETURN_ON_ALLOCATION_FAILURE case.
6829 (dyn_string_release): Delete the dyn_string.
6830 (dyn_string_resize): Handle RETURN_ON_ALLOCATION_FAILURE case.
6831 (dyn_string_copy): Change return type to int.
6832 (dyn_string_copy_cstr): Likewise.
6833 (dyn_string_prepend): Likewise.
6834 (dyn_string_prepend_cstr): Likewise.
6835 (dyn_string_insert): Likewise.
6836 (dyn_string_insert_cstr): Likewise.
6837 (dyn_string_append): Likewise.
6838 (dyn_string_append_cstr): Likewise.
6839 (dyn_string_append_char): Likewise.
6840 (dyn_string_substring): Likewise.
6844 * cp-demangle.c (demangle_operator_name): Add spaces before
6845 names beginning with a letter: delete, delete[], new, new[],
6847 (demangle_special_name): Handle TF <type> and TJ <type>.
6851 * cp-demangle.c (template_arg_list_new): Revert previous PARAMS patch.
6855 * cp-demangle.c (stdio.h): File included unconditionaly.
6856 (template_arg_list_new): Parameter list is PARAMS ((void)), not ().
6857 * dyn-string.c (stdio.h): File included.
6858 * partition.c (partition_print): No `&' needed to take the address of
6863 * configure.in (ac_libiberty_warn_cflags): Add -pedantic.
6865 * choose-temp.c (try, choose_temp_base, make_temp_file): Constify.
6867 * cp-demangle.c (demangle_char): Change parameter from char to int.
6868 (demangle_expression, demangle_expr_primary): Remove extra
6869 semi-colon in prototype.
6871 * dyn-string.c (dyn_string_append_char): Change parameter from
6874 * memcmp.c (memcmp): Constify.
6876 * mkstemps.c (gcc_uint64_t): Mark GNUC `long long' case with
6879 * partition.c (elem_compare): Prototype. Don't cast away
6882 * setenv.c (setenv): Use braces to avoid ambiguous `else'.
6886 * Makefile.in (cp-demangle.o): Depend on $(INCDIR)/demangle.h.
6888 * cp-demangle.c: Include demangle.h.
6889 (template_arg_list_new): DeANSIfy.
6890 (cp_demangle): Make static and add prototype.
6891 (operator_code, operators): Constify.
6892 (demangle_operator_name): Likewise for variables `p1', `p2' and `p'.
6896 * cp-demangle.c (demangle_prefix): Cast argument to isdigit to
6898 (demangle_unqualified_name): Likewise.
6899 (demangle_number_literally): Likewise.
6900 (demangle_type): Likewise.
6901 (demangle_substitution): Likewise.
6902 (is_mangled_char): Likewise, for isalnum.
6906 * Makefile.in (CFILES): Add cp-demangle.c and dyn-string.c.
6907 (REQUIRED_OFILES): Add cp-demangle.o and dyn-string.o.
6908 (cp-demangle.o): New dependency.
6909 (dyn-string.o): Likewise.
6911 * dyn-string.c: Move here from gcc/dyn-string.c. Add new functions.
6913 * cplus-dem.c (libiberty_demanglers): Add initializer for new-ABI
6915 (cplus_demangle): Call cplus_demangle_new_abi if in new-ABI
6917 (gnu_new_abi_symbol_characters): New function.
6918 (main): Use gnu_new_abi_symbol_characters. * cp-demangle.c: New
6920 * cp-demangle.c: New file.
6924 * floatformat.c: Add name to each floatformat field.
6928 * Makefile.in (objalloc.o): Depend on config.h
6932 * hashtab.c, partition.c, sort.c, xmemdup.c: Include string.h
6934 * pexecute.c, xexit.c: Include stdlib.h if HAVE_STDLIB_H.
6935 * objalloc.c: Include config.h. Include stdlib.h and don't
6936 declare malloc or free if HAVE_STDLIB_H.
6937 * strerror.c, strsignal.c: Include stdlib.h if HAVE_STDLIB_H,
6938 else declare malloc without prototype. Include string.h if
6939 HAVE_STRING_H, else declare memset without prototype. Don't
6944 * Makefile.in (xmalloc.o): Add dependency for config.h, fixes make
6949 * xmalloc.c: Include config.h for HAVE_SBRK definition.
6953 * hashtab.c (hash_pointer): Delete low-order bits which are
6954 probably zero, also eliminate a warning on alpha.
6958 * Makefile.in: Change "pic" to depend on $(PICFLAG), not
6959 on $(enable_shared).
6963 * config.table: Use mh-sparcpic for sparc*-*-*.
6967 * Makefile.in (CFILES): Add strncmp.c.
6968 (NEEDED): Add strncmp.
6972 * cplus-dem.c (cplus_demangle_opname, demangle_function_name):
6973 Cast the arguments to `islower' to `unsigned char'.
6974 (print_demangler_list): Prototype.
6978 * sort.c (UCHAR_MAX): Provide fallback definition.
6982 * Makefile.in (maintainer-clean-subdir): Fix handling of empty
6988 * cplus-dem.c (libiberty_demanglers): New table for demangle styles.
6989 (cplus_demangle_set_style): New function for setting style.
6990 (cplus_demangle_name_to_style): New function to translate name.
6994 * aclocal.m4: New file with new test libiberty_AC_FUNC_STRNCMP.
6996 * configure.in (AC_CHECK_HEADERS): Add sys/mman.h fcntl.h.
6997 (libiberty_AC_FUNC_STRNCMP): Invoke.
6999 * strncmp.c: New file.
7003 * hashtab.c (htab_expand): Add prototype.
7004 (find_empty_slot_for_expand): Likewise.
7008 * hashtab.c (hash_pointer, eq_pointer): Make definition static to
7010 (htab_expand): Cast the return value of xcalloc.
7014 * hashtab.c (hash_pointer): New function.
7015 (eq_pointer): Likewise.
7016 (htab_hash_pointer): New variable.
7017 (htab_eq_pointer): Likewise.
7021 * sort.c (sort_pointers): Fix endianness bugs.
7024 * Makefile.in (CFILES): Add sort.c
7025 (REQUIRED_OFILES): Add sort.o.
7026 (sort.o): New target.
7030 * Makefile.in (*-subdir): Revamp slightly to avoid losing on
7035 * hashtab.c: Various minor cleanups.
7036 (htab_find_slot_with_hash): INSERT is now enum insert_option.
7037 (htab_find_slot): Likewise.
7041 * cplus-dem.c (cplus_demangle_opname): Changed to use islower.
7045 * splay-tree.c (splay_tree_remove): New.
7049 * hashtab.c (find_empty_slot_for_expand): Use hashval_t for hash
7051 (htab_find_with_hash): Likewise.
7052 (htab_find_slot_with_hash): Likewise.
7056 * hashtab.c (htab_find_with_hash): Avoid calculating hash2
7057 unless it will be used. Rearrange loop for better
7059 (higher_prime_number): Add static prototype.
7063 * Makefile.in (partition.o): Depend on config.h
7067 * hashtab.c (find_empty_slot_for_expand): New function.
7068 (htab_expand): Use it instead of htab_find_slot.
7069 (htab_find_with_hash): Renamed from htab_find; now accepts extra
7071 (htab_find_slot_with_hash): Likewise for htab_find_slot.
7072 (htab_find): New wrapper function.
7073 (htab_find_slot): Likewise.
7074 (htab_traverse): Pass slot, not entry, to called function.
7078 * Makefile.in (CFILES): Add partition.c.
7079 (REQUIRED_OFILES): Add partition.o.
7080 (partition.o): New rule.
7081 * partition.c: New file.
7085 * hashtab.c (htab_create): Set del_f.
7086 (htab_delete, htab_empty, htab_remove_elt, htab_clear_slot):
7091 * hashtab.c: Remove debugging variables (all_searches,
7092 all_collisions, all_expansions). Delete
7093 all_hash_table_collisions.
7094 (create_hash_table, delete_hash_table, empty_hash_table,
7095 find_hash_table_entry, remove_element_from_hash_table_entry,
7096 clear_hash_table_slot, traverse_hash_table, hash_table_size,
7097 hash_table_elements_number, hash_table_collisions): Rename to:
7098 htab_create, htab_delete, htab_empty, htab_find_slot,
7099 htab_remove_elt, htab_clear_slot, htab_traverse, htab_size,
7100 htab_elements, htab_collisions.
7101 (htab_find): New function, handles common case where you don't
7102 plan to add or delete an entry.
7103 (htab_expand): Don't create a whole new table, just a new
7105 (htab_find_slot): Simplify logic.
7109 * floatformat.c: Add casts to avoid signed/unsigned warnings.
7110 * pexecute.c: Add ATTRIBUTE_UNUSED as needed on Unix.
7112 * Makefile.in (install_to_libdir): Change $(TARGETLIB).n to
7113 $(TARGETLIB)n so it works on MSDOS.
7114 (install_to_tooldir): Likewise.
7119 * makefile.dos: Remove; obsolete.
7120 * configure.bat: Remove; obsolete.
7124 * splay-tree.c (splay_tree_insert): Add initialization to avoid
7129 * pexecute.c: Conditionally include string.h.
7130 (fix_argv): Handle embedded whitespace in args for Mingw32.
7134 * configure.in (ac_libiberty_warn_cflags): Turn on warnings if
7137 * Makefile.in (COMPILE.c): Add @ac_libiberty_warn_cflags@
7141 * vasprintf.c (int_vasprintf): Don't re-read the format character
7142 as this mishandles strings like '%%s'.
7146 * splay-tree.c (splay_tree_new): Use struct splay_tree_node_s
7147 rather than struct splay_tree_node.
7148 (splay_tree_insert): Use struct splay_tree_s rather than struct
7153 * hashtab.c (sys/types.h): File included.
7157 * strtoul.c, strtol.c, random.c: Remove advertising clause from
7158 BSD license, pursuant with
7160 ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change
7164 * hashtab.c: Include stdio.h.
7168 * hashtab.c (traverse_hash_table): Protect prototype with PARAMS.
7172 * xstrdup (sys/types.h): Include this file.
7176 * Makefile.in (SUBDIRS): New macro.
7177 (mostlyclean, clean, distclean, maintainer-clean): Adjust to
7178 avoid multiple subdirectory cleaning.
7179 (*-subdir): Use SUBDIRS.
7181 1999-10-25 Jim Kingdon <http://developer.redhat.com/>
7183 * cplus-dem.c: Move declarations of standard_symbol_characters and
7184 hp_symbol_characters inside #ifdef MAIN to avoid compiler
7189 * hashtab.c (find_hash_table_entry): When returning a
7190 DELETED_ENTRY slot, change it to EMPTY_ENTRY first.
7191 (clear_hash_table_slot): New function which deletes an entry
7192 by its position in the table, not its value.
7193 (traverse_hash_table): New function which calls a hook
7194 function for every live entry in the table.
7198 * cplus-dem.c (INTBUF_SIZE): New macro.
7199 (string_append_template_idx): New function.
7200 (demangle_expression): Likewise.
7201 (demangle_integral_value): Use it.
7202 (demangle_real_value): New function, split out from ...
7203 (demangle_template_value_parm): ... here. Use
7204 string_append_template_idx. Use demangle_real_value.
7205 (demangle_template): Use string_append_template_idx.
7206 (demangle_qualified): Use consume_count_with_underscores.
7207 (get_count): Tweak formatting.
7208 (do_type): Use string_append_template_idx.
7212 * calloc.c: Add a public domain notice.
7216 * setenv.c (sys/types.h, stdio.h): Include those files unconditionaly.
7220 * Makefile.in (CFILES): Add hashtab.c
7221 (REQUIRED_OFILES): Add hashtab.o
7222 (hashtab.o): Add dependencies.
7223 * hashtab.c: New file
7227 * basename.c (DIR_SEPARATOR): New macro.
7228 (DIR_SEPARATOR_2): Likewise.
7229 (HAVE_DOS_BASED_FILESYSTEM): Likewise.
7230 (IS_DIR_SEPARATOR): Likewise.
7231 (main): Handle MSDOS style pathname.
7235 * cplus-dem.c (do_type): Handle pointer to member types whose
7236 enclosing classes have namespace scope.
7240 * config.table: Provide a backup shell for executing move-if-change.
7244 * xmalloc.c (xmalloc): Fix spelling error.
7245 (xcalloc, xrealloc): Likewise.
7249 * cplus-dem.c (fancy_abort, demangle_integral_value,
7250 demangle_arm_hp_template, recursively_demangle,
7251 standard_symbol_characters, hp_symbol_characters, main): Add prototype.
7252 (program_name, program_version, fatal): Constify a char*.
7253 (usage, fatal): Mark with ATTRIBUTE_NORETURN.
7254 (main): Call return, not exit.
7258 * choose-temp.c: Remove obsolete comment about gcc.
7259 (make_temp_file): Constify a char*.
7263 * xmemdup.c: Include sys/types.h.
7267 * xmemdup.c: New xmemdup function.
7268 * Makefile.in, makefile.vms, vmsbuild.com: Use xmemdup.[co].
7272 * config.table: Add openedition target.
7273 * config/mh-openedition: New file.
7277 * pexecute.c (pexecute): Fill in temp_base when needed.
7281 * getpwd.c: Check HAVE_GETCWD before defining it away.
7285 * Makefile.in (CFILES): Add calloc.c and getpwd.c.
7286 (REQUIRED_OFILES): Add getpwd.o.
7287 (getpwd.o): Add target.
7289 * configure.in (AC_PREREQ): Bump to 2.13.
7290 (AC_CHECK_HEADERS): Add check for <sys/stat.h>.
7292 * getpwd.c: New file, moved here from gcc.
7296 * cplus-dem.c (gnu_special): Cast a `size_t' to `long' when
7297 comparing against a signed quantity.
7298 (arm_special): Likewise.
7299 (demangle_fund_type): Likewise.
7300 (do_hpacc_template_const_value): Mark parameter `work' with
7302 (main): Constify variable `valid_symbols'.
7306 * strtoul.c (strtoul): Add parentheses around && within ||.
7310 * Makefile.in (FLAGS_TO_PASS): Include prefix, exec_prefix,
7311 libdir, libsubdir and tooldir.
7315 * splay-tree.c (splay_tree_insert): Return the new node.
7319 * argv.c: Include stdlib.h and string.h instead of
7320 prototyping directly.
7321 * choose-temp.c: Conditionally include string.h.
7325 * Makefile.in (NEEDED): Add bcmp, bcopy, bzero.
7329 * splay-tree.c (splay_tree_insert): Add initialization to avoid
7334 * Makefile.in (needed-list): Only include stuff we actually need
7339 * configure.in (checkfuncs): Add gettimeofday.
7340 * config.in, configure: Regenerated.
7344 * configure.in (*-*-uwin*): UWIN has sys_{errlist,nerr} even if
7346 * configure: Regenerate.
7350 * Makefile.in (setenv.o): Add config.h dep for setenv.o to fix
7355 * putenv.c: Include ansidecl.h to define `const'.
7356 * setenv.c: Likewise.
7360 * Makefile.in (CFILES): Add putenv.c and setenv.c.
7361 * configure.in (funcs): Add putenv and setenv.
7362 (AC_CHECK_FUNCS): Check for putenv and setenv.
7363 * configure: Rebuilt.
7364 * putenv.c setenv.c: New files.
7366 * getcwd.c (getcwd): If pathname is NULL, then obtain SIZE
7367 bytes of space using malloc.
7371 * cplus-dem.c (demangle_fund_type (near 'I' case)): Don't advance
7372 the *mangled pointer beyond the end of the string. Clean up code to
7373 match prevailing coding style.
7377 * tmpnam.c (L_tmpnam): Fix typo.
7381 * cplus-dem.c (standard_symbol_characters): Renamed from
7382 standard_symbol_alphabet. No longer modify TABLE.
7383 (hp_symbol_characters): Renamed from hp_symbol_alphabet. No longer
7385 (main): Corresponding changes. Use strchr to determine if a
7390 * cplus-dem.c (main): Use table lookup to distinguish identifier
7391 characters from non-identifier characters.
7392 (standard_symbol_alphabet, hp_symbol_alphabet): New functions.
7396 * configure.in (sys/resource.h): Add to AC_CHECK_HEADERS list.
7397 * getruntime.c: Only attempt to include sys/resource.h and
7398 use getrusage if both HAVE_GETRUSAGE and HAVE_SYS_RESOURCE_H
7403 * configure.in (alloca detection): Handle alloca directly for interix.
7404 * configure: Rebuilt.
7408 * choose-temp.c (DIR_SEPARATOR): Use '\\' only for native windows32.
7412 Fix from Dale Hawkins:
7413 * cplus-dem.c (mop_up): Set typevec_size to zero, so it'll be
7414 reallocated properly if we use it again.
7416 * cplus-dem.c (demangle_fund_type): Check for buffer overrun. Be
7417 stricter about syntax. Always null-terminate string.
7421 * configure.in (checkfuncs): Check for sbrk.
7422 * config.in: Rebuilt.
7423 * configure: Likewise.
7424 * xmalloc.c: Use HAVE_SBRK instead of the host specific definitions.
7428 Fix from Marcus Daniels:
7429 * cplus-dem.c (demangle_fund_type): Don't run off the end of the
7430 identifier looking for another underscore.
7434 * pexecute.c: Change all references to __UWIN__ to _UWIN.
7435 * xmalloc.c: Likewise.
7436 (xcalloc): UWIN has sbrk.
7437 (xrealloc): Fix guard macro.
7441 * alloca-conf.h (alloca) [C_ALLOCA]: Don't use Gcc builtin
7443 * clock.c (GNU_HZ): New definition.
7445 * getruntime.c: Likewise.
7447 * config.table: Use mh-beos.
7448 * config/mh-beos: New file.
7452 * cplus-dem.c (demangle_template_value_parm): Handle
7453 pointers-to-members.
7454 (do_type): Handle template parameters as qualifiers.
7458 * cplus-dem.c: Attempt to handle overflows in counts with some
7460 (consume_count): Detect overflows. Return -1 to indicate errors,
7462 (demangle_template_value_parm, demangle_template): Handle change
7463 to consume_count's return convention.
7467 * testsuite/regress-demangle: New file.
7468 * testsuite/demangle-expected: New file.
7470 * Makefile.in (all, check, installcheck, info, install-info,
7471 clean-info, dvi, install, etags, tags, mostlyclean, clean,
7472 distclean, maintainer-clean, realclean): Depend on corresponding
7474 (all-subdir check-subdir installcheck-subdir info-subdir
7475 install-info-subdir clean-info-subdir dvi-subdir
7476 install-info-subdir etags-subdir mostlyclean-subdir clean-subdir
7477 distclean-subdir maintainer-clean-subdir): New target.
7478 * testsuite/Makefile.in: New file.
7479 * configure: Rebuilt.
7480 * configure.in: Create testsuite/Makefile.
7484 * splay-tree.h (splay_tree_compare_pointers): Define.
7488 * splay-tree.c (splay_tree_compare_ints): Define.
7492 * cplus-dem.c (consume_count): If `count' wraps, return 0 and
7493 don't advance input pointer.
7494 (demangle_class_name): If consume_count didn't find a count, do
7495 nothing. Don't bother with `strlen' sanity check; consume_count
7501 * cplus-dem.c (demangle_prefix): Don't grab all the '__' strings
7502 when doing arm or hp style.
7503 (demangle_nested_args): Decr forgetting_types field when done.
7507 * pexecute.c (__CYGWIN32__): Rename to
7509 * xmalloc.c: Likewise.
7511 Changes to support i386-pc-uwin.
7512 * configure.in (*-*-uwin*): Workaround for vfork bug.
7513 * configure: Regenerate.
7514 * pexecute.c (pexecute): Be like standard Unix.
7516 * xmalloc.c (first_break): Define.
7517 (xmalloc_set_program_name): Use.
7522 * config.table: Cleanup and add mh-*pic handling for alpha, arm, powerpc
7526 * config.table: Check cygwin*, not cygwin32*.
7530 * Makefile.in: Change mkstemp -> mkstemps.
7534 * Makefile.in (REQUIRED_OFILES): remove mkstemp.o
7535 * configure.in (funcs): Check for and conditionally add mkstemps to
7536 the list of functions libiberty will provide.
7537 * configure: Rebuilt.
7541 * clock.c (HZ): Define in terms of (ISO C) CLOCKS_PER_SEC on
7542 platforms that don't have HZ.
7543 * getruntime.c (HZ): Likewise.
7547 * Makefile.in (xstrdup.o): Depend on config.h.
7551 * cplus-dem.c (mop_up): Set work->previous_argument to NULL after
7556 * xstrdup.c (xstrdup): Switch from strcpy to memcpy for speed.
7560 * Makefile.in (CFILES): fix typo, splay-tree.c instead of
7565 * configure.in: Require autoconf 2.12.1 or higher.
7569 * random.c (NULL): Don't redefine NULL if it is already defined.
7573 * argv.c (buildargv): Cast the result of alloca in assignment.
7575 * choose-temp.c: Include stdlib.h.
7577 * cplus-dem.c (demangle_arm_pt): Remove unused prototype.
7578 (snarf_numeric_literal): Constify first parameter.
7579 (code_for_qualifier): Avoid a gcc extension, make the parameter an
7581 (demangle_qualifier): Likewise.
7582 (demangle_signature): Cast the argument of a ctype function to
7584 (arm_pt): Add parens around assignment used as truth value.
7585 (demangle_arm_hp_template): Constify variable `args'.
7586 (do_hpacc_template_const_value): Cast the argument of a ctype
7587 function to unsigned char.
7588 (do_hpacc_template_literal): Remove unused variable `i'.
7589 (snarf_numeric_literal): Constify parameter `args'.
7590 Cast the argument of a ctype function to unsigned char.
7592 * floatformat.c (floatformat_to_double): Add explicit braces to
7593 avoid ambiguous `else'.
7595 * fnmatch.c (fnmatch): Change type of variables `c', `c1',
7596 `cstart' and `cend' to unsigned char. Cast the argument of macro
7597 `FOLD', which uses ctype functions, to unsigned char.
7599 * objalloc.c (free): Add prototype.
7603 * Makefile.in (CFILES): Fix typo: splay-tree.c, not splay-tree.o
7607 * cplus-dem.c (demangle_arm_pt): remove declaration -- function
7609 (do_hpacc_template_literal): remove unused variable `i'.
7613 * cplus-dem.c (demangle_fund_type): Process CV and u codes before
7614 bumping the pointer we read from. Also prepend these codes,
7615 as we do in other places.
7619 * cplus-dem.c (demangle_arm_hp_template): Make variable 'args' be
7620 'const char *' in order to match its usage when calling siblings.
7621 (snarf_numeric_literal): Make first arg 'const char **' in order
7626 * choose-temp.c: Don't check IN_GCC anymore.
7628 * floatformat.c (floatformat_from_double): Use `const', not `CONST'.
7629 * memchr.c (memchr): Likewise.
7630 * memcpy.c (memcpy): Likewise.
7631 * memmove.c (memmove): Likewise.
7633 * mkstemp.c: Don't check IN_GCC anymore.
7634 * pexecute.c: Likewise.
7635 * splay-tree.c: Likewise.
7637 * strchr.c (strchr): Use `const', not `CONST'.
7638 * strrchr.c (strrchr): Likewise.
7639 * strtol.c (strtol): Likewise.
7640 * strtoul.c (strtoul): Likewise.
7649 * HP aCC demangling support.
7651 (main): Remove default to HP style demangling, set to EDG
7652 demangling correctly when -edg specified; set the demangling style
7653 when user specifies 'edg'. Set strip_underscore to
7654 prepends_underscore, if not HPUXHPPA. Set
7655 current_demangling_style to hp_demangling if HPUXHPPA. Set
7656 current demangling style correctly if the switch is hp. Read
7657 label correctly also in the HP style case.
7658 (work_stuff): add temp_start field; add field for volatile member
7660 (arm_pt): handle ARM_DEMANGLING and EDG_DEMANGLING styles; HP
7661 style for this case is the same as ARM.
7662 (demangle_args): handle EDG_DEMANGLING style; support HP style.
7663 (demangle_arm_hp_template): new function. (It was
7664 demangle_arm_pt.); check and set value of temp_start field in
7665 multiple places. Also, when ceching for end of template args,
7666 check to see if at end of static member of template class.
7667 (demangle_class): new local variable : save_class_name_end Don't
7668 include template args in string defining class.
7669 (demangle_class_name): use demangel_arm_hp_template.
7670 (demangle_function_name): handle case where demangling style is
7671 HP_DEMANGLING and currently point at an 'X' in the mangled name.
7672 Handle EDG_DEMANGLING style. Handle constructor and destructor
7674 (demangle_prefix): handle EDG_DEMANGLING and ARM_DEMANGLING
7675 styles. global destructor and constructor for HP style are same
7676 as for ARM style. Same for local variables.
7677 (demangle_qualified): handle EDG_DEMANGLING style.
7678 (demangle_signature): add case for volatile member function. For
7679 cases '1' - '9' : initialize the temp_start field to -1 and handle
7680 the EDG_DEMANGLING style. for case 'F' : handle EDG_DEMANGLING
7681 and AUTO_DEMANGLING styles. If expecting a function and managed
7682 to demangle the funct args, then handle the LUCID_DEMANGLING,
7683 ARM_DEMANGLING, and EDG_DEMANGLING styles. Add case for local
7684 class name after "Lnnn_ in HP style case. HP style too needs to
7685 forget types. _nnn is OK for HP style, so don't report failure.
7686 (do_hpacc_template_const_value): new function. Handle template's
7687 value param for HP/aCC.
7688 (do_hpacc_template_literal): new function. Handle a template's
7689 literal parameter for HP aCC.
7690 (recursively_demangle): new function
7691 (snarf_numeric_literal): new function.
7692 (usage): add 'edg' to the list of demangling styles; add hp switch
7697 * pexecute.c: Remove obsolete ifdefed cygwin code.
7701 * choose-temp.c: Always include libiberty.h. Avoid redundancies.
7702 * cplus-dem.c: Likewise. Conform to libiberty.h.
7703 * pexecute.c: Likewise.
7704 * splay-tree.c: Likewise.
7708 * Makefile.in (splay-tree.o): Add config.h dependency.
7712 * configure.in: Use AC_PREREQ(2.12.1).
7716 * cplus-dem.c (demangle_fund_type): Add demangling for C9x types.
7720 * mpw.c (mpw_access): Add missing parens.
7724 * configure.in: Call AC_HEADER_SYS_WAIT.
7726 * pexecute.c: Include sys/wait.h when !IN_GCC.
7730 * pexecute.c: revert back to checking old Cygwin
7731 preprocessor symbol until some time has passed.
7735 * pexecute.c: Reorganize WIN32 case to accomodate Cygwin
7736 since it will now support similar constructs.
7740 * configure.in: Check for calloc.
7742 * calloc.c: New file.
7744 * xmalloc.c (xcalloc): New function.
7748 *cplus-dem.c (demangle_prefix): Use the last "__"
7749 in the mangled name when looking for the signature. This allows
7750 template names to begin with "__".
7754 * cplus-dem.c (type_kind_t): Add tk_reference.
7755 (demangle_template_value_parm): Handle it.
7756 (do_type): Use it for references, instead of tk_pointer.
7758 * cplus-dem.c (demangle_template_value_parm): Use cplus_demangle,
7759 not internal_cplus_demangle.
7763 * choose-temp.c: Don't include gansidecl.h.
7764 * mkstemp.c: Likewise.
7765 * pexecute.c: Likewise.
7769 * configure.in: detect cygwin* instead of cygwin32*
7770 * configure: regenerate
7774 * pexecute.c: Check HAVE_CONFIG_H, not IN_GCC, when determining
7775 whether to include config.h. Possibly include unistd.h in the
7776 !IN_GCC case. Define VFORK_STRING as a printable function call
7777 for error messages (either "vfork" or "fork".) If HAVE_VFORK_H is
7778 defined, include vfork.h. If VMS is defined, define vfork()
7779 appropriately. Remove vfork check on USG, we're using autoconf.
7780 (pexecute): Set `errmsg_fmt' to VFORK_STRING instead of checking
7781 locally what string to use.
7785 * splay-tree.c: Tweak include directives to make sure declarations of
7786 xmalloc and free are available.
7790 * cplus-dem.c (gnu_special): Fix handling of virtual tables in
7791 anonymous namespaces.
7795 * cplus-dem.c (work_stuff): Replace const_type and volatile_type
7797 (TYPE_UNQUALIFIED): New macro.
7798 (TYPE_QUAL_CONST): Likewise.
7799 (TYPE_QUAL_VOLATILE): Likewise.
7800 (TYPE_QUAL_RESTRICT): Likewise.
7801 (code_for_qualifier): New function.
7802 (qualifier_string): Likewise.
7803 (demangle_qualifier): Likewise.
7804 (internal_cplus_demangle): Use them.
7805 (demangle_signature): Likewise.
7806 (demangle_template_value_parm): Likewise.
7807 (do_type): Likewise.
7808 (demangle_fund_type)): Likewise.
7812 * splay-tree.c (splay_tree_foreach_helper): Make definition static
7817 * splay-tree.c: New file.
7818 * Makefile.in (CFILES): Add it.
7819 (REQUIRED_OFILES): Likewise.
7820 (splay-tree.o): Add dependencies.
7824 * cplus-dem.c (demangle_qualified): Fix off-by-one when checking
7829 * choose-temp.c: Prototype mkstemps() when IN_GCC.
7831 * cplus-dem.c (consume_count): Cast argument of ctype macro to
7833 (cplus_demangle_opname): Cast the result of `strlen' to (int) when
7834 comparing against one.
7835 (cplus_mangle_opname): Likewise.
7836 (demangle_integral_value): Cast argument of ctype macro to
7838 (demangle_template_value_parm): Likewise.
7839 (demangle_template): Initialize variable `bindex'. Cast the
7840 result of `strlen' to (int) when comparing against one. Remove
7841 unused variable `start_of_value_parm'.
7842 (demangle_class_name): Cast the result of `strlen' to (int) when
7843 comparing against one.
7844 (demangle_prefix): Cast argument of ctype macro to `unsigned char'.
7845 (gnu_special): Likewise. Cast the result of `strlen' to (int)
7846 when comparing against one.
7847 (demangle_qualified): Cast argument of ctype macro to `unsigned char'.
7848 (get_count): Likewise.
7849 (do_type): Likewise. Cast the result of `strlen' to (int) when
7850 comparing against one.
7851 (demangle_fund_type): Cast argument of ctype macro to `unsigned char'.
7852 (demangle_function_name): Cast the result of `strlen' to (int)
7853 when comparing against one.
7855 * mkstemp.c (mkstemps): Cast variable `len' to (int) when
7856 comparing against one.
7860 * mkstemp.c: Check HAVE_SYS_TIME_H before including sys/time.h
7861 * configure.in (AC_CHECK_HEADERS): Check for sys/time.h too.
7862 * config.in, configure: Rebuilt.
7864 * getopt.c: Check HAVE_STRINGS_H before including strings.h.
7865 * configure.in (AC_CHECK_HEADERS): Check for strings.h too.
7866 * config.in, configure: Rebuilt.
7870 * configure.in: in comment, call AC_EXEEXT instead of AM_EXEEXT
7874 * Makefile.in (cplus-dem.o, obstack.o): Depend upon config.h.
7878 * Merge egcs & devo libiberty.
7882 * cplus-dem.c (demangle_arm_pt): Demangle anonymous namespaces.
7886 * mkstemp.c: Include config.h even when not IN_GCC. Wrap header
7887 inclusions inside HAVE_*_H macros. Include ansidecl.h when not
7890 * vasprintf.c: Include stdarg.h/varargs.h first.
7892 * vprintf.c: Likewise.
7896 * pexecute.c: Updates from gcc. Copy in gcc has been removed. This
7897 is the canonical copy. Define ISSPACE if !IN_GCC.
7898 * alloca.c, vfprintf.c, choose-temp.c, mkstemp.c, getopt.c: Similarly.
7899 * getopt1.c, obstack.c: Similarly.
7900 * Makefile.in: Build mkstemp.o
7904 * configure.in: Include asprintf in list of functions known not
7906 * configure: Rebuild.
7910 * cplus-dem.c (work_stuff): Add dllimported.
7911 (demangled_prefix): Mark symbols imported from PE DLL.
7912 (internal_cplus_demangled): Handle.
7916 * cplus-dem.c (do_type): Fix simple array handling. If we fail,
7921 * cplus-dem.c: Include config.h if it exists. Also, only
7922 prototype malloc/realloc if we can't get stdlib.h.
7926 * configure.in: Switch back to checking --with-target-subdir when
7927 deciding whether to check for newlib, undoing part of July 15
7929 * configure: Rebuild.
7933 * cplus-dem.c (type_kind_t): New type.
7934 (demangle_template_value_parm): Add type_kind_t parameter. Rely
7935 on this paramter, rather than demangling the type again.
7936 (demangle_integral_value): Pass tk_integral.
7937 (demangle_template_: Pass the value returned from do_type.
7938 (do_type): Return a type_kind_t. Pass tk_integral to
7939 demangle_template_value_parm for array bounds.
7940 (demangle_fund_type): Likewise.
7942 Also incorporate from GCC version:
7946 * cplus-dem.c (do_type): Use demangle_template_value_parm for arrays.
7950 * cplus-dem.c (demangle_nested_args): Make function definition
7951 static to match the prototype.
7955 * cplus-dem.c (type_kind_t): New type.
7956 (demangle_template_value_parm): Add type_kind_t parameter. Rely
7957 on this paramter, rather than demangling the type again.
7958 (demangle_integral_value): Pass tk_integral.
7959 (demangle_template_: Pass the value returned from do_type.
7960 (do_type): Return a type_kind_t. Pass tk_integral to
7961 demangle_template_value_parm for array bounds.
7962 (demangle_fund_type): Likewise.
7964 Also incorporate from GCC version:
7968 * cplus-dem.c (do_type): Use demangle_template_value_parm for arrays.
7972 * Makefile.in (ALLOCA): New variable.
7973 ($(TARGETLIB)): Add $(ALLOCA) to library.
7974 (needed-list): Add $(ALLOCA).
7975 ($(ALLOCA)): Depend upon stamp-picdir.
7979 * cplus-dem.c (demangle_nested_args): Make function definition
7980 static to match the prototype.
7984 * configure.in: Check --with-cross-host rather than
7985 --with-target-subdir when deciding whether build uses a cross
7986 compiler, and when deciding where to install the library.
7987 * configure: Rebuild.
7991 * cplus-dem.c (demangle_nested_args): Return a value.
7995 * cplus-dem.c (string): Move definition before work_stuff.
7996 (work_stuff): Add volatile_type, forgetting_types,
7997 previous_argument, and nrepeats fields.
7998 (SCOPE_STRING): New macro.
7999 (demangle_template): Add `remember' parameter. Add comment.
8000 Register the `B' code type here, if remembering. Tidy. Fix crash
8001 on NULL tmpl_argvec. Be consistent with use of tname/trawname.
8002 (demangle_nested_args): New function.
8003 (internal_cplus_demangle): Handle volatile-qualified member
8005 (mop_up): Delete the previous_argument string if present.
8006 (demangle_signature): Tidy. Handle volatile-qualified member
8007 functions. Handle back-references using the `B' code. Use extra
8008 parameter to demangle_template and SCOPE_STRING where appropriate.
8009 (demangle_template_value_parm): Fix thinko; 'B' is not an integral
8011 (demangle_class): Use SCOPE_STRING.
8012 (gnu_special): Pass additional argument to demangle_template.
8014 (demangle_qualified): Save qualified types for later
8015 back-references. Handle constructors and destructors for template
8017 (do_type): Tidy. Use SCOPE_STRING. Pass extra argument to
8018 demangle_template. Use demangled_nested_args. Don't remember
8019 qualified types here; that's now done in demangle_qualified.
8020 Similarly for templates.
8021 (do_arg): Improve commment. Handle 'n' repeat code.
8022 (remember_type): Check forgetting_types.
8023 (demangle_args): Deal with 'n' repeat codes. Tidy.
8027 * config.table: Only use mh-fbsd21 on *-*-freebsd2.2.[012], not on
8032 * configure.in (setobjs): Correct quoting error in cygwin32 case.
8037 * obstack.c: Update to latest FSF version.
8041 * Makefile.in: Add a dependency on stamp-picdir for the
8042 objects, so that we can do a parallel build.
8046 * configure.in (checkfuncs): Add missing "'".
8050 * obstack.c (_obstack_memory_used): Elide this function if we're
8051 on a system with GNU libc.
8055 * Makefile.in (distclean): Remove config.log.
8059 * Makefile.in (distclean): Don't remove alloca-conf.h.
8063 * cplus-dem.c (MBUF_SIZE): Bumped from 512 to 32767.
8067 * cplus-dem.c (do_type): Handle volatile qualification.
8071 * configure.in: Check for unistd.h as well.
8072 * configure: Rebuild.
8073 * config.in: Rebuild.
8074 * getpagesize.c (GNU_OUR_PAGESIZE): Use sysconf only if _SC_PAGESIZE
8075 is defined in unistd.h. Reformat conditional block for easier reading.
8077 * config.table (shared): Default to no if ${enable_shared}
8078 is unset or empty; this logic is used by the toplevel
8079 configure scripts, too.
8083 * config.table: Add line to set enable_shared in the Makefile
8088 * cplus-dem.c (squangle_mop_up): Change return type to void.
8089 (internal_cplus_demangle): Remove unused parameter `options'.
8090 All callers changed.
8091 (cplus_demangle_opname): Remove function wide variable `int i' and
8092 replace with `size_t i' at each location where it is used.
8093 (cplus_mangle_opname): change type of `i' from int to size_t.
8097 * alloca-conf.h: Include config.h. Check HAVE_ALLOCA_H rather
8099 * Makefile.in (argv.o): Depend upon config.h and alloca-conf.h.
8103 * configure.in: Set libiberty_topdir correctly when srcdir is
8104 "." and with_target_subdir is not set.
8105 * configure: Rebuild.
8109 * configure.in: Add *-*-mingw32* case.
8110 * configure: Rebuild.
8114 * config.table: Never use a PIC file for *-*-cygwin32*.
8116 * Makefile.in (config.status): Depend upon config.table.
8118 * configure.in: On a cygwin32 host, always compile random, and
8119 don't test for sys_siglist, strsignal, or psignal.
8120 * configure: Rebuild.
8122 * clock.c: Check HAVE_SYS_PARAM_H rather than NO_SYS_PARAM_H.
8123 * getcwd.c: Likewise.
8124 * getpagesize.c: Likewise.
8125 * getruntime.c: Likewise.
8129 Use autoconf tests rather than the old dummy.c test:
8130 * configure.in: Add AC_ARG_WITH calls for --with-target-subdir and
8131 --with-newlib. Add AC_CONFIG_HEADER. Use AC_REPLACE_FUNCS for
8132 most functions. Add special cases to handle newlib and VxWorks.
8133 Remove target_makefile_frag. Create stamp-h in AC_OUTPUT if
8134 CONFIG_HEADERS is set. Only call config-ml.in in AC_OUTPUT if
8135 CONFIG_FILES is set; set ac_file before calling it.
8136 * config.table (arm-*-riscix*, *-*-cygwin32): Remove.
8137 (*-*-hpux*, *-*-hiux*, *-*-irix4*, *-*-solaris2*): Remove.
8138 (*-*-sysv4*, *-*-go32, *-*-vxworks5*, *-*-vxworks): Remove
8139 (i[3456]-*-mingw32*): Remove.
8140 * Makefile.in (ERRORS_CC, CONFIG_H, NEEDED_LIST): Remove.
8141 (LIBOBJS): New variable.
8142 (HOST_OFILES, DO_ALSO, STAGESTUFF): Remove.
8143 (all): Depend upon needed-list. Don't check RULE1.
8144 (@target_makefile_frag@): Remove.
8145 (COMPILE.c): Include @DEFS@.
8146 (HFILES): Add alloca-conf.h.
8147 (REQUIRED_OFILES): Remove basename.o.
8148 ($(TARGETLIB)): New target.
8149 (stamp-needed, lneeded-list, needed.awk, stamp-config): Remove.
8150 (lconfig.h, needed2.awk, dummy.o, errors): Remove.
8151 (needed-list, config.h): Rewrite.
8152 (RULE1, $(RULE1), RULE2, $(RULE2)): Remove.
8154 (Makefile): Set CONFIG_FILES and CONFIG_HEADERS.
8155 (stamp-h): New target.
8156 (atexit.o, clock.o, getcwd.o, getpagesize.o): New targets.
8157 (basename.o): Don't depend upon config.h.
8158 (getruntime.o): Depend upon config.h.
8159 * atexit.c: Include config.h. Check HAVE_ON_EXIT rather than
8161 * basename.c: Don't include config.h. Don't check NEED_basename.
8162 * clock.c: Include config.h.
8163 * getcwd.c: Likewise.
8164 * getpagesize.c: Likewise.
8165 * getruntime.c: Likewise. Fix checks which set HAVE_GETRUSAGE and
8167 * strerror.c: Change uses of NEED_sys_errlist to
8168 HAVE_SYS_ERRLIST. Likewise for NEED_strerror and HAVE_STRERROR.
8169 * strsignal.c: Likewise for NEED_sys_siglist and HAVE_SYS_SIGLIST,
8170 and for NEED_strsignal and HAVE_STRSIGNAL and for NEED_psignal and
8172 * acconfig.h: New file.
8174 * functions.def: Remove.
8175 * config/mh-cxux7 (HDEFINES): Remove -DHAVE_SYSCONF.
8176 * config/mh-windows (HDEFINES): Remove.
8177 * config/mh-cygwin32: Remove.
8178 * config/mh-go32: Remove.
8179 * config/mh-irix4: Remove.
8180 * config/mh-riscix: Remove.
8181 * config/mh-sysv4: Remove.
8182 * config/mt-mingw32: Remove.
8183 * config/mt-vxworks5: Remove.
8184 * config.in: New file, generated using autoheader.
8185 * configure: Rebuild.
8189 * configure.in: Rewrite to use autoconf.
8190 * configure: Generate using autoconf.
8191 * config/mh-a68bsd: Remove.
8192 * config/mh-apollo68: Remove.
8193 * config/mh-hpbsd: Remove.
8194 * config/mh-ncr3000: Remove.
8195 * config/mh-sysv: Remove.
8196 * config/mh-aix (RANLIB, INSTALL): Don't define.
8197 * config/mh-cxux7 (RANLIB, INSTALL): Don't define.
8198 * config/mh-irix4 (CC, RANLIB, INSTALL): Don't define.
8199 * config/mh-sysv4 (RANLIB, INSTALL): Don't define.
8200 * config.table: Change config_shell to CONFIG_SHELL, and use
8201 libiberty_topdir to find move-if-change.
8202 (m68k-apollo-bsd*, m68k-apollo-sysv*): Remove.
8203 (i[3456]86-ncr-sysv4*, *-*-dgux*, hppa*-hp-bsd*): Remove.
8204 (*-*-irix*, *-*-m88kbcs*, *-*-sysv*): Remove.
8205 * Makefile.in (srcdir): Set to @srcdir@.
8207 (prefix, exec_prefix, bindir, libdir): Set to autoconf variables.
8208 (SHELL, INSTALL, INSTALL_PROGRAM, INSTALL_DATA): Likewise.
8209 (CC, CFLAGS, RANLIB)): Likewise.
8210 (datadir, man*dir, infodir, includedir, MAKEINFO): Remove.
8211 (target_makefile_frag, host_makefile_frag): Add substitutions.
8212 (INSTALL_DEST): Set to @INSTALL_DEST@.
8213 (Makefile): Depend upon config.status. Don't depend upon
8214 $(host_makefile_frag) or $(target_makefile_frag).
8215 (config.status): New target.
8219 * config/mt-sunos4: Remove. Should be handled by --with-headers
8220 and --with-libraries options at top level.
8221 * config.table: Never use mt-sunos4.
8223 * alloca-conf.h: New file, combining alloca-norm.h and
8225 * alloca-norm.h: Remove.
8226 * alloca-botch.h: Remove.
8227 * configure.in: Set shell variables files and links to empty.
8228 * config.table: Don't set shell variable files.
8229 * configure.bat: Don't create alloca-conf.h.
8230 * makefile.vms: Likewise.
8231 * mpw-config.in: Likewise.
8232 * vmsbuild.com: Likewise.
8236 * Makefile.in ($(HOST_OFILES) $(REQUIRED_OFILES)): Remove old
8237 target depending upon config.h.
8238 (alloca.o): Add target depending upon config.h
8239 (basename.o, choose-temp.o, fnmatch.o): Likewise.
8240 (getopt.o, getopt1.o, pexecute.o, strerror.o): Likewise.
8241 (strsignal.o, xstrerror.o): Likewise.
8245 * cplus-dem.c (cplus_demangle_opname): Initialize work.
8249 * cplus-dem.c (demangle_qualified): Replace missing else.
8253 * cplus-dem.c (gnu_special): Fix off-by-one bug when checking the
8254 length in the name of a virtual table.
8258 * cplus-dem.c (struct work stuff): Add field for B and K mangle codes.
8259 (cplus_demangle_opname): Call mop_up_squangle.
8260 (cplus_demangle): Initialize squangle info, then call
8261 internal_cplus_demangle. (Most code moved there as well)
8262 (internal_cplus_demangle): New function, performs most of what use
8263 to be done in cplus_demangle, but is only called with this file.
8264 (squangle_mop_up): New function to clean up B and K code data.
8265 (mop_up): set pointers to NULL after freeing.
8266 (demangle_signature, demangle_template, demangle_class): Add
8267 switch elements to handle K and B codes.
8268 (demangle_prefix, gnu_special, demangle_qualified): Add
8269 code to handle K and B codes.
8270 (do_type, demangle_fund_type): Handle B and K codes.
8271 (remember_Ktype): New function to store K info.
8272 (register_Btype, remember_Btype): New functions for B codes.
8273 (forget_B_and_K_types): New function to destroy B and K info.
8277 * COPYING.LIB, choose-temp.c, cplus-dem.c: Sync with egcs & gcc.
8281 * config.table: Make locating frag files failsafe even for the
8282 special case if configuring and building in srcdir.
8286 * choose-temp.c: Fix handling of sys/file.h to work in libiberty.
8290 * choose-temp.c: Sync with copy in gcc.
8294 * getopt.c: Update to latest FSF version.
8295 * getopt1.c: Likewise.
8299 * cplus-dem.c (gnu_special): Don't get confused by .<digits>
8300 strings that are not actually lengths.
8304 * Makefile.in (FLAGS_TO_PASS): Don't pass PICFLAG.
8305 (.c.o): Check value of enable_shared, not PICFLAG.
8306 (stamp-picdir): Dito.
8310 * config/mh-cygwin32: remove vasprintf.o from EXTRA_OFILES
8311 since it gets built automatically
8315 * config.table (vxworks configs): Default to VxWorks 5.x, as that is
8316 the currently shipping OS.
8320 * vmsbuild.com [REQUIRE_OFILES]: Synchronized with Makefile.in:
8321 Add fnmatch.o and objalloc.o; remove vasprintf.o.
8322 [config.h]: Define NEED_strsignal.
8326 * functions.def: Correct argument types for strerror and
8331 * vasprintf.c (int_vasprintf): Increase buffer size for float/double
8337 Add mingw32 support.
8338 * pexecute.c (pexecute): New function for mingw32. Supports pipes.
8339 (pwait): New function for mingw32.
8341 * config.table (i[3456]86-*-mingw32*): Support for i386-mingw32.
8342 * config/mt-mingw32: New file.
8343 * xmalloc.c (first_break): Not used for mingw32.
8344 (xmalloc_set_program_name): Don't use sbrk on mingw32.
8345 (xmalloc): Likewise.
8346 (xrealloc): Likewise.
8350 * choose-temp.c: Sync with gcc version.
8354 * Makefile.in (install_to_libdir, install_to_tooldir): Add MULTISUBDIR
8355 to all filenames in libdir and tooldir.
8356 (distclean): Do MULTICLEAN before deleting Makefile.
8357 (stamp-needed, stamp-config): Add MULTISRCTOP to
8358 pathname for move-if-change.
8362 * strsignal.c (sys_nsig): Try NSIG and _NSIG.
8366 * alloca-norm.h (alloca, GCC case): Don't redefine alloca if it
8367 was already defined previously.
8371 * Makefile.in (INSTALL): Use ../install-sh, not install.
8375 * Makefile.in (CFILES): Add pexecute.c.
8379 * asprintf.c: Consistently use either stdarg or varargs.
8383 * cplus-dem.c (demangle_signature): Don't look for return types on
8384 constructors. Handle member template constructors.
8388 * README: Fix configuration instructions.
8392 * pexecute.c: Update to current version from /gd/gnu/lib:
8396 * pexecute.c: Use spawn if __CYGWIN32__.
8400 * pexecute.c: Include "config.h" first, as per autoconf manual.
8404 * pexecute.c (fix_argv): New function.
8405 (pexecute): Win32 but not Cygwin32 needs its arguments fixed.
8406 Add underscore to cwait function call.
8410 * cplus-dem.c (demangle_template): Add new parameter. Handle new
8411 template-function mangling.
8412 (consume_count_with_underscores): New function.
8413 (demangle_signature): Handle new name-mangling scheme.
8417 * asprintf.c: stdarg.h when ALMOST_STDC
8418 * config/mh-windows (EXTRA_OFILES): add asprintf.o and
8423 * vasprintf.c (vasprintf): Allow for _BSD_VA_LIST_.
8425 * config.table: Add case for FreeBSD 2.1 and 2.2, needs mh-fbsd21.
8427 * config/mh-fbsd21 (EXTRA_OFILES): Force vasprintf.o
8431 * cplus-dem.c (demangle_fund_type): Change "complex" to "__complex".
8435 * asprintf.c (asprintf): New file.
8436 * Makefile.in (CFILES): Add asprintf.c
8437 * functions.def: Ditto.
8441 * argv.c (dupargv): New function, duplicate an argument vector.
8445 * config/mh-cygwin32: also build random.o
8449 * cplus-dem.c: Add 'extern' to prepends_underscore.
8453 * cplus-dem.c: Various changes to produce Java output when passed
8454 DMGL_JAVA. Thus "::" becomes "." and "JArray<Foo>" becomes "Foo[]".
8455 (main): Support --java and -j flags to set DMGL_JAVA.
8459 * config/mh-go32 (CC, AR, RANLIB): Don't define.
8463 * Makefile.in (REQUIRED_OFILES): Add pexecute.o.
8464 (pexecute.o): New target.
8466 * Makefile.in (stamp-needed): New target, replacing needed-list.
8467 (needed-list): Just depend upon stamp-needed.
8468 (stamp-config): New target, replacing config.h.
8469 (config.h): Just depend upon stamp-config.
8470 (mostlyclean): Remove stamp-*.
8474 * Makefile.in (FLAGS_TO_PASS): pass INSTALL, INSTALL_PROGRAM and
8475 INSTALL_DATA for multilibbed installs
8481 * choose-temp.c (choose_temp_base): Don't dump core if TMPDIR is empty.
8483 * choose-temp.c (try): Insist that temp dir be searchable.
8487 * choose-temp.c (choose_temp_base): On VMS, use proper syntax
8488 for current directory.
8492 * pexecute.c: Remove special cases for cygwin32.
8493 (pwait): Remove local definition of `pid'.
8497 * pexecute.c (vfork): Supply new definition for VMS.
8498 (pwait): Use waitpid instead of wait for VMS.
8502 * cplus-dem.c (do_type): Handle `J'.
8503 (demangle_fund_type): Print "complex" for it.
8507 * configure.in: Don't turn on multilib here.
8511 * obstack.c: move _obstack_memory_used outside of ifdef. Cannot be
8512 elided; needed by gdb and not present in libc.
8516 * Makefile.in (clean): Remove tmpmulti.out.
8520 * floatformat.c (floatformat_ieee_double_littlebyte_bigword):
8521 Add new floatformat, mainly for ARM doubles.
8525 * config.table: Use ${config_shell} with ${moveifchange}. From
8530 * configure.in: Enable multilibing by default.
8531 Update multilib template to read config-ml.in.
8535 * makefile.vms: Add objalloc.
8539 * cplus-dem.c (demangle_it): Add prototype declaration.
8540 (usage, fatal): Likewise.
8542 * xexit.c (_xexit_cleanup): Add prototype.
8544 * strerror.c (init_error_tables): Declare.
8548 * functions.def: Add DEF of vasprintf, and DEFFUNC of strsignal.
8549 * strsignal.c: Only define strsignal if NEED_strsignal.
8550 * Makefile.in (REQUIRED_OFILES): Remove vasprintf.o.
8551 * configure.in: Add NEED_strsignal to xconfig.h. Add vasprintf.o
8553 * config/mh-cygwin32 (HDEFINES): Add -DNEED_strsignal.
8554 (EXTRA_OFILES): Define to vasprintf.o.
8555 * config/mh-windows (HDEFINES): Add -DNEED_strsignal.
8556 (EXTRA_OFILES): Add vasprintf.o.
8557 * config/mt-vxworks5 (vxconfig.h): Define NEED_strsignal.
8558 (vxneeded-list): Add vasprintf.o.
8562 * objalloc.c: Include <stdio.h>.
8566 * objalloc.c: New file.
8567 * Makefile.in (CFILES): Add objalloc.c
8568 (REQUIRED_OFILES): Add objalloc.o.
8569 (objalloc.o): New target.
8573 * obstack.c: Update to current FSF version.
8577 * cplus-dem.c: Add prototypes for all static functions.
8578 (mystrstr): Make static. Make arguments and result const.
8579 (cplus_match): Remove; not used.
8583 * cplus-dem.c (gnu_special): Call demangled_fund_type for other
8588 * spaces.c: Declare malloc and free properly.
8589 * strsignal.c (init_signal_tables): Add prototype.
8590 * xatexit.c (_xexit_cleanup): Add parameter declarations.
8594 * Makefile.in (lneeded-list): If alloca.o is needed, xexit.o is
8595 also required because of xmalloc.o.
8599 * strsignal.c: Unconditionally redefine sys_siglist around the
8600 inclusion of the system header files.
8604 * makefile.vms: Remove 8 bit characters. Update to latest
8609 * strsignal.c: Use NEED_sys_siglist instead of
8611 * config.table: Don't use mh-lynxos.
8612 * config/mh-lynxos: Remove.
8616 * cplus-dem.c: Fix indenting; make identical to the copy
8618 (do_type, case 'M'): Check for a template as well as a class.
8622 * config/mt-vxworks5 (vxneeded-list): Remove sigsetmask.o, since
8623 vxworks 5.[0-3] all have sigsetmask in them; the one provided by
8624 libiberty is incorrect, as well.
8628 * alloca.c (alloca): When compiled with an ANSI/ISO compiler,
8629 alloca takes a size_t argument, not just unsigned.
8633 * cplus-dem.c: Note that this file also lives in GCC.
8637 * alloca.c: Remove include of libiberty.h for hpux.
8638 * argv.c: Replace defs from libiberty.h.
8639 * spaces.c: Put back externs from removed from libiberty.h.
8640 * vasprintf.c: Remove include of libiberty.h for hpux.
8644 * cplus-dem.c: Checking in again; last checkin filed due to sticky tag.
8648 * cplus-dem.c: Revert last two commits due to conflicts with
8649 hpux system headers.
8653 * alloca.c, argv.c, spaces.c, strcasecmp.c, vasprintf.c, vprintf.c:
8654 Revert last commit due to conflicts with hpux system headers.
8658 * cplus-dem.c (x{m,re}alloc): Make declarations compatibile with
8659 libiberty.h when compiled with a standard compiler.
8663 * alloca.c: Include libiberty.h for definition of xmalloc.
8664 Don't redefine NULL.
8665 * argv.c: Move prototypes to libiberty.h.
8666 * cplus-dem.c: Include libiberty.h for definition of xmalloc.
8667 Don't redefine NULL.
8668 Use casts to eliminate compiler warnings.
8669 * spaces.c: Remove prototypes for malloc and free which are
8670 already in libibrty.h.
8671 * strcasecmp.c: Use casts to eliminate compiler warnings.
8672 * vasprintf.c: Include libiberty.h for definition of malloc.
8673 Don't redefine NULL.
8674 * vprintf.c: Include stdarg.h if __STDC__.
8678 * config/mh-windows: Add strcasecmp.o to EXTRA_OFILES.
8682 * mpw.c (mpwify_filename): Rewrite to simplify, and to handle
8683 upward components correctly.
8687 * config.table, config/mh-windows: Add support for building under
8688 MSVC (the Microsoft build environment).
8692 * fnmatch.c: Undef const if not __STDC__.
8696 * fnmatch.c: New file.
8697 * Makefile.in (CFILES): Add fnmatch.c.
8698 (REQUIRED_OFILES): Add fnmatch.o.
8699 (fnmatch.o): New target.
8703 * cplus-dem.c (demangle_template): Fix handling of address args.
8704 (gnu_special): Handle type_info stuff.
8708 * mpw.c (DebugPI): Make settable from the env var DEBUG_PATHNAMES.
8709 (mpwify_filename): Handle "::/" case.
8713 * config/mh-cygwin32: new file (need -DNEED_basename and
8714 -DNEED_sys_siglist for native NT rebuilding)
8715 * config.table (*-*-cygwin32): new entry
8716 * choose-temp.c: bring in sync with gcc (revert Aug 17 change)
8720 * config.table (i[345]86-*-*): Recognize i686 for pentium pro.
8724 * pexecute.c (pexecute) [MPW]: Remove old bogus code that
8725 messed with arguments that included a '/', add escape chars
8726 to double quotes, remove const decl from arg that Mac
8727 compilers don't seem to like.
8731 * pexecute.c: Update test for win32 (&& ! cygwin32).
8732 * choose-temp.c: fix WIN32 preprocessor defines
8736 * mpw-make.sed: Add @DASH_C_FLAG@ and @SEGMENT_FLAG({Default})@
8737 to editing of default makefile rule.
8741 * alloca-norm.h: Include <malloc.h> if _WIN32.
8742 * argv.c: Include non-prototyped decls for malloc and string
8743 functions if ! _WIN32 or if __GNUC__.
8747 * config.h-vms: New file.
8748 * makefile.vms: Use it.
8752 * getopt.c (_getopt_internal): If argc is 0, just return (before
8753 we reference *argv and segfault).
8757 * Makefile.in (distclean): Add multilib.out.
8761 * alloca-norm.h: Change #ifdef sparc to #if defined (sparc) &&
8768 * vmsbuild.com (REQUIRD_OFILES): Add choose-temp.o and xstrdup.o.
8772 * vmsbuild.com: Changes to handle DEFFUNC(on_exit).
8773 (do_ofiles): Allow nonexistent source file in pass 3.
8774 (chk_deffunc): New routine.
8778 * pexecute.c (PEXECUTE_VERBOSE): Define.
8779 (MPW pexecute): Check flags & PEXECUTE_VERBOSE instead of verbose_flag.
8783 * Makefile.in (docdir): Removed.
8787 * Makefile.in (oldincludedir): Removed.
8791 * Makefile.in (datadir): Set to $(prefix)/share.
8795 * cplus-dem.c (demangle_arm_pt): Reindent. Avoid endless loop by
8796 checking for errors from do_type.
8800 * makefile.vms: New file.
8801 * xmalloc.c: If VMS, include <stdlib.h> and <unixlib.h> rather
8802 than declaring malloc, realloc, and sbrk.
8806 * pexecute.c: New file.
8810 * xmalloc.c: Declare sbrk.
8814 * alloca-norm.h: Add SPARCworks cc compatible __builtin_alloca
8819 * xstrerror.c: Include <stdio.h>.
8823 * Makefile.in (CFILES): Add atexit.c.
8827 * choose-temp.c: Include sys/types.h before sys/file.h for sco3.2v5.
8831 * choose-temp.c: Don't #include sys/file.h ifdef NO_SYS_FILE_H.
8833 * config/mt-vxworks5 (HDEFINES): Define NO_SYS_FILE_H.
8837 * Makefile.in (lneeded-list): If alloca.o is needed, so is xmalloc.o.
8838 Reverts Feb 8, 1995 change.
8842 * choose-temp.c: New file.
8843 * Makefile.in (CFILES): Add choose-temp.c.
8844 (REQUIRED_OFILES): Add choose-temp.o.
8848 * floatformat.c (floatformat_to_double): Don't bias exponent when
8849 handling zero's, denorms or NaNs.
8853 * floatformat.c (floatformat_to_double): Fix bugs with handling
8854 numbers with fractions < 32 bits.
8858 * config.table: Permit --enable-shared to specify a list of
8863 * cplus-dem.c (demangle_template): Fix for non-mangled pointer
8868 * configure.in: If srcdir is `.' and with_target_subdir is not
8869 `.', then set MULTISRCTOP before calling config-ml.in.
8873 * mpw.c (mpw_open): Add debugging output option.
8877 * cplus-dem.c (demangle_template): Fix for address-of-extern arguments.
8881 * mpw.c (mpwify_filename): Change 6 to 5 in
8882 strncmp (unixname, "/tmp/", 5).
8886 * cplus-dem.c (demangle_template): Initialize is_bool. Correctly
8887 handle 0 as a pointer value parameter.
8891 * Makefile.in (all): Depend upon required-list.
8892 (required-list): New target.
8893 (clean): Remove required-list.
8898 * config.table (i386-*-win32): Deleted.
8899 * config/mh-i386win32: Deleted.
8903 * cplus-dem.c (cplus_demangle_opname): Change opname parameter to
8905 (cplus_mangle_opname): Change return type and opname parameter to
8906 const char *. Don't cast return value.
8910 * mpw.c: Include Timer.h, in order to get m68k Microseconds trap
8915 * obstack.c: Update copyright to 1996.
8916 (_obstack_memory_used): Define new function. Called via
8917 obstack_memory_used macro.
8921 * xstrdup.c: New file.
8922 * Makefile.in (CFILES): Add xstrdup.c.
8923 (REQUIRED_OFILES): Add xstrdup.o.
8924 (xstrdup.o): New target.
8928 * atexit.c: New stub to provide atexit on systems that have
8929 on_exit, like SunOS 4.1.x systems.
8930 * functions.def (on_exit, atexit): Ditto.
8934 * mpw.c (mpw_abort): Remove decl.
8935 (mpw_access): Move debugging printf.
8939 * config.table: Consistently use ${host} rather than ${xhost} or
8941 * configure.in: Don't bother to set ${xhost} before calling
8946 * Makefile.in (.c.o): Use test instead of the left bracket, to
8947 avoid problems with some versions of make.
8951 * mpw-make.sed: Fix INCDIR edit to work with Nov 14 change.
8955 * config/mh-hpux: Remove. It was only used to define EXTRA_OFILES,
8956 which was set to just alloca.o, which is now automatically marked
8957 as needed by the autoconfiguration process.
8961 * config.table: Check ${with_cross_host} rather than comparing
8962 ${host} and ${target}.
8966 * configure.in: If with_target_subdir is empty, set xhost to
8967 ${host} rather than ${target} before calling config.table.
8971 * Makefile.in (MULTITOP): Deleted.
8972 (MULTISRCTOP, MULTIBUILDTOP): New.
8973 (FLAGS_TO_PASS): Delete INCDIR.
8974 (INCDIR): Add $(MULTISRCTOP).
8975 (install_to_libdir): Add $(MULTISUBDIR). Call $(MULTIDO).
8976 * configure.in: Delete call to cfg-ml-com.in. Call config-ml.in
8977 instead of cfg-ml-pos.in.
8978 (cross-compile check): Change to test for with_target_subdir.
8979 (EXTRA_LINKS): Delete.
8983 * mpw-make.sed: Add getpagesize.c.o to needed-list.
8984 * mpw.c [USE_MW_HEADERS]: Conditionalize compiling of
8985 functions that are supplied by Metrowerks libraries.
8986 (fstat): Clean up descriptor->pointer conversion code.
8987 (InstallConsole, etc): Empty definitions, for when linking
8992 * Makefile.in (FLAGS_TO_PASS): Also pass PICFLAGS.
8993 (.c.o): Stylistic change.
8997 * strtol.c, strtoul.c: Don't include <stdlib.h>. From
9002 * configure.in: Correct sed call.
9006 * configure.in: Clean up / simplify for native.
9008 * configure.in: Merge in stuff from ../xiberty/configure.in.
9009 * Makefile.in (CC): Add definition (so it can be overrridden
9014 * mpw-make.sed: Leave strerror.c.o in standard list of functions.
9015 * mpw.c (R_OK, ENOENT, EACCESS, ENOSYS): Remove.
9016 (link): Remove useless definition with error return.
9017 (last_microseconds, warn_if_spin_delay, record_for_spin_delay):
9018 Use UnsignedWide type for microsecond counts.
9022 * memcmp.c (memcmp): Argument types are const void *, not void
9025 * strncasecmp.c (strncasecmp): Include ansidecl.h/stdarg.h, not
9027 * strcasecmp.c (strcasecmp): Ditto.
9031 * Makefile.in (BISON): Remove macro.
9035 * Makefile.in (HFILES): Add default empty definition.
9036 * mpw-config.in (config.h): Only update if changed.
9037 * mpw-make.in: Remove.
9038 * mpw-make.sed: New file, edits Makefile.in into MPW makefile.
9039 * mpw.c: Remove semi-clone of strerror code.
9040 (sys_nerr, sys_errlist): Define here.
9041 (Microseconds): Only define as A-line trap if m68k Mac.
9045 * Makefile.in (maintainer-clean): New synonym for distclean.
9049 * config.table: For host, generalize rs6000-ibm-aix*
9050 to *-ibm-aix* so we also include powerpc.
9056 * xstrerror.c: New file.
9057 * Makefile.in, vmsbuild.com: Compile it.
9061 * config.table (i386-*-win32): New.
9065 * Makefile.in (MULTITOP): New variable.
9066 (MULTIDIRS, MULTISUBDIR, MULTIDO, MULTICLEAN): Likewise.
9067 (all): Add multilib support.
9068 (install_to_tooldir, *clean): Likewise.
9072 * makefile.dos (OBJS): Add hex.o. From DJ Delorie.
9076 * vmsbuild.com: create "new-lib.olb", build libiberty under that
9077 name, and then make it become "liberty.olb" when done, so that an
9078 incomplete build attempt never leaves behind something which looks
9079 like a complete library.
9083 * config/mh-i386pe: New file for PE hosts.
9084 * config.table: Understand PE hosts.
9088 * cplus-dem.c: Update from gcc.
9090 * argv.c, dummy.c: If __STDC__, #include "alloca-conf.h" after
9092 * alloca-norm.h: If __STDC__, declare alloca with its parameter.
9096 * mpw-make.in (ALL_CFLAGS): Define NEED_basename.
9097 * mpw.c: Only test DebugPI once whenever printing debug info.
9098 (mpwify_filename): If filename is /tmp/foo, change it into :_foo,
9099 also fix to not write on input filename buffer.
9100 (mpw_access): Use stat() instead of open(), works for directories
9105 * Makefile.in: Massage broken shells that require 'else true'.
9109 * alloca-norm.h: Declare alloca as type "PTR" to match functions.def.
9110 Declare __builtin_alloca in the sparc case, as argv.c did.
9111 * argv.c: Replace inline version of alloca-norm.h at start of file with
9112 a #include of alloca-conf.h. Precede it with an include of ansidecl.h
9113 because alloca-norm.h needs to declare alloca as "PTR".
9117 * win32.c: New file.
9121 * dummy.c: #include "alloca-conf.h".
9125 * Makefile.in (mostlyclean): Remove stamp-picdir.
9130 * config.table (frags): Use toplevel pic frags.
9132 * Makefile.in (PICFLAG): New macro.
9133 (all): Depend on stamp-picdir.
9134 (needed-list): Ditto.
9135 (.c.o): Also build pic object.
9136 (stamp-picdir): New rule.
9137 (mostlyclean): Remove pic.
9138 (clean): Remove stamp-picdir.
9142 * vmsbuild.com (config.h): Add `#define NEED_basename'.
9146 * clock.c, getopt.c, strtod.c, vsprintf.c: Change from using LGPL
9147 to libio-style copyright.
9148 * getpagesize.c: Remove FSF copyright.
9152 Added improved VMS support from Pat Rankin:
9156 * vmsbuild.com: new file.
9158 * getpagesize.c (getpagesize): implement for VMS;
9159 * strerror.c (strerror, strerrno, strtoerrno): add rudimentary
9160 support for EVMSERR.
9166 * floatformat.c (floatformat_arm_ext): Define.
9170 * basename.c, bcmp.c, getcwd.c, insque.c, rename.c, sigsetmask.c,
9171 strerror.c, strsignal.c: Remove FSF copyright.
9172 * sigsetmask.c: #include <sys/types.h> - seems to be needed by ISC.
9176 * bcopy.c, bzero.c, memcmp.c, memcpy.c, memset.c, strchr.c,
9177 strrchr.c, strstr.c, vfork.c: Remove FSF Copyright, because this
9178 might contaminate libstdc++ with the LGPL. (OK'd by RMS 11 Oct 94.)
9179 * strchr.c, strrchr.c: Add cast to suppress const warning.
9183 * cplus-dem.c: Use const instead of CONST. Don't include
9184 ansidecl.h directly.
9188 * cplus-dem.c: Don't include libiberty.h. Do declare xmalloc and
9190 (-DMAIN): Don't rely on an externally-defined version number;
9191 instead, require the version number to be defined as a
9192 preprocessor macro. Handle the RS/6000 leading dot. Define
9193 xmalloc, xrealloc and fatal. Don't strip a leading underscore
9194 if we couldn't demangle the word.
9198 (Old mpw.c change descriptions retained for informational value.)
9199 * mpw.c (warning_threshold): Default to .4 sec.
9200 (overflow_count, current_progress): New globals.
9201 (warn_if_spin_delay): Include current progress type,
9202 such as program name, in message.
9203 (mpw_start_progress): Set current_progress variable from arg.
9204 (mpw_end_progress): Report spin delays by power-of-two-size
9205 buckets instead of constant-size buckets.
9207 * mpw.c: Clean up formatting, types, returns, etc.
9209 (mpw_fread, mpw_fwrite): Define.
9210 (sleep): Define correctly.
9212 * mpw.c: New code to implement cursor spinning support.
9213 (umask): New function.
9214 (mpw_fopen, mpw_fseek, stat, fstat): Call PROGRESS.
9216 * mpw.c (mpw_basename, mpw_mixed_basename): New functions, find
9217 basenames for MPW and MPW/Unix filenames.
9218 (mpw_special_init): New function, calls Macsbug if desired.
9220 * mpw.c: Add GPL notice.
9221 (mpwify_filename): Add more transformations.
9222 (mpw_fopen): Call mpwify_filename on file names.
9224 (chdir, getcwd): Add simple definitions.
9226 * mpw.c: Random cleanups, remove unused code bits.
9227 Added copy of strerror.c for gcc's use.
9228 (stat, fstat, _stat): New versions based on Guido van Rossum code.
9230 * mpw.c (mpw_fseek): Make it work correctly when doing SEEK_CUR.
9232 * mpw.c (stat): Remove hack definition, get from sys/stat.h.
9233 (fork, vfork, etc): Print error messages if called.
9234 (getrusage, sbrk, environ, isatty, link, utime, mkdir, rmdir,
9235 rename, chown): Define.
9237 * mpw-config.in: New file, MPW version of configure.in.
9238 * mpw-make.in: New file, MPW version of Makefile.in.
9239 * mpw.c: New file, MPW compatibility routines.
9243 * basename.c: Include config.h before checking for NEED_basename.
9247 * functions.def: Add DEFFUNC for basename.
9249 * basename.c: Only define basename if NEED_basename.
9253 * config.table: Fix --enable-shared logic for native builds.
9257 * cplus-dem.c (demangle_template): Demangle bool literals properly.
9261 * strtol.c strtoul.c: Replace these with less buggy versions from
9262 NetBSD. (strtoul in particular couldn't handle base 16.)
9266 * config/mt-vxworks5 (HDEFINES): Define NO_SYS_PARAM_H.
9268 * clock.c: If NO_SYS_PARAM_H is defined, don't include
9270 * getcwd.c, getpagesize.c, getruntime.c: Likewise.
9274 * getruntime.c (get_run_time): Don't assume that CLOCKS_PER_SEC is
9275 a number; ANSI appears to permit any expression, including a
9278 * config.table (*-*-vxworks5*): Use mt-vxworks5 when configuring
9280 * config/mt-vxworks5: New file.
9284 * basename.c (basename): Change argument to be const.
9288 * Makefile.in (lneeded-list): Don't worry about xmalloc.
9292 * Makefile.in (distclean): Delete xhost-mkfrag.
9296 * Makefile.in (lneeded-list): If alloca.o is needed, so is xmalloc.o.
9301 * Makefile.in (REQUIRED_OFILES, CFILES): List it.
9302 (hex.o): Add dependencies.
9304 * cplus-dem.c (demangle_prefix): For GNU style constructor and
9305 destructor names, try demangling the remainder of the string.
9309 * vasprintf.c (int_vasprintf): New static function.
9310 (vasprintf): Use int_vasprintf. Removes assumption that va_list
9311 is assignment compatible.
9315 * Makefile.in (LIBCFLAGS): New variable.
9316 (FLAGS_TO_PASS): Pass it.
9321 * getopt.c, getopt1.c: Do compile these functions under Linux,
9322 since many native versions are based on glibc but are buggy.
9326 * vasprintf.c: Make 'format' arg be const, to avoid a mismatch
9327 with prototype in GNU libc. Support stdarg.h as well as varargs.h.
9331 * Makefile.in (REQUIRED_OFILES): Add vasprintf.o.
9332 * functions.def: Remove vasprintf.
9336 * xmalloc.c (first_break): New static variable.
9337 (xmalloc_set_program_name): Record sbrk (0) in first_break.
9338 (xmalloc): If memory allocation fails, try to report how much
9339 memory was allocated by the program up to this point.
9340 (xrealloc): Likewise.
9344 * Makefile.in (ERRORS_CC): New variable, defaulted to $(CC). Use it
9346 * config.table: Add host RISCiX Makefile frag.
9347 * config/mh-riscix: New file.
9351 * Makefile.in (FLAGS_TO_PASS): Define.
9352 ($(RULE1)): Use $(FLAGS_TO_PASS).
9356 * vasprintf.c: Include <string.h>.
9357 (vasprintf): Add casts to void for va_arg to avoid gcc warnings.
9358 * xatexit.c: Declare malloc.
9362 * cplus-dem.c (demangle_args): Fix a bug in previous patch (the
9367 * cplus-dem.c (demangle args): Handle ARM repeat encoding where
9368 the type index is greater than 9.
9372 * cplus-dem.c (demangle_qualified): accept optional '_' between
9373 qualified name. This is baecause the template name may end with
9374 numeric and can mixed up with the length of next qualified name.
9378 * config/mt-sunos4: Use our standard location for cross-includes
9379 and cross-libs when the target is also a "host" environment (ie no
9380 newlib; includes and such don't belong to us). This is specific
9381 to the Cygnus Support environment.
9385 * cplus-dem.c (demangle_template): demangle as xxx<'Q'> not
9390 * cplus-dem.c (main): flush stdout to make pipe work.
9394 * config.table (*-*-cxux7*): Recognize.
9395 * floatformat.c (floatformat_m88110_ext) [HARRIS_FLOAT_FORMAT]:
9396 Harris-specific float format.
9397 * config/mh-cxux7: New file.
9401 * cplus-dem.c (demangle_template): Make sure that the result of
9402 consume_count doesn't index beyond the end of the string.
9406 * cplus-dem.c (gnu_special): Handle vtable mangling of gcc-2.4.5 and
9407 earlier. Improve test for new vtable mangling. Change output back
9412 * obstack.c: Always compile this code, even if using the GNU
9413 library. Avoids problems with relatively recent binary
9418 * cplus-dem.c: Include libiberty.h.
9419 (xmalloc, xrealloc, free): Don't declare.
9420 (strstr): Don't declare parameters.
9421 (xmalloc, xrealloc): Don't define.
9422 (long_options): Add no-strip-underscores.
9423 (main): Call xmalloc_set_program_name. Pass n in short options to
9424 getopt_long. Handle option 'n' to not strip underscores.
9425 (usage): Mention -n and --no-strip-underscores.
9429 * cplus-dem.c (demangle_template): Separate consecutive >'s with a
9431 (gnu_special): Demangle template and qualified names in a vtable name.
9435 From gas-2.3 and binutils-2.4 net releases:
9439 * makefile.dos: [new] Makefile for dos/go32
9440 * configure.bat: update for latest files
9441 * msdos.c: remove some functions now in libc.a
9445 * cplus-dem.c (gnu_special): Recognize thunks, as well as
9446 the new naming style for vtables (when -fvtable-thunks).
9450 * Makefile.in (XTRAFLAGS): Don't define.
9451 (.c.o, dummy.o): Don't use XTRAFLAGS.
9452 ($(RULE1)): Don't pass XTRAFLAGS down in recursive call.
9456 * vasprintf.c: New file.
9457 * Makefile.in, functions.def: Add it.
9461 * cplus-dem.c (demangle_fund_type): Grok bool.
9465 * config.table: Add go32
9466 * config/mh-go32: New template.
9470 * config.table, config/mt-sunos4: config for when sun4 is cross target.
9474 * getopt.c [not __GNU_LIBRARY__] [__GCC__] [not __STDC__]:
9475 Declare strlen to return int. Don't include stddef.h.
9479 * getopt.c: Delete use of IN_GCC to control whether
9480 stddef.h or gstddef.h is included.
9484 * cplus-dem.c (demangle_signature): Fix a bug in template function
9489 * cplus-dem.c (demangle_signature): Fix template function with arm
9490 style argument type number, Tn.
9494 * cplus-dem.c (optable): Add new[] and delete[].
9498 * argv.c (buildargv): Don't produce empty argument just because
9499 there is trailing whitespace.
9503 * cplus-dem.c (demangle_template): fix 'Q' qualified name bug.
9504 Handle 'p' same as 'P'.
9505 * cplus-dem.c (do_type): Handle 'p' same as 'P'.
9509 * floatformat.c (get_field, put_field): Fix off by one error in
9514 * floatformat.c (floatformat_from_double): Pass unsigned char *,
9515 not char *, to put_field.
9519 * memmove.c: Re-wrote; placed in public domain.
9523 * cplus-dem.c (demangle_prefix): If ARM demangling, don't treat
9524 __Q* as a constructor.
9528 * ieee-float.c: Removed; no longer used.
9529 * Makefile.in: Changed accordingly.
9533 * floatformat.c (get_field): Removed unused local variable i.
9534 (put_field): Removed unused local variable i.
9538 * floatformat.c: New file, intended to replace ieee-float.c.
9539 * Makefile.in: Change accordingly.
9543 * getopt.c: Remove #ifdef GETOPT_COMPAT and #if 0 code.
9544 (_getopt_initialize): New function, broken out of _getopt_internal.
9546 If long_only and the ARGV-element has the form "-f", where f is
9547 a valid short option, don't consider it an abbreviated form of
9548 a long option that starts with f. Otherwise there would be no
9549 way to give the -f short option.
9553 * getopt.c [not __GNU_LIBRARY__] [__GNUC__] [not IN_GCC]:
9554 Test just __STDC__, not emacs.
9558 * getopt.c [not __GNU_LIBRARY__] [__GNUC__] [not IN_GCC]
9559 [emacs] [not __STDC__]: Don't include stddef.h. Don't declare strlen.
9563 * getopt.c (_NO_PROTO): Define before config.h is included.
9567 * getopt.c, getopt1.c [emacs || CONFIG_BROKETS]: Include
9568 <config.h> only under these, else "config.h".
9572 * getopt.c, getopt1.c [HAVE_CONFIG_H]: Include
9573 <config.h> instead of "config.h".
9577 * concat.c: Check ANSI_PROTOTYPES rather than __STDC__ to decide
9578 whether to use prototypes or not.
9579 * strerror.c (const): Never undefine; let ansidecl.h handle it.
9580 * strsignal.c (const): Likewise.
9584 * xatexit.c (_xexit_cleanup): Declare as extern; don't initialize.
9585 Merging common and initialized variables need not be supported by
9587 (xatexit): Initialize _xexit_cleanup if not already set.
9588 * xexit.c: Comment fix.
9592 * xmalloc.c: Don't declare xexit; it's declared in libiberty.h.
9593 (xrealloc): If oldmem is NULL, allocate with malloc, rather than
9594 assuming that realloc works correctly.
9598 * concat.c, ieee-float.c: Replace inclusion of <string.h>
9599 with explicit function declarations, as recommended by Ian Taylor.
9603 * xmalloc.c (xmalloc, xrealloc): Use PTR and size_t throughout.
9604 (malloc, realloc): Declare.
9608 * argv.c, basename.c: Include ansidecl.h and libiberty.h.
9609 * concat.c, fdmatch.c, getruntime.c, spaces.c: Likewise.
9610 * strerror.c, strsignal.c, xatexit.c, xexit.c: Likewise.
9611 * xmalloc.c: Likewise.
9612 * concat.c: Don't declare xmalloc. If __STDC__, use <stdarg.h>
9613 macros, not <varargs.h> macros.
9614 * spaces.c (spaces): Make return type const. Don't crash if
9615 malloc returns NULL.
9616 * strerror.c (struct error_info): Make name and msg fields const.
9617 (error_names): Make const.
9618 (strerrno): Make const.
9619 (strtoerrno): Make argument const.
9620 * strsignal.c (struct signal_info): Make name and msg fields
9622 (signal_names, sys_siglist): Make const.
9623 (strsignal, strsigno): Make const.
9624 (strtosigno): Make argument const.
9625 * xatexit.c: Declare parameter types.
9626 * xmalloc.c (name): Make const.
9627 (xmalloc_set_program_name): Make argument const.
9628 * Makefile.in (INCDIR): Define.
9629 (.c.o): Use $(INCDIR).
9630 (dummy.o): Likewise.
9631 (argv.o, basename.o): New targets; depend on libiberty.h.
9632 (concat.o, fdmatch.o, getruntime.o, spaces.o): Likewise.
9633 (strerror.o, strsignal.o, xatexit.o, xexit.o): Likewise.
9634 (xmalloc.o): Likewise.
9635 (cplus-dem.o): New target; depend on demangle.h.
9636 (getopt.o, getopt1.o): New targets; depend on getopt.h.
9637 (ieee-float.o): New target; depend on ieee-float.h.
9638 (obstack.o): New target; depend on obstack.h.
9642 Handle obstack_chunk_alloc returning NULL. This allows
9643 obstacks to be used by libraries, without forcing them
9644 to call exit or longjmp.
9645 * obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
9646 If CALL_CHUNKFUN returns NULL, set alloc_failed, else clear it.
9647 (_obstack_begin, _obstack_begin_1): Return 1 if successful, 0 if not.
9651 * concat.c, ieee-float.c: Include <string.h>.
9655 * xmalloc.c (xmalloc_set_program_name): New function.
9656 (xmalloc, xrealloc): Include the name in the error message, if set.
9658 * Replace atexit.c with xatexit.c.
9659 * Makefile.in (CFILES), functions.def: Change references.
9663 * getruntime.c (get_run_time): Use getrusage or times if
9664 HAVE_GETRUSAGE or HAVE_TIMES are defined.
9668 * atexit.c: New file.
9669 * Makefile.in (CFILES), functions.def: Add it.
9670 * xexit.c: New file.
9671 * Makefile.in (CFILES, REQUIRED_OFILES): Add it.
9672 * xmalloc.c (xmalloc, xrealloc): Call xexit instead of exit.
9673 Change request for 0 bytes into request for 1 byte.
9677 * xmalloc.c (xmalloc, xrealloc): Print size using %lu, and cast to
9678 unsigned long, to avoid warnings.
9682 * dummy.c: Don't include time.h ever; always define clock_t as
9683 "unsigned long". Until gcc/fixincludes ensures that clock_t
9684 exists, __STDC__ isn't a sufficient test. And if clock() doesn't
9685 exist, clock_t probably doesn't either.
9689 * clock.c, getruntime.c: New files.
9690 * Makefile.in: Add to file lists.
9691 * functions.def (clock): Add to list.
9692 * dummy.c (time.h): Add if __STDC__.
9693 (clock_t): #define as "unsigned long" if not __STDC__.
9702 * Makefile.in (errors): Use CFLAGS as well as LDFLAGS when
9707 * cplus-dem.c (demangle_arm_pt): New function. Common code
9708 for ARM template demangling.
9709 * cplus-dem.c (demangle_class_name): Use demangle_arm_pt.
9710 * cplus-dem.c (demangle_prefix): Likewise.
9714 * cplus-dem.c (cplus_demangle_opname): Add CONST to please gcc.
9719 * strerror.c, strsignal.c: As a small space optimization, don't
9720 include messages when they aren't actually used.
9722 Merge changes from takefive.co.at!joe (Josef Leherbauer)
9723 * cplus-dem.c (demangle_prefix, demangle_function_name,
9724 cplus_demangle_opname): Fixes for systems where cplus_marker
9725 is something other than '$'.
9729 * waitpid.c: Simple-minded approcimation to waitpid
9731 * functions.def, Makefile.in: Update accordingly,
9735 * cplus-dem.c(demangle_template): fix bug template instantiation
9736 with value of user defined type.
9740 * cplus-dem.c(cplus_demangle_opname): add the subject new function
9741 to support unified search of operator in class.
9746 * strtoul.c (strtoul): use "(digit = *s) != '\0'" not just
9747 "digit = *s" as condition in while loop.
9751 * Makefile.in: pass SHELL to recursive make
9755 * vfprintf.c, vprintf.c, vsprintf.c: Make format arg
9756 be (const char*), for ANSI (and gcc w/fixproto) consistency.
9760 * config.table: Make *-*-hiux* use mh-hpux.
9764 * config.table: Add * to end of all OS names.
9768 * Makefile.in (lneeded-list): ensure that object file names are
9769 not duplicated, as multiple instances of the same object file in
9770 a library causes problems on some machines
9774 * strcasecmp.c, strncasecmp.c: Change u_char to unsigned char.
9778 * strncasecmp.c: new file, implements strncasecmp
9779 * strcasecmp.c: new file, implement strcasecmp
9781 * Makefile.in (CFILES): list these two new source files
9783 * functions.def: add strcasecmp and strncasecmp entries
9787 * strtoul.c (strtoul), strtol.c (strtol): Handle overflow
9788 according to ANSI C.
9792 * cplus-dem.c: add support of ARM global constructor/destructor,
9793 and 'G' for passing record or union in parameter.
9797 * Makefile.in: Fix comment to clarify that stuff in REQUIRED_OFILES
9798 should not be in functions.def.
9802 * functions.def: Removed xmalloc. Stuff in REQUIRED_OFILES should
9803 not be in functions.def.
9807 * cplus-dem.c: change globl constructor/destructor to proper name
9811 * cplus-dem.c: fix bug in constructor/destructor
9815 * cplus-dem.c: support both old and new _vt$... vtbl mangled names
9819 * cplus-dem.c: Fix demangle_template prototype
9823 * cplus-dem.c: fix template demangling
9824 * cplus-dem.c: fix const type demangling
9825 * cplus-dem.c: fix constructor/destructor, virtual table,
9826 qualifier, global constructor/destructor demangling
9830 * strsignal.c, strerror.c: Use fully-bracketed initializer to
9831 keep gcc -Wall happy.
9835 * cplus-dem.c (do_type): Add CONSTS to make gcc happy with last
9840 Patch from Paul Flinders:
9841 * cplus-dem.c (do_type): Deal with arrays.
9845 * cplus-dem.c (demangle_qualified: Deal with GNU format for more
9850 * Makefile.in (dummy.o): Redirect to /dev/null to avoid "variable
9851 not initialized" warnings under HP/UX
9855 * strerror.c: Move include of stdio.h after sys_errlist #define.
9856 Also remove NULL definition (stdio.h always defines NULL, so it
9857 never did anything but clutter up the code).
9861 * Makefile.in, functions.def: handle xmalloc.c
9863 * xmalloc.c: provide xmalloc and xrealloc functions
9867 * cplus-dem.c: Fix a comment.
9871 * getopt1.c: Declare const the way getopt.c does.
9875 * obstack.c, alloca.c: Update from FSF.
9876 * getopt.c, getopt1.c: Update to current FSF version, which
9881 * Makefile.in (demangle): Add the target with a message saying
9882 where demangle went.
9886 * Makefile.in: Remove obsolete `demangle' target.
9891 avoid infinite loop on vtbl symbols with disambiguating "junk"
9896 * strsignal.c: work around some systems losing definitions of
9899 * config/mh-lynxos: this system has a losing definition of
9902 * config.table: use mh-lynxos for *-*-lynxos
9906 * config.table: Add support for HPPA BSD hosts.
9908 * config/mh-hpbsd: New file.
9912 * Makefile.in (TAGS): make work when srcdir != objdir.
9916 * cplus-dem.c (main): Add long options, including --help and
9918 (usage): New function from code in main.
9922 * config.table: New shell scipt, sourced by both ./configure,in
9923 and ../xiberty/configure.in, to avoid maintainance lossages.
9924 * configure.in and ../xiberty/configure.in: Use config.table.
9926 * configure.in: Don't use mh-aix for AIX 3.2, only for 3.1.
9927 * configure.in: Map *-*-irix* (except irix4) to mh-sysv.
9928 * ../xiberty/configure.in: Update from ./configure.in.
9930 Tue Jun 15 17:05:31 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
9932 * Makefile.in: remove parentdir support
9936 * cplus-dem.c (xrealloc): Match definition with prototype.
9940 * cplus-dem.c (demangle_prefix): Demangle cfront
9941 local variables as an extension to ARM demangling.
9945 * ieee-float.c: Don't require pointers to double to be aligned.
9950 * cplus-dem.c (consume_count): Simplify.
9951 * cplus-dem.c (arm_pt, demangle_class_name): New functions.
9952 * cplus-dem.c (various): Calls to arm_pt, demangle_class_name.
9954 * cplus-dem.c (xmalloc, xrealloc, strstr): Make extern decls into
9956 * cplus-dem.c (free): Add prototype.
9957 * cplus-dem.c (optable): Fully bracketize initializer.
9961 * cplus-dem.c: Whether initial underscores are stripped
9962 depends on the external variable prepends_underscore
9963 (which is generated by the binutils Makefile).
9967 * cplus-dem.c (mop_up, arm_special): Remove some unused variables.
9971 * cplus-dem.c (consume_count): Return zero if arg does not
9972 start with digit, and don't consume any input.
9976 * Makefile.in (demangle): Use ${srcdir} not $^.
9978 * strtod.c: New file, needed at least for BSD 4.3.
9982 * strsignal.c (sys_siglist): For ANSI compilations, type is
9983 "const char *const". Also remove conditionalization on __STDC__
9984 since const is defined away for non-ANSI.
9988 * configure.in: Recognize *-*-hpux.
9989 * config/mh-hpux: New file.
9993 * tmpnam.c: Added ANSI tmpnam() function.
9994 * functions.def, Makefile.in: Update accordingly.
9998 * cplus-dem.c (demangle_function_name): Get the demangling of
10001 Fri Apr 16 23:48:24 1993 Jim Kingdon (kingdon at calvin)
10003 * cplus-dem.c: Declare strstr return type.
10007 * strsignal.c: Add some AIX signals.
10011 * Makefile.in (MAKEOVERRIDES): Define to be empty.
10013 Wed Mar 24 01:59:25 1993 david d `zoo' zuhn (zoo at poseidon.cygnus.com)
10015 * Makefile.in: add installcheck & dvi targets
10019 * ieee-float.c: New file, moved from ../gdb (since it is
10020 needed by ../opcode/m68k-dis.c).
10024 * cplus-dem.c: Replace all references to cfront with ARM.
10028 * cplus-dem.c: Fix main program (when compiled with -DMAIN)
10029 to be more useful as a filter.
10033 * Makefile.in (install_to_libdir, install_to_tooldir): Go into the
10034 destination directory before running $(RANLIB), in case that
10035 program tries to create a file in the current directory as part of
10040 * strsignal.c (sys_siglist): Remove yet another *%^&%&$# "const"
10041 because BSD 4.4 lacks one. Isn't this fun?
10045 * cplus-dem.c (demangle_signature): Set func_done after
10046 demangling a template.
10047 * cplus-dem.c (demangle_template): Fix several small bugs
10048 in demangling GNU style templates.
10049 * cplus-dem.c (demangle_prefix): Fix for templates in GNU
10050 style constructors.
10051 * cplus-dem.c (gnu_special): Fix for templates in GNU style
10052 static data members.
10056 * cplus-dem.c (demangle_signature): Modify to include type
10057 modifiers like static and const in remembered types.
10061 * cplus-dem.c (demangled_qualified): Add new parameter that tells
10062 whether to prepend or append the qualifiers.
10063 * cplus-dem.c (string_prepends): Used now, remove #if 0.
10064 * cplus-dem.c (demangle_signature): Call demangle_qualified
10066 * cplus-dem.c (gnu_special): Recognize static data members that
10067 use qualified names.
10068 * cplus-dem.c (demangle_qualified): Accumulate qualifiers in a
10069 temporary buffer and the prepend or append them to the result,
10070 as specified by the new "append" flag.
10071 * cplus-dem.c (do_type): Call demangled_qualified with
10076 * strsignal.c (signal_table): Now const.
10077 (init_signal_tables): Variable eip now points to const.
10079 * strerror.c (error_table): Now const.
10080 (init_error_tables): Variable eip now points to const.
10084 * memchr.c (memchr): New (ANSI standard) function.
10085 * Makefile.in, functions.def: Added memchr.
10086 * Makefile.in (AR_FLAGS): Use rc instad of non-standard cq.
10088 Wed Dec 2 22:49:10 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
10090 * getopt.c: remove use of USG around <alloca.h>, which never meant
10093 * config/mh-{aix,apollo68,ncr3000,sysv,sysv4}: removed definitions
10098 * cplus-dem.c (demangle_fund_type): Recognize `w', a wide character;
10099 it's now a type according to the ANSI X3J16 working paper; output
10101 (demangle_template): Accept `w' as an integral type.
10102 (xmalloc, xrealloc): Use `char *', not `PTR'. Cast calls to their
10103 counterparts malloc and realloc to `char *'.
10104 (main): Exit with a 0 status.
10105 * Makefile.in (demangle): Don't expect the user to define
10106 DEMANGLE, instead force to be cplus-dem.c. Look in $(srcdir)/../include
10107 for demangle.h. Pass it any HDEFINES or XTRAFLAGS.
10111 * Makefile.in (AR_FLAGS): Avoid verbosity.
10112 * config/mh-sysv4: Remove AR_FLAGS override, use INSTALL=cp,
10113 replace USGr4 with HAVE_SYSCONF.
10114 * config/mh-solaris: Remove; mh-sysv4 works now.
10115 * getpagesize.c: Replace USGr4 with HAVE_SYSCONF.
10116 * configure.in: Simplify host matching table, remove separate
10117 solaris config file.
10121 * configure.in (i[34]86-*-solaris2*): Add, use mh-sysv4.
10125 * cplus-dem.c (xmalloc, xrealloc): Add decls.
10126 (remember_type): Don't cast xmalloc.
10127 (string_need): Likewise; don't cast xrealloc either.
10131 * Makefile.in, functions.defs, rename.c: added simple
10132 implementation of rename, since some binutils programs use it.
10136 * strsignal.c: Add appropriate 'const' to sys_siglist
10137 extern declaration (if __STDC__). (Needed for Linux.)
10138 * strsignal.c (strsignal): Add cast to remove const-ness.
10142 * Makefile.in (needed.awk, needed2.awk): Remove erroneous \'s
10143 before "'s, diagnosed by BSD 4.4 awk.
10147 * Makefile.in: create config.h and needed-list through $(CONFIG_H)
10148 and $(NEEDED_LIST), to give some hooks for xiberty.
10150 Thu Oct 1 23:31:42 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
10152 * configure.in: use cpu-vendor-triple instead of nested cases
10156 * Makefile.in, argv.c, basename.c, bcmp.c, bcopy.c, bzero.c,
10157 concat.c, cplus-dem.c, fdmatch.c, getcwd.c, getopt.c, getopt1.c,
10158 getpagesize.c, insque.c, memcmp.c, memcpy.c, memmove.c, memset.c,
10159 obstack.c, sigsetmask.c, spaces.c, strchr.c, strerror.c,
10160 strrchr.c, strsignal.c, strstr.c, vfork.c, vsprintf.c:
10161 Convert from using GPL to LGPL.
10165 * Makefile.in (errors): Leave dummy.o and dummy around so that
10166 we can see how the needed list was generated (it's sometimes wrong).
10167 (mostlyclean): Remove them.
10171 * getcwd.c: supply a default if MAXPATHLEN is not defined.
10173 * config/mh-irix4: set EXTRA_OFILES to alloca.o, from WRS.
10177 * Makefile.in: Use XTRAFLAGS when compiling, so that xiberty works
10178 when cross-compiling.
10182 * cplus-dem.c: (demangle_prefix): reduction in strength of strstr
10183 as a time optimization.
10185 * cplus-dem.c (cplus_demangle): remove strpbrk test. Appears to
10186 be more expensive than simply demangling.
10188 * cplus-dem.c (cplus_match): new function.
10192 * cplus-dem.c: #include <stdio.h>, to define NULL.
10193 Define current_demangling_style.
10197 * cplus-dem.c: New file, moved from ../gdb.
10198 * cplus-dem.c (set_cplus_marker_for_demangling): New exported
10199 function, to avoid compiling in target-dependency for CPLUS_MARKER.
10200 * cplus-dem.c (cplus_demangle): Allow demangling style option
10201 to be passed as a parameter, but using the global variable
10202 current_demangling_style as a default.
10203 * Makefile.in: Update for cplus-dem.c
10207 * obstack.c: Merge in comment changes from FSF version. Now
10208 matches the FSF version exactly.
10212 * obstack.c (CALL_FREEFUN): Can't use ?: with void values (at
10213 least on losing DECstations!); use if-then-else instead.
10217 * Makefile.in: always create installation directories.
10219 Mon Aug 10 17:33:40 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
10221 * Makefile.in: clean up definition of CFILES, more comments
10225 * getopt.c (my_index): Make first arg const to match strchr,
10226 which it sometimes is remapped to.
10230 * obstack.c (DEFAULT_ALIGNMENT): Update to match FSF version.
10231 * obstack.c (_obstack_begin): Initialize use_extra_arg.
10232 * obstack.c (_obstack_begin_1): New, from FSF version.
10236 * obstack.c (CALL_CHECKFUN, CALL_FREEFUN): Use use_extra_arg and
10238 * obstack.c (_obstack_begin): Remove area_id and flags arguments
10239 (previously added for mmalloc support, interface has changed).
10240 Also convert flags usage to use use_extra_arg and maybe_empty_object.
10244 * argv.c: Move expandargv inline and eliminate static variables.
10245 Rewrite to always allocate in powers of two. Fix to return an
10246 argv with a single null string arg if passed a null string.
10250 * random.c, sigsetmask.c, strerror.c, strsignal.c: Remove
10251 "(void)" casts from function calls where the return value is
10252 ignored, in accordance with GNU coding standards.
10254 Mon Jun 29 10:54:19 1992 Fred Fish (fnf at cygnus.com)
10256 * bcopy.c, strerror.c, strsignal.c: Lint.
10260 * getopt.c: merge changes from make.
10262 Thu Jun 25 04:43:22 1992 John Gilmore (gnu at cygnus.com)
10264 * alloca.c: Incorporate fixes from gdb/alloca.c.
10265 FIXME: Eventually move gdb's alloca configuration files here,
10266 and remove gdb/alloca.c and its Makefile.in support.
10270 * dummy.c: Define NOTHING to /*nothing*/, change return type
10271 of main to int and return zero.
10272 * functions.def: Supply NOTHING as the fourth arg to macros
10273 that don't have an explicit arg, to satisfy picky preprocessors.
10277 * Makefile.in: Clean up *clean rules, as per standards.texi.
10281 * getopt.c, getopt1.c: merged largely gratuitous, mostly
10282 whitespace diffs from other prep distributions.
10286 * config/mh-ncr3000 (INSTALL): Don't use /usr/ucb/install,
10287 it is broken on ncr 3000's.
10289 Mon Jun 15 01:03:26 1992 John Gilmore (gnu at cygnus.com)
10291 * sigsetmask.c: Rewrite. Old one was very confused about its
10292 arguments and result. New one can't do much, but at least knows
10293 what it can't do, and it's good enough for GDB's use.
10295 Sun Jun 14 15:17:40 1992 Stu Grossman (grossman at cygnus.com)
10297 * functions.def: Use proper prototype for strtoul.
10299 Fri Jun 12 19:22:40 1992 John Gilmore (gnu at cygnus.com)
10301 * Makefile.in: Add random.c.
10302 * config/mh-*: Use "true" rather than "echo >/dev/null" for ranlib.
10303 * configure.in: update solaris2 config.
10307 * random.c: Add for random() and srandom().
10308 * functions.def: Add random
10312 * config/{mh-ncr3000, mh-sysv4}: Add definition for INSTALL
10313 using /usr/ucb/install.
10317 * strerror.c: Kludge to guard against a conflict with
10318 possible declaration of sys_errlist in errno.h.
10320 Sun May 31 15:07:47 1992 Mark Eichin (eichin at cygnus.com)
10322 * configure.in, config/mh-solaris: add solaris2 config support.
10326 * sigsetmask.c: #ifdef out sigsetmask if SIG_SETMASK
10327 is not defined (should be defined in signal.h, says Posix.).
10331 * getopt.c: merged changes from make-3.62.11.
10335 * getopt.c: merged changes from bison-1.18.
10339 * Makefile.in: Don't have $(EXTRA_OFILES) depend on config.h,
10340 since that introduces a circular dependency.
10341 ($(EXTRA_OFILES) are used to build config.h.)
10343 * strtoul.c: Fixes to handle non-decimal bases better.
10347 * config/mh-ncr3000: Replace MINUS_G with CFLAGS.
10348 * Makefile.dos: Finish MINUS_G eradication.
10349 * Makefile.in (CFILES): Add strsignal.c.
10350 * Makefile.in (REQUIRED_OFILES): Add strerror.o strsignal.o
10351 * Makefile.in (needed-list): Split creation of errors file to
10352 separate make target.
10353 * Makefile.in (config.h, needed2.awk, errors): New targets.
10354 * Makefile.in (clean): Split to multiple lines, add needed2.awk
10356 * dummy.c (DEFFUNC, DEFVAR): Add defines and undefs.
10357 * functions.def (strerror): Remove from optional list.
10358 * functions.def (sys_nerr, sys_errlist, sys_siglist): DEFVAR's
10359 * functions.def (strerror, psignal): DEFFUNC's
10360 * strerror.c: Rewrite from scratch to use sys_errlist only if
10361 available, add errno_max(), add strerrno(), add strtoerrno(),
10363 * strsignal.c: New file, signal equivalent to strerror.c.
10364 Uses sys_siglist if available, defines signo_max(), strsignal(),
10365 strsigno(), strtosigno(), psignal(), and test driver.
10369 * Makefile.in: do not print recursion line.
10371 * Makefile.in: allow CFLAGS to be passed in from command line.
10372 Removed MINUS_G. Default CFLAGS to -g.
10376 * config/mh-aix: New. EXTRA_OFILES lists copysign.o,
10377 so libg++ users don't have to be inconvenienced by a
10378 libc.a bug (libc.a needs copysign, but doesn't define it!).
10379 * configure.in: Use config/mh-aix.
10380 * strtoul.c: Handle '-' as required by ANSI.
10381 Clean up radix handling.
10382 * strstr.c: Fix buggy algorithm.
10383 * Makefile.in: Change so that ${EXTRA_OFILES} is
10384 appended to needed-list (which is used by libg++).
10388 * configure.in: Recognize new ncr3000 config.
10389 * config/mh-ncr3000: New config file.
10391 Wed Apr 1 23:31:43 1992 John Gilmore (gnu at cygnus.com)
10393 * argv.c, dummy.c: Lint.
10397 * config/mh-sysv4: New config file.
10398 * configure.in (host_makefile_frag): Set to config/mh-sysv4 for
10400 * getpagesize.c: For SVR4, use sysconf(_SC_PAGESIZE) to get
10403 Sun Mar 29 12:26:42 1992 John Gilmore (gnu at cygnus.com)
10409 * functions.def (alloca): Fix return type and args to avoid
10410 type clash with gcc's builtin alloca.
10414 * configure.in, config/mh-irix4: irix4 support.
10416 * Makefile.in, functions.def, alloca.c: added alloca.
10418 Tue Mar 24 17:34:46 1992 Stu Grossman (grossman at cygnus.com)
10420 * obstack.c (CALL_FREEFUN): Make it compile on DECstations.
10424 * argv.c: Fix various external function definitions to be
10425 correct in an ANSI compilation environment.
10429 * obstack.c: Changes to support calling mmalloc functions,
10430 which take an additional argument over malloc functions.
10434 * added check target.
10438 * argv.c: #include alloca-conf.h (needed by AIX).
10442 * Makefile.in, configure.in: removed traces of namesubdir,
10443 -subdirs, $(subdir), $(unsubdir), some rcs triggers. Forced
10444 copyrights to '92, changed some from Cygnus to FSF.
10446 Sat Feb 22 01:09:21 1992 Stu Grossman (grossman at cygnus.com)
10448 * argv.c: Check in Fred's version which fixes problems with
10451 Fri Feb 7 21:46:08 1992 Stu Grossman (grossman at cygnus.com)
10453 * makefile.dos: Remove NUL to keep patch from failing.
10455 Thu Jan 30 22:48:41 1992 Stu Grossman (grossman at cygnus.com)
10457 * getopt.c (_getopt_internal): Fix usage of enum has_arg.
10459 Mon Jan 20 18:53:23 1992 Stu Grossman (grossman at cygnus.com)
10461 * getopt.c, getopt1.c, ../include/getopt.h: Get latest versions.
10463 Sat Jan 18 16:53:01 1992 Fred Fish (fnf at cygnus.com)
10465 * argv.c: New file to build and destroy standard argument
10466 vectors from a command string.
10468 * Makefile.in: Add argv.c and argv.o to appropriate macros.
10470 Fri Dec 20 12:12:57 1991 Fred Fish (fnf at cygnus.com)
10472 * configure.in: Change svr4 references to sysv4.
10474 * rindex.c: Declare return type of externally used function
10477 Thu Dec 19 18:35:03 1991 John Gilmore (gnu at cygnus.com)
10479 * Makefile.in: Remove "***" in normal output, since Make produces
10480 this on errors, and it's convenient to search for.
10482 Tue Dec 17 23:21:30 1991 Per Bothner (bothner at cygnus.com)
10484 * memcmp.c, memcpy.c, memmove.c, memset.c, strchr.c, strrchr.c:
10485 New ANSI functions. The old non-ANSI functions (such as bcopy)
10487 * bcopy.c: Fix to correctly handle overlapping regions.
10488 * index.c, rindex.c: Re-write in terms of strchr() and strrchr().
10489 * functions.def: Add the new functions.
10490 * functions.def: Add 4th parameter to DEF macro,
10491 an ansidecl.h-style prototype.
10492 * dummy.c: Use expanded DEF macro to create a dummy function
10493 call, with correct parameter types. (This avoids some
10494 complaints from gcc about predefined builtins.)
10496 Move the functionality of config/mh-default into Makefile.in.
10497 This avoid duplication, and simplifies things slightly.
10498 * Makefile.in: Tweak so we don't need config/mh-default.
10500 * configure.in: No longer need config/mh-default.
10501 * config/mh-default: Deleted.
10502 * config/mh-sysv: Remove lines copied from old mh-default.
10504 Tue Dec 17 05:46:46 1991 John Gilmore (gnu at cygnus.com)
10506 * fdmatch.c (fdmatch): Don't compare st_rdev, which is for
10507 'mknod' device numbers.
10509 Mon Dec 16 12:25:34 1991 Fred Fish (fnf at cygnus.com)
10511 * fdmatch.c, Makefile.in: Add new function that takes two
10512 open file descriptors and returns nonzero if they refer to
10513 the same file, zero otherwise. (used in gdb)
10515 Wed Dec 11 17:40:39 1991 Steve Chamberlain (sac at rtl.cygnus.com)
10517 * msdos.c: stub functions for dos.
10518 * makefile.dos, configdj.bat: new.
10519 * getopt.c: Don't include alloca-conf.h in a GO32 world.
10522 Tue Dec 10 04:14:49 1991 K. Richard Pixley (rich at rtl.cygnus.com)
10524 * Makefile.in: infodir belongs in datadir.
10526 Fri Dec 6 23:26:45 1991 K. Richard Pixley (rich at rtl.cygnus.com)
10528 * Makefile.in: remove spaces following hyphens because bsd make
10529 can't cope. added standards.text support. install using
10532 * configure.in: remove commontargets as it is no longer a
10535 Thu Dec 5 22:46:46 1991 K. Richard Pixley (rich at rtl.cygnus.com)
10537 * Makefile.in: idestdir and ddestdir go away. Added copyrights
10538 and shift gpl to v2. Added ChangeLog if it didn't exist. docdir
10539 and mandir now keyed off datadir by default.
10541 Fri Nov 22 19:15:29 1991 John Gilmore (gnu at cygnus.com)
10543 * Makefile.in: find-needed.awk does not fit in 14 chars.
10545 * Makefile.in: Suppress error checking when compiling the test
10546 program, because Ultrix make/sh aborts there due to a bug.
10548 Fri Nov 22 12:23:17 1991 Per Bothner (bothner at cygnus.com)
10550 * Makefile.in: Re-did how EXTRA_OFILES is used to be more useful.
10551 * README: Explained how the auto-configuration works,
10552 and how to add new files and/or configurations.
10554 Fri Nov 22 09:45:23 1991 John Gilmore (gnu at cygnus.com)
10556 * strtoul.c: Avoid defining ULONG_MAX if already defined;
10557 cast a const char * to char * for pedants.
10559 * getopt.c: Only define "const" after local include files get to,
10560 and only if they haven't defined it.
10562 Thu Nov 21 16:58:53 1991 John Gilmore (gnu at cygnus.com)
10564 * getcwd.c (remove getwd.c): GNU code should call getcwd(). We
10565 emulate it with getwd() if available. This avoids callers having
10566 to find a MAXPATHLEN or PATH_MAX value from somewhere.
10567 * Makefile.in, functions.def: getwd->getcwd.
10568 * configure.in: Use generic case for every system.
10569 * config/mh-{delta88,mach,rs6000,svr4}: Remove.
10570 * config/mh-sysv: Use default handling, just add -DUSG.
10572 Thu Nov 14 10:58:05 1991 Per Bothner (bothner at cygnus.com)
10574 * Makefile.in, config/mh-default: Re-do make magic
10575 so that for the default ("automatic") mode we only
10576 compile the files we actually need. Do this using
10577 a recursive make: The top-level generates the list
10578 of needed files (loosely, the ones missing in libc),
10579 and then passes that list to the recursive make.
10580 * config/mh-mach: Remove obsolete STRERROR-{C,O} macros.
10582 Tue Nov 12 19:10:57 1991 John Gilmore (gnu at cygnus.com)
10584 RS/6000 host support (grumble).
10586 * configure.in: Build alloca-conf.h file from alloca-norm.h
10587 (everything else) or alloca-botch.h (rs/6000).
10588 * Makefile.in: Include . on the include path.
10589 * getopt.c: Use alloca-conf.h.
10590 * alloca-norm.h: How to declare alloca on reasonable machines.
10591 * alloca-botch.h: How to declare alloca on braindead machines.
10593 Tue Nov 12 09:21:48 1991 Fred Fish (fnf at cygnus.com)
10595 * concat.c : New file, like concat() in gdb but can take a
10596 variable number of arguments rather than fixed at 3 args. For
10597 now, client applications must supply an xmalloc(), which is a
10598 front end function to malloc() that deals with out-of-memory
10601 * Makefile.in: Add concat.c and concat.o to appropriate macros.
10603 Sat Nov 9 13:29:59 1991 Fred Fish (fnf at cygnus.com)
10605 * config/mh-svr4: Add sigsetmask to list of required functions.
10607 Sun Nov 3 11:57:56 1991 Per Bothner (bothner at cygnus.com)
10609 * vsprintf.c: New file.
10610 * functions.def, Makefile.in: Add vsprintf.
10612 Sun Oct 27 16:31:22 1991 John Gilmore (gnu at cygnus.com)
10614 * configure.in, config/mh-rs6000: Add rs/6000 host support.
10615 * Makefile.in: Compile with debug info.
10617 Fri Oct 25 17:01:12 1991 Per Bothner (bothner at cygnus.com)
10619 * Makefile.in, configure.in, and new files: dummy.c, functions.def,
10620 config/mf-default: Added a default configuration mode,
10621 which includes into libiberty.a functions that are "missing" in libc.
10622 * strdup.c, vprintf.c, vfprintf.c: New files.
10624 Thu Oct 24 02:29:26 1991 Fred Fish (fnf at cygnus.com)
10626 * config/hmake-svr4: New file.
10628 * config/hmake-sysv: Add HOST_CFILES and HOST_OFILES.
10630 * basename.c, bcmp.c, bcopy.c, bzero.c, getpagesize.c getwd.c,
10631 index.c, insque.c, rindex.c, spaces.c, strstr.c, vfork.c: New
10632 files containing either portable C versions or emulations using
10633 native library calls.
10635 * strerror.c: Add copyright, internal documentation, etc.
10637 * strtol.c: Replace hardwired hex constants with some more
10638 portable macros. Remove illegal (according to gcc) cast.
10640 * strtoul.c: Replace hardwired hex constant with more portable
10643 * Makefile.in: Move TARGETLIB and CFLAGS where makefile fragments
10644 can override them. Add new source and object file names to CFILES
10645 and OFILES respectively.
10647 * configure.in: Add support for SVR4 makefile fragments.
10649 Tue Oct 22 19:00:23 1991 Steve Chamberlain (steve at cygnus.com)
10651 * Makefile.in: Move RANLIB, AR and AR_FLAGS to where they can be
10652 over-ridden by config/hmake-*
10653 * configure.in: added m88kcvs to sysv list
10655 Fri Oct 4 01:29:08 1991 John Gilmore (gnu at cygnus.com)
10657 * Makefile.in: Most hosts need strerror, but one or two don't,
10658 and they override these definitions in the host-dependent makefile
10660 * config/hmake-mach: The odd man out on strerror -- it's supplied.
10661 * strerror.c: New file.
10663 * strtol.c, strtoul.c: Add strtol to libiberty, since Mach lacks
10664 it and bfd uses it.
10665 * configure.in, Makefile.in, config/hmake-mach: Only configure
10666 strtol & strotoul in on Mach.
10668 Tue Sep 3 06:36:23 1991 John Gilmore (gnu at cygint.cygnus.com)
10670 * obstack.c: Merge with latest FSF version.
10674 version-control: never