Ah, perhaps it's my mistake. CC -V reports a version of "5.10", not "5.1". I must have left off the zero. I haven't used Sun C++ for ages, so I didn't realize my mistake until you pointed it out.
Actually, you state if (__errtmp != _RW::__rw_goodbit && 0 == __sizes [0] is an alternative, and equivalent since _rw_goodbit is zero. However, I think your != should be ==. The original expression was testing !__errtmp, which should hold true when __errtmp == 0. I've decided I do like the change ( x == 0 ) in place of !bool(x) in the 6 instances I've had to patch stdcxx. ------------------------------------------------- Kendall Bailey