> -----Original Message-----
> From: Martin Sebor [mailto:sebor@roguewave.com]
> Sent: Tuesday, August 14, 2007 7:39 PM
> To: stdcxx-dev@incubator.apache.org
> Subject: Re: svn commit: r563682 - in
> /incubator/stdcxx/trunk/src: once.cpp once.h
>
> Thanks for pointing it out! I noticed it too when I tested
> the change on Windows but I haven't decided how to deal with
> it yet. Compilers often assume that functions with C linkage
> don't throw exceptions and generate code that breaks when an
> exception does end up being thrown.
> I think MSVC is one of them, and gcc another. We should
> probably add a config test to determine whether a compiler
> allows exceptions to pass through C code and only rethrow the
> exception only when it does.
> In the opposite case we'll need to decide how to handle the exception.
> Any suggestions?
Why the internal function should be extern "C"?
Farid.
|