http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54901
Bug #: 54901 Summary: [4.8 Regression] air.f90, aermod.f90, and mdbx.f90 are miscompiled with '-m64 -O3 -funroll-loops -fwhole-program' after revision 192213 Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization AssignedTo: unassig...@gcc.gnu.org ReportedBy: domi...@lps.ens.fr CC: ste...@gcc.gnu.org The tests air.f90, aermod.f90, and mdbx.f90 are miscompiled with '-m64 -O3 -funroll-loops -fwhole-program' after revision 192213. The backtraces are: (1) air ... ITERATION# TIME FINAL MASS RESIDUAL Program received signal SIGSEGV, Segmentation fault. 0x000000010000269b in points (d=..., np=<value optimized out>, nd=<value optimized out>) at air.f90:1110 1110 Dr(k,j) = d1(N-k,N-j) (gdb) bt #0 0x000000010000269b in points (d=..., np=<value optimized out>, nd=<value optimized out>) at air.f90:1110 #1 0x0000000100004b52 in MAIN__ () at air.f90:160 (2) aermod ... First hour of profile data YR MO DY HR HEIGHT F WDIR WSPD AMB_TMP sigmaA sigmaW sigmaV 99 01 01 01 7.0 1 1. 2.60 262.6 99.0 -99.00 -99.00 F indicates top of profile (=1) or below (=0) +Now Processing Data For Day No. 1 of 1999 Program received signal SIGSEGV, Segmentation fault. wake_sig (x=<value optimized out>, xd=104.343887, xold=44.0807877, turbz=0.221128643, turby=0.300897658, szold=Cannot access memory at address 0x8 ) at aermod.f90:38204 38204 SZ = SZOLD + DELX*TURBZ (gdb) bt #0 wake_sig (x=<value optimized out>, xd=104.343887, xold=44.0807877, turbz=0.221128643, turby=0.300897658, szold=Cannot access memory at address 0x8 ) at aermod.f90:38204 #1 0x0000000100071ec9 in wake_dfsn (ldbhr=.FALSE., xi=40.076088, szi=0.596251428, syi=0.618943393, z=<value optimized out>, z=<value optimized out>) at aermod.f90:36900 #2 0x0000000100084eee in numrise (ldbhr=<value optimized out>, h=<value optimized out>, reff=<value optimized out>, texit=<value optimized out>, wexit=<value optimized out>, ntr=<value optimized out>, xtr=<value optimized out>, ytr=<value optimized out>, ztr=<value optimized out>, rtr=<value optimized out>, linwake=.TRUE., numwake=<value optimized out>, numwake=<value optimized out>, rtr=<value optimized out>, ztr=<value optimized out>, ytr=<value optimized out>, xtr=<value optimized out>, ntr=<value optimized out>, wexit=<value optimized out>, texit=<value optimized out>, reff=<value optimized out>, h=<value optimized out>, ldbhr=<value optimized out>) at aermod.f90:35360 #3 0x0000000100095856 in prmdelh (xarg=30.6145649, l_inwake=.TRUE.) at aermod.f90:39784 #4 0x00000001000a143f in prmcalc (xbrec=<value optimized out>, ybrec=<value optimized out>, ybrec=<value optimized out>, xbrec=<value optimized out>) at aermod.f90:39767 #5 0x00000001000c237f in pcalc () at aermod.f90:6282 #6 0x00000001000c6117 in hrloop () at aermod.f90:5761 #7 0x00000001000d66f6 in aermod () at aermod.f90:2194 #8 0x00000001000f9e9f in main (argc=<value optimized out>, argv=<value optimized out>) at aermod.f90:2038 #9 0x00000001000009f4 in start () (3) mdbx ... STEP LP KIN.E POT.E TOT.E DIFFUS PX PY PZ ---- -- ------- ------- ------- -------- -------- -------- -------- Program received signal SIGSEGV, Segmentation fault. 0x0000000100005a97 in cbuild (ransq=<value optimized out>, icode=1, ransq=<value optimized out>) at mdbx.f90:1510 1510 IF ( npc(icell).GT.npcusd ) npcusd = npc(icell) (gdb) bt #0 0x0000000100005a97 in cbuild (ransq=<value optimized out>, icode=1, ransq=<value optimized out>) at mdbx.f90:1510 #1 0x0000000100007bc7 in mlist (lmethd=<value optimized out>) at mdbx.f90:1240 #2 0x000000010000deb0 in master (nsteps=100, nlist=<value optimized out>, method=<value optimized out>, skin=<value optimized out>, ncorr=<value optimized out>, nprint=10) at mdbx.f90:1058 #3 0x000000010000ec17 in mdbnch () at mdbx.f90:120 #4 0x000000010000fa5f in main (argc=<value optimized out>, argv=<value optimized out>) at mdbx.f90:171 #5 0x00000001000014b4 in start ()