------- Comment #1 from rguenth at gcc dot gnu dot org  2006-06-24 11:37 -------
Confirmed.

We have

Breakpoint 3, const_binop (code=RDIV_EXPR, arg1=0xa7bc6708, arg2=0xa7bc6690,
    notrunc=0) at /home/richard/src/trunk/gcc/fold-const.c:1691
(gdb) call debug_generic_expr (arg1)
__complex__ (1.0e+0, 0.0)
(gdb) call debug_generic_expr (arg2)
__complex__ (1.90000007326203904e+19, 0.0)

which calls the const_binop (PLUS_EXPR, ...) with the results of

const_binop (code=MULT_EXPR, arg1=0xa7bc6660, arg2=0xa7bc6660, notrunc=0)
    at /home/richard/src/trunk/gcc/fold-const.c:1554
1554      STRIP_NOPS (arg1);
(gdb) call debug_generic_expr (arg1)
0.0
(gdb) call debug_generic_expr (arg2)
0.0
Value returned is $5 = (union tree_node *) 0xa7bc67e0
(gdb) call debug_generic_expr ($5)
0.0

and
const_binop (code=MULT_EXPR, arg1=0xa7bc6630, arg2=0xa7bc6630, notrunc=0)
    at /home/richard/src/trunk/gcc/fold-const.c:1554
1554      STRIP_NOPS (arg1);
(gdb) call debug_generic_expr (arg1)
1.90000007326203904e+19
(gdb) call debug_generic_expr (arg2)
1.90000007326203904e+19
Value returned is $6 = (union tree_node *) 0x0

!?

We hit

1614          /* Don't constant fold this floating point operation if
1615             the result has overflowed and flag_trapping_math.  */
1616
1617          if (flag_trapping_math
1618              && MODE_HAS_INFINITIES (mode)
1619              && REAL_VALUE_ISINF (result)
1620              && !REAL_VALUE_ISINF (d1)
1621              && !REAL_VALUE_ISINF (d2))
1622            return NULL_TREE;

because the multiplication result is infinity (in SFmode).


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rguenth at gcc dot gnu dot
                   |                            |org
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2006-06-24 11:37:02
               date|                            |
            Summary|ICE on complex              |ICE on complex


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

Reply via email to