<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Tue, Aug 12, 2014 at 3:07 AM, Renato Golin <span dir="ltr"><<a href="mailto:renato.golin@linaro.org" target="_blank">renato.golin@linaro.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="">On 11 August 2014 22:49, Richard Smith <<a href="mailto:richard@metafoo.co.uk">richard@metafoo.co.uk</a>> wrote:<br>

> Clang's behavior reflects the current intent of the C++ core working group.<br>
> This is core issue 1699, and the current resolution to that is to treat<br>
> everything that is lexically within a befriended entity as being befriended.<br>
> GCC does not yet implement the resolution to core issue 1699 (which is<br>
> reasonable, since it's not yet even resolved).<br>
<br>
</div>Shouldn't Clang only implement core issues with a special "bleeding edge" flag?</blockquote><div><br></div><div>No, I don't think so -- or at least, not as a general policy. These are bug fixes in the language, and it's not reasonable to expect us to maintain two different codepaths with and without the fix. In this particular case, Clang has (to my knowledge) never implemented anything other than the fixed version, long before the committee chose to make the fix.</div>
<div><br></div><div>There are a handful of core issues for which we do maintain old and new versions, controlled by the -std= flag, but those are weird and probably not a good idea. Likewise, there are some cases where we maintain two versions for compatibility with other compilers (notably, there are some of these under -fms-compatibility).</div>
</div></div></div>