------- Comment #3 from pinskia at gcc dot gnu dot org 2006-12-27 02:32 ------- (In reply to comment #2) > The dump suggest that a temporary array has not been properly sized.
We get: char[0:][1:12] * D.972; { int4 S.3; S.3 = 0; while (1) { if (S.3 > 0) goto L.1; (*(char[0:][1:12] *) atmp.1.data)[NON_LVALUE_EXPR <S.3>] = file[NON_LVALUE_EXPR <S.3>].date[1]{lb: 1 sz: 1}; S.3 = S.3 + 1; } L.1:; } So yes we have the incorrect type for the temp array, we have char[1:12] instead of just char. So my patch fixes one problem and we run into the next issue. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30284