stdcxx-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Martin Sebor <se...@roguewave.com>
Subject Re: svn commit: r553587 - /incubator/stdcxx/trunk/tests/self/0.new.cpp
Date Wed, 18 Jul 2007 04:12:08 GMT
Farid Zaripov wrote:
>> -----Original Message-----
>> From: Martin Sebor [mailto:sebor@roguewave.com] 
>> Sent: Friday, July 13, 2007 5:57 PM
>> To: stdcxx-dev@incubator.apache.org
>> Subject: Re: svn commit: r553587 - 
>> /incubator/stdcxx/trunk/tests/self/0.new.cpp
>>
>>>   To continue the execution and check another testcases the SIGSEGV 
>>> signal should be handled.
>> But the SIGSEGV indicates an error, while SIGABRT indicates 
>> the expected behavior. I.e., the replacement operator delete 
>> defined in the driver aborts when it's passed a pointer that 
>> wasn't returned from a prior call to the matching operator 
>> new. The operator should never segfault. Is the replacement 
>> operator not being called?
> 
>   No, because of _config-msvcrt.h, line 151:
> 
>    // operator new and delete is not reliably replaceable across
>    // shared library boundaries, which includes the shared library
>    // version of the language support library
> #define _RWSTD_NO_REPLACEABLE_NEW_DELETE
> 
>   Shall we install SIGSEGV signal handler only if
> _RWSTD_NO_REPLACEABLE_NEW_DELETE macro is #defined ?

Right. Then the test for the replacement operator new should be
guarded by the macro, shouldn't it?

Martin


Mime
View raw message