[libcxx-commits] [PATCH] D118620: [SystemZ][z/OS] Build several exception derived classes as a separate library

Zibi Sarbino via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Mon Nov 7 09:48:50 PST 2022


zibi added a comment.

Addressing comments...



================
Comment at: libcxx/include/__memory/shared_ptr.h:50
 
+_LIBCPP_BEGIN_NAMESPACE_EXCEPTION
+
----------------
EricWF wrote:
> I don't think we want to formalize this different exception namespace. Especially as a versioned one (which it is by default).
> 
> The correct thing to do is place these types directly in namespace `std`, so their mangling never changes. `bad_weak_ptr` should have never gone in the versioned namespace, but that mistake was made, and now we're stuck with it (for now).
> 
> I'm OK with this change, but lets be verbose and do the ugly `#ifdef` blocks and namespace switching directly around `bad_weak_ptr`.
> 
> 
sure


================
Comment at: libcxx/src/CMakeLists.txt:138
+
+if (NOT ZOS)
+  list(APPEND LIBCXX_SOURCES ${LIBCXX_EXCEPTIONS_SOURCE})
----------------
EricWF wrote:
> This should be gated on the other CMake switch you're introducing, no?
Not really, we build the library multiple times to support ASCII and EBCDIC but the exception is being build  only once in EBCDIC encoding.  Using other CMake switch will build cxx with and without exception. On z/OS we don't want to build exception as part of cxx. This is the fundamental reason why we doing this change.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D118620



More information about the libcxx-commits mailing list