<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div><blockquote type="cite" class=""><div class="">On Aug 24, 2017, at 3:48 PM, Richard Smith <<a href="mailto:richard@metafoo.co.uk" class="">richard@metafoo.co.uk</a>> wrote:</div><div class=""><div dir="ltr" class=""><div class="gmail_extra"><div class="gmail_quote">On 24 August 2017 at 12:24, Paul Robinson via Phabricator via cfe-commits <span dir="ltr" class=""><<a href="mailto:cfe-commits@lists.llvm.org" target="_blank" class="">cfe-commits@lists.llvm.org</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">probinson added a comment.<br class="">
<br class="">
Locally we have a couple different tactics for dealing with changes that we can't support.  A more coherent approach would be great.<br class="">
For example we defined a new TargetCXXABI::Kind value that is mostly GenericItaniumABI except where it isn't.<br class="">
I personally did not do most of the various ABI-related tweaks so I don't claim to have a good handle on them, and we have been slow to get these things upstream; but I'd love to make that happen.</blockquote><div class=""><br class=""></div><div class="">I'm looking into adding a more general mechanism to request ABI (bug) compatibility with a prior version of Clang.</div><div class=""><br class=""></div><div class="">Paul: is the PS4 toolchain's ABI based on that of a particular Clang release, or is it a branch from trunk at some point? Or something else? (And which release / revision?)</div><div class=""><br class=""></div><div class="">John: X86_64ABIInfo::classifyIntegerMMXAsSSE() has a special case for Darwin OSes for compatibility with older Clang compilers; likewise for X86_64ABIInfo::honorsRevision0_98(). Is this a case of wanting compatibility with an older version of Clang by default when targeting Darwin, or is it just the case that the platform ABI is different for that target (where the historical reason for the different choice in the platform ABI was a bug in older versions of Clang)?</div></div></div></div>
</div></blockquote><br class=""></div><div>The latter.  There was a bug, and we decided that we weren't allowed to fix it, so it's the ABI now.  Note that there's no way to override the default.</div><div><br class=""></div><div>John.</div></body></html>