Opened 9 years ago
Last modified 9 years ago
#9536 new Bugs
narrow-conversion uses insufficient input char type
Reported by: | Owned by: | az_sw_dude | |
---|---|---|---|
Milestone: | To Be Determined | Component: | date_time |
Version: | Boost 1.55.0 | Severity: | Problem |
Keywords: | Cc: |
Description
Test runs exhibit this problem:
compile-c-c++ ..\..\..\bin.v2\libs\date_time\test\teststreams.test\msvc-12.0\debug\address-model-64\posix_time\teststreams.obj teststreams.cpp boost/date_time/posix_time/posix_time_legacy_io.hpp(83) : warning C4244: 'argument' : conversion from 'wchar_t' to 'char', possible loss of data posix_time\teststreams.cpp(144) : see reference to function template instantiation 'std::basic_istream<wchar_t,std::char_traits<wchar_t>> &boost::posix_time::operator >><wchar_t>(std::basic_istream<wchar_t,std::char_traits<wchar_t>> &,boost::posix_time::time_duration &)' being compiled
The current implementation uses std::stringstream::narrow(char) with its 'char' input parameter type to transform 'charT' chars taken from a std::basic_istream<charT> into 'char' chars. This is most likely not what is intended if 'charT' is wider than 'char'.
Tests were run against Boost version 1.55.0 and latest 'development' branch using vc10, vc11, and vc12. Test logs are attached.
Attachments (1)
Change History (2)
by , 9 years ago
Attachment: | date-time-testlogs.7z added |
---|
comment:1 by , 9 years ago
Note:
See TracTickets
for help on using tickets.
Pull request https://github.com/boostorg/date_time/pull/1 fixes this problem. The attached test logs show the warning is gone now.