https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119817

--- Comment #2 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Iain Buclaw <ibuc...@gcc.gnu.org>:

https://gcc.gnu.org/g:f5ed7d19c965de9ccb158d77e929b17459bf65b5

commit r15-9483-gf5ed7d19c965de9ccb158d77e929b17459bf65b5
Author: Iain Buclaw <ibuc...@gdcproject.org>
Date:   Tue Apr 15 14:49:34 2025 +0200

    d: Fix ICE in dwarf2out_imported_module_or_decl, at dwarf2out.cc:27676
[PR119817]

    The ImportVisitor method for handling the importing of overload sets was
    pushing NULL_TREE to the array of import decls, which in turn got passed
    to `debug_hooks->imported_module_or_decl', triggering the observed
    internal compiler error.

    NULL_TREE is returned from `build_import_decl' when the symbol was
    ignored for being non-trivial to represent in debug, for example,
    template or tuple declarations.  So similarly "skip" adding the symbol
    when this is the case for overload sets too.

            PR d/119817

    gcc/d/ChangeLog:

            * imports.cc (ImportVisitor::visit (OverloadSet *)): Don't push
            NULL_TREE to vector of import symbols.

    gcc/testsuite/ChangeLog:

            * gdc.dg/debug/imports/m119817/a.d: New test.
            * gdc.dg/debug/imports/m119817/b.d: New test.
            * gdc.dg/debug/imports/m119817/package.d: New test.
            * gdc.dg/debug/pr119817.d: New test.

Reply via email to