Subject: Re: [boost] [test] [iostreams] 1.47.0 VC++ 10.0 warnings
From: Stephan T. Lavavej (stl_at_[hidden])
Date: 2011-07-12 05:20:28


[STL]
> These warnings are being emitted by VC10 because std::streamsize is now unconditionally 64-bit,
> for large file support. (Inevitably, we missed one tiny thing in VC10 so large files aren't
> supported perfectly everywhere - but it's much better than VC9 and already fixed in VC11.)

[Gareth Sylvester-Bradley]
> Out of interest would you mind providing a reference to the "one tiny thing"?
> I rely quite heavily on huge file support and have so far got away with switching off
> _all_ my VC8/VC9 workarounds for VC10!

http://connect.microsoft.com/VisualStudio/feedback/details/627639/std-fstream-use-32-bit-int-as-pos-type-even-on-x64-platform (internally DevDiv#90908). The offending macro was _FPOSOFF, used in basic_filebuf::seekpos() and fpos::operator streamoff().

I joined VC at the end of VC9's release cycle - when I learned that large files weren't unconditionally supported, I was horrified and baffled as to why nobody was screaming in agony. I really thought we had squashed it in VC10, then this macro reared its ugly head. This time, for sure, I think we've got it - but I'd appreciate it if people like you who rely on large file support would test the first public release of VC11 (whenever that will be). There's no way I want to mess with this again in VC12.

> Also, by any chance, has https://connect.microsoft.com/VisualStudio/feedback/details/677738/ifstream-putback-behavior-is-incorrect come your way yet? ;-)

Yes, it's assigned to me (internally DevDiv#231211), as all C++ Standard Library bugs go through me. It looks like it might be a real bug (text mode isn't involved, the usual way people get into trouble), but I'm not a fluent speaker of iostreams Standardese. I'll send this to Dinkumware for analysis, once we get through our current batch of work.

STL