Skip to content

__ARM_PCS_AAPCS64 is incorrectly defined for aarch64-macos, aarch64-windows/aarch64-mingw and a few other aarch64 targets #170262

@pinskia

Description

@pinskia

According to the ACLE __ARM_PCS_AAPCS64 should only be defined:

__ARM_PCS_AAPCS64 is defined to 1 if the default procedure calling standard for the translation unit conforms to the [[AAPCS64]](https://arm-software.github.io/acle/main/acle.html#AAPCS64). 

But windows/mingw procedure call standard is different from AAPCS64 (e.g. var_args is different).
Mac OS's precedure calling standard is also different (e.g. arguments are zero/sign extended).

I should note I found this while auditing GCC's macros definitions too (and yes GCC incorrectly defines it).

Metadata

Metadata

Assignees

No one assigned

    Labels

    clang:frontendLanguage frontend issues, e.g. anything involving "Sema"

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions