[libcxx-commits] [PATCH] D58203: [libc++] Inline stdexcept constructors, destructors, and assignment operators when using MSVC ABI

Eric Fiselier via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Wed Feb 13 14:21:26 PST 2019


EricWF requested changes to this revision.
EricWF added a comment.
This revision now requires changes to proceed.

hanks for looping me in. I'm working on a similar problem but with libstdc++.

I think the approach of creating specific visibility macros for the exception / runtime bits than need to be shared makes sense,
though the additional complexity is unfortunate.



================
Comment at: include/__config:1003
+#if defined(_LIBCPP_ABI_MICROSOFT) && !defined(_LIBCPP_NO_VCRUNTIME)
+#  define _LIBCPP_INLINE_STDEXCEPT
+#  define _LIBCPP_REFSTRING_TYPE_VISIBILITY _LIBCPP_TYPE_VIS
----------------
Can we choose a more descriptive name, starting with `_LIBCPP_ABI_`?

The macro should also be documented in `docs/DesignDocs/VisibilityMacros.rst`.


================
Comment at: src/include/refstring.h:69
 
-inline
+_LIBCPP_REFSTRING_INLINE_VISIBILITY
 __libcpp_refstring::__libcpp_refstring(const char* msg) {
----------------
These changes seem wrong. And I don't understand why the changes are needed in relation to MSVC.


Repository:
  rCXX libc++

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

https://reviews.llvm.org/D58203





More information about the libcxx-commits mailing list