[libcxx-commits] [PATCH] D74870: Split _LIBCPP_STRING_EXTERN_TEMPLATE_LIST up into a V1 and UNSTABLE version.

Martijn Vels via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Wed Feb 19 13:39:23 PST 2020


mvels created this revision.
mvels added reviewers: EricWF, ldionne.
Herald added subscribers: libcxx-commits, dexonsmith.
Herald added a project: libc++.

This change splits the _LIBCPP_STRING_EXTERN_TEMPLATE_LIST up into a _LIBCPP_STRING_V1_EXTERN_TEMPLATE_LIST containing the stable ABI, and a _LIBCPP_STRING_UNSTABLE_EXTERN_TEMPLATE_LIST containing the unstable ABI.

The purpose is to explicitly define and maintain the two lists, where the unstable ABI allows for ABI breaking changes for purposes such as optimization while offering a strong guarantee that any change inside the unstable ABI does not affect the stable ABI.

As per the comment in the __string header, we do still allow etries to be added to the stable ABI list as the c++ versions and corresponding c++ std API changes.

Merge branch 'master' into unstable-abi-list


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D74870

Files:
  libcxx/include/__string
  libcxx/include/string
  libcxx/src/string.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D74870.245508.patch
Type: text/x-patch
Size: 8950 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20200219/67c221cf/attachment-0001.bin>


More information about the libcxx-commits mailing list