d: Fix ICE on explicit immutable struct import [PR108877]
commitce1cea3e22f58bbddde017f8a92e59bae8892339
authorIain Buclaw <ibuclaw@gdcproject.org>
Mon, 27 Feb 2023 19:46:18 +0000 (27 20:46 +0100)
committerIain Buclaw <ibuclaw@gdcproject.org>
Fri, 3 Mar 2023 00:25:32 +0000 (3 01:25 +0100)
tree0e721708af289067b967cc6c8d00ab3817594478
parent33a7811896a6c8e6fa71e385dbdf5013d833a116
d: Fix ICE on explicit immutable struct import [PR108877]

Const and immutable types are built as variants of the type they are
derived from, and TYPE_STUB_DECL is not set for these variants.

PR d/108877

gcc/d/ChangeLog:

* imports.cc (ImportVisitor::visit (EnumDeclaration *)): Call
make_import on TYPE_MAIN_VARIANT.
(ImportVisitor::visit (AggregateDeclaration *)): Likewise.
(ImportVisitor::visit (ClassDeclaration *)): Likewise.

gcc/testsuite/ChangeLog:

* gdc.dg/imports/pr108877a.d: New test.
* gdc.dg/pr108877.d: New test.
gcc/d/imports.cc
gcc/testsuite/gdc.dg/imports/pr108877a.d [new file with mode: 0644]
gcc/testsuite/gdc.dg/pr108877.d [new file with mode: 0644]