[PATCH] D36501: add flag to undo ABI change in r310401
John McCall via cfe-commits
cfe-commits at lists.llvm.org
Thu Aug 24 12:55:56 PDT 2017
> On Aug 24, 2017, at 3:48 PM, Richard Smith <richard at metafoo.co.uk> wrote:
> On 24 August 2017 at 12:24, Paul Robinson via Phabricator via cfe-commits <cfe-commits at lists.llvm.org <mailto:cfe-commits at lists.llvm.org>> wrote:
> probinson added a comment.
> Locally we have a couple different tactics for dealing with changes that we can't support. A more coherent approach would be great.
> For example we defined a new TargetCXXABI::Kind value that is mostly GenericItaniumABI except where it isn't.
> 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.
> I'm looking into adding a more general mechanism to request ABI (bug) compatibility with a prior version of Clang.
> 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?)
> 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)?
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.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the cfe-commits