Georg Schwarz <[EMAIL PROTECTED]> writes: > cfe: Warning 728: ./allocsa.h, line 113: Long double not supported; double > assumed. > cfe: Warning 848: fsusage.c, line 102: Lshift with undefined behaviour. > cfe: Warning 763: getndelim2.c, line 95: value is outside range representable > for type 'int' > cfe: Warning 807: idcache.c, line 45: member cannot be of function or > incomplete type. > cfe: Warning 608: quotearg.c: 52: Undefined the ANSI standard library defined > macro MB_CUR_MAX > cfe: Warning 709: ./regex_internal.c, line 791: Incompatible pointer type > assignment
Thanks for letting us know of these problems. In the above cases, the IRIX 5.3 compiler is warning about code that conforms to the current C standard. As far as I can tell, the compiler is then going ahead and doing the right thing with the code anyway. If I'm right, you can safely ignore warnings like these. (If not, please let bug-coreutils know.) > /usr/lib/ar: Warning:ignoring second definition of xmemcoll defined in archive Jim Meyering just addressed that problem in <http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00018.html>. > cc -g -o dir ls.o ls-dir.o ../lib/libcoreutils.a ../lib/ > libcoreutils.a > ld: > Unresolved: > _ctmp_ > _iswctype > *** Error code 1 (bu21) I installed the following gnulib patch, which I hope addresses these problems. The iswctype issue is obvious once you see it: the code shouldn't attempt i18n if iswctype is absent. The _ctmp_ problem is that IRIX 5.3 has stuff like this in wctype.h: #define iswalnum(c) ((_ctmp_=(c)) > 255 ? ...) But _ctmp_ is newer declared! See <http://mail.gnome.org/archives/gtk-list/1998-January/msg00471.html>. Anyway, as IRIX 5.3 doesn't have iswctype, perhaps the iswctype fix alone is enough to work around IRIX 5.3's _ctmp_ bug, since it should shut off uses of iswalnum etc. within regex. If not, please let bug-coreutils know. 2006-12-03 Paul Eggert <[EMAIL PROTECTED]> Fix porting problem for iswctype reported by Georg Schwarz in: http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too. * lib/regex_internal.h (RE_ENABLE_I18N): Likewise. * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too. * m4/regex.m4 (gl_PREREQ_REGEX): Likewise. Index: lib/fnmatch.c =================================================================== RCS file: /cvsroot/gnulib/gnulib/lib/fnmatch.c,v retrieving revision 1.36 diff -p -u -r1.36 fnmatch.c --- lib/fnmatch.c 13 Sep 2006 22:38:14 -0000 1.36 +++ lib/fnmatch.c 4 Dec 2006 06:39:29 -0000 @@ -40,7 +40,7 @@ #include <string.h> #define WIDE_CHAR_SUPPORT \ - (HAVE_WCTYPE_H && HAVE_WCHAR_H && HAVE_BTOWC \ + (HAVE_WCTYPE_H && HAVE_WCHAR_H && HAVE_BTOWC && HAVE_ISWCTYPE \ && HAVE_WMEMCHR && (HAVE_WMEMCPY || HAVE_WMEMPCPY)) /* For platform which support the ISO C amendement 1 functionality we Index: lib/regex_internal.h =================================================================== RCS file: /cvsroot/gnulib/gnulib/lib/regex_internal.h,v retrieving revision 1.25 diff -p -u -r1.25 regex_internal.h --- lib/regex_internal.h 27 Nov 2006 07:15:26 -0000 1.25 +++ lib/regex_internal.h 4 Dec 2006 06:39:29 -0000 @@ -89,7 +89,7 @@ # define SIZE_MAX ((size_t) -1) #endif -#if (defined MB_CUR_MAX && HAVE_LOCALE_H && HAVE_WCTYPE_H && HAVE_WCHAR_H && HAVE_WCRTOMB && HAVE_MBRTOWC && HAVE_WCSCOLL) || _LIBC +#if (defined MB_CUR_MAX && HAVE_LOCALE_H && HAVE_WCTYPE_H && HAVE_WCHAR_H && HAVE_ISWCTYPE && HAVE_WCRTOMB && HAVE_MBRTOWC && HAVE_WCSCOLL) || _LIBC # define RE_ENABLE_I18N #endif Index: m4/fnmatch.m4 =================================================================== RCS file: /cvsroot/gnulib/gnulib/m4/fnmatch.m4,v retrieving revision 1.25 diff -p -u -r1.25 fnmatch.m4 --- m4/fnmatch.m4 22 Sep 2006 17:26:02 -0000 1.25 +++ m4/fnmatch.m4 4 Dec 2006 06:39:29 -0000 @@ -64,7 +64,7 @@ AC_DEFUN([_AC_LIBOBJ_FNMATCH], [AC_REQUIRE([AC_FUNC_ALLOCA])dnl AC_REQUIRE([AC_TYPE_MBSTATE_T])dnl AC_CHECK_DECLS([isblank], [], [], [#include <ctype.h>]) -AC_CHECK_FUNCS([btowc mbsrtowcs mempcpy wmemchr wmemcpy wmempcpy]) +AC_CHECK_FUNCS([btowc iswctype mbsrtowcs mempcpy wmemchr wmemcpy wmempcpy]) AC_CHECK_HEADERS([wchar.h wctype.h]) AC_LIBOBJ([fnmatch]) FNMATCH_H=fnmatch.h Index: m4/regex.m4 =================================================================== RCS file: /cvsroot/gnulib/gnulib/m4/regex.m4,v retrieving revision 1.57 diff -p -u -r1.57 regex.m4 --- m4/regex.m4 21 Sep 2006 05:25:11 -0000 1.57 +++ m4/regex.m4 4 Dec 2006 06:39:29 -0000 @@ -1,4 +1,4 @@ -#serial 40 +#serial 41 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, # 2006 Free Software Foundation, Inc. @@ -194,6 +194,6 @@ AC_DEFUN([gl_PREREQ_REGEX], AC_REQUIRE([AC_C_RESTRICT]) AC_REQUIRE([AM_LANGINFO_CODESET]) AC_CHECK_HEADERS_ONCE([wchar.h wctype.h]) - AC_CHECK_FUNCS_ONCE([mbrtowc mempcpy wcrtomb wcscoll]) + AC_CHECK_FUNCS_ONCE([iswctype mbrtowc mempcpy wcrtomb wcscoll]) AC_CHECK_DECLS([isblank], [], [], [#include <ctype.h>]) ])