changeset 6866:bcac002437d1

Tweak for SGI cc.
author Bruno Haible <bruno@clisp.org>
date Mon, 26 Jun 2006 17:03:57 +0000
parents 159a5bb87489
children 1cc0079e942e
files lib/ChangeLog lib/stdint_.h m4/ChangeLog m4/stdint.m4
diffstat 4 files changed, 24 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/lib/ChangeLog
+++ b/lib/ChangeLog
@@ -1,3 +1,9 @@
+2006-06-26  Bruno Haible  <bruno@clisp.org>
+
+	* stdlib_.h: Don't include <stdint.h> when using the SGI C compiler
+	in pre-C99 mode.
+	Suggested by Mark D. Baushke and Larry Jones.
+
 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
 
 	* stdlib_.h: Treat BSD/OS like OpenBSD.
--- a/lib/stdint_.h
+++ b/lib/stdint_.h
@@ -67,7 +67,16 @@
 #endif
 #if @HAVE_STDINT_H@
   /* Other systems may have an incomplete <stdint.h>.  */
-# include @FULL_PATH_STDINT_H@
+  /* On some versions of IRIX, the SGI C compiler comes with an <stdint.h>,
+     but
+       - in c99 mode, <inttypes.h> includes <stdint.h>,
+       - in c89 mode, <stdint.h> spews warnings. <inttypes.h> defines only
+         a subset of the types and macros that are defined in <stdint.h>.
+     So we rely only on <inttypes.h> (included above).  It means that in
+     c89 mode, we shadow the contents of warning-spewing <stdint.h>.  */
+# if !(defined(__sgi) && @HAVE_INTTYPES_H@ && !defined(_c99))
+#  include @FULL_PATH_STDINT_H@
+# endif
 #endif
 
 /* 7.18.1.1. Exact-width integer types */
--- a/m4/ChangeLog
+++ b/m4/ChangeLog
@@ -1,3 +1,9 @@
+2006-06-26  Bruno Haible  <bruno@clisp.org>
+
+	* stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
+	SGI C compiler in pre-C99 mode.
+	Suggested by Mark D. Baushke and Larry Jones.
+
 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
 
 	* stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
--- a/m4/stdint.m4
+++ b/m4/stdint.m4
@@ -1,4 +1,4 @@
-# stdint.m4 serial 9
+# stdint.m4 serial 10
 dnl Copyright (C) 2001-2002, 2004-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,
@@ -105,7 +105,7 @@
 #if (defined(__hpux) || defined(_AIX)) && HAVE_INTTYPES_H
 # include FULL_PATH_INTTYPES_H
 #endif
-#if HAVE_STDINT_H
+#if HAVE_STDINT_H && !(defined(__sgi) && HAVE_INTTYPES_H && !defined(_c99))
 # include FULL_PATH_STDINT_H
 #endif
 '