This should fix the problem reported on HP-UX 10.2. Committed as obvious:

Index: intrinsics/ctime.c
===================================================================
--- intrinsics/ctime.c  (revision 170679)
+++ intrinsics/ctime.c  (working copy)
@@ -39,9 +39,13 @@ static size_t
 strctime (char *s, size_t max, const time_t *timep)
 {
 #ifdef HAVE_STRFTIME
-  struct tm res;
-  struct tm *ltm = localtime_r (timep, &res);
-  return strftime (s, max, "%c", ltm);
+  struct tm ltm;
+  /* Note: We can't use the return value of localtime_r, as some
+     targets provide localtime_r based on a draft of the POSIX
+     standard where the return type is int rather than the
+     standardized struct tm*.  */
+  localtime_r (timep, &ltm);
+  return strftime (s, max, "%c", &ltm);
 #else
   return 0;
 #endif
Index: ChangeLog
===================================================================
--- ChangeLog   (revision 170679)
+++ ChangeLog   (working copy)
@@ -1,3 +1,9 @@
+2011-03-04  Janne Blomqvist  <j...@gcc.gnu.org>
+
+       PR libfortran/47802
+       * intrinsics/ctime.c (strctime): Don't use return value of
+       localtime_r.
+


-- 
Janne Blomqvist

Reply via email to