[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