Commit ab681e53 authored by Paul Eggert's avatar Paul Eggert

* lib/fcntl_.h: Prefer #include_next <foo.h> to #include

@ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
GCC 4.2, which otherwise issues a lot of warnings.
* lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
* lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
* lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
* lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
it should no longer be needed.
* lib/string_.h: Likewise.
* modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
* modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
* modules/inttypes (inttypes.h): Likewise.
* modules/math (math.h): Likewise.
* modules/search (search.h): Likewise.
* modules/signal (signal.h): Likewise.
* modules/stdint (stdint.h): Likewise.
* modules/stdio (stdio.h): Likewise.
* modules/stdlib (stdlib.h): Likewise.
* modules/string (string.h): Likewise.
* modules/sys_time (sys/time.h): Likewise.
* modules/time (time.h): Likewise.
* modules/wchar (wchar.h): Likewise.
* modules/wctype (wtype.h): Likewise.
parent 1875901e
2007-05-16 Paul Eggert <eggert@cs.ucla.edu>
* lib/fcntl_.h: Prefer #include_next <foo.h> to #include
@ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@. This works better with
GCC 4.2, which otherwise issues a lot of warnings.
* lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
* lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
* lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
* lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
it should no longer be needed.
* lib/string_.h: Likewise.
* modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
* modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
* modules/inttypes (inttypes.h): Likewise.
* modules/math (math.h): Likewise.
* modules/search (search.h): Likewise.
* modules/signal (signal.h): Likewise.
* modules/stdint (stdint.h): Likewise.
* modules/stdio (stdio.h): Likewise.
* modules/stdlib (stdlib.h): Likewise.
* modules/string (string.h): Likewise.
* modules/sys_time (sys/time.h): Likewise.
* modules/time (time.h): Likewise.
* modules/wchar (wchar.h): Likewise.
* modules/wctype (wtype.h): Likewise.
2007-05-16 Thien-Thi Nguyen <ttn@gnuvola.org> (tiny change)
* doc/gnulib-tool.texi (CVS Issues): Fix typo.
......@@ -24,7 +24,11 @@
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include @ABSOLUTE_FCNTL_H@
#if @HAVE_INCLUDE_NEXT@
# include_next <fcntl.h>
#else
# include @ABSOLUTE_FCNTL_H@
#endif
/* Declare overridden functions. */
......
......@@ -21,7 +21,7 @@
which in turn includes this file. */
#if ! defined INTTYPES_H || defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H
# if @HAVE_INTTYPES_H@
# if defined __DECC && __DECC_VER >= 60000000
# if @HAVE_INCLUDE_NEXT@
# include_next <inttypes.h>
# else
# include @ABSOLUTE_INTTYPES_H@
......
......@@ -16,14 +16,14 @@
along with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
#if defined __DECC && __DECC_VER >= 60000000
#if @HAVE_INCLUDE_NEXT@
# include_next <math.h>
#endif
#ifndef _GL_MATH_H
#define _GL_MATH_H
#if !(defined __DECC && __DECC_VER >= 60000000)
#if ! @HAVE_INCLUDE_NEXT@
# include @ABSOLUTE_MATH_H@
#endif
......
......@@ -20,7 +20,11 @@
#define _GL_SEARCH_H
#if @HAVE_SEARCH_H@
# include @ABSOLUTE_SEARCH_H@
# if @HAVE_INCLUDE_NEXT@
# include_next <search.h>
# else
# include @ABSOLUTE_SEARCH_H@
# endif
#endif
......@@ -40,9 +44,9 @@ extern "C" {
for details. */
typedef enum
{
{
preorder,
postorder,
postorder,
endorder,
leaf
}
......
......@@ -19,7 +19,11 @@
#if defined __need_sig_atomic_t || defined __need_sigset_t
/* Special invocation convention inside glibc header files. */
#include @ABSOLUTE_SIGNAL_H@
# if @HAVE_INCLUDE_NEXT@
# include_next <signal.h>
# else
# include @ABSOLUTE_SIGNAL_H@
# endif
#else
/* Normal invocation convention. */
......@@ -27,8 +31,11 @@
#ifndef _GL_SIGNAL_H
#define _GL_SIGNAL_H
#include @ABSOLUTE_SIGNAL_H@
#if @HAVE_INCLUDE_NEXT@
# include_next <signal.h>
#else
# include @ABSOLUTE_SIGNAL_H@
#endif
/* The definition of GL_LINK_WARNING is copied here. */
......
......@@ -43,7 +43,11 @@
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 @ABSOLUTE_STDINT_H@
# if @HAVE_INCLUDE_NEXT@
# include_next <stdint.h>
# else
# include @ABSOLUTE_STDINT_H@
# endif
#endif
/* <sys/types.h> defines some of the stdint.h types as well, on glibc,
......
......@@ -19,19 +19,23 @@
#if defined __need_FILE || defined __need___FILE
/* Special invocation convention inside glibc header files. */
#include @ABSOLUTE_STDIO_H@
#if @HAVE_INCLUDE_NEXT@
# include_next <stdio.h>
#else
# include @ABSOLUTE_STDIO_H@
#endif
#else
/* Normal invocation convention. */
#if defined __DECC && __DECC_VER >= 60000000
#if @HAVE_INCLUDE_NEXT@
# include_next <stdio.h>
#endif
#ifndef _GL_STDIO_H
#define _GL_STDIO_H
#if !(defined __DECC && __DECC_VER >= 60000000)
#if ! @HAVE_INCLUDE_NEXT@
# include @ABSOLUTE_STDIO_H@
#endif
......
......@@ -19,33 +19,23 @@
#if defined __need_malloc_and_calloc
/* Special invocation convention inside glibc header files. */
/* This #pragma avoids a warning with "gcc -Wall" on some glibc systems
on which <stdlib.h> has an inappropriate declaration, see
<http://sourceware.org/bugzilla/show_bug.cgi?id=1079>. */
#ifdef __GNUC__
# pragma GCC system_header
#if @HAVE_INCLUDE_NEXT@
# include_next <stdlib.h>
#else
# include @ABSOLUTE_STDLIB_H@
#endif
#include @ABSOLUTE_STDLIB_H@
#else
/* Normal invocation convention. */
#if defined __DECC && __DECC_VER >= 60000000
#if @HAVE_INCLUDE_NEXT@
# include_next <stdlib.h>
#endif
#ifndef _GL_STDLIB_H
#define _GL_STDLIB_H
/* This #pragma avoids a warning with "gcc -Wall" on some glibc systems
on which <stdlib.h> has an inappropriate declaration, see
<http://sourceware.org/bugzilla/show_bug.cgi?id=1079>. */
#ifdef __GNUC__
# pragma GCC system_header
#endif
#if !(defined __DECC && __DECC_VER >= 60000000)
#if ! @HAVE_INCLUDE_NEXT@
# include @ABSOLUTE_STDLIB_H@
#endif
......
......@@ -16,20 +16,14 @@
along with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
#if defined __DECC && __DECC_VER >= 60000000
#if @HAVE_INCLUDE_NEXT@
# include_next <string.h>
#endif
#ifndef _GL_STRING_H
#define _GL_STRING_H
/* This #pragma avoids a warning with "gcc -Wmissing-prototypes" on some
mingw systems. */
#ifdef __GNUC__
# pragma GCC system_header
#endif
#if !(defined __DECC && __DECC_VER >= 60000000)
#if ! @HAVE_INCLUDE_NEXT@
# include @ABSOLUTE_STRING_H@
#endif
......
......@@ -22,7 +22,11 @@
#define _GL_SYS_TIME_H
#if @HAVE_SYS_TIME_H@
# include @ABSOLUTE_SYS_TIME_H@
# if @HAVE_INCLUDE_NEXT@
# include_next <sys/time.h>
# else
# include @ABSOLUTE_SYS_TIME_H@
# endif
#else
# include <time.h>
#endif
......
......@@ -20,19 +20,24 @@
declare a few standard symbols, rather than to declare all the
symbols. */
#if defined __need_time_t || defined __need_clock_t || defined __need_timespec
# include @ABSOLUTE_TIME_H@
# if @HAVE_INCLUDE_NEXT@
# include_next <time.h>
# else
# include @ABSOLUTE_TIME_H@
# endif
#else
/* Normal invocation convention. */
# if defined __DECC && __DECC_VER >= 60000000
# if @HAVE_INCLUDE_NEXT@
# include_next <time.h>
# endif
# if ! defined _GL_TIME_H
# define _GL_TIME_H
# if !(defined __DECC && __DECC_VER >= 60000000)
# if ! @HAVE_INCLUDE_NEXT@
# include @ABSOLUTE_TIME_H@
# endif
......
......@@ -25,7 +25,7 @@
* For now, this just ensures proper prerequisite inclusion order.
*/
#if defined __DECC && __DECC_VER >= 60000000
#if @HAVE_INCLUDE_NEXT@
# include <stdio.h>
# include_next <wchar.h>
#endif
......@@ -42,7 +42,7 @@
#include <time.h>
/* Include the original <wchar.h>. */
#if !(defined __DECC && __DECC_VER >= 60000000)
#if ! @HAVE_INCLUDE_NEXT@
# include @ABSOLUTE_WCHAR_H@
#endif
......
......@@ -39,7 +39,7 @@
#endif
#if @HAVE_WCTYPE_H@
# if defined __DECC && __DECC_VER >= 60000000
# if @HAVE_INCLUDE_NEXT@
# include_next <wctype.h>
# endif
#endif
......@@ -50,7 +50,7 @@
/* Include the original <wctype.h> if it exists.
BeOS 5 has the functions but no <wctype.h>. */
#if @HAVE_WCTYPE_H@
# if !(defined __DECC && __DECC_VER >= 60000000)
# if ! @HAVE_INCLUDE_NEXT@
# include @ABSOLUTE_WCTYPE_H@
# endif
#endif
......
......@@ -9,6 +9,10 @@ Depends-on:
configure.ac:
Makefile.am:
# Use this preprocessor expression to decide whether #include_next works.
# Do not rely on a 'configure'-time test for this, since the expression
# might appear in an installed header, which is used by some other compiler.
HAVE_INCLUDE_NEXT = (__GNUC__ || 60000000 <= __DECC_VER)
Include:
......
......@@ -21,6 +21,7 @@ fcntl.h: fcntl_.h
rm -f $@-t $@
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
sed -e 's|@''ABSOLUTE_FCNTL_H''@|$(ABSOLUTE_FCNTL_H)|g' \
-e 's/@''HAVE_INCLUDE_NEXT''@/$(HAVE_INCLUDE_NEXT)/g' \
< $(srcdir)/fcntl_.h; \
} > $@-t
mv $@-t $@
......
......@@ -24,6 +24,7 @@ inttypes.h: inttypes_.h
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
sed -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \
-e 's|@''ABSOLUTE_INTTYPES_H''@|$(ABSOLUTE_INTTYPES_H)|g' \
-e 's/@''HAVE_INCLUDE_NEXT''@/$(HAVE_INCLUDE_NEXT)/g' \
-e 's/@''PRI_MACROS_BROKEN''@/$(PRI_MACROS_BROKEN)/g' \
-e 's/@''HAVE_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \
-e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/$(HAVE_UNSIGNED_LONG_LONG_INT)/g' \
......
......@@ -21,6 +21,7 @@ math.h: math_.h
rm -f $@-t $@
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
sed -e 's|@''ABSOLUTE_MATH_H''@|$(ABSOLUTE_MATH_H)|g' \
-e 's/@''HAVE_INCLUDE_NEXT''@/$(HAVE_INCLUDE_NEXT)/g' \
-e 's|@''GNULIB_FREXP''@|$(GNULIB_FREXP)|g' \
-e 's|@''GNULIB_FREXPL''@|$(GNULIB_FREXPL)|g' \
-e 's|@''GNULIB_LDEXPL''@|$(GNULIB_LDEXPL)|g' \
......
......@@ -21,6 +21,7 @@ search.h: search_.h
rm -f $@-t $@
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
sed -e 's|@''HAVE_SEARCH_H''@|$(HAVE_SEARCH_H)|g' \
-e 's/@''HAVE_INCLUDE_NEXT''@/$(HAVE_INCLUDE_NEXT)/g' \
-e 's|@''ABSOLUTE_SEARCH_H''@|$(ABSOLUTE_SEARCH_H)|g' \
-e 's|@''GNULIB_TSEARCH''@|$(GNULIB_TSEARCH)|g' \
-e 's|@''HAVE_TSEARCH''@|$(HAVE_TSEARCH)|g' \
......
......@@ -21,6 +21,7 @@ signal.h: signal_.h
rm -f $@-t $@
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
sed -e 's|@''ABSOLUTE_SIGNAL_H''@|$(ABSOLUTE_SIGNAL_H)|g' \
-e 's/@''HAVE_INCLUDE_NEXT''@/$(HAVE_INCLUDE_NEXT)/g' \
-e 's|@''GNULIB_SIGPROCMASK''@|$(GNULIB_SIGPROCMASK)|g' \
-e 's|@''HAVE_POSIX_SIGNALBLOCKING''@|$(HAVE_POSIX_SIGNALBLOCKING)|g' \
-e 's|@''HAVE_SIGSET_T''@|$(HAVE_SIGSET_T)|g' \
......
......@@ -29,6 +29,7 @@ stdint.h: stdint_.h
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
sed -e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \
-e 's|@''ABSOLUTE_STDINT_H''@|$(ABSOLUTE_STDINT_H)|g' \
-e 's/@''HAVE_INCLUDE_NEXT''@/$(HAVE_INCLUDE_NEXT)/g' \
-e 's/@''HAVE_SYS_TYPES_H''@/$(HAVE_SYS_TYPES_H)/g' \
-e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \
-e 's/@''HAVE_SYS_INTTYPES_H''@/$(HAVE_SYS_INTTYPES_H)/g' \
......
......@@ -21,6 +21,7 @@ stdio.h: stdio_.h
rm -f $@-t $@
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
sed -e 's|@''ABSOLUTE_STDIO_H''@|$(ABSOLUTE_STDIO_H)|g' \
-e 's/@''HAVE_INCLUDE_NEXT''@/$(HAVE_INCLUDE_NEXT)/g' \
-e 's|@''GNULIB_FPRINTF_POSIX''@|$(GNULIB_FPRINTF_POSIX)|g' \
-e 's|@''GNULIB_PRINTF_POSIX''@|$(GNULIB_PRINTF_POSIX)|g' \
-e 's|@''GNULIB_SNPRINTF''@|$(GNULIB_SNPRINTF)|g' \
......
......@@ -22,6 +22,7 @@ stdlib.h: stdlib_.h
rm -f $@-t $@
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
sed -e 's|@''ABSOLUTE_STDLIB_H''@|$(ABSOLUTE_STDLIB_H)|g' \
-e 's/@''HAVE_INCLUDE_NEXT''@/$(HAVE_INCLUDE_NEXT)/g' \
-e 's|@''GNULIB_GETSUBOPT''@|$(GNULIB_GETSUBOPT)|g' \
-e 's|@''GNULIB_MKDTEMP''@|$(GNULIB_MKDTEMP)|g' \
-e 's|@''GNULIB_MKSTEMP''@|$(GNULIB_MKSTEMP)|g' \
......
......@@ -22,6 +22,7 @@ string.h: string_.h
rm -f $@-t $@
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
sed -e 's|@''ABSOLUTE_STRING_H''@|$(ABSOLUTE_STRING_H)|g' \
-e 's/@''HAVE_INCLUDE_NEXT''@/$(HAVE_INCLUDE_NEXT)/g' \
-e 's|@''GNULIB_MBSLEN''@|$(GNULIB_MBSLEN)|g' \
-e 's|@''GNULIB_MBSCHR''@|$(GNULIB_MBSCHR)|g' \
-e 's|@''GNULIB_MBSRCHR''@|$(GNULIB_MBSRCHR)|g' \
......
......@@ -23,6 +23,7 @@ sys/time.h: sys_time_.h
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
sed -e 's/@''HAVE_SYS_TIME_H''@/$(HAVE_SYS_TIME_H)/g' \
-e 's|@''ABSOLUTE_SYS_TIME_H''@|$(ABSOLUTE_SYS_TIME_H)|g' \
-e 's/@''HAVE_INCLUDE_NEXT''@/$(HAVE_INCLUDE_NEXT)/g' \
-e 's/@''REPLACE_GETTIMEOFDAY''@/$(REPLACE_GETTIMEOFDAY)/g' \
-e 's/@''HAVE_STRUCT_TIMEVAL''@/$(HAVE_STRUCT_TIMEVAL)/g' \
< $(srcdir)/sys_time_.h; \
......
......@@ -21,6 +21,7 @@ time.h: time_.h
rm -f $@-t $@
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
sed -e 's|@ABSOLUTE_TIME_H''@|$(ABSOLUTE_TIME_H)|g' \
-e 's/@''HAVE_INCLUDE_NEXT''@/$(HAVE_INCLUDE_NEXT)/g' \
-e 's|@REPLACE_LOCALTIME_R''@|$(REPLACE_LOCALTIME_R)|g' \
-e 's|@REPLACE_NANOSLEEP''@|$(REPLACE_NANOSLEEP)|g' \
-e 's|@REPLACE_STRPTIME''@|$(REPLACE_STRPTIME)|g' \
......
......@@ -20,6 +20,7 @@ wchar.h: wchar_.h
rm -f $@-t $@
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
sed -e 's|@''ABSOLUTE_WCHAR_H''@|$(ABSOLUTE_WCHAR_H)|g' \
-e 's/@''HAVE_INCLUDE_NEXT''@/$(HAVE_INCLUDE_NEXT)/g' \
< $(srcdir)/wchar_.h; \
} > $@-t
mv $@-t $@
......
......@@ -22,6 +22,7 @@ wctype.h: wctype_.h
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
sed -e 's/@''HAVE_WCTYPE_H''@/$(HAVE_WCTYPE_H)/g' \
-e 's|@''ABSOLUTE_WCTYPE_H''@|$(ABSOLUTE_WCTYPE_H)|g' \
-e 's/@''HAVE_INCLUDE_NEXT''@/$(HAVE_INCLUDE_NEXT)/g' \
-e 's/@''HAVE_ISWCNTRL''@/$(HAVE_ISWCNTRL)/g' \
-e 's/@''HAVE_WINT_T''@/$(HAVE_WINT_T)/g' \
< $(srcdir)/wctype_.h; \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment