Boost logo

Boost :

Subject: [boost] [exception]throw_exceptions concerns
From: Gennadiy Rozental (rogeeff_at_[hidden])
Date: 2009-01-02 08:19:56


Hi,

I am trying to look closely on to the warnings emitted during Boost.Test
compilation and I've noticed couple that makes me a bit concerned (these
are from msvc-7.1 toolset):

..\..\..\boost\throw_exception.hpp(58) : warning C4673: throwing
'boost::exception_detail::clone_impl<T>' the following types will not be
considered at the catch site
         with
         [
 
T=boost::exception_detail::enable_error_info_return_type<boost::bad_weak_ptr>::type
         ]
         ..\..\..\boost\detail\shared_count.hpp(407) : see reference to
function template instantiation 'void
boost::throw_exception<boost::bad_weak_ptr>(const E &)' being compiled
         with
         [
             E=boost::bad_weak_ptr
         ]
..\..\..\boost\throw_exception.hpp(58) : warning C4671: 'exception' :
the copy constructor is inaccessible

Here is the list of my concerns:

1. What does the first one means and should we worry?

2. Does the second means that std::exception is not copy constructible?
If yes can we disable it inside the header?

3. These warnings seems to be originated from the lines related to the
Boost.Exception. in this regard I've got following concerns:
   a) Was it agreed that practically all Boost users are now exposed to
the Boost.Exceptions library by default whether they are willing or not
   b) throw_exception documentation is now incorrect and misleading,
since it does not mention this

4. If let's say I would like to disable Boost.Exceptions exposure during
Boost.Test compilation, will it lead to the ODR violations?

Thanks,

Gennadiy


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk