[libcxx-commits] [PATCH] D58945: Fix ABI compatibility of `<stdexcept>` with VCRuntime.
Eric Fiselier via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Mon Mar 4 17:50:37 PST 2019
EricWF created this revision.
EricWF added reviewers: thomasanderson, ldionne.
Herald added a subscriber: jdoerfert.
EricWF added a parent revision: D58942: Make VCRuntime ABI configuration a first-class option..
Currently, libc++'s `<stdexcept>` doesn't play nice with `vcruntime`. Specifically:
- `logic_error` and `runtime_error` have a different layout.
- libc++'s `logic_error` and `runtime_error` override `what()` but `vcruntime` does not.
- `vcruntime` uses weak vtables for `<stdexcept>` types.
- libc++'s `<stdexcept>` constructors and assignment operators may have different manglings than `vcruntimes`.
This patch makes libc++'s declarations in `<stdexcept>` match those provided by MSVC's STL as closely as possible.
Repository:
rCXX libc++
https://reviews.llvm.org/D58945
Files:
include/stdexcept
src/stdexcept.cpp
src/support/runtime/stdexcept_default.ipp
src/support/runtime/stdexcept_vcruntime.ipp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D58945.189248.patch
Type: text/x-patch
Size: 9225 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20190305/f46dc6d3/attachment.bin>
More information about the libcxx-commits
mailing list