Boost logo

Boost :

From: Ed Brey (brey_at_[hidden])
Date: 1999-07-08 14:59:03

Email seemed somewhat boring, until Reid Sweatman wrote:
>> This is the rationale:
>> It is seldom that a compiler can make the above proof.
>> Very few compilers implement the aforementioned optimization.
>Okay, so it appears I did understand it correctly. So basically, you're
>making a trade-off of exception-safety for speed, right? And just out of
>curiosity, can you or anyone else supply a list (even partial would be
>useful) of compilers that either do or don't optimize as you mention?
>Thanks. Just for the record, I'm currently working with the last service
>release of both VC++ 5 and 6, but with a possibility of going to CodeWarrior
>for Windows sometime in the indeterminate future and for reasons no one's
>bothered to make clear <g>. I'd be willing to bet a beer that MS compilers
>*don't* do the optimization, although sometimes they surprise you on stuff
>like that.

I'll let you decide for yourself whether you should email me a beer
or not. MS just ignores exception specifications alltogether - not
exactly what I'd call an optimization, but it means we don't have to
worry about a performance hit when specifying throw on a destructor.
(We also never gain a performance boost by the calling function taking
advantage of the throw specification, of course.)

The information I'm going off of is old, but is latest that I know of.
For example, with the latest (and greatest?) VC6 SP3, compiling a file
with exception specifications results in this warning:

= warning C4290: C++ Exception Specification ignored

But the help for the warning includes this:

= At this time the implementation details of exception specification have
= not been standardized, and are accepted but not implemented in Microsoft
= Visual C++.

Probably about the same vintage as their standard library implementation.
What a mess.

------------------------------------------------------------------------ home: - Simplifying group communications

Boost list run by bdawes at, gregod at, cpdaniel at, john at