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

--- Comment #12 from CVS 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:5d4b824faf1e5846ec684a74f93912cf347928df

commit r11-4979-g5d4b824faf1e5846ec684a74f93912cf347928df
Author: Iain Buclaw <ibuc...@gdcproject.org>
Date:   Thu Nov 12 15:37:46 2020 +0100

    d: Fix ICE in finish_thunk (PR97644)

    Because this what the upstream reference compiler did, thunks for the D
    front-end were associated with the class definition, so were forced
    code-gen even if the target function was extern.  This has now been
    changed so there are now only generated if there is a function
    definition, fixing the ICE that occurred in PR 97644, which was caused
    by calling expand_thunk() early.

    gcc/d/ChangeLog:

            PR d/97644
            * dmd/MERGE: Merge upstream dmd 95044d8e4.
            * d-target.cc (TargetCPP::thunkMangle): New function.
            * decl.cc (finish_thunk): Don't force expand thunks for external
            functions.
            (make_thunk): Emit thunks only if the function has a definition.
            Generate correct mangling for thunks to C++ classes.

    gcc/testsuite/ChangeLog:

            * gdc.dg/pr92216.d: Update scan-assember.
  • [Bug d/97644] FAIL: gdc.dg/gdc2... cvs-commit at gcc dot gnu.org via Gcc-bugs

Reply via email to