On Tue, Sep 13, 2016 at 9:36 AM, sqweek E. <sqw...@gmail.com> wrote:
>
> The remaining examples sound indistinguishable from compiler bugs.

Developers of C/C++ compilers rigorously rely on the language
standard's definition of undefined behavior when optimizing programs.
This can lead to many behaviors that, when first encountered, are
often denounced as compiler bugs.  But the compiler's only promise is
to implement the language standard.

For example, until C++11 clarified that speculative stores were
forbidden, C/C++ compilers really did generate them, and it really did
baffle and confuse people and break programs including the Linux
kernel, but it was not wrong according to the then-relevant language
standards.  There are many similar cases.  It's easier to say that the
compiler is broken than it is to point to the rules that explain why
that is the case.

Ian

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to