http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59198

--- Comment #11 from Paul Thomas <pault at gcc dot gnu.org> ---
A correct version of the patch of comment#6 to varasm.c is:
Index: gcc/varasm.c
===================================================================
*** gcc/varasm.c    (revision 208048)
--- gcc/varasm.c    (working copy)
*************** output_constructor_regular_field (oc_loc
*** 4939,4944 ****
--- 4939,4946 ----
           better be last.  */
        gcc_assert (!fieldsize || !DECL_CHAIN (local->field));
      }
+       else if (DECL_SIZE_UNIT (local->field) == NULL_TREE)
+     fieldsize = int_size_in_bytes (TREE_TYPE (local->field));
        else
      fieldsize = tree_to_uhwi (DECL_SIZE_UNIT (local->field));
      }

Clearly, this is bomb-proof and so regtesting proceeds without problem for gcc
and gfortran.

It now remains to understand how structure fields can be built with type size
information but with the decl comon information missing! ie. it should be
possible to render the above unnecessary.

Cheers

Paul

Reply via email to