Bug#376213: [amd64] : compiler produces wrong code for <

2006-07-01 Thread Vincent Fourmond
Hello, > Hmm, I'm pretty sure that the type of "signed int" << "unsigned long" is > "signed int". (Yes it is, see 6.5.7.) "signed int" is 32 bits long and > the largest value is 2^31-1. 2^31 overflows and the overflow behaviour > of signed integers is undefined. Oops, that explains a lot. So

Bug#376213: [amd64] : compiler produces wrong code for <

2006-07-01 Thread Bastian Blank
On Sat, Jul 01, 2006 at 12:41:54AM +0200, Vincent Fourmond wrote: > There definitely *is* a problem in the last iteration. I wonder if it is a > compiler bug or a > processor bug -- I can't speak assembler anymore. This rather looks like UB or such. > int main() > { > unsigned long iters; >

Bug#376213: [amd64] : compiler produces wrong code for <

2006-06-30 Thread Vincent Fourmond
Package: gcc-4.1 Version: 4.1.1-5 Severity: important Justification: causes FTBS for at least one package (fftw) Hello ! I simply compile and run the program attached on my amd64 box, and I get the following results: iteration 0, iters = 1 iteration 1, iters = 2 iteration 2, iters = 4 it