https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71066
--- Comment #2 from Dominique d'Humieres <dominiq at lps dot ens.fr> --- > Confirmed, ICEs since GCC 4.6.0. The ICE appeared between revisions r162456 (2010-07-23, compiles) and r1635293 (2010-08-24, ICE). The ICE is due to the gcc_assert /* An unknown size constructor will always be rank one. Higher rank constructors will either have known shape, or still be wrapped in a call to reshape. */ gcc_assert (loop->dimen == 1); which is already present at r162456. IMO the first test in comment 0 is invalid.