This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/33381] [4.2 regression] miscompilation casting signed long to void*
- 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: 11 Sep 2007 11:31:46 -0000
- Subject: [Bug target/33381] [4.2 regression] miscompilation casting signed long to void*
- References: <bug-33381-5724@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #2 from rguenth at gcc dot gnu dot org 2007-09-11 11:31 -------
A bug in VRP respective its friend SCEV.
iin_5 = i_1 - 1;
lin_6 = iin_5;
pin_7 = (void *) iin_5;
iout_8 = iin_5;
printf (&" %d - In: %d, %ld (%p), Out: %ld\n"[0], i_1, iin_5, iin_5, pin_7,
iin_5);
i_9 = i_1 + 1;
(scalar = pin_7)
(scalar_evolution = {-1B, +, 1B}_1))
)
(instantiate_parameters
(loop_nb = 1)
(chrec = {-1B, +, 1B}_1)
(res = {-1B, +, 1B}_1))
Found new range for pin_7: [-1B, -1B]
Value ranges after VRP:
i_1: VARYING
i_2: ~[0, 0] EQUIVALENCES: { } (0 elements)
iin_5: [-1, 1] EQUIVALENCES: { } (0 elements)
lin_6: [-1, 1] EQUIVALENCES: { iin_5 } (1 elements)
pin_7: [-1B, -1B] EQUIVALENCES: { } (0 elements)
<L0>:;
iin_5 = i_27 - 1;
lin_6 = iin_5;
pin_7 = (void *) iin_5;
iout_8 = iin_5;
printf (&" %d - In: %d, %ld (%p), Out: %ld\n"[0], i_27, iin_5, iin_5, -1B,
iin_5);
i_9 = i_27 + 1;
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Last reconfirmed|0000-00-00 00:00:00 |2007-09-11 11:31:46
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33381