Re: [PATCH RFC] do not throw in std::make_exception_ptr

2016-08-05 Thread Jason Merrill
On Wed, Aug 3, 2016 at 8:36 AM, Jonathan Wakely wrote: > On 03/08/16 15:02 +0300, Gleb Natapov wrote: >> >> On Wed, Aug 03, 2016 at 12:47:30PM +0100, Jonathan Wakely wrote: >>> Huh. If I'm reading the ABI spec correctly, we should terminate if the >>> copy constructor throws. >>> >> I'll make it t

Re: [PATCH RFC] do not throw in std::make_exception_ptr

2016-08-03 Thread Jonathan Wakely
On 03/08/16 15:02 +0300, Gleb Natapov wrote: On Wed, Aug 03, 2016 at 12:47:30PM +0100, Jonathan Wakely wrote: Huh. If I'm reading the ABI spec correctly, we should terminate if the copy constructor throws. I'll make it terminate like you've suggested then. Let's leave it as you had it origin

Re: [PATCH RFC] do not throw in std::make_exception_ptr

2016-08-03 Thread Gleb Natapov
On Wed, Aug 03, 2016 at 12:47:30PM +0100, Jonathan Wakely wrote: > > > > > > > + } // namespace __exception_ptr > > > > > > > > /// Obtain an exception_ptr pointing to a copy of the supplied object. > > > > template > > > > @@ -173,7 +184,15 @@ namespace std > > > > #if __cpp_exceptions > > >

Re: [PATCH RFC] do not throw in std::make_exception_ptr

2016-08-03 Thread Jonathan Wakely
On 03/08/16 14:26 +0300, Gleb Natapov wrote: On Wed, Aug 03, 2016 at 10:48:27AM +0100, Jonathan Wakely wrote: Does bad_exception need to move to ? I think only std::exception is really needed by . When I did header split I when with "move as much as possible" approach, not the other way arou

Re: [PATCH RFC] do not throw in std::make_exception_ptr

2016-08-03 Thread Gleb Natapov
On Wed, Aug 03, 2016 at 10:48:27AM +0100, Jonathan Wakely wrote: > On 28/07/16 10:20 +0300, Gleb Natapov wrote: > > [resent with hopefully correct libstdc++ mailing list address this time] > > > > Here is my attempt to fix > > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68297. The resulting patch

Re: [PATCH RFC] do not throw in std::make_exception_ptr

2016-08-03 Thread Jonathan Wakely
On 03/08/16 10:48 +0100, Jonathan Wakely wrote: On 28/07/16 10:20 +0300, Gleb Natapov wrote: +extern "C" __cxa_refcounted_exception* +__cxxabiv1::__cxa_init_primary_exception(void *obj, const std::type_info *tinfo, + void (_GLIBCXX_CDTOR_CALLABI *dest) (

Re: [PATCH RFC] do not throw in std::make_exception_ptr

2016-08-03 Thread Jonathan Wakely
On 28/07/16 10:20 +0300, Gleb Natapov wrote: [resent with hopefully correct libstdc++ mailing list address this time] Here is my attempt to fix https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68297. The resulting patch is a little bit long because I had to split and cxxabi.h "A little bit", yes

Re: [PATCH RFC] do not throw in std::make_exception_ptr

2016-07-31 Thread Gleb Natapov
On Sun, Jul 31, 2016 at 02:28:51PM +0100, Jonathan Wakely wrote: > On 28/07/16 10:20 +0300, Gleb Natapov wrote: > > [resent with hopefully correct libstdc++ mailing list address this time] > > > > Here is my attempt to fix > > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68297. The resulting patch

Re: [PATCH RFC] do not throw in std::make_exception_ptr

2016-07-31 Thread Jonathan Wakely
On 28/07/16 10:20 +0300, Gleb Natapov wrote: [resent with hopefully correct libstdc++ mailing list address this time] Here is my attempt to fix https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68297. The resulting patch is a little bit long because I had to split and cxxabi.h include files. The for

[PATCH RFC] do not throw in std::make_exception_ptr

2016-07-28 Thread Gleb Natapov
[resent with hopefully correct libstdc++ mailing list address this time] Here is my attempt to fix https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68297. The resulting patch is a little bit long because I had to split and cxxabi.h include files. The former had to be split due to circular dependency

[PATCH RFC] do not throw in std::make_exception_ptr

2016-07-28 Thread Gleb Natapov
Here is my attempt to fix https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68297. The resulting patch is a little bit long because I had to split and cxxabi.h include files. The former had to be split due to circular dependency that formed after including in exception_ptr.h and the later is because o