Merge from gnulib.
authorPaul Eggert <eggert@cs.ucla.edu>
Mon, 1 Jul 2013 23:43:19 +0000 (16:43 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Mon, 1 Jul 2013 23:43:19 +0000 (16:43 -0700)
This incorporates:
2013-06-23 ignore-value: port to gcc -pedantic
2013-06-21 extern-inline: port to gcc -std=c89

ChangeLog
lib/ignore-value.h
m4/extern-inline.m4

index 301e912..7610b19 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2013-06-30  Paul Eggert  <eggert@cs.ucla.edu>
 
+       Merge from gnulib, incorporating:
+       2013-06-23 ignore-value: port to gcc -pedantic
+       2013-06-21 extern-inline: port to gcc -std=c89
+
        Do not use GTK 3 if it exists but cannot be compiled.
        * configure.ac: Leave GTK_OBJ and term_header alone if GTK 3
        exists but cannot be compiled.
index 63ecde8..ebd6bf4 100644 (file)
    declared with attribute warn_unused_result".  */
 
 #ifndef _GL_IGNORE_VALUE_H
-# define _GL_IGNORE_VALUE_H
+#define _GL_IGNORE_VALUE_H
 
 /* The __attribute__((__warn_unused_result__)) feature
    is available in gcc versions 3.4 and newer,
    while the typeof feature has been available since 2.7 at least.  */
-# if __GNUC__ < 3 || (__GNUC__ == 3 && __GNUC_MINOR__ < 4)
-#  define ignore_value(x) ((void) (x))
-# else
-#  define ignore_value(x) (({ __typeof__ (x) __x = (x); (void) __x; }))
-# endif
+#if 3 < __GNUC__ + (4 <= __GNUC_MINOR__)
+# define ignore_value(x) \
+    (__extension__ ({ __typeof__ (x) __x = (x); (void) __x; }))
+#else
+# define ignore_value(x) ((void) (x))
+#endif
 
 #endif
index 4e801e3..c4c5e7f 100644 (file)
@@ -31,7 +31,8 @@ AC_DEFUN([gl_EXTERN_INLINE],
      && !defined __APPLE__)
 # define _GL_INLINE inline
 # define _GL_EXTERN_INLINE extern inline
-#elif 2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __APPLE__
+#elif (2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __STRICT_ANSI__ \
+       && !defined __APPLE__)
 # if __GNUC_GNU_INLINE__
    /* __gnu_inline__ suppresses a GCC 4.2 diagnostic.  */
 #  define _GL_INLINE extern inline __attribute__ ((__gnu_inline__))