http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60774
Dominique d'Humieres <dominiq at lps dot ens.fr> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |ice-on-invalid-code --- Comment #2 from Dominique d'Humieres <dominiq at lps dot ens.fr> --- Reduced test giving an ICE with a clean trunk (r209224) program energy implicit none ! all dble integer(kind=4)::ns ! size of spatial lattice integer(kind=4)::nt ! size of temporal lattice; nt >= ns integer(kind=4)::i,j,k,l!,iu,id,ju,jd,ku,kd,lu,ld integer(kind=4),allocatable::back(:,:) ! works up to 20,10 integer(kind=4)::di doubleprecision,allocatable::sumffi(:) doubleprecision,allocatable::f(:,:,:,:) ! the dimensionless field ! potential energy; first something I did in an earlier paper nt = 10 ns = 2 allocate( f(nt,ns,ns,ns), back(ns,0:10) ) allocate( sumffi(0:nt/2)) go to 123 do di = 0, ns/2 sumffi(di) = sumffi(di) + f(i,j,k,l)*f(back(i,di),j,k,l) end do 123 contains function T(i,j,k,l,iu,ju,ku,lu,id,jd,kd,ld) ! only what depends on ijkl doubleprecision::T integer(kind=4)::i,j,k,l,iu,id,ju,jd,ku,kd,lu,ld T = f(i,j,k,l)*( f(i,j,k,l) - f(iu,j,k,l) - f(id,j,k,l) ) end function T end program energy The backtrace is * frame #0: 0x00007fff91e76866 libsystem_kernel.dylib`__pthread_kill + 10 frame #1: 0x00007fff989c935c libsystem_pthread.dylib`pthread_kill + 92 frame #2: 0x00007fff98740b1a libsystem_c.dylib`abort + 125 frame #3: 0x0000000100bd7978 f951`linemap_lookup(set=0x0000000141d49000, line=<unavailable>) + 456 at line-map.c:709 frame #4: 0x0000000100bd79dc f951`linemap_macro_loc_to_exp_point(set=0x0000000141d49000, location=33570, original_map=0x00007fff5fbfedf8) + 76 at line-map.c:1181 frame #5: 0x0000000100bbf59e f951`expand_location_1(loc=33570, expansion_point_p=<unavailable>) + 126 at input.c:164 frame #6: 0x0000000100bc039e f951`expand_location(loc=<unavailable>) + 14 at input.c:724 frame #7: 0x000000010002e188 f951`show_locus(c1=-1350314028, c2=-1, loc=<unavailable>) + 88 at error.c:355 frame #8: 0x000000010002ed3e f951`error_print(type=0x0000000100cd1751, format0=0x0000000100ce34a8, argp=<unavailable>) + 2286 at error.c:476 frame #9: 0x000000010002f90e f951`gfc_error(gmsgid=<unavailable>) + 446 at error.c:1003 frame #10: 0x000000010008e4c9 f951`resolve_code(code=0x0000000141f08e40, ns=0x0000000143023c00) + 9241 at resolve.c:9828 frame #11: 0x000000010008f8a4 f951`resolve_codes(ns=<unavailable>) + 308 at resolve.c:14610 frame #12: 0x000000010008f99d f951`gfc_resolve(ns=0x0000000143023c00) + 61 at resolve.c:14638 frame #13: 0x0000000100079fab f951`gfc_parse_file() [inlined] resolve_all_program_units(gfc_global_ns_list=0x0000000143023c00) + 71 at parse.c:4468 frame #14: 0x0000000100079f64 f951`gfc_parse_file() + 1364 frame #15: 0x00000001000bc276 f951`gfc_be_parse_file + 38 at f95-lang.c:188 frame #16: 0x000000010086a287 f951`compile_file + 39 at toplev.c:548 frame #17: 0x000000010086c7a4 f951`toplev_main(argc=2, argv=0x00007fff5fbff4a0) + 3284 at toplev.c:1914