16210 – [3.4 only] gratuitously omits "long long" I/O (original) (raw)
Description Aaron M. Ucko 2004-06-25 20:50:00 UTC
On systems without strto(u)ll, such as OSF/1 5.1, configure leaves _GLIBCXX_USE_LONG_LONG undefined, disabling all "long long" I/O. However, AFAICT libstdc++-3 has done its own parsing since R1.54 of bits/locale_facets.tcc, and has always done its own formatting, so it should be safe to make "long long" I/O available unconditionally these days.
This bug is particularly aggravating given that bits/postypes.h uses "long long" for streamoff even if "long" is the same size.
Comment 1 Drea Pinski 2004-06-25 21:04:05 UTC
I think this is only true as of 3.4.0 but I could be wrong.
Comment 2 Aaron M. Ucko 2004-06-25 21:13:35 UTC
(In reply to comment #1)
I think this is only true as of 3.4.0 but I could be wrong.
Which aspect? The use of 64-bit friendly stream types is new in 3.4, but locale_facets.tcc actually seems to have done its own parsing since 3.1. (The change occurred in January 2002.)
Comment 3 Paolo Carlini 2004-06-25 21:34:26 UTC
By the way, Andrew is right about stro(u)ll unused only in 3.4, not before.
Comment 4 Aaron M. Ucko 2004-06-25 21:46:17 UTC
(In reply to comment #3)
By the way, Andrew is right about stro(u)ll unused only in 3.4, not before.
Ah, right, there is actually code outside include ;-). At any rate, thanks for taking this on.
Comment 6 Benjamin Kosnik 2004-07-06 22:22:21 UTC
Paolo, if you put this in the gcc-3_4-branch now, this bug report can be closed...
Comment 7 Paolo Carlini 2004-07-06 22:31:57 UTC
Paolo, if you put this in the gcc-3_4-branch now, this bug report can be closed...
Are you reading my mind? ;)
I was in the process of doing that, when I noticed that gcc-3_4 still uses automake 1.7.8... Shall I just regenerate everything, basically bringing over this commit of yours too?
2004-06-14 Benjamin Kosnik <bkoz@redhat.com>
* Makefile.in: Regenerate with automake 1.8.5.
* aclocal.m4: Same.
* include/Makefile.in: Same.
* libmath/Makefile.in: Same.
* libsupc++/Makefile.in: Same.
* po/Makefile.in: Same.
* src/Makefile.in: Same.
* testsuite/Makefile.in: Same.???
Comment 8 Benjamin Kosnik 2004-07-06 23:14:08 UTC
actually, you have to use the old versions for the branch.... so keep with 1.7.8.
-benjamin
Comment 10 Paolo Carlini 2004-07-06 23:43:01 UTC
Fixed for 3.4.2 too (automake 1.7.8 there)