sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
authorBruno Haible <bruno@clisp.org>
Thu, 1 Sep 2011 10:15:11 +0000 (12:15 +0200)
committerIan Beckwith <ianb@erislabs.net>
Wed, 7 Sep 2011 23:52:20 +0000 (00:52 +0100)
* lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
just include the system's header.
(cherry picked from commit 8b18afa751dc5b8ab392fa5c566d25e14f5825ab)

ChangeLog
lib/sys_select.in.h

index eed8394..cfab565 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2011-09-01  Bruno Haible  <bruno@clisp.org>
+
+       sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
+       * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
+       just include the system's header.
+
 2011-08-31  Jim Meyering  <meyering@redhat.com>
 
        tests: avoid spurious assertion failure in test-float.c on ppc64
index 836a387..7d43c27 100644 (file)
 # define _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H
 # @INCLUDE_NEXT@ @NEXT_SYS_SELECT_H@
 
+/* On IRIX 6.5, <sys/timespec.h> includes <sys/types.h>, which includes
+   <sys/bsd_types.h>, which includes <sys/select.h>.  At this point we cannot
+   include <signal.h>, because that includes <internal/signal_core.h>, which
+   gives a syntax error because <sys/timespec.h> has not been completely
+   processed.  Simply delegate to the system's header in this case.  */
+#elif @HAVE_SYS_SELECT_H@ && defined __sgi && (defined _SYS_BSD_TYPES_H && !defined _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_BSD_TYPES_H)
+
+# define _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_BSD_TYPES_H
+# @INCLUDE_NEXT@ @NEXT_SYS_SELECT_H@
+
 #else
 
 #ifndef _@GUARD_PREFIX@_SYS_SELECT_H