✘Warnings on OSX
Matthew Selsky
Matthew.Selsky at twosigma.com
Sat Aug 31 18:09:28 UTC 2019
On Fri, Aug 30, 2019 at 08:01:59PM -0700, Fred Wright via devel wrote:
>
> On Thu, 29 Aug 2019, Gary E. Miller via devel wrote:
>
> > Warnings on OSX:
> >
> > [ 73/131] Compiling libntp/ntp_calendar.c
> > ../../ntpd/ntp_control.c:2612:27: warning: format specifies type 'unsigned short' but the argument has type 'unsigned int' [-Wformat]
> > socktoa(rmt_addr), (unsigned)SRCPORT(rmt_addr));
> > ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> > 1 warning generated.
> >
> >
> > [106/131] Compiling ntpd/ntp_dns.c
> > ../../ntpd/refclock_gpsd.c:2118:6: warning: implicit declaration of function 'strlcpy' is invalid in C99 [-Wimplicit-function-declaration]
> > strlcpy(pp->a_lastcode, tc, sizeof(pp->a_lastcode));
> > ^
> > ../../ntpd/refclock_gpsd.c:2118:6: warning: this function declaration is not a prototype [-Wstrict-prototypes]
> > 2 warnings generated.
> >
> > Anyone want to fix them?
>
> The second one, which was present on FreeBSD as well, seems to have been
> caused by the definition of _XOPEN_SOURCE in refclock_gpsd.c. And in spite
> of what the comment says, this definition does *not* seem to be needed to
> get strptime(). So simply removing it gets rid of the warning, and doesn't
> break anything AFAICT.
https://linux.die.net/man/3/strptime says:
"This function is available since libc 4.6.8. Linux libc4 and libc5 includes define the prototype unconditionally; glibc2 includes provide a prototype only when _XOPEN_SOURCE or _GNU_SOURCE are defined."
Maybe that man page out of date?
/usr/include/time.h on my Debian Stretch system (glibc 2.24) has:
# ifdef __USE_XOPEN
/* Parse S according to FORMAT and store binary time information in TP.
The return value is a pointer to the first unparsed character in S. */
extern char *strptime (const char *__restrict __s,
const char *__restrict __fmt, struct tm *__tp)
__THROW;
# endif
_GNU_SOURCE implies _XOPEN_SOURCE...
So we need _XOPEN_SOURCE set (or something that implies it) somewhere upstream to get this prototype on newer glibc versions.
Thanks,
-Matt
More information about the devel
mailing list