Hi,  (possible duplicate, but I think the original was rejected 'cause of a mail alias.  If not, please forgive the noise.)

I'm using boost 1.32 posix_time in some code that is intended to be portable (MS VC7.1 / Solaris gcc 3.3.1 / RHLinux gcc 3.3.1).

When I build with VC 7.1.3088 on Windows XP Pro SP2 get  warnings about integer trunction (see below).

I can duplicate it by compiling a cpp file containing a single line:

#include "boost/date_time/posix_time/posix_time.hpp"

and I can work around it by:

#ifdef _MSC_VER
#pragma warning(push)         
#pragma warning(disable:4244) // boost/posix_time has truncation warnings
#endif // _MSC_VER
#include "boost/date_time/posix_time/posix_time.hpp" //include all types plus i/o
#ifdef _MSC_VER
#pragma warning(pop)
#endif // _MSC_VER

but this might hide real problems (or this might *BE* a real problem -- I haven't really looked into the difference between a boost::date_time::counted_time_rep<config>::int_type. and a boost::date_time::gregorian_calendar_base<ymd_type_,date_int_type_>::date_int_type

Suggestions?

Dale

The warnings:

c:\Boost\include\boost-1_32\boost\date_time\time_system_counted.hpp(57) : warning C4244: 'initializing' : conversion from 'boost::date_time::counted_time_rep<config>::int_type' to 'boost::date_time::gregorian_calendar_base<ymd_type_,date_int_type_>::date_int_type', possible loss of data
       with
       [
           config=boost::posix_time::millisec_posix_time_system_config
       ]
       and
       [
           ymd_type_=boost::gregorian::greg_year_month_day,
           date_int_type_=boost::date_time::int_adapter<unsigned long>::int_type
       ]
       c:\Boost\include\boost-1_32\boost\date_time\time_system_counted.hpp(52) : while compiling class-template member function 'boost::date_time::counted_time_rep<config>::date_type boost::date_time::counted_time_rep<config>::date(void) const'
       with
       [
           config=boost::posix_time::millisec_posix_time_system_config
       ]
       c:\Boost\include\boost-1_32\boost\date_time\time_system_counted.hpp(111) : see reference to class template instantiation 'boost::date_time::counted_time_rep<config>' being compiled
       with
       [
           config=boost::posix_time::millisec_posix_time_system_config
       ]
       c:\Boost\include\boost-1_32\boost\date_time\time.hpp(52) : see reference to class template instantiation 'boost::date_time::counted_time_system<time_rep>' being compiled
       with
       [
           time_rep=boost::posix_time::int64_time_rep
       ]
       c:\Boost\include\boost-1_32\boost\date_time\posix_time\ptime.hpp(32) : see reference to class template instantiation 'boost::date_time::base_time<T,time_system>' being compiled
       with
       [
           T=boost::posix_time::ptime,
           time_system=boost::posix_time::posix_time_system
       ]
c:\Boost\include\boost-1_32\boost\date_time\date_parsing.hpp(211) : warning C4244: 'argument' : conversion from 'std::allocator<_Ty>::value_type' to 'char', possible loss of data
       with
       [
           _Ty=wchar_t
       ]
       c:\Boost\include\boost-1_32\boost\date_time\date_parsing.hpp(253) : see reference to function template instantiation 'date_type boost::date_time::from_stream_type<date_type,std::basic_string<_Elem,_Traits,_Ax>::iterator>(iterator_type &,iterator_type &,wchar_t)' being compiled
       with
       [
           date_type=boost::gregorian::date,
           _Elem=wchar_t,
           _Traits=std::char_traits<wchar_t>,
           _Ax=std::allocator<wchar_t>,
           iterator_type=std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>::iterator
       ]
       c:\Boost\include\boost-1_32\boost\date_time\gregorian\parsers.hpp(78) : see reference to function template instantiation 'boost::date_time::period<point_rep,duration_rep> boost::date_time::from_simple_string_type<boost::gregorian::date,wchar_t>(const std::basic_string<_Elem,_Traits,_Ax> &)' being compiled
       with
       [
           point_rep=boost::gregorian::date,
           duration_rep=boost::gregorian::date_duration,
           _Elem=wchar_t,
           _Traits=std::char_traits<wchar_t>,
           _Ax=std::allocator<wchar_t>
       ]
-- 
-----------------------------------------------------
  Dale Wilson, Senior Software Engineer
  Object Computing, Inc. (OCI)
  http://www.ociweb.com/  http://www.theaceorb.com/
----------------------------------------------------