Compiler bugs [ Was: (yet another) Infernal compiler error ]
I have a programm that has several strange bugs, depending on options
and compiler versions used. I'm still trying to sepperate them and
make small test cases, but I think something is seriously wrong. The
code looks as follows (with a lot other stuff around).
double a,b;
a = angle();
if (abs(a - b) > 1E-10) {
cout << abs(a-b) << endl;
}
The output is something like
1.358376E-15
which isn't greater than 1E-10 by no means. A gets calculated just
before the if, so I would guess that some pipelining is wrong.
Does the alpha automatically stall the pipeline or does the compiler
have to insert nops?
MfG,
Goswin
Reply to: