On Thu, Aug 13, 2015 at 7:47 PM, Mike Stump <mikest...@comcast.net> wrote:
> On Aug 13, 2015, at 3:05 AM, Richard Biener <richard.guent...@gmail.com> 
> wrote:
>> Ok, then guard the << >> with __GCC__ and do the expensive bit stuff
>> otherwise.  Just to cater for other host compilers doing sth unsensibly
>> implementation defined.
>
> Ick.  The guard should be specific to the implementation defined semantic or 
> undefined semantic, and then when compiling with gcc, we turn it on.  My take 
> is that when we do this, we should add the 5 or 10 other most popular 
> compilers to the list of how they behave so that they all do the cheap path 
> code as well.  If the language standard were serious in this area, it would 
> specify a header file that can define the implementation defined and 
> undefined semantics that are interesting for portable code.  It isn’t.  If it 
> were, we would then just use the standard defined guards.

GCC is always used to build stage2+ so I don't see the need to handle
alternate host compilers.

> The language standard should be improved to directly state the possible 
> implementation choices and to require the implementation to communicate to 
> the program which choice it made.

Reply via email to