This is an archive of the discontinued LLVM Phabricator instance.

[libcxx] Implement exception_ptr on Windows without msvcprt.dll
Needs ReviewPublic

Authored by halyavin on Nov 15 2017, 4:37 AM.

Details

Summary

This change removes dependency on Microsoft STL implementation but adds dependency on VC runtime implementation. We will need to evolve and add #ifdef's to this code as new versions of Visual Studio runtime will come out.

Tested on x86 and x64, llvm clang 5.0, Visual Studio 2015 runtime.

Diff Detail

Event Timeline

halyavin created this revision.Nov 15 2017, 4:37 AM
halyavin updated this revision to Diff 125356.Dec 4 2017, 9:32 AM

Updated diff to include whole context.

majnemer added inline comments.
src/support/runtime/exception_pointer_msvc.ipp
119–123

Can't you use the image_base field in throw_info?

smeenai added a subscriber: smeenai.Dec 4 2017, 2:55 PM
halyavin marked an inline comment as done.Dec 4 2017, 11:03 PM
halyavin added inline comments.
src/support/runtime/exception_pointer_msvc.ipp
119–123

The structure throw_info doesn't have image_base field, it is EHParameters that does. Unfortunately EHParameters is not available in make_exception_ptr.

halyavin marked an inline comment as done.Dec 4 2017, 11:04 PM