Declare timegm for ISO C2X

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.
This commit is contained in:
Joseph Myers 2022-06-06 14:47:03 +00:00
parent 603e5c8ba7
commit 828c72519f
1 changed files with 14 additions and 5 deletions

View File

@ -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