This is the mail archive of the libc-alpha@cygnus.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

wctype.h


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



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]