llvm-project/libcxx/lib/abi
Louis Dionne da1b50d7df [libc++] Formalize what configurations are covered by the ABI lists
By encoding ABI-affecting properties in the name of the ABI list, it
makes it clear when an ABI list test should or should not be available,
and what results we should expect.

Note that we clearly don't encode all ABI-affecting parameters in the
name right now -- I just ported over what we supported in the code that
was there previously. As we encounter configurations that we wish to
support but produce different ABI lists, we can add those to the ABI
identifier and start supporting them.

This commit also starts checking the ABI list in the CI jobs that run
a supported configuration. Eventually, all configurations should have
a generated ABI list and the test should even run implicitly as part of
the Lit test suite.

Differential Revision: https://reviews.llvm.org/D92194
2020-11-27 10:01:07 -05:00
..
CHANGELOG.TXT [libc++] Remove ABI lists for previous releases 2020-11-26 14:45:07 -05:00
CMakeLists.txt [libc++] Formalize what configurations are covered by the ABI lists 2020-11-27 10:01:07 -05:00
README.TXT [libc++] Make it easier to re-generate the ABI lists 2020-11-02 11:36:35 -05:00
x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.no_new_in_libcxx.abilist [libc++] Formalize what configurations are covered by the ABI lists 2020-11-27 10:01:07 -05:00
x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.no_new_in_libcxx.abilist [libc++] Formalize what configurations are covered by the ABI lists 2020-11-27 10:01:07 -05:00

README.TXT

This directory contains abi lists representing the symbols exported
by the libc++ library. The lists are generated using libcxx/utils/generate_abi_list.py.

Every time a symbol is added or removed from the libc++ library, each of the
lists *MUST* be updated to reflect the changes. This can be done by using the
`generate-cxx-abilist` CMake target.

We do not keep an up-to-date ABI list for all the build configurations of libc++.
Currently, only the default configuration on MacOS and Linux are supported.