Updated glibc header namespace / C standards comparison
Joseph S. Myers
jsm28@cam.ac.uk
Wed Sep 13 15:24:00 GMT 2000
On 13 Sep 2000, Ulrich Drepper wrote:
> > Some inline functions use ~ for complex conjugation; as this is a C99
> > constraint violation (6.5.3.3p1), __extension__ should probably be
> > used here.
>
> No. The compiler does not complain even in pedantic mode.
That is simply a compiler bug (complex support does not yet follow C99).
> > The values of WCHAR_MIN and WINT_MAX are wrong. See 7.18.3p4 and
> > footnote 219. The values are the limits of the integer types involved
> > and need not be valid as wide characters. (AMD1 may be clearer than
> > C99 on the meaning of WCHAR_MIN, there in <wchar.h>.)
>
> What do you think is wrong. I have no idea what you mean.
WCHAR_MIN should be (-2147483647l - 1l) not (-127l). WINT_MAX should be
(4294967295u) not (2147483647u).
> > This header should not declare FILE.
>
> Heh??? We need a forward declaration since otherwise #include
> <wchar.h> fails unless you include <stdio.h> first. I'll not add such
> artificial problems.
The standard does not include FILE among the types declared by the
<wchar.h> header. Nor does it include va_list among the types declared by
<stdio.h> - so <stdio.h> uses the same type as va_list under a different
name in the reserved namespace. Unless the standard gets changed in a TC
strict conformance requires a similar thing to be done for FILE in
<wchar.h>.
--
Joseph S. Myers
jsm28@cam.ac.uk
More information about the Libc-alpha
mailing list