------- Comment #6 from fengwang at gcc dot gnu dot org 2006-01-11 03:38 ------- And the backtrace: #0 mio_expr (ep=0x6000000000033298) at ../../gcc-4.2-20051231/gcc/fortran/module.c:1472 #1 0x400000000007caa0 in mio_charlen (clp=0x60000000000fc0a8) at ../../gcc-4.2-20051231/gcc/fortran/module.c:1668 #2 0x400000000007d5c0 in mio_typespec (ts=0x60000000000fc098) at ../../gcc-4.2-20051231/gcc/fortran/module.c:1726 #3 0x400000000007b9d0 in mio_expr (ep=0x60000000000fc778) at ../../gcc-4.2-20051231/gcc/fortran/module.c:2502 #4 0x400000000007d060 in mio_ref (rp=Variable "rp" is not available. ) at ../../gcc-4.2-20051231/gcc/fortran/module.c:1809 #5 0x400000000007d500 in mio_ref_list (rp=0x60000000000fc428)
in mio_charlen function, it run into if (iomode == IO_OUTPUT) 1665 { 1666 cl = *clp; (gdb) 1667 if (cl != NULL) 1668 mio_expr (&cl->length); <<<< ICE HERE! 1669 } (gdb) p *cl $7 = {length = 0x1, next = 0x0, backend_decl = 0x0, resolved = 0} The character length is an expression, not a constant integer. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25716