On Sun, 16 Feb 2003 12:45:30 +0100, John Maddock wrote: >> typedef char t8[ test::is_convertible< double, int >::value ]; > > That one issues a warning: for other compilers we are able to suppress > that, if you have any ideas on how to do so with gcc I'd be happy to > hear about it.
After looking into the code I'm confused. There is code which reads: #if defined(__GNUC__) // Declare specializations of is_convertible for all of the floating // types to all of the integral types. This suppresses some nasty // warnings # define TT_AUX_IS_CONVERTIBLE_SPEC(T1,T2) \ BOOST_TT_AUX_BOOL_TRAIT_SPEC2(is_convertible,T1,T2,true) \ /**/ # define TT_AUX_IS_CONVERTIBLE_SPEC_2(T1,T2) \ TT_AUX_IS_CONVERTIBLE_SPEC(T1,signed T2) \ TT_AUX_IS_CONVERTIBLE_SPEC(T1,unsigned T2) \ /**/ # define TT_AUX_IS_CONVERTIBLE_FROM_FLOAT_SPEC(F) \ TT_AUX_IS_CONVERTIBLE_SPEC(F,char) \ TT_AUX_IS_CONVERTIBLE_SPEC_2(F,char) \ TT_AUX_IS_CONVERTIBLE_SPEC_2(F,short) \ TT_AUX_IS_CONVERTIBLE_SPEC_2(F,int) \ TT_AUX_IS_CONVERTIBLE_SPEC_2(F,long) \ TT_AUX_IS_CONVERTIBLE_SPEC_2(F,long long) \ /**/ # define TT_AUX_IS_CONVERTIBLE_FROM_FLOAT_CV_SPEC(F) \ TT_AUX_IS_CONVERTIBLE_FROM_FLOAT_SPEC(F const) \ TT_AUX_IS_CONVERTIBLE_FROM_FLOAT_SPEC(F volatile) \ TT_AUX_IS_CONVERTIBLE_FROM_FLOAT_SPEC(F const volatile) \ /**/ TT_AUX_IS_CONVERTIBLE_FROM_FLOAT_CV_SPEC(float) TT_AUX_IS_CONVERTIBLE_FROM_FLOAT_CV_SPEC(double) TT_AUX_IS_CONVERTIBLE_FROM_FLOAT_CV_SPEC(long double) # undef TT_AUX_IS_CONVERTIBLE_FROM_FLOAT_CV_SPEC # undef TT_AUX_IS_CONVERTIBLE_FROM_FLOAT_SPEC # undef TT_AUX_IS_CONVERTIBLE_SPEC_2 # undef TT_AUX_IS_CONVERTIBLE_SPEC #endif // __GNUC__ If it works, the warning shouldn't be there. But it is. And if the above doesn't work, well, why is it included then? Before I don't understand this, I will not try to fiddle with the code in is_convertible... Regards, Daniel _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost