qemu-trivial
[Top][All Lists]
Advanced

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

Re: [Qemu-trivial] [PATCH] Avoid double definitions of PRI*64


From: Stefan Hajnoczi
Subject: Re: [Qemu-trivial] [PATCH] Avoid double definitions of PRI*64
Date: Fri, 24 Jun 2011 07:12:58 +0100

On Fri, Jun 24, 2011 at 7:11 AM, Stefan Weil <address@hidden> wrote:
> Am 24.06.2011 07:41, schrieb Stefan Hajnoczi:
>>
>> On Thu, Jun 23, 2011 at 3:32 PM, Stefan Weil <address@hidden> wrote:
>>>
>>> Am 23.06.2011 15:35, schrieb Stefan Hajnoczi:
>>>>
>>>> On Thu, Jun 23, 2011 at 10:15:58AM +0200, Jan Kiszka wrote:
>>>>>
>>>>> From: Jan Kiszka <address@hidden>
>>>>>
>>>>> Recent mingw32 provide those defines.
>>>
>>> ... and all of those defines are wrong, because QEMU does not use
>>> MS format specifiers. http://patchwork.ozlabs.org/patch/74276/
>>> tried to fix this. My preferred solution is removing those PRI*64 from
>>> qemu-common.h, because not only recent mingw32 versions provide
>>> the (wrong) definitions, but even the Debian version provides them
>>> (which is really old, but I use it for my regression tests).
>>>
>>> The wrong definitions do not allow using -Wformat for mingw32
>>> builds, but they work because (most?) relevant mingw32 functions
>>> accept both MS and standard format specifiers.
>>>
>>> Adding the correct definitions (to qemu-os-win32.h, not to qemu-common.h)
>>> would be another solution as long as mingw32 does not handle
>>> __USE_MINGW_ANSI_STDIO correctly.
>>>
>>>>>
>>>>> Signed-off-by: Jan Kiszka <address@hidden>
>>>>> ---
>>>>> qemu-common.h | 3 +++
>>>>> 1 files changed, 3 insertions(+), 0 deletions(-)
>>>>
>>>> It's never too late to implement C99!
>>>>
>>>> Thanks, applied to the trivial patches tree:
>>>>
>>>> http://repo.or.cz/w/qemu/stefanha.git/shortlog/refs/heads/trivial-patches
>>>>
>>>> Stefan
>>>
>>> Stefan, the patch won't harm, but it's also unnecessary.
>>> So it's up to you whether you remove it from your queue,
>>> modify it as I suggested above or apply it as it is.
>>
>> Keeping those #defines unconditional prevents new mingw builds from
>> working, according to the commit description. So we have to either
>> remove them entirely or do them correctly. Dropping this patch will
>> keep the build from working.
>>
>> I suggest we keep this patch. A follow-up patch can us MS format
>> specifiers or do any other adjustments that make this work better.
>> Stefan, would you be able to send that patch?
>>
>> Stefan
>
> Hi Stefan,
>
> I just did a "git blame include/inttypes.h" on cygwin/mingw32 sources
> (git repository created from CVS). Here is the result:
>
> 8f6754d5 (dannysmith 2002-06-13 10:20:41 +0000  34) #define PRId64 "I64d"
> 8f6754d5 (dannysmith 2002-06-13 10:20:41 +0000  52) #define PRIi64 "I64i"
> 8f6754d5 (dannysmith 2002-06-13 10:20:41 +0000  70) #define PRIo64 "I64o"
> 8f6754d5 (dannysmith 2002-06-13 10:20:41 +0000  90) #define PRIu64 "I64u"
> 8f6754d5 (dannysmith 2002-06-13 10:20:41 +0000 109) #define PRIx64 "I64x"
> 8f6754d5 (dannysmith 2002-06-13 10:20:41 +0000 127) #define PRIX64 "I64X"
>
> The format specifiers were added in 2002 and never changed since that time,
> so they are rather old. They don't break any current mingw32 builds.
> They will break builds as soon as mingw32 fixes the wrong definitions
> (which I don't expect for the next months).
>
> I'll send a patch which simply removes the definitions from
> qemu-common.h, so Jan's patch is no longer needed.

Thanks!

Stefan



reply via email to

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