I wrote: > + > +#@INCLUDE_NEXT@ @NEXT_MALLOC_H@ > + > +#else > +/* Normal invocation convention. */ > + > +#ifndef _@GUARD_PREFIX@_MALLOC_H > + > +#define _GL_ALREADY_INCLUDING_MALLOC_H > + > /* The include_next requires a split double-inclusion guard. */ > #if @HAVE_MALLOC_H@ > # @INCLUDE_NEXT@ @NEXT_MALLOC_H@
For better portability, these @INCLUDE_NEXT@ @NEXT_MALLOC_H@ lines should be written differently: 2023-01-09 Bruno Haible <br...@clisp.org> malloc-h: Improve portability. * lib/malloc.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE when possible. * modules/malloc-h (Makefile.am): Substitute INCLUDE_NEXT_AS_FIRST_DIRECTIVE and NEXT_AS_FIRST_DIRECTIVE_MALLOC_H. diff --git a/lib/malloc.in.h b/lib/malloc.in.h index 52319a1fc4..4921f6e994 100644 --- a/lib/malloc.in.h +++ b/lib/malloc.in.h @@ -27,7 +27,7 @@ In this situation, in C++ mode, the declaration of memalign might be used before it actually occurs. */ -#@INCLUDE_NEXT@ @NEXT_MALLOC_H@ +#@INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ @NEXT_AS_FIRST_DIRECTIVE_MALLOC_H@ #else /* Normal invocation convention. */ @@ -38,7 +38,7 @@ /* The include_next requires a split double-inclusion guard. */ #if @HAVE_MALLOC_H@ -# @INCLUDE_NEXT@ @NEXT_MALLOC_H@ +# @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ @NEXT_AS_FIRST_DIRECTIVE_MALLOC_H@ #endif #undef _GL_ALREADY_INCLUDING_MALLOC_H diff --git a/modules/malloc-h b/modules/malloc-h index 9717c90b67..7c241d2943 100644 --- a/modules/malloc-h +++ b/modules/malloc-h @@ -26,10 +26,12 @@ malloc.h: malloc.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H @NMD@ $(AM_V_GEN)$(MKDIR_P) '%reldir%' $(gl_V_at)$(SED_HEADER_STDOUT) \ -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \ + -e 's|@''INCLUDE_NEXT_AS_FIRST_DIRECTIVE''@|$(INCLUDE_NEXT_AS_FIRST_DIRECTIVE)|g' \ -e 's|@''HAVE_MALLOC_H''@|$(HAVE_MALLOC_H)|g' \ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_AS_FIRST_DIRECTIVE_MALLOC_H''@|$(NEXT_AS_FIRST_DIRECTIVE_MALLOC_H)|g' \ -e 's|@''NEXT_MALLOC_H''@|$(NEXT_MALLOC_H)|g' \ -e 's/@''GNULIB_FREE_POSIX''@/$(GNULIB_FREE_POSIX)/g' \ -e 's/@''GNULIB_MEMALIGN''@/$(GNULIB_MEMALIGN)/g' \