
On 8/27/2010 11:26 AM, Dave Abrahams wrote:
On Fri, Aug 27, 2010 at 8:26 AM, vicente.botet<vicente.botet@wanadoo.fr> wrote:
Hi all,
Last year there where two long threads about Boost Warning policy. If I'm not wrong nothing was concluded. I think that we can have two warning policies: one respect to the Boost users and one internal for Boost developement.
We can consider that Boost headers can be used by the users as system headers, so no warning is reported for these files. The main advantage I see is that it allows the users to don't mix the warnings comming from Boost and their own warnings.
Next follows a way to disable completly warnings for 3 compilers: Any Boost header file could be surrounded by
#if defined __GNUC__ #pragma GCC system_header #elif defined __SUNPRO_CC #pragma disable_warn #elif defined _MSC_VER #pragma warning(push, 1) #endif
and
#if defined __SUNPRO_CC #pragma enable_warn #elif defined _MSC_VER #pragma warning(pop) #endif
If we want to do something like that, it should be encapsulated in #include files:
#include<boost/detail/header_prefix.hpp>
...
#include<boost/detail/header_suffix.hpp>
I have never used the "GCC system_header" pragma, and have only gleaned its purpose from this list. Based only on that, it doesn't sound like you can stick it in an encapsulation header as above. But other than that, yes, putting the MSVC and sun pragmas in prefix/suffix files would be good. - Jeff