[PATCH] D49240: [libc++] Introduce _LIBCPP_HIDE_FROM_ABI to replace _LIBCPP_INLINE_VISIBILITY

Eric Fiselier via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 26 14:47:12 PDT 2018


EricWF accepted this revision.
EricWF added a comment.

LGTM. Assuming this doesn't break the ABI list checks.

I talked to @ldionne about if we wanted to land this right before 7.0, but I think we can. If we have to disable the internal linkage change, we can at least keep the new naming scheme and start transitioning to it.



================
Comment at: libcxx/docs/DesignDocs/VisibilityMacros.rst:41
   this macro therefore expands to `__declspec(dllexport)` when building the
   library and has an empty definition otherwise.
 
----------------
Should we re-document `_LIBCPP_ALWAYS_INLINE` and `_LIBCPP_INTERNAL_LINKAGE`?


================
Comment at: libcxx/include/__config:770
 
-#ifndef _LIBCPP_INLINE_VISIBILITY
-#  if !defined(_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS)
-#    define _LIBCPP_INLINE_VISIBILITY __attribute__ ((__visibility__("hidden"), __always_inline__))
-#  else
-#    define _LIBCPP_INLINE_VISIBILITY __attribute__ ((__always_inline__))
-#  endif
+// _LIBCPP_INTERNAL_LINKAGE tries its best to give internal linkage (i.e.
+// the `static` keyword in C) to the function it is applied to. When the
----------------
Lets keep these comments in the design docs and not the headers. We want to keep our header size down.


Repository:
  rL LLVM

https://reviews.llvm.org/D49240





More information about the llvm-commits mailing list