This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/42512] [4.5 Regression] integer wrong code bug with loop
- 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: 8 Jan 2010 17:21:39 -0000
- Subject: [Bug middle-end/42512] [4.5 Regression] integer wrong code bug with loop
- References: <bug-42512-12544@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #10 from rguenth at gcc dot gnu dot org 2010-01-08 17:21 -------
Ok, I have that fixed locally at the place of the patch but I wonder if
initial_condition () shouldn't return for example
1ul for (unsigned long) { 1, +, 1 }_1
and
(int) i_2 for (int) { i_2, +, 1 }_1
and further (for short i_2)
i_2 for (short) { (int) { i_2, +, 1 }_2, +, 1 }_1
? Can the latter two happen all? Is it even correct to talk about a
general initial condition in this case? Consider
{ { 1, +, 1 }_2, +, 1 }_1
initial_condition will return 1 for the chrec even though that is not
correct because the initial condition is not constant in loop 1.
I suppose I'd only see that if instantiating the chrec at the point
where I placed the fix? So I really only see at most a single outer
conversion around the chrec?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42512