[Bug libstdc++/21286] [4.0/4.1 Regression] filebuf::xsgetn vs pipes

2005-04-30 Thread ncm-nospam at cantrip dot org
--- Additional Comments From ncm-nospam at cantrip dot org 2005-04-30 15:48 --- A note for Ralf: It is incorrect to use cin.eof() to watch for the end of a stream. The correct flag to check is fail(). eof() is really meant for seeing if that's why op>> failed.

[Bug libstdc++/21286] [4.0/4.1 Regression] filebuf::xsgetn vs pipes

2005-04-29 Thread ncm-nospam at cantrip dot org
--- Additional Comments From ncm-nospam at cantrip dot org 2005-04-30 03:49 --- (In reply to comment #5) > ... Thus, if you're writing structs, the reader will > see half a struct. Sorry, that's "will never see half a struct". -- http://gcc.gnu.or

[Bug libstdc++/21286] [4.0/4.1 Regression] filebuf::xsgetn vs pipes

2005-04-29 Thread ncm-nospam at cantrip dot org
--- Additional Comments From ncm-nospam at cantrip dot org 2005-04-30 02:11 --- Just to add... if sgetn() loops reading until it gets n bytes, but underflow() accepts a pipe's short reads, then in_avail() will report the size of the short read. Then, istream::read_some() will

[Bug c++/21118] Explicitly instantiated templates don't seem to be instantiated

2005-04-20 Thread ncm-nospam at cantrip dot org
--- Additional Comments From ncm-nospam at cantrip dot org 2005-04-20 18:43 --- I agree with Andrew. The compiler was improved enough not to fail to report this error. The Right Thing is probably just to delete the explicit instantiations, if it's not code to go in a shared li

[Bug libstdc++/8670] Alignment problem in std::basic_string

2005-01-30 Thread ncm-nospam at cantrip dot org
--- Additional Comments From ncm-nospam at cantrip dot org 2005-01-31 05:29 --- Hmm, precisely two additional casts (or local unions), each in a statement where a cast already appears, hardly seems like a "load". But I'm always patient, right? It's just that

[Bug libstdc++/8670] Alignment problem in std::basic_string

2005-01-23 Thread ncm-nospam at cantrip dot org
--- Additional Comments From ncm-nospam at cantrip dot org 2005-01-24 03:42 --- I have read the discussion on 17744 and 19163. Nothing there suggests that there is any reason to prefer using an __attribute__ over using the portable, stable, apparently already-working union approach

[Bug libstdc++/8670] Alignment problem in std::basic_string

2005-01-22 Thread ncm-nospam at cantrip dot org
--- Additional Comments From ncm-nospam at cantrip dot org 2005-01-23 03:52 --- Somebody mentioned that using unions for type punning was described in the textbooks as extremely bad form. That's how I always thought of it, too, but it seems, at least in Gcc, unions are now the

[Bug libstdc++/8670] Alignment problem in std::basic_string

2005-01-21 Thread ncm-nospam at cantrip dot org
--- Additional Comments From ncm-nospam at cantrip dot org 2005-01-21 17:45 --- Do I understand correctly that the FE fix has been applied? I don't see any corresponding __attribute__ in HEAD for basic_string.h. Probably _Rep should be aligned not to a constant size, but rather t

[Bug libstdc++/19495] basic_string::_M_rep() can produce an unnaturally aligned pointer to _Rep

2005-01-21 Thread ncm-nospam at cantrip dot org
--- Additional Comments From ncm-nospam at cantrip dot org 2005-01-21 16:39 --- I agree that 8670 is a separate bug. The referenced test 2.cc can be made to fail more reliably with the following changes: First, leave enough space for alignment adjustments, even on 128-bit machines

[Bug libstdc++/19495] basic_string::_M_rep() can produce an unnaturally aligned pointer to _Rep

2005-01-21 Thread ncm-nospam at cantrip dot org
--- Additional Comments From ncm-nospam at cantrip dot org 2005-01-21 15:37 --- Hmm, it's a little more complicated than I said, although it might be academic. There's an implicit assumption in the code that any type on which basic_string<> might be instantiated

[Bug libstdc++/19495] basic_string::_M_rep() can produce an unnaturally aligned pointer to _Rep

2005-01-21 Thread ncm-nospam at cantrip dot org
--- Additional Comments From ncm-nospam at cantrip dot org 2005-01-21 15:22 --- This is a real bug, but easily fixed, and (I think) without breaking ABI. The problem is in basic_string.h, where it says struct _Rep : _Rep_base { // Types: typedef typename _Alloc::template