Mercurial > hg > octave-lyh > gnulib-hg
changeset 11029:10f80546fa7e
Attempt to avoid a recursive include of wchar.h on IRIX 6.5.
author | Bruno Haible <bruno@clisp.org> |
---|---|
date | Sat, 17 Jan 2009 14:06:30 +0100 |
parents | 29b9820e29f2 |
children | bb4a06b3e8fb |
files | ChangeLog lib/wchar.in.h |
diffstat | 2 files changed, 17 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2009-01-17 Bruno Haible <bruno@clisp.org> + + * lib/wchar.in.h: In another particular situation, include only the + system's <wchar.h> file. + (_GL_ALREADY_INCLUDING_WCHAR_H): New macro. + Reported by Albert Chin-A-Young <china@thewrittenword.com> + and Thomas Guyot-Sionnest <dermoth@aei.ca>. + 2009-01-17 Bruno Haible <bruno@clisp.org> Support for stripping executables in --enable-relocatable.
--- a/lib/wchar.in.h +++ b/lib/wchar.in.h @@ -30,7 +30,7 @@ @PRAGMA_SYSTEM_HEADER@ #endif -#if defined __need_mbstate_t || (defined __hpux && ((defined _INTTYPES_INCLUDED && !defined strtoimax) || defined _GL_JUST_INCLUDE_SYSTEM_WCHAR_H)) +#if defined __need_mbstate_t || (defined __hpux && ((defined _INTTYPES_INCLUDED && !defined strtoimax) || defined _GL_JUST_INCLUDE_SYSTEM_WCHAR_H)) || defined _GL_ALREADY_INCLUDING_WCHAR_H /* Special invocation convention: - Inside uClibc header files. - On HP-UX 11.00 we have a sequence of nested includes @@ -38,7 +38,10 @@ once indirectly <stdint.h> -> <sys/types.h> -> <inttypes.h> -> <wchar.h> and once directly. In both situations 'wint_t' is not yet defined, therefore we cannot provide the function overrides; instead include only - the system's <wchar.h>. */ + the system's <wchar.h>. + - On IRIX 6.5, similarly, we have an include <wchar.h> -> <wctype.h>, and + the latter includes <wchar.h>. But here, we have no way to detect whether + <wctype.h> is completely included or is still being included. */ #@INCLUDE_NEXT@ @NEXT_WCHAR_H@ @@ -47,6 +50,8 @@ #ifndef _GL_WCHAR_H +#define _GL_ALREADY_INCLUDING_WCHAR_H + /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before <wchar.h>. BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be @@ -62,6 +67,8 @@ # @INCLUDE_NEXT@ @NEXT_WCHAR_H@ #endif +#undef _GL_ALREADY_INCLUDING_WCHAR_H + #ifndef _GL_WCHAR_H #define _GL_WCHAR_H