[libcxx-commits] [PATCH] D142415: libcxx: Don't apply ABI tags to extern "C" fns

Arsenović Arsen via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Mon Jan 23 17:46:21 PST 2023


ArsenArsen added inline comments.


================
Comment at: libcxx/include/__config:631
 #    define _LIBCPP_HIDE_FROM_ABI                                                                                      \
-      _LIBCPP_HIDDEN _LIBCPP_EXCLUDE_FROM_EXPLICIT_INSTANTIATION                                                       \
-          __attribute__((__abi_tag__(_LIBCPP_TOSTRING(_LIBCPP_VERSIONED_IDENTIFIER))))
+      _LIBCPP_HIDE_FROM_ABI_C                                                                                          \
+      __attribute__((__abi_tag__(_LIBCPP_TOSTRING(_LIBCPP_VERSIONED_IDENTIFIER))))
----------------
ldionne wrote:
> Please don't modify this macro -- I know it's possible to "reuse" `_LIBCPP_HIDE_FROM_ABI_C` to define `_LIBCPP_HIDE_FROM_ABI`, but IMO adding a layer of indirection there makes things harder to understand. And since that is already extremely tricky, I don't think we should :-).
My reasoning for this was that the _C macro should reflect exactly the usual macro, save for the ABI tag, and so, reflecting that in the code seemed to make sense.

To save bouncing revisions around, I'll update with this changed, and we can just pick one of the revisions later.

This is also why this macro was awkwardly fit between this comment and conditional block, btw ;D


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D142415/new/

https://reviews.llvm.org/D142415



More information about the libcxx-commits mailing list