bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: coreutils 6.6 fails to compile on IRIX 5.3


From: Bruno Haible
Subject: Re: coreutils 6.6 fails to compile on IRIX 5.3
Date: Fri, 22 Dec 2006 17:23:14 +0100
User-agent: KMail/1.9.1

Paul Eggert wrote:
> 2006-12-21  Paul Eggert  <address@hidden>
> 
>       * MODULES.html.sh: New module wctype.
>       * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
>       * lib/fnmatch.c: Don't bother to include <wchar.h> before
>       <wctype.h>, since the new wctype module should fix this.
>       * lib/quotearg.c: Include <wctype.h> unconditionally, since
>       the wctype module should arrange for it.
>       * lib/regex_internal.h: Likewise.
>       * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
>       since the wctype module should handle this now.
>       * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
>       * modules/fnmatch (Depends-on): Add wctype.
>       * modules/quotearg (Depends-on): Likewise.
>       * modules/regex (Depends-on): Likewise.

Thanks a lot. Very nice. I'm adding a few more comments only: a reference
to the official documentation of <wctype.h>, and mentions of the systems
that we need to check if we make changes in this area.

The iswprint replacement in quotearg.c used to consider all characters
as printable; the new replacement considers only ASCII characters as
printable. Let's whether someone on an old platform but with ISO-8859-1
characters in his filenames cares about it...

Bruno


*** lib/wctype_.h       22 Dec 2006 00:21:54 -0000      1.1
--- lib/wctype_.h       22 Dec 2006 16:19:33 -0000
***************
*** 18,30 ****
  
  /* Written by Bruno Haible and Paul Eggert.  */
  
! /* iswctype, towctrans, towlower, towupper, wctrans, wctype,
!    wctrans_t, and wctype_t are not yet implemented.  */
  
  #ifndef _GL_WCTYPE_H
  #define _GL_WCTYPE_H
  
! /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
     <wchar.h>.
     BSD/OS 4.1 has a bug: <stdio.h> and <time.h> must be included before
     <wchar.h>.  */
--- 18,36 ----
  
  /* Written by Bruno Haible and Paul Eggert.  */
  
! /*
!  * ISO C 99 <wctype.h> for platforms that lack it.
!  * <http://www.opengroup.org/susv3xbd/wctype.h.html>
!  *
!  * iswctype, towctrans, towlower, towupper, wctrans, wctype,
!  * wctrans_t, and wctype_t are not yet implemented.
!  */
  
  #ifndef _GL_WCTYPE_H
  #define _GL_WCTYPE_H
  
! /* Solaris 2.5 has a bug: <wchar.h> must be included before <wctype.h>.
!    Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
     <wchar.h>.
     BSD/OS 4.1 has a bug: <stdio.h> and <time.h> must be included before
     <wchar.h>.  */
***************
*** 32,41 ****
--- 38,51 ----
  #include <time.h>
  #include <wchar.h>
  
+ /* Include the original <wctype.h> if it exists.
+    BeOS 5 has the functions but no <wctype.h>.  */
  #if @HAVE_WCTYPE_H@
  # include @ABSOLUTE_WCTYPE_H@
  #endif
  
+ /* IRIX 5.3 has a bug: its isw* macros reference an undefined variable
+    _ctmp_.  */
  #if @HAVE_WCTYPE_CTMP_BUG@
  static wint_t _ctmp_;
  #endif
*** m4/wctype.m4        22 Dec 2006 00:21:54 -0000      1.1
--- m4/wctype.m4        22 Dec 2006 16:19:33 -0000
***************
*** 27,32 ****
--- 27,34 ----
    WCTYPE_H=wctype.h
    HAVE_WCTYPE_CTMP_BUG=0
    if test $ac_cv_header_wctype_h = yes; then
+     dnl IRIX 5.3 has a bug: its isw* macros reference an undefined variable
+     dnl _ctmp_. Test against this bug.
      AC_CACHE_CHECK([whether wctype macros need _ctmp_ declared],
        [gl_cv_wctype_ctmp_bug],
        [gl_cv_wctype_ctmp_bug=no




reply via email to

[Prev in Thread] Current Thread [Next in Thread]