Page MenuHomePhabricator

[NFC][libc++] Recognize int128 as an ABI affecting property
DraftPublic

Authored by daltenty on Nov 30 2021, 8:12 AM.
This is a draft revision that has not yet been submitted for review.

Details

Reviewers
None
Summary

Whether we have __int128 support in the compiler affects the resulting
library ABI, but there are a few places where we currently don't
handle this.

Firstly, config dynamically detects _LIBCPP_HAS_NO_INT128 in the
public headers. This could generate inconsistent results with how the
library was built, if the user uses a compiler with
int128 support
while the library was build without. This change moves
_LIBCPP_HAS_NO_INT128 to config_site and introduces an option
LIBCXX_USE_INT128 that allows toggling
int128 usage even if it is
available in the build compiler.

Secondly, we add LIBCXX_USE_INT128 to the abi affecting properties for
abilists and update the extension of the existing lists. This will allow
us to generate consistent abis lists on platforms where some compilers
may support __int128 and others don't (e.g. AIX).

Diff Detail

Event Timeline

daltenty created this revision.Nov 30 2021, 8:12 AM