changeset 17338:6f8d1926ece8

extern-inline: avoid compilation error with HP-UX cc Reported by Richard Lloyd in <http://lists.gnu.org/archive/html/bug-texinfo/2013-02/msg00030.html>. * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE): Suppress extern inline with HP-UX cc. This should be safe, though it may hurt performance. Perhaps someone with some HP-UX experience can come up with a higher-performance fix.
author Paul Eggert <eggert@cs.ucla.edu>
date Mon, 18 Feb 2013 17:16:30 -0800
parents a72ac603a92f
children bfb7633de5b0
files ChangeLog m4/extern-inline.m4
diffstat 2 files changed, 14 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2013-02-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+	extern-inline: avoid compilation error with HP-UX cc
+	Reported by Richard Lloyd in
+	<http://lists.gnu.org/archive/html/bug-texinfo/2013-02/msg00030.html>.
+	* m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
+	Suppress extern inline with HP-UX cc.  This should be safe,
+	though it may hurt performance.  Perhaps someone with some HP-UX
+	experience can come up with a higher-performance fix.
+
 2013-02-14  Paul Eggert  <eggert@cs.ucla.edu>
 
 	putenv: fix heap corruption with mixed putenv/_putenv
--- a/m4/extern-inline.m4
+++ b/m4/extern-inline.m4
@@ -18,13 +18,16 @@
    _GL_INLINE_HEADER_END contains useful stuff to put
      in the same include file, after uses of _GL_INLINE.
 
+   Suppress extern inline with HP-UX cc, as it appears to be broken; see
+   <http://lists.gnu.org/archive/html/bug-texinfo/2013-02/msg00030.html>.
+
    Suppress the use of extern inline on Apple's platforms,
    as Libc-825.25 (2012-09-19) is incompatible with it; see
    <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html>.
    Perhaps Apple will fix this some day.  */
 #if ((__GNUC__ \
       ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \
-      : 199901L <= __STDC_VERSION__) \
+      : 199901L <= __STDC_VERSION__ && !defined __HP_cc) \
      && !defined __APPLE__)
 # define _GL_INLINE inline
 # define _GL_EXTERN_INLINE extern inline