bug-coreutils
[Top][All Lists]
Advanced

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

Re: sync from gnulib to coreutils, mostly for <ctype.h> and <dirent.h>


From: Bob Proulx
Subject: Re: sync from gnulib to coreutils, mostly for <ctype.h> and <dirent.h>
Date: Sun, 9 Jul 2006 15:31:38 -0600
User-agent: Mutt/1.5.9i

Paul Eggert wrote:
> I installed this to sync from gnulib to coreutils.  Most of this is
> for <ctype.h>, where gnulib no longer cares about the obsolete pre-C89
> bugs with things like isprint (255).
> ...
> +     * Makefile.am (stdint.h): FULL_PATH_STDINT_H -> ABSOLUTE_STDINT_H,
> +     to accommodate update from gnulib.
> ...
> Index: lib/stdint_.h
> ===================================================================
> RCS file: /fetish/cu/lib/stdint_.h,v
> retrieving revision 1.5
> diff -p -u -r1.5 stdint_.h
> --- lib/stdint_.h     4 Jul 2006 04:50:34 -0000       1.5
> +++ lib/stdint_.h     9 Jul 2006 16:33:58 -0000
> @@ -43,14 +43,14 @@
>       Include it before <inttypes.h>, since any "#include <stdint.h>"
>       in <inttypes.h> would reinclude us, skipping our contents because
>       _GL_STDINT_H is defined.  */
> -# include @FULL_PATH_STDINT_H@
> +# include @ABSOLUTE_STDINT_H@
>  #endif

I am now seeing compile failures.  This occurs on HP-UX 11.23 hppa
using the native ANSI C compiler.  Curiously the HP-UX 11.23 ia64
native ANSI C compiler did not complain.

  source='xstrtoimax.c' object='xstrtoimax.o' libtool=no \
          DEPDIR=.deps depmode=hp /bin/sh ../build-aux/depcomp \
          cc -DHAVE_CONFIG_H -DLIBDIR=\"/usr/local/lib\" -I. -I. -I..  -I.. -I. 
   -Ae -O -c xstrtoimax.c
  cpp: "./stdint.h", line 46: error 4034: Bad syntax for #include directive.
  make[3]: *** [xstrtoimax.o] Error 1

Here is the resulting code.

  #if 1
  # if defined __sgi && ! defined __c99
     /* Bypass IRIX's <stdint.h> if in C89 mode, since it merely annoys users
        with "This header file is to be used only for c99 mode compilations"
        diagnostics.  */
  #  define __STDINT_H__
  # endif
    /* Other systems may have an incomplete or buggy <stdint.h>.
       Include it before <inttypes.h>, since any "#include <stdint.h>"
       in <inttypes.h> would reinclude us, skipping our contents because
       _GL_STDINT_H is defined.  */
  # include <///usr/include/stdint.h>
  #endif

I don't think it is valid to use <> with an absolute path.  At the
least the HP-UX native compiler complains about it.  However if I
change it to use "" inclusion it works.

  # include "/usr/include/stdint.h"

What's the scoop?

Bob




reply via email to

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