changeset 13384:cc6f2130863b

time: Undefine more broken macros.
author Bruno Haible <bruno@clisp.org>
date Thu, 03 Jun 2010 16:25:01 +0200
parents 27aa5a0e75a5
children 5d87ca7c823f
files ChangeLog lib/time.in.h
diffstat 2 files changed, 14 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2010-06-03  Bruno Haible  <bruno@clisp.org>
+
+	time: Undefine more broken macros.
+	* lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
+	for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
+	Reported by Eric Blake.
+
 2010-06-03  Bruno Haible  <bruno@clisp.org>
 
 	Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
--- a/lib/time.in.h
+++ b/lib/time.in.h
@@ -55,6 +55,13 @@
 #   include <sys/time.h>
 #  elif @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
 #   include <pthread.h>
+/* The pthreads-win32 <pthread.h> also defines a couple of broken macros.  */
+#   undef asctime_r
+#   undef ctime_r
+#   undef gmtime_r
+#   undef localtime_r
+#   undef rand_r
+#   undef strtok_r
 #  else
 
 #   ifdef __cplusplus
@@ -131,7 +138,6 @@
                                              struct tm *restrict __result));
 #  else
 #   if ! @HAVE_LOCALTIME_R@
-#    undef localtime_r
 _GL_FUNCDECL_SYS (localtime_r, struct tm *, (time_t const *restrict __timer,
                                              struct tm *restrict __result)
                                             _GL_ARG_NONNULL ((1, 2)));
@@ -152,7 +158,6 @@
                                           struct tm *restrict __result));
 #  else
 #   if ! @HAVE_LOCALTIME_R@
-#    undef gmtime_r
 _GL_FUNCDECL_SYS (gmtime_r, struct tm *, (time_t const *restrict __timer,
                                           struct tm *restrict __result)
                                          _GL_ARG_NONNULL ((1, 2)));