'Cygwin: C standard library does not support TIME_UTC and timespec_get?

Sample code (t667c.c, taken from here):

#include <stdio.h>
#include <time.h>

int main(void)
{
    struct timespec ts;
    timespec_get(&ts, TIME_UTC);
    char buff[100];
    strftime(buff, sizeof buff, "%D %T", gmtime(&ts.tv_sec));
    printf("Current time: %s.%09ld UTC\n", buff, ts.tv_nsec);
    return 0;
}

Invocation:

$ gcc t667c.c -std=c11 -pedantic -Wall -Wextra
t667c.c: In function ‘main’:
t667c.c:7:5: warning: implicit declaration of function ‘timespec_get’ [-Wimplicit-function-declaration]
    7 |     timespec_get(&ts, TIME_UTC);
      |     ^~~~~~~~~~~~
t667c.c:7:23: error: ‘TIME_UTC’ undeclared (first use in this function)
    7 |     timespec_get(&ts, TIME_UTC);
      |                       ^~~~~~~~
t667c.c:7:23: note: each undeclared identifier is reported only once for each function it appears in

Extra:

$ gcc --version
gcc (GCC) 11.2.0

$ uname -a
CYGWIN_NT-10.0 xxx 3.3.4(0.341/5/3) 2022-01-31 19:35 x86_64 Cygwin

Does it mean that TIME_UTC and timespec_get are not supported?


UPD. See UPD in the similar question.



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source