gcc 4.2.2: unexpected difference in behavior between -O0 and -Ox for x = 1, 2, 3

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello there,
I wrote a program that numerically integrates a morse
potential, given starting and ending points, using
simpsons rule.  It turns out I forgot to include

return(integral);

at the end of the function.  What I noticed was that
if I used gcc -O0 the program would work fine, but if
I used any level of optimization it would give near
zero for the integral when it should be between 1 and
9.  Also, if I put in a printf("%8.3e\n", integral) at
the end the program gives the correct answers when
optimizations are turned on.  

My question is why does the buggy code give the
correct answer with no optimizations, but an incorrect
answer with optimizations turned on?

Thanks,
Benj FitzPatrick

[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux