From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:55761) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QZzdV-0003yz-Uu for qemu-devel@nongnu.org; Fri, 24 Jun 2011 02:13:03 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QZzdT-0007sR-Oe for qemu-devel@nongnu.org; Fri, 24 Jun 2011 02:13:01 -0400 MIME-Version: 1.0 In-Reply-To: <4E042A94.7020608@mail.berlios.de> References: <4E02F63E.3010908@web.de> <20110623133508.GF12698@stefanha-thinkpad.localdomain> <4E034E79.5050901@mail.berlios.de> <4E042A94.7020608@mail.berlios.de> Date: Fri, 24 Jun 2011 07:12:58 +0100 Message-ID: From: Stefan Hajnoczi Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [Qemu-trivial] [PATCH] Avoid double definitions of PRI*64 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Stefan Weil Cc: qemu-trivial , Jan Kiszka , qemu-devel On Fri, Jun 24, 2011 at 7:11 AM, Stefan Weil wrote: > Am 24.06.2011 07:41, schrieb Stefan Hajnoczi: >> >> On Thu, Jun 23, 2011 at 3:32 PM, Stefan Weil wrot= e: >>> >>> 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 >>>>> >>>>> 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 >>>>> --- >>>>> 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-patc= hes >>>> >>>> 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 =A034) #define PRId64 "I64= d" > 8f6754d5 (dannysmith 2002-06-13 10:20:41 +0000 =A052) #define PRIi64 "I64= i" > 8f6754d5 (dannysmith 2002-06-13 10:20:41 +0000 =A070) #define PRIo64 "I64= o" > 8f6754d5 (dannysmith 2002-06-13 10:20:41 +0000 =A090) #define PRIu64 "I64= u" > 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 tim= e, > 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