------- Comment #17 from rguenth at gcc dot gnu dot org 2007-07-11 10:00 ------- Reduced testcase:
contains Character (len=20) Function Up (string) Character(len=*) string Up = transfer(achar(iachar(transfer(string,"x",1))), "x") return end function Up end char.3 = (*(char[0:][1:1] *) atmp.0.data)[S.2][1]{lb: 1 sz: 1}; (*(char[0:][1:1] *) atmp.1.data)[S.2] = char.3; the first line is correct, the second is not. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31608