[libcxx-commits] [PATCH] D58945: Fix ABI compatibility of `<stdexcept>` with VCRuntime.
Eric Fiselier via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Wed Mar 6 12:24:00 PST 2019
EricWF marked 3 inline comments as done.
EricWF added inline comments.
================
Comment at: include/stdexcept:96
+public:
+ explicit logic_error(const _VSTD::string&); // Symbol uses versioned std::string
+ _LIBCPP_INLINE_VISIBILITY explicit logic_error(const char* __s) : exception(__s) {}
----------------
ldionne wrote:
> Ah, so libc++ is using `std::string`, and vcruntime is using `std::__1::string`? But libc++ only defines `basic_string` in namespace `__1`, so aren't both actually referring to `std::__1::string`? I'm a bit confused.
>
The comment calls out the weirdness that `std::logic_error` isn't versioned, but `std::__1::string` is. So we don't actually provide the same as vcruntimes `logic_error`. But that shouldn't be a problem, and means we can put the constructor out-of-line.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D58945/new/
https://reviews.llvm.org/D58945
More information about the libcxx-commits
mailing list