From: Markus Armbruster <armbru@redhat.com>
To: Stefan Weil <weil@mail.berlios.de>
Cc: Alexandre Raymond <cerbere@gmail.com>,
qemu-trivial@nongnu.org, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 5/6] Remove warning in printf due to type mismatch
Date: Fri, 27 May 2011 21:11:42 +0200 [thread overview]
Message-ID: <m38vtst0up.fsf@blackfin.pond.sub.org> (raw)
In-Reply-To: <4DDFE0C9.5040907@mail.berlios.de> (Stefan Weil's message of "Fri, 27 May 2011 19:35:05 +0200")
Stefan Weil <weil@mail.berlios.de> writes:
> Am 27.05.2011 19:22, schrieb Alexandre Raymond:
>> ----8<----
>> qemu/target-lm32/translate.c: In function
>> ‘gen_intermediate_code_internal’:
>> qemu/target-lm32/translate.c:1135: warning: format ‘%zd’ expects
>> type ‘signed size_t’, but argument 4 has type ‘int’
>> ----8<----
>>
>> Both gen_opc_ptr and gen_opc_buf are "uint16_t *", so a simple '%d' should
>> be able to describe their relative difference.
>>
>> Signed-off-by: Alexandre Raymond <cerbere@gmail.com>
>> ---
>> target-lm32/translate.c | 2 +-
>> 1 files changed, 1 insertions(+), 1 deletions(-)
>>
>> diff --git a/target-lm32/translate.c b/target-lm32/translate.c
>> index eb21158..0f69f27 100644
>> --- a/target-lm32/translate.c
>> +++ b/target-lm32/translate.c
>> @@ -1132,7 +1132,7 @@ static void
>> gen_intermediate_code_internal(CPUState *env,
>> if (qemu_loglevel_mask(CPU_LOG_TB_IN_ASM)) {
>> qemu_log("\n");
>> log_target_disas(pc_start, dc->pc - pc_start, 0);
>> - qemu_log("\nisize=%d osize=%zd\n",
>> + qemu_log("\nisize=%d osize=%d\n",
>> dc->pc - pc_start, gen_opc_ptr - gen_opc_buf);
>> }
>> #endif
>
> Nack.
>
> The original code is correct, because the difference of two pointers
> is always of type ssize_t (well, obviously not with your compiler,
> but then I assume that your compiler is broken).
ISO/IEC 9899:1999 §6.5.6 on pointer subtraction:
The size of the result is implementation-defined, and its type (a
signed integer type) is ptrdiff_t defined in the <stddef.h> header.
The pedantically correct way to print a pointer difference is the 't'
type modifier. Ibid. §7.19.6.1 on fprintf():
t Specifies that a following d, i, o, u, x, or X conversion
specifier applies to a ptrdiff_t or the corresponding unsigned
integer type argument; or that a following n conversion
specifier applies to a pointer to a ptrdiff_t argument.
ssize_t is POSIX, not ISO C. It can differ from ptrdiff_t only if
ptrdiff_t has a different size than size_t, which would be kind of sick.
ISO C permits all kinds of sickness. Whether tolerating a particular
sickness is worth our while is another question.
[...]
next prev parent reply other threads:[~2011-05-27 19:11 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-05-27 17:22 [Qemu-devel] [PATCH 0/6] Fix compilation issues under darwin Alexandre Raymond
2011-05-27 17:22 ` [Qemu-devel] [PATCH 1/6] Fix incorrect check for fdatasync() in configure Alexandre Raymond
2011-05-29 14:50 ` Andreas Färber
2011-05-29 15:46 ` Alexandre Raymond
2011-05-29 17:05 ` Andreas Färber
2011-05-27 17:22 ` [Qemu-devel] [PATCH 2/6] Cocoa: avoid displaying window when command-line contains '-h' Alexandre Raymond
2011-05-28 15:05 ` Andreas Färber
2011-05-27 17:22 ` [Qemu-devel] [PATCH 3/6] Fix compilation warning due to incorrectly specified type Alexandre Raymond
2011-05-27 17:42 ` Stefan Weil
2011-05-29 15:02 ` Andreas Färber
2011-05-27 17:22 ` [Qemu-devel] [PATCH 4/6] Fix missing prototype under cocoa for qemu_main Alexandre Raymond
2011-05-29 15:11 ` Andreas Färber
2011-05-29 19:58 ` [Qemu-devel] [PATCH] cocoa: Provide central qemu_main() prototype Andreas Färber
2011-05-29 23:53 ` Alexandre Raymond
2011-06-02 11:33 ` Andreas Färber
2011-06-09 18:30 ` Andreas Färber
2011-05-27 17:22 ` [Qemu-devel] [PATCH 5/6] Remove warning in printf due to type mismatch Alexandre Raymond
2011-05-27 17:35 ` Stefan Weil
2011-05-27 19:11 ` Markus Armbruster [this message]
2011-05-27 20:44 ` Stefan Weil
2011-05-27 22:10 ` Alexandre Raymond
2011-05-28 6:55 ` Paolo Bonzini
2011-05-28 8:19 ` Stefan Weil
2011-05-27 17:22 ` [Qemu-devel] [PATCH 6/6] Avoid compilation warning regarding kvm under darwin Alexandre Raymond
2011-05-27 17:39 ` Stefan Weil
2011-05-28 14:55 ` [Qemu-devel] [PATCH 0/6] Fix compilation issues " Andreas Färber
2011-05-28 19:41 ` [Qemu-devel] [Qemu-trivial] " Stefan Hajnoczi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=m38vtst0up.fsf@blackfin.pond.sub.org \
--to=armbru@redhat.com \
--cc=cerbere@gmail.com \
--cc=qemu-devel@nongnu.org \
--cc=qemu-trivial@nongnu.org \
--cc=weil@mail.berlios.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.