From: Paul Eggert <eggert@cs.ucla.edu>
Date: Tue, 23 Dec 2014 02:42:50 +0000 (-0800)
Subject: Merge from gnulib
X-Git-Tag: emacs-25.0.90~2635^2
X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=e3040f2aee768655198dd6f979a1ff3a72d17d16;p=emacs.git

Merge from gnulib

2014-12-20 utimens: remove unnecessary assert
2014-12-16 stdalign: port better to HP compilers
2014-12-16 stdalign: work around Apple GCC 4.0 bug
* lib/stdalign.in.h, lib/utimens.c, m4/stdalign.m4: Update from gnulib.
---

diff --git a/ChangeLog b/ChangeLog
index 718a9588712..7e68314438d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2014-12-23  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Merge from gnulib
+	2014-12-20 utimens: remove unnecessary assert
+	2014-12-16 stdalign: port better to HP compilers
+	2014-12-16 stdalign: work around Apple GCC 4.0 bug
+	* lib/stdalign.in.h, lib/utimens.c, m4/stdalign.m4: Update from gnulib.
+
 2014-12-14  Paul Eggert  <eggert@cs.ucla.edu>
 
 	Spelling fixes
diff --git a/lib/stdalign.in.h b/lib/stdalign.in.h
index dcaab55b577..413936df78c 100644
--- a/lib/stdalign.in.h
+++ b/lib/stdalign.in.h
@@ -95,7 +95,10 @@
 #if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112
 # if defined __cplusplus && 201103 <= __cplusplus
 #  define _Alignas(a) alignas (a)
-# elif (__GNUC__ || __HP_cc || __HP_aCC || __IBMC__ || __IBMCPP__ \
+# elif ((defined __APPLE__ && defined __MACH__                  \
+         ? 4 < __GNUC__ + (1 <= __GNUC_MINOR__)                 \
+         : __GNUC__)                                            \
+        || __HP_cc || __HP_aCC || __IBMC__ || __IBMCPP__        \
         || __ICC || 0x5110 <= __SUNPRO_C)
 #  define _Alignas(a) __attribute__ ((__aligned__ (a)))
 # elif 1300 <= _MSC_VER
diff --git a/lib/utimens.c b/lib/utimens.c
index dd3ec668f37..04441037631 100644
--- a/lib/utimens.c
+++ b/lib/utimens.c
@@ -24,7 +24,6 @@
 #define _GL_UTIMENS_INLINE _GL_EXTERN_INLINE
 #include "utimens.h"
 
-#include <assert.h>
 #include <errno.h>
 #include <fcntl.h>
 #include <stdbool.h>
@@ -87,7 +86,6 @@ validate_timespec (struct timespec timespec[2])
 {
   int result = 0;
   int utime_omit_count = 0;
-  assert (timespec);
   if ((timespec[0].tv_nsec != UTIME_NOW
        && timespec[0].tv_nsec != UTIME_OMIT
        && ! (0 <= timespec[0].tv_nsec
diff --git a/m4/stdalign.m4 b/m4/stdalign.m4
index 9efafe5c5b2..f60257f16ab 100644
--- a/m4/stdalign.m4
+++ b/m4/stdalign.m4
@@ -32,8 +32,12 @@ AC_DEFUN([gl_STDALIGN_H],
             /* Test _Alignas only on platforms where gnulib can help.  */
             #if \
                 ((defined __cplusplus && 201103 <= __cplusplus) \
-                 || __GNUC__ || __IBMC__ || __IBMCPP__ || __ICC \
-                 || 0x5110 <= __SUNPRO_C || 1300 <= _MSC_VER)
+                 || (defined __APPLE__ && defined __MACH__ \
+                     ? 4 < __GNUC__ + (1 <= __GNUC_MINOR__) \
+                     : __GNUC__) \
+                 || __HP_cc || __HP_aCC || __IBMC__ || __IBMCPP__ \
+                 || __ICC || 0x5110 <= __SUNPRO_C \
+                 || 1300 <= _MSC_VER)
               struct alignas_test { char c; char alignas (8) alignas_8; };
               char test_alignas[offsetof (struct alignas_test, alignas_8) == 8
                                 ? 1 : -1];