Re: [PATCH 2/2] libc/include/time.h: Add TIME_MONOTONIC for C23
Corinna Vinschen <[email protected]> Sun, 19 Apr 2026 11:13:38 +0200
| Newsgroups | gmane.comp.lib.newlib |
|---|---|
| Message-ID | <[email protected]> |
On Apr 16 23:24, Howland, Craig D. - US via Newlib wrote: > > From: Joel Sherrill <[email protected]> > > Sent: Thursday, April 16, 2026 6:06 PM > > To: [email protected] <[email protected]> > > Cc: Joel Sherrill <[email protected]> > > Subject: [PATCH 2/2] libc/include/time.h: Add TIME_MONOTONIC for C23 > > --- > > newlib/libc/include/time.h | 3 +++ > > 1 file changed, 3 insertions(+) > > > > diff --git a/newlib/libc/include/time.h b/newlib/libc/include/time.h > > index e972bd416..429dd8bd9 100644 > > --- a/newlib/libc/include/time.h > > +++ b/newlib/libc/include/time.h > > @@ -63,6 +63,9 @@ time_t time (time_t *_timer); > > int timespec_get(struct timespec *ts, int base); > > #endif > > #if (__ISO_C_VISIBLE >= 2023) > > +#define TIME_MONOTONIC 2 > > +#endif > > +#if (__ISO_C_VISIBLE >= 2023) > > int timespec_getres(struct timespec *ts, int base); > > #endif > > #ifndef _REENT_ONLY > > Any particular reason for two of the same #if? I can't think of one, merge them. > Additionally, this also could be grouped within the preceding #if (__ISO_C_VISIBLE >= 2011 || __POSIX_VISIBLE >= 202405), which would make it read a little more cleanly. > Speaking of cleanly, this diff appears to be based on a corrupted file version, fails to apply. (It is lacking #define TIME_UTC, e.g.) > > Snippet from present time.h: > > #if (__ISO_C_VISIBLE >= 2011 || __POSIX_VISIBLE >= 202405) > #define TIME_UTC 1 > > int timespec_get(struct timespec *ts, int base); > #endif > > Suggested end result: > #if (__ISO_C_VISIBLE >= 2011 || __POSIX_VISIBLE >= 202405) > #define TIME_UTC 1 > int timespec_get(struct timespec *ts, int base); > #if (__ISO_C_VISIBLE >= 2023) > #define TIME_MONOTONIC 2 > int timespec_getres(struct timespec *ts, int base); > #endif > #endif Actually, the definitions TIME_UTC and TIME_MONOTONIC should be adjacent to each other. And if TIME_MONOTONIC gets defined, TIME_ACTIVE and TIME_THREAD_ACTIVE should be defined as well, me thinks: #if (__ISO_C_VISIBLE >= 2011 || __POSIX_VISIBLE >= 202405) #define TIME_UTC 1 #endif #if (__ISO_C_VISIBLE >= 2023) #define TIME_MONOTONIC 2 #define TIME_ACTIVE 3 #define TIME_THREAD_ACTIVE 4 #endif and only after that the related functions should be defined. It might be a good idea, to separate out the above macros as well as the functions timespec_get and timespec_getres into it's own block in time.h, too. Corinna