From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:56963) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WxHDu-0006Qb-RE for qemu-devel@nongnu.org; Wed, 18 Jun 2014 10:52:35 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WxHDl-0002v1-4M for qemu-devel@nongnu.org; Wed, 18 Jun 2014 10:52:26 -0400 Received: from mail-wi0-x230.google.com ([2a00:1450:400c:c05::230]:49565) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WxHDk-0002uu-TN for qemu-devel@nongnu.org; Wed, 18 Jun 2014 10:52:17 -0400 Received: by mail-wi0-f176.google.com with SMTP id n3so7797493wiv.3 for ; Wed, 18 Jun 2014 07:52:16 -0700 (PDT) Sender: Paolo Bonzini Message-ID: <53A1A79D.8010606@redhat.com> Date: Wed, 18 Jun 2014 16:52:13 +0200 From: Paolo Bonzini MIME-Version: 1.0 References: <1403039230-3427-1-git-send-email-sw@weilnetz.de> <53A1157E.9020409@twiddle.net> <53A1163A.1060902@weilnetz.de> <53A1194F.606@weilnetz.de> In-Reply-To: <53A1194F.606@weilnetz.de> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH] libvixl: Add gcc format attribute List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Stefan Weil , Richard Henderson , qemu-devel@nongnu.org Cc: Peter Maydell Il 18/06/2014 06:45, Stefan Weil ha scritto: > A 32 bit build on Ubuntu gcc-4.6.3-1ubuntu5 just finished and shows the > same error messages, so really all of my builds show them (32 and 64 > bit, Linux native and cross for Windows). > > Peter, I know that libvixl is external code, but posted this patch > because I need help: I simply don't know why the compiler complains and > whether these errors are really errors. It's easy to "fix" them by using > PRId64, but would that be correct? > > Variable arguments usually are not converted to 64 bit values: if they > are smaller than int, they are expanded to int, and larger values are > passed as they are. But here obviously the compiler expands uint32_t to > int64_t. Why? You can try synthesizing a minimal test case (either manually, or using the "delta" tool). Then compile it with -fdump-tree-all and see what it shows. Paolo