[PATCHv2] do not throw in std::make_exception_ptr
Jonathan Wakely
jwakely@redhat.com
Fri Oct 21 12:57:00 GMT 2016
On 21/10/16 15:33 +0300, Gleb Natapov wrote:
>On Fri, Oct 21, 2016 at 02:58:26PM +0300, Gleb Natapov wrote:
>> On Fri, Oct 21, 2016 at 12:44:39PM +0100, Jonathan Wakely wrote:
>> > On 21/10/16 14:36 +0300, Gleb Natapov wrote:
>> > > On Thu, Oct 20, 2016 at 11:53:49PM -0400, Ryan Burn wrote:
>> > > > Are exception classes required to support emplace new construction
>> > > > like that? With this change, Intel's TBB library no longer compiles
>> > > > because its exception class declares it's own new operator (see
>> > > > https://github.com/wjakob/tbb/blob/master/include/tbb/tbb_exception.h):
>> > > >
>> > > Can you test this patch please:
>> >
>> > That doesn't help, the overloaded new still prevents placement new.
>> > Dammit.
>> >
>> Hmm, are you sure. This program compiles for me (while fails without ::):
>>
>Looks like tbb also compiles and pass tests.
Bah! I didn't include <new> in my test.
I'll make that change, thanks.
>> #include<new>
>> #include <stdlib.h>
>>
>> struct S {
>> void* operator new (unsigned long size);
>> };
>>
>> main() {
>> void* p = malloc(sizeof(S));
>> ::new(p) S();
>> }
>>
>> --
>> Gleb.
>
>--
> Gleb.
More information about the Libstdc++
mailing list