
The ptr_container header files seem to be causing a lot of very verbose and annoying warning messages on Visual Studio 2008 at warning level 4 (highest). I'm not sure if this is my fault or what, but I was hoping you guys could verify if this is your issue or mine. Thanks. Below are the warnings I'm getting: 1>c:\it\personal\collision\sdk\boost\boost\ptr_container\detail\move.hpp(23) : warning C4512: 'boost::ptr_container_detail::move_ptrs::move_source<Ptr>' : assignment operator could not be generated 1> with 1> [ 1> Ptr=boost::ptr_container_detail::static_move_ptr<Object,boost::ptr_container_detail::clone_deleter<boost::ptr_container_detail::reversible_ptr_container<boost::ptr_container_detail::sequence_config<Object,std::vector<void *,std::allocator<void *>>>,boost::heap_clone_allocator>::null_clone_allocator<false>>> 1> ] 1> c:\it\personal\collision\sdk\boost\boost\ptr_container\ptr_sequence_adapter.hpp(182) : see reference to class template instantiation 'boost::ptr_container_detail::move_ptrs::move_source<Ptr>' being compiled 1> with 1> [ 1> Ptr=boost::ptr_container_detail::static_move_ptr<Object,boost::ptr_container_detail::clone_deleter<boost::ptr_container_detail::reversible_ptr_container<boost::ptr_container_detail::sequence_config<Object,std::vector<void *,std::allocator<void *>>>,boost::heap_clone_allocator>::null_clone_allocator<false>>> 1> ] 1> c:\it\personal\collision\sdk\boost\boost\ptr_container\ptr_sequence_adapter.hpp(179) : while compiling class template member function 'void boost::ptr_sequence_adapter<T,VoidPtrSeq,CloneAllocator>::push_back(Object *)' 1> with 1> [ 1> T=Object, 1> VoidPtrSeq=std::vector<void *,std::allocator<void *>>, 1> CloneAllocator=boost::heap_clone_allocator 1> ] 1> c:\it\personal\collision\sdk\boost\boost\ptr_container\ptr_vector.hpp(35) : see reference to class template instantiation 'boost::ptr_sequence_adapter<T,VoidPtrSeq,CloneAllocator>' being compiled 1> with 1> [ 1> T=Object, 1> VoidPtrSeq=std::vector<void *,std::allocator<void *>>, 1> CloneAllocator=boost::heap_clone_allocator 1> ] 1> c:\it\personal\collision\source\world.h(20) : see reference to class template instantiation 'boost::ptr_vector<T>' being compiled 1> with 1> [ 1> T=Object 1> ] 1>c:\it\personal\collision\sdk\boost\boost\ptr_container\detail\reversible_ptr_container.hpp(245) : warning C4127: conditional expression is constant 1> c:\it\personal\collision\sdk\boost\boost\ptr_container\detail\reversible_ptr_container.hpp(244) : while compiling class template member function 'void boost::ptr_container_detail::reversible_ptr_container<Config,CloneAllocator>::enforce_null_policy(const Object *,const char *)' 1> with 1> [ 1> Config=boost::ptr_container_detail::sequence_config<Object,std::vector<void *,std::allocator<void *>>>, 1> CloneAllocator=boost::heap_clone_allocator 1> ] 1> c:\it\personal\collision\sdk\boost\boost\ptr_container\ptr_sequence_adapter.hpp(132) : see reference to class template instantiation 'boost::ptr_container_detail::reversible_ptr_container<Config,CloneAllocator>' being compiled 1> with 1> [ 1> Config=boost::ptr_container_detail::sequence_config<Object,std::vector<void *,std::allocator<void *>>>, 1> CloneAllocator=boost::heap_clone_allocator 1> ] 1>c:\it\personal\collision\sdk\boost\boost\ptr_container\detail\reversible_ptr_container.hpp(247) : warning C4127: conditional expression is constant 1>c:\it\personal\collision\sdk\boost\boost\ptr_container\detail\reversible_ptr_container.hpp(110) : warning C4127: conditional expression is constant 1> c:\it\personal\collision\sdk\boost\boost\ptr_container\detail\reversible_ptr_container.hpp(109) : while compiling class template member function 'void boost::ptr_container_detail::reversible_ptr_container<Config,CloneAllocator>::null_clone_allocator<allow_null_values>::deallocate_clone(const Object *)' 1> with 1> [ 1> Config=boost::ptr_container_detail::sequence_config<Object,std::vector<void *,std::allocator<void *>>>, 1> CloneAllocator=boost::heap_clone_allocator, 1> allow_null_values=false 1> ] 1> c:\it\personal\collision\sdk\boost\boost\ptr_container\detail\reversible_ptr_container.hpp(52) : see reference to class template instantiation 'boost::ptr_container_detail::reversible_ptr_container<Config,CloneAllocator>::null_clone_allocator<allow_null_values>' being compiled 1> with 1> [ 1> Config=boost::ptr_container_detail::sequence_config<Object,std::vector<void *,std::allocator<void *>>>, 1> CloneAllocator=boost::heap_clone_allocator, 1> allow_null_values=false 1> ] 1> c:\it\personal\collision\sdk\boost\boost\ptr_container\detail\static_move_ptr.hpp(85) : see reference to function template instantiation 'void boost::ptr_container_detail::clone_deleter<CloneAllocator>::operator ()<Object>(const T *) const' being compiled 1> with 1> [ 1> CloneAllocator=boost::ptr_container_detail::reversible_ptr_container<boost::ptr_container_detail::sequence_config<Object,std::vector<void *,std::allocator<void *>>>,boost::heap_clone_allocator>::null_clone_allocator<false>, 1> T=Object 1> ] 1> c:\it\personal\collision\sdk\boost\boost\ptr_container\detail\static_move_ptr.hpp(85) : while compiling class template member function 'boost::ptr_container_detail::static_move_ptr<T,Deleter>::~static_move_ptr(void)' 1> with 1> [ 1> T=Object, 1> Deleter=boost::ptr_container_detail::clone_deleter<boost::ptr_container_detail::reversible_ptr_container<boost::ptr_container_detail::sequence_config<Object,std::vector<void *,std::allocator<void *>>>,boost::heap_clone_allocator>::null_clone_allocator<false>> 1> ] 1> c:\it\personal\collision\sdk\boost\boost\ptr_container\ptr_sequence_adapter.hpp(182) : see reference to class template instantiation 'boost::ptr_container_detail::static_move_ptr<T,Deleter>' being compiled 1> with 1> [ 1> T=Object, 1> Deleter=boost::ptr_container_detail::clone_deleter<boost::ptr_container_detail::reversible_ptr_container<boost::ptr_container_detail::sequence_config<Object,std::vector<void *,std::allocator<void *>>>,boost::heap_clone_allocator>::null_clone_allocator<false>> 1> ] 1> c:\it\personal\collision\sdk\boost\boost\ptr_container\ptr_sequence_adapter.hpp(179) : while compiling class template member function 'void boost::ptr_sequence_adapter<T,VoidPtrSeq,CloneAllocator>::push_back(Object *)' 1> with 1> [ 1> T=Object, 1> VoidPtrSeq=std::vector<void *,std::allocator<void *>>, 1> CloneAllocator=boost::heap_clone_allocator 1> ]

I've seen similar and supressed with a bracket of #if defined (BOOST_MSVC) # pragma warning(push) # pragma warning(disable: 4512) // "assignment operator could not be generated." # pragma warning(disable: 4127) // "conditional expression is constant." # pragma warning(disable: 4100) // "'boost_parameter_enabler_argument' : unreferenced formal parameter" #endif your includes your code.... #if defined (BOOST_MSVC) # pragma warning(pop) #endif But it really would be nice if *All* Boost code could have warnings suppressed properly. The situation is imporoving, but we have some way to go. The impression a blizzard of pages and pages and pages of these warnings gives is really bad :-(( Paul --- Paul A Bristow Prizet Farmhouse, Kendal, Cumbria UK LA8 8AB +44 1539561830 & SMS, Mobile +44 7714 330204 & SMS pbristow@hetp.u-net.com
-----Original Message----- From: boost-bounces@lists.boost.org [mailto:boost-bounces@lists.boost.org] On Behalf Of Robert Dailey Sent: 29 November 2007 18:28 To: boost-dev Subject: [boost] Lots of warnings
The ptr_container header files seem to be causing a lot of very verbose and annoying warning messages on Visual Studio 2008 at warning level 4 (highest). I'm not sure if this is my fault or what, but I was hoping you guys could verify if this is your issue or mine. Thanks. Below are the warnings I'm getting:
1>c:\it\personal\collision\sdk\boost\boost\ptr_container\detail \move.hpp(23) : warning C4512: 'boost::ptr_container_detail::move_ptrs::move_source<Ptr>' : assignment operator could not be generated 1> with 1> [ 1> Ptr=boost::ptr_container_detail::static_move_ptr<Object,boost:: ptr_container_detail::clone_deleter<boost::ptr_container_detail ::reversible_ptr_container<boost::ptr_container_detail::sequenc e_config<Object,std::vector<void *,std::allocator<void *>>>,boost::heap_clone_allocator>::null_clone_allocator<false>>> 1> ] 1> c:\it\personal\collision\sdk\boost\boost\ptr_container\ptr_sequ ence_adapter.hpp(182) : see reference to class template instantiation 'boost::ptr_container_detail::move_ptrs::move_source<Ptr>' being compiled 1> with 1> [ 1> Ptr=boost::ptr_container_detail::static_move_ptr<Object,boost:: ptr_container_detail::clone_deleter<boost::ptr_container_detail ::reversible_ptr_container<boost::ptr_container_detail::sequenc e_config<Object,std::vector<void *,std::allocator<void *>>>,boost::heap_clone_allocator>::null_clone_allocator<false>>> 1> ] 1> c:\it\personal\collision\sdk\boost\boost\ptr_container\ptr_sequ ence_adapter.hpp(179) : while compiling class template member function 'void boost::ptr_sequence_adapter<T,VoidPtrSeq,CloneAllocator>::push_ back(Object *)' 1> with 1> [ 1> T=Object, 1> VoidPtrSeq=std::vector<void *,std::allocator<void *>>, 1> CloneAllocator=boost::heap_clone_allocator 1> ] 1> c:\it\personal\collision\sdk\boost\boost\ptr_container\ptr_vect or.hpp(35) : see reference to class template instantiation 'boost::ptr_sequence_adapter<T,VoidPtrSeq,CloneAllocator>' being compiled 1> with 1> [ 1> T=Object, 1> VoidPtrSeq=std::vector<void *,std::allocator<void *>>, 1> CloneAllocator=boost::heap_clone_allocator 1> ] 1> c:\it\personal\collision\source\world.h(20) : see reference to class template instantiation 'boost::ptr_vector<T>' being compiled 1> with 1> [ 1> T=Object 1> ] 1>c:\it\personal\collision\sdk\boost\boost\ptr_container\detail \reversible_ptr_container.hpp(245) : warning C4127: conditional expression is constant 1> c:\it\personal\collision\sdk\boost\boost\ptr_container\detail\r eversible_ptr_container.hpp(244) : while compiling class template member function 'void boost::ptr_container_detail::reversible_ptr_container<Config,Cl oneAllocator>::enforce_null_policy(const Object *,const char *)' 1> with 1> [ 1> Config=boost::ptr_container_detail::sequence_config<Object,std: :vector<void *,std::allocator<void *>>>, 1> CloneAllocator=boost::heap_clone_allocator 1> ] 1> c:\it\personal\collision\sdk\boost\boost\ptr_container\ptr_sequ ence_adapter.hpp(132) : see reference to class template instantiation 'boost::ptr_container_detail::reversible_ptr_container<Config,C loneAllocator>' being compiled 1> with 1> [ 1> Config=boost::ptr_container_detail::sequence_config<Object,std: :vector<void *,std::allocator<void *>>>, 1> CloneAllocator=boost::heap_clone_allocator 1> ] 1>c:\it\personal\collision\sdk\boost\boost\ptr_container\detail \reversible_ptr_container.hpp(247) : warning C4127: conditional expression is constant 1>c:\it\personal\collision\sdk\boost\boost\ptr_container\detail \reversible_ptr_container.hpp(110) : warning C4127: conditional expression is constant 1> c:\it\personal\collision\sdk\boost\boost\ptr_container\detail\r eversible_ptr_container.hpp(109) : while compiling class template member function 'void boost::ptr_container_detail::reversible_ptr_container<Config,Cl oneAllocator>::null_clone_allocator<allow_null_values>::dealloc ate_clone(const Object *)' 1> with 1> [ 1> Config=boost::ptr_container_detail::sequence_config<Object,std: :vector<void *,std::allocator<void *>>>, 1> CloneAllocator=boost::heap_clone_allocator, 1> allow_null_values=false 1> ] 1> c:\it\personal\collision\sdk\boost\boost\ptr_container\detail\r eversible_ptr_container.hpp(52) : see reference to class template instantiation 'boost::ptr_container_detail::reversible_ptr_container<Config,C loneAllocator>::null_clone_allocator<allow_null_values>' being compiled 1> with 1> [ 1> Config=boost::ptr_container_detail::sequence_config<Object,std: :vector<void *,std::allocator<void *>>>, 1> CloneAllocator=boost::heap_clone_allocator, 1> allow_null_values=false 1> ] 1> c:\it\personal\collision\sdk\boost\boost\ptr_container\detail\s tatic_move_ptr.hpp(85) : see reference to function template instantiation 'void boost::ptr_container_detail::clone_deleter<CloneAllocator>::operator ()<Object>(const T *) const' being compiled 1> with 1> [ 1> CloneAllocator=boost::ptr_container_detail::reversible_ptr_cont ainer<boost::ptr_container_detail::sequence_config<Object,std:: vector<void *,std::allocator<void *>>>,boost::heap_clone_allocator>::null_clone_allocator<false>, 1> T=Object 1> ] 1> c:\it\personal\collision\sdk\boost\boost\ptr_container\detail\s tatic_move_ptr.hpp(85) : while compiling class template member function 'boost::ptr_container_detail::static_move_ptr<T,Deleter>::~stat ic_move_ptr(void)' 1> with 1> [ 1> T=Object, 1> Deleter=boost::ptr_container_detail::clone_deleter<boost::ptr_c ontainer_detail::reversible_ptr_container<boost::ptr_container_ detail::sequence_config<Object,std::vector<void *,std::allocator<void *>>>,boost::heap_clone_allocator>::null_clone_allocator<false>> 1> ] 1> c:\it\personal\collision\sdk\boost\boost\ptr_container\ptr_sequ ence_adapter.hpp(182) : see reference to class template instantiation 'boost::ptr_container_detail::static_move_ptr<T,Deleter>' being compiled 1> with 1> [ 1> T=Object, 1> Deleter=boost::ptr_container_detail::clone_deleter<boost::ptr_c ontainer_detail::reversible_ptr_container<boost::ptr_container_ detail::sequence_config<Object,std::vector<void *,std::allocator<void *>>>,boost::heap_clone_allocator>::null_clone_allocator<false>> 1> ] 1> c:\it\personal\collision\sdk\boost\boost\ptr_container\ptr_sequ ence_adapter.hpp(179) : while compiling class template member function 'void boost::ptr_sequence_adapter<T,VoidPtrSeq,CloneAllocator>::push_ back(Object *)' 1> with 1> [ 1> T=Object, 1> VoidPtrSeq=std::vector<void *,std::allocator<void *>>, 1> CloneAllocator=boost::heap_clone_allocator 1> ] _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

I don't suppose I'd be able to paste that code in the header files themselves and check them in. On Nov 30, 2007 5:21 AM, Paul A Bristow <pbristow@hetp.u-net.com> wrote:
I've seen similar and supressed with a bracket of
#if defined (BOOST_MSVC) # pragma warning(push) # pragma warning(disable: 4512) // "assignment operator could not be generated." # pragma warning(disable: 4127) // "conditional expression is constant." # pragma warning(disable: 4100) // "'boost_parameter_enabler_argument' : unreferenced formal parameter" #endif
your includes
your code....
#if defined (BOOST_MSVC) # pragma warning(pop) #endif
But it really would be nice if *All* Boost code could have warnings suppressed properly. The situation is imporoving, but we have some way to go.
The impression a blizzard of pages and pages and pages of these warnings gives is really bad :-((
Paul
--- Paul A Bristow Prizet Farmhouse, Kendal, Cumbria UK LA8 8AB +44 1539561830 & SMS, Mobile +44 7714 330204 & SMS pbristow@hetp.u-net.com
-----Original Message----- From: boost-bounces@lists.boost.org [mailto:boost-bounces@lists.boost.org] On Behalf Of Robert Dailey Sent: 29 November 2007 18:28 To: boost-dev Subject: [boost] Lots of warnings
The ptr_container header files seem to be causing a lot of very verbose and annoying warning messages on Visual Studio 2008 at warning level 4 (highest). I'm not sure if this is my fault or what, but I was hoping you guys could verify if this is your issue or mine. Thanks. Below are the warnings I'm getting:
1>c:\it\personal\collision\sdk\boost\boost\ptr_container\detail \move.hpp(23) : warning C4512: 'boost::ptr_container_detail::move_ptrs::move_source<Ptr>' : assignment operator could not be generated 1> with 1> [ 1> Ptr=boost::ptr_container_detail::static_move_ptr<Object,boost:: ptr_container_detail::clone_deleter<boost::ptr_container_detail ::reversible_ptr_container<boost::ptr_container_detail::sequenc e_config<Object,std::vector<void *,std::allocator<void *>>>,boost::heap_clone_allocator>::null_clone_allocator<false>>> 1> ] 1> c:\it\personal\collision\sdk\boost\boost\ptr_container\ptr_sequ ence_adapter.hpp(182) : see reference to class template instantiation 'boost::ptr_container_detail::move_ptrs::move_source<Ptr>' being compiled 1> with 1> [ 1> Ptr=boost::ptr_container_detail::static_move_ptr<Object,boost:: ptr_container_detail::clone_deleter<boost::ptr_container_detail ::reversible_ptr_container<boost::ptr_container_detail::sequenc e_config<Object,std::vector<void *,std::allocator<void *>>>,boost::heap_clone_allocator>::null_clone_allocator<false>>> 1> ] 1> c:\it\personal\collision\sdk\boost\boost\ptr_container\ptr_sequ ence_adapter.hpp(179) : while compiling class template member function 'void boost::ptr_sequence_adapter<T,VoidPtrSeq,CloneAllocator>::push_ back(Object *)' 1> with 1> [ 1> T=Object, 1> VoidPtrSeq=std::vector<void *,std::allocator<void *>>, 1> CloneAllocator=boost::heap_clone_allocator 1> ] 1> c:\it\personal\collision\sdk\boost\boost\ptr_container\ptr_vect or.hpp(35) : see reference to class template instantiation 'boost::ptr_sequence_adapter<T,VoidPtrSeq,CloneAllocator>' being compiled 1> with 1> [ 1> T=Object, 1> VoidPtrSeq=std::vector<void *,std::allocator<void *>>, 1> CloneAllocator=boost::heap_clone_allocator 1> ] 1> c:\it\personal\collision\source\world.h(20) : see reference to class template instantiation 'boost::ptr_vector<T>' being compiled 1> with 1> [ 1> T=Object 1> ] 1>c:\it\personal\collision\sdk\boost\boost\ptr_container\detail \reversible_ptr_container.hpp(245) : warning C4127: conditional expression is constant 1> c:\it\personal\collision\sdk\boost\boost\ptr_container\detail\r eversible_ptr_container.hpp(244) : while compiling class template member function 'void boost::ptr_container_detail::reversible_ptr_container<Config,Cl oneAllocator>::enforce_null_policy(const Object *,const char *)' 1> with 1> [ 1> Config=boost::ptr_container_detail::sequence_config<Object,std: :vector<void *,std::allocator<void *>>>, 1> CloneAllocator=boost::heap_clone_allocator 1> ] 1> c:\it\personal\collision\sdk\boost\boost\ptr_container\ptr_sequ ence_adapter.hpp(132) : see reference to class template instantiation 'boost::ptr_container_detail::reversible_ptr_container<Config,C loneAllocator>' being compiled 1> with 1> [ 1> Config=boost::ptr_container_detail::sequence_config<Object,std: :vector<void *,std::allocator<void *>>>, 1> CloneAllocator=boost::heap_clone_allocator 1> ] 1>c:\it\personal\collision\sdk\boost\boost\ptr_container\detail \reversible_ptr_container.hpp(247) : warning C4127: conditional expression is constant 1>c:\it\personal\collision\sdk\boost\boost\ptr_container\detail \reversible_ptr_container.hpp(110) : warning C4127: conditional expression is constant 1> c:\it\personal\collision\sdk\boost\boost\ptr_container\detail\r eversible_ptr_container.hpp(109) : while compiling class template member function 'void boost::ptr_container_detail::reversible_ptr_container<Config,Cl oneAllocator>::null_clone_allocator<allow_null_values>::dealloc ate_clone(const Object *)' 1> with 1> [ 1> Config=boost::ptr_container_detail::sequence_config<Object,std: :vector<void *,std::allocator<void *>>>, 1> CloneAllocator=boost::heap_clone_allocator, 1> allow_null_values=false 1> ] 1> c:\it\personal\collision\sdk\boost\boost\ptr_container\detail\r eversible_ptr_container.hpp(52) : see reference to class template instantiation 'boost::ptr_container_detail::reversible_ptr_container<Config,C loneAllocator>::null_clone_allocator<allow_null_values>' being compiled 1> with 1> [ 1> Config=boost::ptr_container_detail::sequence_config<Object,std: :vector<void *,std::allocator<void *>>>, 1> CloneAllocator=boost::heap_clone_allocator, 1> allow_null_values=false 1> ] 1> c:\it\personal\collision\sdk\boost\boost\ptr_container\detail\s tatic_move_ptr.hpp(85) : see reference to function template instantiation 'void boost::ptr_container_detail::clone_deleter<CloneAllocator>::operator ()<Object>(const T *) const' being compiled 1> with 1> [ 1> CloneAllocator=boost::ptr_container_detail::reversible_ptr_cont ainer<boost::ptr_container_detail::sequence_config<Object,std:: vector<void *,std::allocator<void *>>>,boost::heap_clone_allocator>::null_clone_allocator<false>, 1> T=Object 1> ] 1> c:\it\personal\collision\sdk\boost\boost\ptr_container\detail\s tatic_move_ptr.hpp(85) : while compiling class template member function 'boost::ptr_container_detail::static_move_ptr<T,Deleter>::~stat ic_move_ptr(void)' 1> with 1> [ 1> T=Object, 1> Deleter=boost::ptr_container_detail::clone_deleter<boost::ptr_c ontainer_detail::reversible_ptr_container<boost::ptr_container_ detail::sequence_config<Object,std::vector<void *,std::allocator<void *>>>,boost::heap_clone_allocator>::null_clone_allocator<false>> 1> ] 1> c:\it\personal\collision\sdk\boost\boost\ptr_container\ptr_sequ ence_adapter.hpp(182) : see reference to class template instantiation 'boost::ptr_container_detail::static_move_ptr<T,Deleter>' being compiled 1> with 1> [ 1> T=Object, 1> Deleter=boost::ptr_container_detail::clone_deleter<boost::ptr_c ontainer_detail::reversible_ptr_container<boost::ptr_container_ detail::sequence_config<Object,std::vector<void *,std::allocator<void *>>>,boost::heap_clone_allocator>::null_clone_allocator<false>> 1> ] 1> c:\it\personal\collision\sdk\boost\boost\ptr_container\ptr_sequ ence_adapter.hpp(179) : while compiling class template member function 'void boost::ptr_sequence_adapter<T,VoidPtrSeq,CloneAllocator>::push_ back(Object *)' 1> with 1> [ 1> T=Object, 1> VoidPtrSeq=std::vector<void *,std::allocator<void *>>, 1> CloneAllocator=boost::heap_clone_allocator 1> ] _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

As Beman is beavering away trying to get a release out, this is not a good moment for any non-essential changes :-) I resort to keeping a 'improved' folder 'boost-patches' into which I put things I have edited. (place it higher in the include order than the release). This tests them before proposing a change to the developer who will make the final update. Meanwhile fill in a Trac ticket to nag the developer? Paul --- Paul A Bristow Prizet Farmhouse, Kendal, Cumbria UK LA8 8AB +44 1539561830 & SMS, Mobile +44 7714 330204 & SMS pbristow@hetp.u-net.com
-----Original Message----- From: boost-bounces@lists.boost.org [mailto:boost-bounces@lists.boost.org] On Behalf Of Robert Dailey Sent: 30 November 2007 15:47 To: boost@lists.boost.org Subject: Re: [boost] Lots of warnings
I don't suppose I'd be able to paste that code in the header files themselves and check them in.

Ticket filed: http://svn.boost.org/trac/boost/ticket/1488 Thanks for helping out Paul. This isn't a severe issue, obviously, and I'm not in any hurry. It won't be a problem to wait for the warnings to go away. In the meantime, as you suggested, I can keep a modified local copy to suppress the warnings. On Nov 30, 2007 12:56 PM, Paul A Bristow <pbristow@hetp.u-net.com> wrote:
As Beman is beavering away trying to get a release out, this is not a good moment for any non-essential changes :-)
I resort to keeping a 'improved' folder 'boost-patches' into which I put things I have edited. (place it higher in the include order than the release). This tests them before proposing a change to the developer who will make the final update.
Meanwhile fill in a Trac ticket to nag the developer?
Paul
--- Paul A Bristow Prizet Farmhouse, Kendal, Cumbria UK LA8 8AB +44 1539561830 & SMS, Mobile +44 7714 330204 & SMS pbristow@hetp.u-net.com
-----Original Message----- From: boost-bounces@lists.boost.org [mailto:boost-bounces@lists.boost.org] On Behalf Of Robert Dailey Sent: 30 November 2007 15:47 To: boost@lists.boost.org Subject: Re: [boost] Lots of warnings
I don't suppose I'd be able to paste that code in the header files themselves and check them in.
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

on Fri Nov 30 2007, "Paul A Bristow" <pbristow-AT-hetp.u-net.com> wrote:
I've seen similar and supressed with a bracket of
#if defined (BOOST_MSVC) # pragma warning(push) # pragma warning(disable: 4512) // "assignment operator could not be generated." # pragma warning(disable: 4127) // "conditional expression is constant." # pragma warning(disable: 4100) // "'boost_parameter_enabler_argument' : unreferenced formal parameter" #endif
your includes
your code....
#if defined (BOOST_MSVC) # pragma warning(pop) #endif
But it really would be nice if *All* Boost code could have warnings suppressed properly. The situation is imporoving, but we have some way to go.
I think we need to have standard boost-wide prefix and suffix headers for that purpose, or the code will quickly become unmaintainable. -- Dave Abrahams Boost Consulting http://www.boost-consulting.com

David Abrahams <dave <at> boost-consulting.com> writes:
#if defined (BOOST_MSVC) # pragma warning(push) # pragma warning(disable: 4512) // "assignment operator could not be generated." # pragma warning(disable: 4127) // "conditional expression is constant." # pragma warning(disable: 4100) // "'boost_parameter_enabler_argument' : unreferenced formal parameter"
I think we need to have standard boost-wide prefix and suffix headers for that purpose, or the code will quickly become unmaintainable.
Sounds a reasonable idea - i've posted some patches for the ptr_container warnings, and all the push/disable/pop s build up quite quickly. I've been making some changes to my local code to silence all the 4512 warnings i get from Spirit/Phoenix, and i currently have ~15 headers changed. The same warnings are also produced from string_algo/function/lambda/variant, and i imagine others that i'm not using. Thanks, Richard Webb

@Richard: The warnings (at least on my end) have gone away. Thank you for updating trunk. Great work, keep it up! On Dec 4, 2007 11:22 AM, Richard Webb <richard.webb@boldonjames.com> wrote:
David Abrahams <dave <at> boost-consulting.com> writes:
#if defined (BOOST_MSVC) # pragma warning(push) # pragma warning(disable: 4512) // "assignment operator could not be generated." # pragma warning(disable: 4127) // "conditional expression is constant." # pragma warning(disable: 4100) // "'boost_parameter_enabler_argument' : unreferenced formal parameter"
I think we need to have standard boost-wide prefix and suffix headers for that purpose, or the code will quickly become unmaintainable.
Sounds a reasonable idea - i've posted some patches for the ptr_container warnings, and all the push/disable/pop s build up quite quickly.
I've been making some changes to my local code to silence all the 4512 warnings i get from Spirit/Phoenix, and i currently have ~15 headers changed. The same warnings are also produced from string_algo/function/lambda/variant, and i imagine others that i'm not using.
Thanks, Richard Webb
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

-----Original Message----- From: boost-bounces@lists.boost.org [mailto:boost-bounces@lists.boost.org] On Behalf Of David Abrahams Sent: 04 December 2007 16:10 To: boost@lists.boost.org Subject: Re: [boost] Lots of warnings
But it really would be nice if *All* Boost code could have warnings suppressed properly. The situation is improving, but we have some way to go.
I think we need to have standard boost-wide prefix and suffix headers for that purpose, or the code will quickly become unmaintainable.
Absolutely - sadly I'm afraid I can't help achieving this. But I do need, and will be eternally grateful for, all the help I can to protect me from my own folly - and this means being able to use the highest warning without getting a blizzard of warnings that only library authors can decide are unhelpful. I'm sure I am not alone in this ;-) Paul --- Paul A Bristow Prizet Farmhouse, Kendal, Cumbria UK LA8 8AB +44 1539561830 & SMS, Mobile +44 7714 330204 & SMS pbristow@hetp.u-net.com
participants (4)
-
David Abrahams
-
Paul A Bristow
-
Richard Webb
-
Robert Dailey