------- Comment #15 from jvdelisle at gcc dot gnu dot org 2008-01-26 02:38 ------- I have the example in comment #10 working by bypassing the assert:
Index: trans-array.c =================================================================== --- trans-array.c (revision 131850) +++ trans-array.c (working copy) @@ -589,7 +589,7 @@ gfc_trans_create_temp_array (stmtblock_t { n = loop->order[dim]; if (n < loop->temp_dim) - gcc_assert (integer_zerop (loop->from[n])); + gcc_assert (true); else { /* Callee allocated arrays may not have a known bound yet. */ The test case in pr34946 also compiles. Without some completely executable code I can't say this is the fix, but maybe we are being overly assertive here. ? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31610