[EMAIL PROTECTED] wrote:

As a note to those who care. We run into so many compiler "over optimization bugs" from various compilers that we don't regularly report them any more. The worst offender, by far, is the Visual Studio .NET compiler. But, each has its own quirks.


In many cases which we've seen where we initially reported compiler
bugs after we updated compilers for Solaris. we've found that
new  behaviour in Solaris modified the way in which *incorrect* code
was optimized.

And note that a compiler is at liberty to optimize checks against
uninitialized variables such that the code path followed is *not*
possible for any of the possible values for the variable had it been
properly initalized.  I.e., undefined behaviour can be exactly that.
Yeah, I realize that -- I'm pretty familiar with compiler principles. We try to be pretty careful about that. valgrind on Linux helps a lot as it can report on any arguments, stack variables, heap variable, etc. that ever are used without initialization. I ran valgrind on perl as it is embedded in our app, but did not run it on the amd64 version during the perl build process which (iirc) is where the error occurred when optimization was turned up. So, I can't say for certain that this was a Sun Studio compiler bug.

Best regards.

Theo
_______________________________________________
opensolaris-discuss mailing list
[email protected]

Reply via email to