[PATCH] D38522: [libc++] Support Microsoft ABI without vcruntime headers

2017-10-09 Thread Shoaib Meenai via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL315234: [libc++] Support Microsoft ABI without vcruntime headers (authored by smeenai). Changed prior to commit: https://reviews.llvm.org/D38522?vs=117613&id=118251#toc Repository: rL LLVM https://r

[PATCH] D38522: [libc++] Support Microsoft ABI without vcruntime headers

2017-10-09 Thread Shoaib Meenai via Phabricator via cfe-commits
smeenai accepted this revision. smeenai added a comment. This revision is now accepted and ready to land. I spoke to @EricWF on IRC last week and got his approval to commit this without review if no one had gotten to it in a couple of days, so I'm going ahead with that. https://reviews.llvm.or

[PATCH] D38522: [libc++] Support Microsoft ABI without vcruntime headers

2017-10-03 Thread Shoaib Meenai via Phabricator via cfe-commits
smeenai added inline comments. Comment at: src/support/runtime/exception_msvc.ipp:31 +extern "C" { +typedef void(__CRTDECL* terminate_handler)(); +_ACRTIMP terminate_handler __cdecl set_terminate( smeenai wrote: > compnerd wrote: > > Really? clang-format removes

[PATCH] D38522: [libc++] Support Microsoft ABI without vcruntime headers

2017-10-03 Thread Shoaib Meenai via Phabricator via cfe-commits
smeenai added a comment. In https://reviews.llvm.org/D38522#887768, @compnerd wrote: > Why do we expect the tests to fail without vcruntime headers? msvcrt's implementations of the various new/delete operators call `__scrt_throw_std_bad_alloc` and `__scrt_throw_std_bad_array_new_length`, which

[PATCH] D38522: [libc++] Support Microsoft ABI without vcruntime headers

2017-10-03 Thread Saleem Abdulrasool via Phabricator via cfe-commits
compnerd added a comment. Why do we expect the tests to fail without vcruntime headers? Comment at: src/support/runtime/exception_msvc.ipp:31 +extern "C" { +typedef void(__CRTDECL* terminate_handler)(); +_ACRTIMP terminate_handler __cdecl set_terminate( Really?

[PATCH] D38522: [libc++] Support Microsoft ABI without vcruntime headers

2017-10-03 Thread Shoaib Meenai via Phabricator via cfe-commits
smeenai updated this revision to Diff 117613. smeenai added a comment. Remove SAL annotations as well; they're unneeded and add a header dependency https://reviews.llvm.org/D38522 Files: CMakeLists.txt docs/UsingLibcxx.rst include/__config_site.in include/exception include/new src/n

[PATCH] D38522: [libc++] Support Microsoft ABI without vcruntime headers

2017-10-03 Thread Shoaib Meenai via Phabricator via cfe-commits
smeenai created this revision. Herald added a subscriber: mgorny. The vcruntime headers are hairy and clash with both libc++ headers themselves and other libraries. libc++ normally deals with the clashes by deferring to the vcruntime headers and silencing its own definitions, but for clients which