[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Suspicious warning in W64 build

From: Richard Copley
Subject: Re: Suspicious warning in W64 build
Date: Sat, 16 Sep 2017 09:19:23 +0100

On 16 September 2017 at 07:40, Eli Zaretskii <address@hidden> wrote:
>> From: Richard Copley <address@hidden>
>> Date: Sat, 16 Sep 2017 00:05:44 +0100
>> Cc: Fabrice Popineau <address@hidden>,
>>       Emacs Development <address@hidden>
>> On 15 September 2017 at 09:54, Eli Zaretskii <address@hidden> wrote:
>> > About this warning:
>> >
>> >   w32.c:7550:1: warning: no previous prototype for 'sys_strerror' 
>> > [-Wmissing-prototypes]
>> >    sys_strerror (int error_no)
>> >    ^~~~~~~~~~~~
>> >
>> > What MinGW64 header has the prototype of strerror?  I thought it was
>> > string.h, like in mingw.org's headers, but evidently that's not true?
>> > If the prototype is in string.h, then why is this warning being
>> > displayed?
>> It is in string.h.
>> Forgive me if I misunderstood, but isn't it because the warning is
>> about a prototype for sys_strerror, not a prototype for strerror?
> If you look at the beginning of w32.c, you will see that we include
> string.h before we #undef strerror.  The header nt/inc/ms-w32.h
> #define's strerror to sys_strerror, so the inclusion of string.h
> should have supplied the prototype for sys_strerror.  Why doesn't it
> do that in MinGW64?  Does some system header #undef strerror too
> early?

I see, thanks. No, there's no #undef. We end up including string.h before
ms-w32.h (w32.c includes io.h and io.h unconditionally includes string.h).

reply via email to

[Prev in Thread] Current Thread [Next in Thread]