wctype.h
Byeong-ryeol Kim
jinbo21@soback.kornet21.net
Thu Apr 1 00:00:00 GMT 1999
I tried to compile XFree86-3.3.3.1 with egcs-19990112,
binutils-2.9.1.0.19a under kernel-2.2.0-pre7-ac1, glibc-2.0.109
on Pentium MMX 166 machine with 64M RAM.
It goes well execpt some failure of XF86_MONO, XF86_SVGA, etc.,
due to assembley code in mfb* of XFree86-3.3.3.1 or egcs's bug.
But, I could find about 16(strictly 8) warnings about enumeration
value in /usr/include/wctype.h as follows(only 2 example):
....
gcc -c -ansi -pedantic -I../.. -I../../exports/include -Dlinux -D__i386__ \
-D_POSIX_C_SOURCE=199309L -D_POSIX_SOURCE -D_XOPEN_SOURCE=500L -D_BSD_SOURCE \
-D_SVID_SOURCE -DFUNCPROTO=15 -DNARROWPROTO -DHAS_WCHAR_H -DHAS_WCTYPE_H \
-DNO_WIDEC_H -O2 -mcpu=pentium -march=pentium -fomit-frame-pointer -pipe \
MultiSrc.c -o unshared/MultiSrc.o
In file included from XawI18n.h:32,
from MultiSrc.c:72:
/usr/include/wctype.h:84: warning: ANSI C restricts enumerator values to range
of `int'
rm -f MultiSrc.o
gcc -c -O2 -mcpu=pentium -march=pentium -fomit-frame-pointer -pipe -ansi \
-pedantic -I../.. -I../../exports/include -Dlinux -D__i386__ \
-D_POSIX_C_SOURCE=199309L -D_POSIX_SOURCE -D_XOPEN_SOURCE=500L -D_BSD_SOURCE \
-D_SVID_SOURCE -DFUNCPROTO=15 -DNARROWPROTO -DHAS_WCHAR_H -DHAS_WCTYPE_H \
-DNO_WIDEC_H -fPIC MultiSrc.c
In file included from XawI18n.h:32,
from MultiSrc.c:72:
/usr/include/wctype.h:84: warning: ANSI C restricts enumerator values to range of `int'
....
These are emitted while compiling libXaw.so.*, and it indicates wctype.h.
These two messages are are the same in fact, and the same message are emitted
in compiling other files related with libXaw.so.*.
....
# ifndef _ISwbit
/* The characteristics are stored always in network byte order (big
endian). We define the bit value interpretations here dependent on the
machine's byte order. */
# include <endian.h>
# if __BYTE_ORDER == __BIG_ENDIAN
# define _ISwbit(bit) (1 << (bit))
# else /* __BYTE_ORDER == __LITTLE_ENDIAN */
# define _ISwbit(bit) ((bit) < 8 ? 1UL << (bit) << 24 : 1UL << ((bit) + 8))
# endif
enum
{
_ISwupper = _ISwbit (0), /* UPPERCASE. */
_ISwlower = _ISwbit (1), /* lowercase. */
_ISwalpha = _ISwbit (2), /* Alphabetic. */
_ISwdigit = _ISwbit (3), /* Numeric. */
_ISwxdigit = _ISwbit (4), /* Hexadecimal numeric. */
_ISwspace = _ISwbit (5), /* Whitespace. */
_ISwprint = _ISwbit (6), /* Printing. */
_ISwgraph = _ISwbit (7), /* Graphical. */
_ISwblank = _ISwbit (8), /* Blank (usually SPC and TAB). */
_ISwcntrl = _ISwbit (9), /* Control character. */
_ISwpunct = _ISwbit (10), /* Punctuation. */
_ISwalnum = _ISwbit (11) /* Alphanumeric. */
};
# endif /* Not _ISwbit */
....
'84' in warnings indicates "_ISwgraph = _ISwbit (7),"
I hope to hear correct method to suppress these warnings.
Thanks,
--
"Where there is a will, there is a way." jinbo21@soback.kornet21.net
kbeyl@kids.kotel.co.kr
For the future of you and me! hitel: jinbo21
More information about the Libc-alpha
mailing list