This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/43796] [4.5/4.6 Regression] ICE in is_overflow_infinity (tree-vrp.c:184) with gfortran -fcheck=bounds -O2
- From: "rguenth at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 19 Apr 2010 12:26:31 -0000
- Subject: [Bug middle-end/43796] [4.5/4.6 Regression] ICE in is_overflow_infinity (tree-vrp.c:184) with gfortran -fcheck=bounds -O2
- References: <bug-43796-12935@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #3 from rguenth at gcc dot gnu dot org 2010-04-19 12:26 -------
Program received signal SIGSEGV, Segmentation fault.
0x0000000000bdb380 in needs_overflow_infinity (type=0x0)
at /space/rguenther/src/svn/gcc-4_5-branch/gcc/tree-vrp.c:184
184 return INTEGRAL_TYPE_P (type) && !TYPE_OVERFLOW_WRAPS (type);
(gdb) up
#1 0x0000000000bdb434 in is_overflow_infinity (val=0x7ffff5adfe70)
at /space/rguenther/src/svn/gcc-4_5-branch/gcc/tree-vrp.c:269
269 return (needs_overflow_infinity (TREE_TYPE (val))
(gdb) call debug_tree (val)
<ssa_name 0x7ffff5adfe70 nothrow var <var_decl 0x7ffff7fbf0a0 i>def_stmt
version 56 in-free-list>
Confirmed.
We free the SSA name in substitute_and_fold () but it is still used in
symbolical ranges which we end up using by jump threading.
If we do so we shouldn't DCE stmts in substitute_and_fold ().
There's also a missed-optimization which if fixed fixes this PR as well.
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |rguenth at gcc dot gnu dot
|dot org |org
Status|UNCONFIRMED |ASSIGNED
Ever Confirmed|0 |1
Last reconfirmed|0000-00-00 00:00:00 |2010-04-19 12:26:31
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43796