Re: gcc 3.3 / i386 / -O2 question

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

 



Joseph S. Myers wrote:
On Wed, 17 Nov 2004, Steven Bosscher wrote:


Remember, "Undefined behavior" is not the same thing as "Unspecified
behavior".  In the latter case, perhaps you're right.  Unspecified
behavior should be consistent independent of the compiler options
(and this behavior should be documented).  But for undefined behavior
you shouldn't expect anything.


No, it's implementation-defined behavior that is documented. Unspecified behavior has bounds of variation but need not be documented. For example, in evaluating "x = f() + g()", the order in which f() and g() are evaluated is unspecified and could vary with compiler options, but their
evaluation is not interleaved.

Requiring something to be documented does not necessarily constrain the possible semantics, although the idea here is that it is embarrassing to have documentation that defines the effect as completely undefined :-)



[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