> -----Original Message-----
> From: Martin Sebor [mailto:[EMAIL PROTECTED] 
> 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 ?

Farid.

Reply via email to