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

--- Comment #1 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:074b2b0f91f948fe3488ada91ec6a8576c684dea

commit r15-9485-g074b2b0f91f948fe3488ada91ec6a8576c684dea
Author: Iain Buclaw <ibuc...@gdcproject.org>
Date:   Tue Apr 15 15:19:13 2025 +0200

    d: Fix internal compiler error: in visit, at d/decl.cc:838 [PR119799]

    This was caused by a check in the D front-end disallowing static
    VAR_DECLs with a size `0'.

    While empty structs in D are give the size `1', the same symbol coming
    from ImportC modules do infact have no size, so allow C variables to
    pass the check as well as array objects.

            PR d/119799

    gcc/d/ChangeLog:

            * decl.cc (DeclVisitor::visit (VarDeclaration *)): Check front-end
            type size before building the VAR_DECL.  Allow C symbols to have a
            size of `0'.

    gcc/testsuite/ChangeLog:

            * gdc.dg/import-c/pr119799.d: New test.
            * gdc.dg/import-c/pr119799c.c: New test.

Reply via email to