bug-gnulib
[Top][All Lists]
Advanced

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

problem with gl_ABSOLUTE_HEADER and HP-UX native ANSI C compiler


From: Paul Eggert
Subject: problem with gl_ABSOLUTE_HEADER and HP-UX native ANSI C compiler
Date: Sun, 09 Jul 2006 21:39:33 -0700
User-agent: Gnus/5.1008 (Gnus v5.10.8) Emacs/21.4 (gnu/linux)

address@hidden (Bob Proulx) writes:

> 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.

The C Standard doesn't disallow it, though it does say that the behavior
of "" and <> are both implementation-defined.

> However if I change it to use "" inclusion it works.

OK, thanks, then we might as well try using "" everywhere.  I'm more
comfortable with "///..." anyway; the <///...> gave me the willies,
since a compiler might think it was a C99 comment.

If "" doesn't work someplace else, then we'll need another
compile-time test.

I installed this into gnulib and coreutils:

2006-07-09  Paul Eggert  <address@hidden>

        * absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
        around the absolute name, to work around a problem with the HP-UX
        11.23 native C compiler, reported by Bob Proulx.

--- absolute-header.m4.~1.1.~   2006-07-04 00:27:33.000000000 -0700
+++ absolute-header.m4  2006-07-09 21:11:45.000000000 -0700
@@ -1,4 +1,4 @@
-# absolute-header.m4 serial 4
+# absolute-header.m4 serial 5
 dnl Copyright (C) 2006 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -36,7 +36,7 @@ sed -n '\#/]m4_quote(m4_defn([gl_HEADER_
     AS_VAR_POPDEF([ac_header_exists])dnl
     ])dnl
   AC_DEFINE_UNQUOTED(AS_TR_CPP([ABSOLUTE_]m4_quote(m4_defn([gl_HEADER_NAME]))),
-                     [<AS_VAR_GET(gl_absolute_header)>],
+                     ["AS_VAR_GET(gl_absolute_header)"],
                      [Define this to an absolute name of 
<]m4_quote(m4_defn([gl_HEADER_NAME]))[>.])
   AS_VAR_POPDEF([gl_absolute_header])dnl
 ])dnl





reply via email to

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