http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56800
--- Comment #2 from Tobias Burnus <burnus at gcc dot gnu.org> 2013-04-01 18:01:03 UTC --- The problem is in gfc_array_init_size. There, one should first obtain the element size. And instead of gfc_conv_descriptor_stride_set one should use gfc_conv_descriptor_sm_set. Additionally, one could directly set gfc_conv_descriptor_extent_set (matching the current size variable) instead of using gfc_conv_descriptor_ubound_set. The only difficulty is to implement it such that the overflow algorithm works.