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

--- Comment #12 from Iain Sandoe <iains at gcc dot gnu.org> ---
OTOH there was a second issue with zero-sized objects which was fixed thus:

diff --git a/gcc/d/types.cc b/gcc/d/types.cc
index a1f69bb02b7..020cc7de83f 100644
--- a/gcc/d/types.cc
+++ b/gcc/d/types.cc
@@ -581,6 +581,11 @@ finish_aggregate_mode (tree type)
 {
   for (tree field = TYPE_FIELDS (type); field; field = DECL_CHAIN (field))
     {
+      /* Fields of type `typeof(*null)' have no size, so let them force the
+        record type mode to be computed as BLKmode.  */
+      if (TYPE_MAIN_VARIANT (TREE_TYPE (field)) == noreturn_type_node)
+       break;
+
       if (DECL_SIZE (field) == NULL_TREE)
        return;
     }

Reply via email to