|
Boost : |
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
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk