[libcxx-commits] [PATCH] D114805: [NFC][libc++] Recognize int128 as an ABI affecting property

David Tenty via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Wed Jan 26 07:34:16 PST 2022


daltenty created this revision.
Herald added a subscriber: mgorny.
daltenty edited the summary of this revision.
daltenty edited the summary of this revision.
daltenty published this revision for review.
daltenty added reviewers: ldionne, xingxue, sfertile.
daltenty added a subscriber: jsji.
Herald added a project: libc++.
Herald added a subscriber: libcxx-commits.
Herald added a reviewer: libc++.

Whether we have __int128 support in the compiler affects the resulting
library ABI, but there are a few places where we currently don't
reflect 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).


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D114805

Files:
  libcxx/CMakeLists.txt
  libcxx/include/__config
  libcxx/include/__config_site.in
  libcxx/lib/abi/CMakeLists.txt
  libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.no_new_in_libcxx.abilist
  libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.no_new_in_libcxx.int128.abilist
  libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.no_new_in_libcxx.abilist
  libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.no_new_in_libcxx.int128.abilist
  libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.no_new_in_libcxx.abilist
  libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.no_new_in_libcxx.int128.abilist



More information about the libcxx-commits mailing list