------- Comment #1 from burnus at gcc dot gnu dot org  2007-02-06 16:52 -------
Confirmed. It crashes with -O but not without optimization.

Reduced test case:
Subroutine xcc_V_CONVERT(iepoch)
    implicit none
    logical :: IEPOCH
    real    :: XVECTOR(1:3)
    real    :: YVECTOR(1:3)
    xvector = 0.0
    if (iepoch) then
       yvector(1:3)=xvector(1:3)
    endif
end subroutine xcc_v_convert


#1  0x0000000000551e7d in operand_equal_p (arg0=0x2b493e8fecc0,
arg1=0x2b493e81b440, flags=0)    at gcc/fold-const.c:2577
#2  0x000000000057977f in fold_ternary (code=COND_EXPR, type=0x2b493e82b0c0,
op0=0x2b493e81b200, op1=0x2b493e8fecc0, op2=0x2b493e81b440) at
gcc/fold-const.c:11773
#3  0x000000000057a9a1 in fold_build3_stat (code=10473456, type=0xa11,
op0=0x9fcec0, op1=0xa, op2=0x70) at gcc/fold-const.c:12423
#4  0x0000000000497321 in gfc_trans_if_1 (code=0xe60c40) at
gcc/fortran/trans-stmt.c:612
#5  0x0000000000468183 in gfc_trans_code (code=0xe61150) at
gcc/fortran/trans.c:531


-- 

burnus at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |burnus at gcc dot gnu dot
                   |                            |org
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
  GCC build triplet|i686-pc-linux-gnu           |
   GCC host triplet|i686-pc-linux-gnu           |
 GCC target triplet|i686-pc-linux-gnu           |
   Last reconfirmed|0000-00-00 00:00:00         |2007-02-06 16:52:39
               date|                            |
            Summary|[fortran, 4.3 regression]:  |[4.3 regression]: ICE in
                   |ICE in operand_equal_p()    |operand_equal_p()  with -O


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

Reply via email to