http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55006



             Bug #: 55006

           Summary: [4.8 Regression] aermod.f90 is miscompiled with '-m64

                    -O2 -funroll-loops' after revision 192526

    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: hubi...@gcc.gnu.org, ste...@gcc.gnu.org





The polyhedron test aermod.f90 is miscompiled with '-m64 -O2 -funroll-loops'

after revision 192526



Author:    steven

Date:    Wed Oct 17 06:15:38 2012 UTC (4 days, 5 hours ago)

Changed paths:    3

Log Message:    

    * df-problems.c (df_kill_notes): Split up in two functions.

    (df_remove_dead_and_unused_notes): New function, first half of

    df_kill notes to remove all REG_DEAD and REG_UNUSED notes.

    (df_remove_dead_eq_notes): New function, second half of df_kill_notes

    to remove REG_EQUAL and REG_EQUIV notes referring to dead registers.

    (df_note_bb_compute): Call df_remove_dead_and_unused_notes instead

    of df_kill_notes.  Call df_remove_dead_eq_notes after processing insn.



    * web.c (web): Re-add DF_RD_PRUNE_DEAD_DEFS;



The executable aborts with the following backtrace



...

 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=46.0831375, xd=104.343887, xold=44.0807877, turbz=<value optimized

out>, turby=<value optimized out>, szold=Cannot access memory at address 0x8

) at aermod.f90:38204

38204             SZ = SZOLD + DELX*TURBZ

(gdb) bt

#0  wake_sig (x=46.0831375, xd=104.343887, xold=44.0807877, turbz=<value

optimized out>, turby=<value optimized out>, szold=Cannot access memory at

address 0x8

) at aermod.f90:38204

#1  0x000000010003302c in wake_dfsn (ldbhr=.FALSE., xi=40.076088,

szi=0.596251428, syi=0.618943393, z=7.06923056) at aermod.f90:36900

#2  0x000000010003852a in numrise (ldbhr=.FALSE., h=5, reff=<value optimized

out>, texit=262.600189, wexit=<value optimized out>, ntr=50, xtr=..., 

    ytr=..., ztr=..., rtr=..., linwake=.TRUE., numwake=0) at aermod.f90:35360

#3  0x000000010003b3d6 in prmdelh (xarg=30.6145649, l_inwake=.TRUE.) at

aermod.f90:39784

#4  0x000000010003cc64 in prmcalc (xbrec=<value optimized out>, ybrec=<value

optimized out>) at aermod.f90:6786

#5  0x00000001000572b2 in pcalc () at aermod.f90:6282

#6  0x000000010005905b in calc () at aermod.f90:5761

#7  0x0000000100079868 in hrloop () at aermod.f90:2596

#8  0x00000001000e7367 in aermod () at aermod.f90:2194

#9  0x00000001000f864f in main (argc=<value optimized out>, argv=<value

optimized out>) at aermod.f90:2038

#10 0x00000001000016e4 in start ()



The two subroutines which are miscompiled are wake_dfsn and wake_dfsn2, see the

attached compressed archive for testing it.

Reply via email to