This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug middle-end/42512] [4.5 Regression] integer wrong code bug with loop



------- 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]