Suppress/fix some msvc and gcc compiler warnings ([57494]).

[SVN r60291]
This commit is contained in:
Daniel James 2010-03-07 12:13:29 +00:00
parent e30889304c
commit 8af4250c3c
5 changed files with 18 additions and 7 deletions

View File

@ -281,7 +281,7 @@ object_id_compare::operator ()
} }
else else
{ {
return a.second->before( *b.second ); return a.second->before( *b.second ) != 0;
} }
} }
} }

View File

@ -11,6 +11,10 @@
#include <algorithm> #include <algorithm>
#include <cstddef> #include <cstddef>
#ifdef BOOST_MSVC
#pragma warning(disable:4996) // warning C4996: 'std::equal': Function call with parameters that may be unsafe - this call relies on the caller to check that the passed values are correct. To disable this warning, use -D_SCL_SECURE_NO_WARNINGS. See documentation on how to use Visual C++ 'Checked Iterators'
#endif
/* /*
Note: This file tests every single valid bit-grouping on its own, and some Note: This file tests every single valid bit-grouping on its own, and some
random combinations of bit-groupings. random combinations of bit-groupings.

View File

@ -21,6 +21,10 @@
#include <libs/type_traits/test/test.hpp> #include <libs/type_traits/test/test.hpp>
#include <libs/type_traits/test/check_type.hpp> #include <libs/type_traits/test/check_type.hpp>
#ifdef BOOST_MSVC
#pragma warning(disable:4181) // : warning C4181: qualifier applied to reference type; ignored
#endif
// a way prevent warnings for unused variables // a way prevent warnings for unused variables
template<class T> inline void unused_variable(const T&) {} template<class T> inline void unused_variable(const T&) {}
@ -52,7 +56,8 @@ struct contained
const_reference const_get()const { return v_; } const_reference const_get()const { return v_; }
// pass value: // pass value:
void call(param_type){} void call(param_type){}
private:
contained& operator=(const contained&);
}; };
#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION #ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
@ -77,6 +82,8 @@ struct contained<T[N]>
reference get() { return v_; } reference get() { return v_; }
const_reference const_get()const { return v_; } const_reference const_get()const { return v_; }
void call(param_type){} void call(param_type){}
private:
contained& operator=(const contained&);
}; };
#endif #endif
@ -197,7 +204,7 @@ struct comparible_UDT
bool operator == (const comparible_UDT& v){ return v.i_ == i_; } bool operator == (const comparible_UDT& v){ return v.i_ == i_; }
}; };
int main(int argc, char *argv[ ]) int main()
{ {
call_traits_checker<comparible_UDT> c1; call_traits_checker<comparible_UDT> c1;
comparible_UDT u; comparible_UDT u;

View File

@ -70,7 +70,7 @@ struct ref_wrapper
struct copy_counter { struct copy_counter {
static int count_; static int count_;
copy_counter(copy_counter const& other) { copy_counter(copy_counter const& /*other*/) {
++count_; ++count_;
} }
copy_counter() {} copy_counter() {}

View File

@ -29,9 +29,9 @@
// //
struct POD struct POD
{ {
POD () : c(0), i(0), f(0) {} POD () : f(0), c(0), i(0){}
POD ( char c_, int i_, float f_ ) : c(c_), i(i_), f(f_) {} POD ( char c_, int i_, float f_ ) : f(f_), c(c_), i(i_) {}
friend std::ostream& operator << ( std::ostream& os, POD const& pod ) friend std::ostream& operator << ( std::ostream& os, POD const& pod )
{ return os << '(' << pod.c << ',' << pod.i << ',' << pod.f << ')' ; } { return os << '(' << pod.c << ',' << pod.i << ',' << pod.f << ')' ; }
@ -291,7 +291,7 @@ int test_main(int, char **)
{ {
BOOST_CHECK ( test( 0,1234 ) ) ; BOOST_CHECK ( test( 0,1234 ) ) ;
BOOST_CHECK ( test( 0.0,12.34 ) ) ; BOOST_CHECK ( test( 0.0,12.34 ) ) ;
BOOST_CHECK ( test( POD(0,0,0.0), POD('a',1234,56.78) ) ) ; BOOST_CHECK ( test( POD(0,0,0.0), POD('a',1234,56.78f) ) ) ;
BOOST_CHECK ( test( NonPOD( std::string() ), NonPOD( std::string("something") ) ) ) ; BOOST_CHECK ( test( NonPOD( std::string() ), NonPOD( std::string("something") ) ) ) ;
NonPOD NonPOD_object( std::string("NonPOD_object") ); NonPOD NonPOD_object( std::string("NonPOD_object") );