http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56800
--- Comment #5 from Tobias Burnus <burnus at gcc dot gnu.org> 2013-04-30 21:57:28 UTC --- For the test case in comment 0: __builtin_memset (y._data.base_addr, 0, 4); y._data.rank = 1; y._data.type = -1; y._data.dim[0].lower_bound = 1; y._data.dim[0].extent = 2 - y._data.dim[0].lower_bound; y._data.dim[0].sm = (integer(kind=8)) y._data.elem_len; Here a line like: y._data.elem_len = 4; is missing. elem_len needs always to be updated for BT_CLASS.