https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114731
--- Comment #9 from Alejandro Colomar <alx at kernel dot org> --- The related bug claims to be fixed in trunk. I can still reproduce mine in gcc-14, from Debian RC-Buggy. alx@debian:~/tmp/c$ gcc-14 -Wall -Wextra g.c -S g.c: In function ‘main’: g.c:96:21: error: passing argument 1 of ‘a2si_c’ from incompatible pointer type [-Wincompatible-pointer-types] 96 | a2i(time_t, &t, "42", NULL, 0, 0, 10); | ^~ | | | time_t * {aka long int *} g.c:30:11: note: in definition of macro ‘a2si’ 30 | )(n, s, endp, base, min, max) \ | ^ g.c:96:9: note: in expansion of macro ‘a2i’ 96 | a2i(time_t, &t, "42", NULL, 0, 0, 10); | ^~~ g.c:54:22: note: expected ‘int * restrict’ but argument is of type ‘time_t *’ {aka ‘long int *’} 54 | a2si_c(int *restrict n, const char *s, | ~~~~~~~~~~~~~~^ alx@debian:~/tmp/c$ gcc-14 --version gcc-14 (Debian 14-20240330-1) 14.0.1 20240330 (experimental) [master r14-9728-g6fc84f680d0] Copyright (C) 2024 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.