[PATCH] D94364: [clang] Allow specifying the aapcs and aapcs-vfp for windows on arm

Martin Storsjö via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Jan 11 11:21:06 PST 2021


mstorsjo added a comment.

In D94364#2490743 <https://reviews.llvm.org/D94364#2490743>, @compnerd wrote:

> Can you please add some more context around the motivation for this change?  It seems ... unnecessary as everything is already AAPCS/AAPCS-VFP.

Yeah it's a redundant attribute, but I don't think we'd need to warn about it, but could accept it as well. Aapcs-vfp would be a no-op while plain aapcs would pass floats in gprs.

The reason for the patch is from wine; wine uses `__attribute__((pcs("aapcs-vfp")))` (within an `#ifdef __GNUC__`) to get the right hardfloat calling convention when building for linux with a softfloat ABI (like e.g. the android userspace). If using those headers for targeting mingw, it triggers warnings with clang - and I didn't see why one shouldn't accept these attributes even on that target. I could try making wine stop using the redundant attribute when actully building code for a mingw target too, though.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D94364/new/

https://reviews.llvm.org/D94364



More information about the cfe-commits mailing list