diff mbox series

Declare timegm for ISO C2X

Message ID alpine.DEB.2.22.394.2206012307340.3755786@digraph.polyomino.org.uk
State New
Headers show
Series Declare timegm for ISO C2X | expand

Commit Message

Joseph Myers June 1, 2022, 11:08 p.m. UTC
The next revision of the ISO C standard has added the timegm function
(that was already supported in glibc).  Update the feature test
conditionals on its declaration in <time.h> accordingly.

Tested for x86_64.

Comments

Andreas Schwab June 2, 2022, 9:53 a.m. UTC | #1
On Jun 01 2022, Joseph Myers wrote:

> The next revision of the ISO C standard has added the timegm function
> (that was already supported in glibc).  Update the feature test
> conditionals on its declaration in <time.h> accordingly.

Ok.
diff mbox series

Patch

diff --git a/time/time.h b/time/time.h
index 2cf89e6222..d18089116e 100644
--- a/time/time.h
+++ b/time/time.h
@@ -240,21 +240,30 @@  extern long int timezone;
   ((year) % 4 == 0 && ((year) % 100 != 0 || (year) % 400 == 0))
 
 
+#if defined __USE_MISC || __GLIBC_USE (ISOC2X)
+# ifndef __USE_TIME_BITS64
+/* Like `mktime', but for TP represents Universal Time, not local time.  */
+extern time_t timegm (struct tm *__tp) __THROW;
+# else
+#  ifdef __REDIRECT_NTH
+extern time_t __REDIRECT_NTH (timegm, (struct tm *__tp), __timegm64);
+#  else
+#   define timegm __timegm64
+#  endif
+# endif
+#endif
+
+
 #ifdef __USE_MISC
 /* Miscellaneous functions many Unices inherited from the public domain
    localtime package.  These are included only for compatibility.  */
 
 #ifndef __USE_TIME_BITS64
-/* Like `mktime', but for TP represents Universal Time, not local time.  */
-extern time_t timegm (struct tm *__tp) __THROW;
 /* Another name for `mktime'.  */
 extern time_t timelocal (struct tm *__tp) __THROW;
 #else
 # ifdef __REDIRECT_NTH
-extern time_t __REDIRECT_NTH (timegm, (struct tm *__tp), __timegm64);
 extern time_t __REDIRECT_NTH (timelocal, (struct tm *__tp), __mktime64);
-# else
-#  define timegm __timegm64
 # endif
 #endif