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