summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--lib/stdalign.in.h5
-rw-r--r--lib/utimens.c2
-rw-r--r--m4/stdalign.m48
4 files changed, 18 insertions, 5 deletions
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];