This revision was automatically updated to reflect the committed changes.
Closed by commit rL302393: [libc++] Implement exception_ptr on Windows
(authored by EricWF).
Changed prior to commit:
https://reviews.llvm.org/D32927?vs=98119&id=98120#toc
Repository:
rL LLVM
https://reviews.llvm.org/
EricWF updated this revision to Diff 98119.
EricWF added a comment.
- Remove some missed XFAILS
https://reviews.llvm.org/D32927
Files:
include/exception
lib/CMakeLists.txt
src/exception.cpp
src/support/runtime/exception_pointer_msvc.ipp
test/libcxx/thread/futures/futures.promise/set_e
bcraig added a comment.
Getting the test suite green sooner rather than later seems like a good reason
to temporarily pick a 1-3 year solution rather than a 5+ year solution. Also,
as you mention, this isn't all throw away work, so it's still progress.
So yeah, this is fine to go in as is. LG
EricWF added a comment.
In https://reviews.llvm.org/D32927#748119, @bcraig wrote:
> libstdc++ and the Visual Studio C++ runtime have very different compatibility
> expectations.
I only meant to imply that linking to another standard library implementation
hasn't caused major issues
in the pas
bcraig added a comment.
libstdc++ and the Visual Studio C++ runtime have very different compatibility
expectations.
libstdc++ is generally bundled with the operating system. It maintains binary
compatibility over very long stretches of time. In most systems, there can
only be one libstdc++ l
EricWF added inline comments.
Comment at:
test/std/language.support/support.exception/propagation/current_exception.pass.cpp:10-11
-// exception_ptr has not been implemented on Windows
+// This test needs to be rewritten for the Windows exception_ptr semantics
+// which copy t
bcraig added inline comments.
Comment at:
test/std/language.support/support.exception/except.nested/rethrow_if_nested.pass.cpp:12
+
+// This test fails due to a stack overflow
// XFAIL: LIBCXX-WINDOWS-FIXME
EricWF wrote:
> BillyONeal wrote:
> > FWIW it does not
EricWF added a comment.
I think the medium to long term goal should be to replace the
`__ExceptionPtrFoo` functions we use with our own implementation, so we no
longer rely on these MSVC implementation details.
However it appears that we don't have access to the internal headers that we
might
EricWF added inline comments.
Comment at: include/exception:192
+#endif
+void* __ptr1_;
+void* __ptr2_;
STL_MSFT wrote:
> BillyONeal wrote:
> > I hope you realize you are doing "evil" unsupported things :). (We won't go
> > out of our way to break this,
STL_MSFT resigned from this revision.
STL_MSFT added inline comments.
Comment at: include/exception:192
+#endif
+void* __ptr1_;
+void* __ptr2_;
BillyONeal wrote:
> I hope you realize you are doing "evil" unsupported things :). (We won't go
> out of our w
BillyONeal added inline comments.
Comment at: include/exception:192
+#endif
+void* __ptr1_;
+void* __ptr2_;
I hope you realize you are doing "evil" unsupported things :). (We won't go out
of our way to break this, but if it does break we won't feel bad :
EricWF created this revision.
Herald added a subscriber: mgorny.
This patch implements exception_ptr on Windows using the `__ExceptionPtrFoo`
functions provided by MSVC. The `__ExceptionPtrFoo` functions are defined
inside the C++ standard library, `msvcprt`, which is unfortunate because it
req
12 matches
Mail list logo