[PATCH] D49914: [libc++] Add the _LIBCPP_HIDE_FROM_ABI_AFTER_V1 macro

Louis Dionne via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Jul 27 06:43:20 PDT 2018


ldionne created this revision.
ldionne added reviewers: EricWF, mclow.lists.
Herald added subscribers: cfe-commits, dexonsmith, christof.
ldionne added a comment.

This is the second step of the proposal aiming to remove uses of `__always_inline__` in the visibility macros. This proposal is documented on the list here: http://lists.llvm.org/pipermail/cfe-dev/2018-July/058633.html


This macro allows hiding symbols from the ABI when the library is built
with an ABI version after ABI v1, which is currently the only stable ABI.
This commit defines `_LIBCPP_EXTERN_TEMPLATE_INLINE_VISIBILITY` to be
`_LIBCPP_HIDE_FROM_ABI_AFTER_V1`, meaning that symbols that were only
exported by the library for historical reasons are not exported anymore
in the unstable ABI.

Because of that, this commit is an ABI break for ABI v2. This ABI version
is not stable, however, so this should not be a problem.


Repository:
  rCXX libc++

https://reviews.llvm.org/D49914

Files:
  libcxx/docs/DesignDocs/VisibilityMacros.rst
  libcxx/include/__config
  libcxx/lib/abi/x86_64-apple-darwin.v2.abilist

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D49914.157678.patch
Type: text/x-patch
Size: 28700 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20180727/4d125449/attachment-0001.bin>


More information about the cfe-commits mailing list