id summary reporter owner description type status milestone component version severity resolution keywords cc 2522 iostreams/stream_offset_64bit_test fails on QNX 6.4.0 Niklas Angare Jonathan Turkanis "...with the Dinkumware 5 library. It fails on the first iteration and reports this:[[BR]] * sizeof(fpos_t) = 16[[BR]] * sizeof(streamoff) = 4[[BR]] * sizeof(stream_offset) = 8[[BR]] ... The constructor of std::streampos (fpos<_Mbstatet>) puts the value in a streamoff so the most significant 32 bits get chopped off. Defining BOOST_IOSTREAMS_HAS_DINKUMWARE_FPOS results in this:[[BR]] positioning.hpp: In function 'std::streampos boost::iostreams::offset_to_position(boost::iostreams::stream_offset)':[[BR]] positioning.hpp:52: error: no matching function for call to 'std::fpos<_Mbstatet>::fpos(std::mbstate_t, boost::iostreams::stream_offset&)'[[BR]] iosfwd:32: note: candidates are: std::fpos<_Statetype>::fpos(_Statetype, std::fpos_t) [with _Statetype = _Mbstatet][[BR]] iosfwd:27: note: std::fpos<_Statetype>::fpos(std::streamoff) [with _Statetype = _Mbstatet][[BR]] iosfwd:23: note: std::fpos<_Mbstatet>::fpos(const std::fpos<_Mbstatet>&) std::fpos_t is defined like this:[[BR]] struct _Fpost {[[BR]] _Off64t _Off;[[BR]] _Mbstatet _Wstate;[[BR]] } I wrote this simple test:[[BR]] std::fpos_t fpos = { 100000000000LL, std::mbstate_t() };[[BR]] std::streampos pos(std::mbstate_t(), fpos);[[BR]] std::cout << _FPOSOFF(pos.seekpos()) << std::endl; It prints 100 billion. Is there a better way to initialize fpos_t? I'm not sure it's correct to use the default value for mbstate_t but offset_to_position() currently does it." Bugs new Boost 1.38.0 iostreams Boost Development Trunk Problem