+
+ PR lto/93966
+ * simple-object.c (handle_lto_debug_sections): Also copy
+ .note.gnu.property section.
+
+
+ * rust-demangle.h: Removed.
+
+ Import from gcc mainline:
+
+ * hashtab.c (htab_remove_elt): Make a parameter const.
+ (htab_remove_elt_with_hash): Likewise.
+
+
+ * argv.c (writeargv): Output empty args as "".
+
+
+ * cp-demangle.c (cplus_demangle_operators): Add the co_await
+ operator.
+ * testsuite/demangle-expected: Test co_await operator mangling.
+
+
+ * configure: Regenerate.
+
+
+ * testsuite/demangle-expected: Update expected demangling of
+ enable_if pattern.
+
+
+ Update copyright years.
+
+
+ * make-relative-prefix.c (split_directories):
+ Return early on empty 'name'
+
+
+ * cp-demangle.c (d_print_init): Remove const from 4th param.
+ (cplus_demangle_fill_name): Initialize d->d_counting.
+ (cplus_demangle_fill_extended_operator): Likewise.
+ (cplus_demangle_fill_ctor): Likewise.
+ (cplus_demangle_fill_dtor): Likewise.
+ (d_make_empty): Likewise.
+ (d_count_templates_scopes): Remobe const from 3rd param,
+ Return on dc->d_counting > 1,
+ Increment dc->d_counting.
+ * cp-demint.c (cplus_demangle_fill_component): Initialize d->d_counting.
+ (cplus_demangle_fill_builtin_type): Likewise.
+ (cplus_demangle_fill_operator): Likewise.
+
+
+ * cplus-dem.c (cplus_demangle): Use rust_demangle directly.
+ (rust_demangle): Remove.
+ * rust-demangle.c (is_prefixed_hash): Rename to is_legacy_prefixed_hash.
+ (parse_lower_hex_nibble): Rename to decode_lower_hex_nibble.
+ (parse_legacy_escape): Rename to decode_legacy_escape.
+ (rust_is_mangled): Remove.
+ (struct rust_demangler): Add.
+ (peek): Add.
+ (next): Add.
+ (struct rust_mangled_ident): Add.
+ (parse_ident): Add.
+ (rust_demangle_sym): Remove.
+ (print_str): Add.
+ (PRINT): Add.
+ (print_ident): Add.
+ (rust_demangle_callback): Add.
+ (struct str_buf): Add.
+ (str_buf_reserve): Add.
+ (str_buf_append): Add.
+ (str_buf_demangle_callback): Add.
+ (rust_demangle): Add.
+ * rust-demangle.h: Remove.
+
+
+ * testsuite/demangle-expected: Fix test.
+
+
+ * cp-demangle.c (d_expr_primary): Handle
+ nullptr demangling.
+ * testsuite/demangle-expected: Added test.
+
+
+ * cp-demangle.c (d_number): Avoid signed int overflow.
+
+
+ * cp-demangle.c (d_print_mod): Add a space before printing `complex`
+ and `imaginary`, as opposed to after.
+ * testsuite/demangle-expected: Adjust test.
+
+
+ * rust-demangle.c (looks_like_rust): Remove.
+ (rust_is_mangled): Don't check escapes.
+ (is_prefixed_hash): Allow 0-9a-f permutations.
+ (rust_demangle_sym): Don't bail on unknown escapes.
+ * testsuite/rust-demangle-expected: Update 'main::$99$' test.
+
+
+ * rust-demangle.c (unescape): Remove.
+ (parse_lower_hex_nibble): New function.
+ (parse_legacy_escape): New function.
+ (is_prefixed_hash): Use parse_lower_hex_nibble.
+ (looks_like_rust): Use parse_legacy_escape.
+ (rust_demangle_sym): Use parse_legacy_escape.
+ * testsuite/rust-demangle-expected: Add 'llv$u6d$' test.
+
+
+ PR lto/91478
+ * simple-object-elf.c (simple_object_elf_copy_lto_debug_sections):
+ First find a WEAK HIDDEN symbol in symbol table that will be
+ preserved. Later, use the symbol name for all removed symbols.
+
+
+ * Makefile.in: Add filedescriptor.c.
+ * filedescriptor.c: New file.
+ * lrealpath.c (is_valid_fd): Remove.
+
+
+ PR bootstrap/91352
+ * lrealpath.c (is_valid_fd): New function.
+
+
+ PR lto/91228
+ * simple-object-elf.c (simple_object_elf_copy_lto_debug_sections):
+ Find first '\0' starting from gnu_lto + 1.
+
+
+ * simple-object-elf.c (simple_object_elf_match): Check zero value shstrndx.
+ This fixes a Bug 90924.
+
+
+ * simple-object-elf.c (simple_object_elf_copy_lto_debug_sections):
+ Do not search for gnu_lto_v1, but search for first '\0'.
+
+
+ * cplus-dem.c: Include rust-demangle.h.
+ * rust-demangle.c: Include rust-demangle.h.
+ * rust-demangle.h: New file.
+
+
+ * cp-demangle.c: Don't define CP_DYNAMIC_ARRAYS if __STDC_NO_VLA__
+ is non-zero.
+
+
+ * d-demangle.c (dlang_parse_assocarray): Correctly handle error result.
+ * testsuite/d-demangle-expected: Add testcase.
+
+ * d-demangle.c (dlang_parse_tuple): Correctly handle error result.
+ * testsuite/d-demangle-expected: Add testcase.
+
+ * d-demangle.c (dlang_parse_structlit): Correctly handle error result.
+ * testsuite/d-demangle-expected: Add testcase.
+
+ * d-demangle.c (dlang_parse_arrayliteral): Correctly handle error result.
+ * testsuite/d-demangle-expected: Add testcase.
+
+ * d-demangle.c (dlang_parse_integer): Fix stack underflow.
+ * testsuite/d-demangle-expected: Add testcase.
+
+ * cp-demangle (d_print_comp_inner): Guard against a NULL 'typed_name'.
+ * testsuite/demangle-expected: Add testcase.
+
+ * cp-demangle.c (d_encoding): Guard against NULL return values from
+ d_right (dc).
+ * testsuite/demangle-expected: Add testcase.
+
+
+ * cp-demangle.c (d_expression_1): Don't peek ahead unless the current
+ char is valid.
+ * testsuite/demangle-expected: Add testcase.
+
+
+ PR 89394
+ * cp-demangle.c (cplus_demangle_fill_name): Reject negative
+ lengths.
+ (d_count_templates_scopes): Replace num_templates and num_scopes
+ parameters with a struct d_print_info pointer parameter. Adjust
+ body of the function accordingly. Add recursion counter and check
+ that the recursion limit is not reached.
+ (d_print_init): Pass dpi parameter to d_count_templates_scopes.
+ Reset recursion counter afterwards, unless the recursion limit was
+ reached.
+
+
+ * functions.texi: Regenerate.
+
+
+ * hashtab.c (htab_remove_elt_with_hash): Return if slot is NULL rather
+ than if *slot is HTAB_EMPTY_ENTRY.
+
+
+ * splay-tree.c (splay_tree_insert): Also release old KEY in case
+ of insertion of a key equal to an already present key.
+ (splay_tree_new_typed_alloc): Update comment.
+
+
+ PR lto/88422
+ * simple-object.c (O_BINARY): Define if not already defined.
+ (simple_object_copy_lto_debug_sections): Create file in binary
+ mode.
+
+
+ * splay-tree.c (splay_tree_remove): Delete the key if necessary.
+
+
+ * cp-demangle.c (cplus_demangle_builtin_types)
+ (cplus_demangle_type): Add name demangling for char8_t (Du).
+ * cp-demangle.h: Increase D_BUILTIN_TYPE_COUNT to accommodate the
+ new char8_t type.
+
+
+ PR other/16615
+
+ * cp-demangle.c: Mechanically replace "can not" with "cannot".
+ * floatformat.c: Likewise.
+ * strerror.c: Likewise.
+
+
+ Update copyright years.
+
+
+ Remove support for demangling GCC 2.x era mangling schemes.
+ * cplus-dem.c: Remove cplus_mangle_opname, cplus_demangle_opname,
+ internal_cplus_demangle, and all subroutines.
+ (libiberty_demanglers): Remove entries for ancient GNU (pre-3.0),
+ Lucid, ARM, HP, and EDG demangling styles.
+ (cplus_demangle): Remove 'work' variable. Don't call
+ internal_cplus_demangle.
+
+
+ PR 87681
+ PR 87675
+ PR 87636
+ PR 87350
+ PR 87335
+ * cp-demangle.h (struct d_info): Add recursion_level field.
+ * cp-demangle.c (d_function_type): Add recursion counter.
+ If the recursion limit is reached and the check is not disabled,
+ then return with a failure result.
+ (cplus_demangle_init_info): Initialise the recursion_level field.
+ (d_demangle_callback): If the recursion limit is enabled, check
+ for a mangled string that is so long that there is not enough
+ stack space for the local arrays.
+ * cplus-dem.c (struct work): Add recursion_level field.
+ (squangle_mop_up): Set the numb and numk fields to zero.
+ (work_stuff_copy_to_from): Handle the case where a btypevec or
+ ktypevec field is NULL.
+ (demangle_nested_args): Add recursion counter. If
+ the recursion limit is not disabled and reached, return with a
+ failure result.
+
+
+ Implement P0732R2, class types in non-type template parameters.
+ * cp-demangle.c (d_dump, d_make_comp, d_count_templates_scopes)
+ (d_print_comp_inner): Handle DEMANGLE_COMPONENT_TPARM_OBJ.
+ (d_special_name): Handle TA.
+ (d_expresion_1): Fix demangling of brace-enclosed initializer list.
+
+
+ PR bootstrap/82856
+ Merge from binutils-gdb:
+
+ * configure.ac: Remove AC_PREREQ.
+ * configure: Re-generate.
+ * config.in: Re-generate.
+
+
+ * configure.ac (checkfuncs): Add pipe2.
+ * config.in, configure: Rebuilt.
+ * pex-unix.c (pex_unix_exec_child): Comminicate errors from child
+ to parent with a pipe, when possible.
+
+
+ PR driver/87056
+ * pex-unix.c (pex_unix_exec_child): Duplicate bad_fn into local
+ scopes to avoid potential clobber.
+
+
+ * pex-unix.c (pex_child_error): Delete.
+ (pex_unix_exec_child): Commonize error paths to single message &
+ exit.
+
+
+ * cplus-dem.c (remember_Btype): Don't call memcpy with LEN==0.
+
+
+ PR lto/86548
+ * make-temp-file.c (TEMP_FILE): Remove leading 'cc'.
+ (make_temp_file): Call make_temp_file_with_prefix with
+ first argument set to NULL.
+ (make_temp_file_with_prefix): Support also prefix.
+
+
+ * simple-object-elf.c (ENOTSUP): If not defined by errno.h, redirect
+ to ENOSYS.
+
+
+ * simple-object.c (handle_lto_debug_sections): Add rename parameter.
+ (handle_lto_debug_sections_rename): New function.
+ (handle_lto_debug_sections_norename): New function.
+ (simple_object_copy_lto_debug_sections): Add rename parameter.
+
+
+ * splay-tree.c (splay_tree_compare_strings,
+ splay_tree_delete_pointers): New utility functions.
+
+
+ PR bootstrap/64914
+ * md5.c: Use strict alignment with UBSAN_BOOTSTRAP.
+
+
+ * argv.c (expandargv): Fix memory leak for copied argv.
+
+
+ PR lto/81968
+ * simple-object.c (handle_lto_debug_sections): Keep .comment
+ section.
+
+
+ * cp-demangle.c: Update URL for g++ V3 ABI.
+
+
+ * simple-object-xcoff.c (simple_object_xcoff_find_sections): Use
+ ulong_type to avoid warning about 32-bit shift.
+
+
+ PR lto/81968
+ * simple-object-common.h (struct simple_object_functions):
+ Change copy_lto_debug_sections callback signature.
+ * simple-object-elf.c (SHN_HIRESERVE, SHT_SYMTAB_SHNDX,
+ SHF_INFO_LINK): Add defines.
+ (simple_object_elf_copy_lto_debug_sections): Instead of
+ leaving not to be copied sections empty unnamed SHT_NULL
+ remove them from the target section headers and adjust section
+ reference everywhere. Handle SHN_XINDEX in the symbol table
+ processing properly.
+ * simple-object.c (handle_lto_debug_sections): Change
+ interface to return a modified string and handle renaming
+ of relocation sections.
+
+
+ * argv.c (expandargv): Correct check for dynamically
+ allocated argv.
+
+
+ Update copyright years.
+
+
+ PR lto/83452
+ * simple-object-elf.c (simple_object_elf_copy_lto_debug_section):
+ Do not use UNDEF locals for removed symbols but instead just
+ define them in the first prevailing section and with no name.
+ Use the same gnu_lto_v1 name for all removed globals we promote to
+ WEAK UNDEFs so hpux can use a stub to provide this symbol. Clear
+ sh_info and sh_link in removed sections.
+
+
+ PR lto/82757
+ * simple-object-elf.c (simple_object_elf_copy_lto_debug_sections):
+ Strip two leading _s from the __gnu_lto_* symbols.
+
+
+ PR lto/82687
+ PR lto/82575
+ * simple-object-elf.c (simple_object_elf_copy_lto_debug_sections):
+ Only make __gnu_lto symbols hidden.
+
+
+ PR lto/82575
+ * simple-object-elf.c (simple_object_elf_copy_lto_debug_sections):
+ Make discarded non-local symbols weak and hidden.
+
+
+ PR lto/82598
+ * simple-object.c (handle_lto_debug_sections): Copy over also
+ .note.GNU-stack section with unchanged name.
+ * simple-object-elf.c (SHF_EXECINSTR): Define.
+ (simple_object_elf_copy_lto_debug_section): Drop SHF_EXECINSTR bit
+ on .note.GNU-stack section.
+
+
+ PR demangler/82195
+ * cp-demangle.c (d_encoding): Strip return type when name is a
+ LOCAL_NAME.
+ (d_local_name): Strip return type of enclosing TYPED_NAME.
+ * testsuite/demangle-expected: Add and adjust tests.
+
+
+ PR demangler/82195
+ * cp-demangle.c (d_name): Revert addition of 'toplevel' parm.
+ (has_return_type): Recurse for DEMANGLE_COMPONENT_LOCAL_NAME.
+ (d_encoding): Revert d_name change. Use is_fnqual_component_type
+ to strip modifiers that do not belong.
+ (d_special_name, d_class_enum_type): Revert d_name call change.
+ (d_expresion_1): Commonize DEMANGLE_COMPONENT_UNARY building.
+ (d_local_name): Revert parsing of a function type.
+ (d_print_comp_inner): An inner LOCAL_NAME might contain a
+ TEMPLATE.
+ * testsuite/demangle-expected: Add & adjust tests
+
+
+ PR demangler/82195
+ * cp-demangle.c (d_name): Add 'toplevel' parm. Pass to ...
+ (d_local_name): ... here. Parse trailing function args on nested
+ local_name.
+ (d_encoding, d_special_name, d_class_enum_type): Adjust d_name calls.
+ * testsuite/demangle-expected: Add tests.
+
+
+ PR lto/81968
+ * simple-object-elf.c (simple_object_elf_copy_lto_debug_sections):
+ Iterate marking dependent sections necessary.
+
+
+ * cp-demangle.c (is_fnqual_component_type): Reimplement using
+ FNQUAL_COMPONENT_CASE.
+ (d_encoding): Hold bare_function_type in local var.
+ (d_local_name): Build name in both cases and build result once.
+ Collapse switch-if to single conditional.
+ (d_local_name):
+
+ * testsuite/demangle-expected: Realign blank lines with tests.
+
+
+ * dwarfnames.c (DW_CFA_DUP): New define.
+
+
+ * simple-object-elf.c (simple_object_elf_copy_lto_debug_sections):
+ Remove duplicite declaration.
+
+
+ PR lto/81968
+ * simple-object-elf.c (simple_object_elf_copy_lto_debug_section):
+ Keep names of removed global symbols.
+
+
+ * simple-object-xcoff.c (simple_object_xcoff_find_sections):
+ Improve .go_export csect handling. Don't make assumptions
+ on containing section or number of auxiliary entries.
+
+
+ PR lto/81968
+ * simple-object-elf.c (simple_object_elf_copy_lto_debug_section):
+ Adjust field with for sh_type write, set SHF_EXCLUDE only for
+ removed sections.
+
+
+ PR lto/81925
+ * simple-object-elf.c (simple_object_elf_write_shdr): Adjust
+ type of sh_addralign and sh_entsize and properly write
+ sh_entsize as Elf_Addr.
+ (simple_object_elf_write_to_file): Read sh_entsize as Elf_Addr.
+
+
+ * simple-object-common.h (struct simple_object_functions): Add
+ copy_lto_debug_sections hook.
+ * simple-object.c: Include fcntl.h.
+ (handle_lto_debug_sections): New helper function.
+ (simple_object_copy_lto_debug_sections): New function copying
+ early LTO debug sections to regular debug sections in a new file.
+ (simple_object_start_write): Handle NULL segment_name.
+ * simple-object-coff.c (simple_object_coff_functions): Adjust
+ for not implemented copy_lto_debug_sections hook.
+ * simple-object-mach-o.c (simple_object_mach_o_functions): Likewise.
+ * simple-object-xcoff.c (simple_object_xcoff_functions): Likewise.
+ * simple-object-elf.c (SHT_NULL, SHT_SYMTAB, SHT_RELA, SHT_REL,
+ SHT_GROUP): Add various sectopn header types.
+ (SHF_EXCLUDE): Add flag.
+ (Elf32_External_Sym, Elf64_External_Sym): Add symbol struct.
+ (ELF_ST_BIND, ELF_ST_TYPE, ELF_ST_INFO): Add accessors.
+ (STT_OBJECT, STT_FUNC, STT_TLS, STT_GNU_IFUNC): Add Symbol types.
+ (STV_DEFAULT): Add symbol visibility.
+ (SHN_COMMON): Add special section index name.
+ (struct simple_object_elf_write): New.
+ (simple_object_elf_start_write): Adjust for new private data.
+ (simple_object_elf_write_shdr): Pass in values for all fields
+ we write.
+ (simple_object_elf_write_to_file): Adjust. Copy from recorded
+ section headers if requested.
+ (simple_object_elf_release_write): Release private data.
+ (simple_object_elf_copy_lto_debug_sections): Copy and rename sections
+ as denoted by PFN and all their dependences, symbols and relocations
+ to the empty destination file.
+ (simple_object_elf_functions): Adjust for copy_lto_debug_sections hook.
+
+
+ * dwarfnames.c (DW_FIRST_IDX, DW_END_IDX, DW_IDX, DW_IDX_DUP): New.
+
+
+ * simple-object-xcoff.c (simple_object_xcoff_find_sections):
+ Search symbol table for .go_export symbol and apply pfn if found.
+
+
+ * configure.ac (strnlen): Add to AC_CHECK_DECLS.
+ * configure: Likewise.
+ * config.in: Add HACE_DECL_STRNLEN.
+
+
+ * d-demangle.c (dlang_identifier): Prefix mangled init symbols
+ with `initializer for'.
+ * testsuite/demangle-expected: Update tests.
+
+
+ * d-demangle.c (dlang_call_convention_p): Move declaration
+ before dlang_type.
+ (dlang_type): Handle function types.
+ * testsuite/d-demangle-expected: Add tests.
+
+
+ * d-demangle.c (dlang_parse_real): Remove stack buffer, write
+ the demangled hexadecimal directly to string.
+ * testsuite/d-demangle-expected: Add tests.
+
+
+ * waitpid.c (wait) [__MINGW32__]: Define as a macro
+ that calls _cwait, so that this function works on MinGW.
+
+
+ * d-demangle.c (dlang_hexdigit): New function.
+ (ascii2hex): Remove function.
+ (dlang_parse_string): Update to call dlang_hexdigit.
+ * testsuite/d-demangle-expected: Add tests.
+
+
+ * d-demangle.c (strtol): Remove declaration.
+ Updated all callers to use dlang_number.
+ (dlang_number): New function.
+ (dlang_value): Moved check for ISDIGIT into dlang_parse_integer.
+ * testsuite/d-demangle-expected: Add tests.
+
+
+ * d-demangle.c (dlang_parse_symbol): Remove function.
+ (dlang_parse_qualified): New function.
+ (dlang_parse_mangle): New function.
+ (dlang_type): Update to call dlang_parse_qualified.
+ (dlang_identifier): Update to call either dlang_parse_qualified or
+ dlang_parse_mangle.
+ (dlang_type_modifier_p): Remove function.
+ (dlang_call_convention_p): Don't allow type modifiers in mangle.
+ (dlang_template_args): Update to call dlang_identifier.
+ (dlang_demangle): Update to call dlang_parse_mangle.
+ * testsuite/d-demangle-expected: Add tests.
+
+
+ * d-demangle.c (dlang_value): Add comment explaining why cases for
+ digits are required.
+ * testsuite/d-demangle-expected: Update integer value tests.
+
+
+ * d-demangle.c (dlang_parse_symbol): Skip over anonymous symbols.
+ * testsuite/d-demangle-expected: Add tests.
+
+
+ * d-demangle.c (dlang_identifier): Handle template constraint symbols.
+ (dlang_parse_template): Only advance if template symbol prefix is
+ followed by a digit.
+ * testsuite/d-demangle-expected: Add tests.
+
+
+ * d-demangle.c (dlang_attributes): Handle scope attributes.
+ * testsuite/d-demangle-expected: Add tests.
+
+
+ PR demangler/80513
+ * cp-demangle.c (d_number): Check for overflow.
+ * cplus-dem.c (consume_count): Fix overflow check.
+ (gnu_special): Check for underscore after thunk delta.
+ * testsuite/demangle-expected: Add tests for overflows and invalid
+ characters in thunks.
+
+
+ * cp-demangle.c (MAX_RECURSION_COUNT): New constant.
+ (struct d_print_info): Add recursion field.
+ (d_print_init): Initialize recursion.
+ (d_print_comp): Check and update d_print_info recursion depth.
+
+
+ * cp-demangle.c (d_substitution): Return NULL if d_add_substitution
+ fails.
+
+
+ * cp-demangle.h (struct d_info): Remove did_subs field.
+ * cp-demangle.c (struct d_info_checkpoint): Likewise.
+ (d_template_param): Don't update did_subs.
+ (d_substitution): Likewise.
+ (d_checkpoint): Don't assign did_subs.
+ (d_backtrack): Likewise.
+ (cplus_demangle_init_info): Don't initialize did_subs.
+
+
+ * cp-demint.c (cplus_demangle_fill_component): Handle
+ DEMANGLE_COMPONENT_RVALUE_REFERENCE.
+
+
+ * cp-demangle.c (cplus_demangle_fill_name): Initialize
+ demangle_component d_printing.
+ (cplus_demangle_fill_extended_operator): Likewise.
+ (cplus_demangle_fill_ctor): Likewise.
+ (cplus_demangle_fill_dtor): Likewise.
+
+
+ PR demangler/70909
+ PR demangler/67264
+ * cp-demangle.c: Fix endless recursion. Pass
+ struct demangle_component as non const.
+ (d_make_empty): Initialize variable.
+ (d_print_comp_inner): Limit recursion.
+ (d_print_comp): Decrement variable.
+ * cp-demint.c (cplus_demangle_fill_component): Initialize
+ variable.
+ (cplus_demangle_fill_builtin_type): Likewise.
+ (cplus_demangle_fill_operator): Likewise.
+ * testsuite/demangle-expected: Add tests.
+
+
+ PR PR c++/70182
+ * cp-demangle.c (d_unqualified_name): Handle "on" for
+ operator names.
+ * testsuite/demangle-expected: Add tests.
+
+
+ PR c++/77489
+ * cp-demangle.c (d_discriminator): Handle discriminator >= 10.
+ * testsuite/demangle-expected: Add tests for discriminator.
+
+
+ Update copyright years.
+
+
+ * Makefile.in (configure_deps): Update.
+ * configure: Regenerate.
+
+
+ PR c++/78761
+ * cp-demangle.c (cplus_demangle_type): Demangle Dc as decltype(auto).
+ * testsuite/demangle-expected: Add test for decltype(auto).
+
PR c++/78252
printing.
* testsuite/demangle-expected: Add lambda auto mangling cases.
-
- * configure: Regenerate.
-
* argv.c (expandargv): Check for directories passed as @-files.
+
+ PR c/78498
+ * strndup.c (strlen): Delete decl.
+ (strnlen): Add decl.
+ (strndup): Call strnlen rather than strlen.
+ * xstrndup.c (xstrndup): Likewise.
+
+
+ * cp-demangle.c (d_print_comp_inner): Fix parameter indentation.
+
* cplus-dem.c (ada_demangle): Initialize demangled to NULL and
XDELETEVEC demangled when unknown.
-
- * Sync with gcc.
-
* pex-win32.c (argv_to_cmdline): Quote zero-length parameters.
(d_print_mod_list, d_print_mod, d_print_function_type)
(is_ctor_or_dtor): Handle DEMANGLE_COMPONENT_TRANSACTION_SAFE.
-
- Import the following patches from the GCC mainline:
-
* cp-demangle.c (d_abi_tags): Preserve di->last_name across any
ABI tags.
* testsuite/d-demangle-expected: Update float and complex literal
tests to check correct hexadecimal demangling.
-
- * configure: Regenerated.
-
* cp-demangle.c (d_dump): Fix syntax error.
(d_ctor_dtor_name): Handle unified ctor/dtor.
-
+
PR other/59195
* cp-demangle.c (struct d_info_checkpoint): New struct.
(struct d_print_info): Add current_template field.