diff --git a/gcc/d/types.cc b/gcc/d/types.cc index af9aad8a412335ac3982a634f5ce62c6bec38077..ed97aa39cc541cc188aac62ab4b7659cd45efdc7 100644 --- a/gcc/d/types.cc +++ b/gcc/d/types.cc @@ -1230,6 +1230,11 @@ public: apply_user_attributes (t->sym, t->ctype); finish_aggregate_type (structsize, alignsize, t->ctype); } + else + { + build_type_decl (t->ctype, t->sym); + apply_user_attributes (t->sym, t->ctype); + } /* For structs with a user defined postblit, copy constructor, or a destructor, also set TREE_ADDRESSABLE on the type and all variants. diff --git a/gcc/testsuite/gdc.dg/imports/pr113125.d b/gcc/testsuite/gdc.dg/imports/pr113125.d new file mode 100644 index 0000000000000000000000000000000000000000..761e613b055222e186b4decfbba1db1b7b05cf8a --- /dev/null +++ b/gcc/testsuite/gdc.dg/imports/pr113125.d @@ -0,0 +1,2 @@ +module imports.pr113125; +struct S113125; diff --git a/gcc/testsuite/gdc.dg/pr113125.d b/gcc/testsuite/gdc.dg/pr113125.d new file mode 100644 index 0000000000000000000000000000000000000000..cb7300baa1ad900ae2c6fbdb9e301d787fea21db --- /dev/null +++ b/gcc/testsuite/gdc.dg/pr113125.d @@ -0,0 +1,4 @@ +// { dg-do compile } +// { dg-options "-I $srcdir/gdc.dg" } +module pr113125; +import imports.pr113125: S113125;