This is the mail archive of the
libstdc++@sourceware.cygnus.com
mailing list for the libstdc++ project.
Re: patch: remaining -Wall warnings
- To: Ulrich Drepper <drepper@cygnus.com>
- Subject: Re: patch: remaining -Wall warnings
- From: Benjamin Kosnik <bkoz@cygnus.com>
- Date: Fri, 13 Aug 1999 15:08:59 -0700 (PDT)
- cc: Michael Cook <cook@sightpath.com>, libstdc++@sourceware.cygnus.com
> The standard requirement that all chars plus EOF can be represented is
> easy to fulfill with a normal unsigned long (or long). The standard
> only requires that the ASCII chars can be presented. For most
> implementations the encoding is UCS4 and then it still works since
> 0xffffffff is a value with bit 31 set, which is no legal UCS4 value.
aaah. Thanks.
The problem is that these types have to match, meaning eof's value must
be able to be represented by char_traits::int_type, which is what eof()
returns.
I can either break the standard, and have char_traits::eof() not return
int_type but long or unsigned long,
or
change char_traits::int_type to long or unsigned long
??
-benjamin