1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- diff --git a/include/__exception/exception_ptr.h b/include/__exception/exception_ptr.h
- index 970d819..03d3843 100644
- --- a/include/__exception/exception_ptr.h
- +++ b/include/__exception/exception_ptr.h
- @@ -21,7 +21,6 @@
-
- namespace std { // purposefully not using versioning namespace
-
- -#ifndef _LIBCPP_ABI_MICROSOFT
-
- class _LIBCPP_EXPORTED_FROM_ABI exception_ptr {
- void* __ptr_;
- @@ -44,10 +43,19 @@ public:
- return !(__x == __y);
- }
-
- + friend _LIBCPP_HIDE_FROM_ABI void swap(exception_ptr& __x, exception_ptr& __y) _NOEXCEPT
- + {
- + void* __tmp = __x.__ptr_;
- + __x.__ptr_ = __y.__ptr_;
- + __y.__ptr_ = __tmp;
- + }
- +
- friend _LIBCPP_EXPORTED_FROM_ABI exception_ptr current_exception() _NOEXCEPT;
- friend _LIBCPP_EXPORTED_FROM_ABI void rethrow_exception(exception_ptr);
- };
-
- +#ifndef _LIBCPP_ABI_MICROSOFT
- +
- template <class _Ep>
- _LIBCPP_HIDE_FROM_ABI exception_ptr make_exception_ptr(_Ep __e) _NOEXCEPT {
- # ifndef _LIBCPP_HAS_NO_EXCEPTIONS
- @@ -64,34 +72,7 @@ _LIBCPP_HIDE_FROM_ABI exception_ptr make_exception_ptr(_Ep __e) _NOEXCEPT {
-
- #else // _LIBCPP_ABI_MICROSOFT
-
- -class _LIBCPP_EXPORTED_FROM_ABI exception_ptr {
- - _LIBCPP_DIAGNOSTIC_PUSH
- - _LIBCPP_CLANG_DIAGNOSTIC_IGNORED("-Wunused-private-field")
- - void* __ptr1_;
- - void* __ptr2_;
- - _LIBCPP_DIAGNOSTIC_POP
- -
- -public:
- - exception_ptr() _NOEXCEPT;
- - exception_ptr(nullptr_t) _NOEXCEPT;
- - exception_ptr(const exception_ptr& __other) _NOEXCEPT;
- - exception_ptr& operator=(const exception_ptr& __other) _NOEXCEPT;
- - exception_ptr& operator=(nullptr_t) _NOEXCEPT;
- - ~exception_ptr() _NOEXCEPT;
- - explicit operator bool() const _NOEXCEPT;
- -};
- -
- -_LIBCPP_EXPORTED_FROM_ABI bool operator==(const exception_ptr& __x, const exception_ptr& __y) _NOEXCEPT;
- -
- -inline _LIBCPP_HIDE_FROM_ABI bool operator!=(const exception_ptr& __x, const exception_ptr& __y) _NOEXCEPT {
- - return !(__x == __y);
- -}
- -
- -_LIBCPP_EXPORTED_FROM_ABI void swap(exception_ptr&, exception_ptr&) _NOEXCEPT;
- -
- -_LIBCPP_EXPORTED_FROM_ABI exception_ptr __copy_exception_ptr(void* __except, const void* __ptr);
- -_LIBCPP_EXPORTED_FROM_ABI exception_ptr current_exception() _NOEXCEPT;
- -_LIBCPP_NORETURN _LIBCPP_EXPORTED_FROM_ABI void rethrow_exception(exception_ptr);
- +_LIBCPP_HIDE_FROM_ABI exception_ptr __copy_exception_ptr(void *__exception, const void* __ptr);
-
- // This is a built-in template function which automagically extracts the required
- // information.
- @@ -99,7 +80,7 @@ template <class _E>
- void* __GetExceptionInfo(_E);
-
- template <class _Ep>
- -_LIBCPP_HIDE_FROM_ABI exception_ptr make_exception_ptr(_Ep __e) _NOEXCEPT {
- +exception_ptr make_exception_ptr(_Ep __e) _NOEXCEPT {
- return __copy_exception_ptr(std::addressof(__e), __GetExceptionInfo(__e));
- }
-
|