[Bug c++/46727] [4.3/4.4 Regression] ICE with -O3 and -ffast-math (in get_callee_fndecl, at tree.c:6857)
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Nov 30 17:25:00 GMT 2010
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46727
Richard Guenther <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2010.11.30 17:06:24
Known to work| |4.5.0
Target Milestone|--- |4.3.6
Summary|ICE with -O3 and |[4.3/4.4 Regression] ICE
|-ffast-math (in |with -O3 and -ffast-math
|get_callee_fndecl, at |(in get_callee_fndecl, at
|tree.c:6857) |tree.c:6857)
Ever Confirmed|0 |1
Known to fail| |4.3.0, 4.4.4
--- Comment #1 from Richard Guenther <rguenth at gcc dot gnu.org> 2010-11-30 17:06:24 UTC ---
Confirmed.
6848 /* It's invalid to call this function with anything but a
6849 CALL_EXPR. */
6850 gcc_assert (TREE_CODE (call) == CALL_EXPR);
(gdb) p call->base.code
$1 = NOP_EXPR
#1 0x0000000000d2a2d9 in get_callee_fndecl (call=0x7ffff61ba5c0)
at /space/rguenther/src/svn/gcc-4_4-branch/gcc/tree.c:6850
#2 0x000000000070b484 in expand_builtin (exp=0x7ffff61ba5c0, target=0x0,
subtarget=0x0, mode=DFmode, ignore=0)
at /space/rguenther/src/svn/gcc-4_4-branch/gcc/builtins.c:6246
#3 0x00000000006f980c in expand_builtin_pow (exp=0x7ffff61c26c0,
target=0x7ffff61c19c0, subtarget=0x0)
at /space/rguenther/src/svn/gcc-4_4-branch/gcc/builtins.c:3045
#4 0x000000000070bac4 in expand_builtin (exp=0x7ffff61c26c0,
target=0x7ffff61c19c0, subtarget=0x0, mode=DFmode, ignore=0)
at /space/rguenther/src/svn/gcc-4_4-branch/gcc/builtins.c:6372
3044 tree call_expr = build_call_expr (fn, 1,narg0);
3045 op = expand_builtin (call_expr, NULL_RTX, subtarget, mode,
0);
(gdb) call debug_tree (call_expr)
<nop_expr 0x7ffff61ba5c0
type <real_type 0x7ffff7efbc00 double DF
size <integer_cst 0x7ffff7ed5b40 constant 64>
unit size <integer_cst 0x7ffff7ed5b70 constant 8>
align 64 symtab 0 alias set -1 canonical type 0x7ffff7efbc00 precision
64
pointer_to_this <pointer_type 0x7ffff7efbe40>>
constant
arg 0 <real_cst 0x7ffff61a9990 type <real_type 0x7ffff7efbc00 double>
constant 2.8778015923432587186425735126249492168426513671875e+0>>
somehow we missed a constant folding.
More information about the Gcc-bugs
mailing list