* [Qemu-devel] [PATCH] es1370: Fix compiler warnings for debug code
@ 2010-09-30 19:08 Stefan Weil
2010-09-30 20:33 ` malc
0 siblings, 1 reply; 7+ messages in thread
From: Stefan Weil @ 2010-09-30 19:08 UTC (permalink / raw)
To: QEMU Developers; +Cc: Blue Swirl
The patch fixes these gcc warnings:
./hw/es1370.c: In function ‘es1370_update_voices’:
./hw/es1370.c:411: error: format ‘%d’ expects type ‘int’, but argument 3 has type ‘size_t’
./hw/es1370.c: In function ‘es1370_writel’:
./hw/es1370.c:579: error: format ‘%d’ expects type ‘int’, but argument 3 has type ‘long int’
./hw/es1370.c:589: error: format ‘%d’ expects type ‘int’, but argument 3 has type ‘long int’
./hw/es1370.c:606: error: format ‘%d’ expects type ‘int’, but argument 3 has type ‘long int’
./hw/es1370.c: In function ‘es1370_readl’:
./hw/es1370.c:748: error: suggest braces around empty body in an ‘if’ statement
Cc: Blue Swirl <blauwirbel@gmail.com>
Signed-off-by: Stefan Weil <weil@mail.berlios.de>
---
hw/es1370.c | 11 ++++++-----
1 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/hw/es1370.c b/hw/es1370.c
index 40cb48c..c87bbf2 100644
--- a/hw/es1370.c
+++ b/hw/es1370.c
@@ -408,7 +408,7 @@ static void es1370_update_voices (ES1370State *s, uint32_t ctl, uint32_t sctl)
if ((old_fmt != new_fmt) || (old_freq != new_freq)) {
d->shift = (new_fmt & 1) + (new_fmt >> 1);
- ldebug ("channel %d, freq = %d, nchannels %d, fmt %d, shift %d\n",
+ ldebug ("channel %zu, freq = %d, nchannels %d, fmt %d, shift %d\n",
i,
new_freq,
1 << (new_fmt & 1),
@@ -576,7 +576,7 @@ IO_WRITE_PROTO (es1370_writel)
d++;
case ES1370_REG_DAC1_SCOUNT:
d->scount = (val & 0xffff) | (d->scount & ~0xffff);
- ldebug ("chan %d CURR_SAMP_CT %d, SAMP_CT %d\n",
+ ldebug ("chan %ld CURR_SAMP_CT %d, SAMP_CT %d\n",
d - &s->chan[0], val >> 16, (val & 0xffff));
break;
@@ -586,7 +586,7 @@ IO_WRITE_PROTO (es1370_writel)
d++;
case ES1370_REG_DAC1_FRAMEADR:
d->frame_addr = val;
- ldebug ("chan %d frame address %#x\n", d - &s->chan[0], val);
+ ldebug ("chan %ld frame address %#x\n", d - &s->chan[0], val);
break;
case ES1370_REG_PHANTOM_FRAMECNT:
@@ -603,7 +603,7 @@ IO_WRITE_PROTO (es1370_writel)
case ES1370_REG_DAC1_FRAMECNT:
d->frame_cnt = val;
d->leftover = 0;
- ldebug ("chan %d frame count %d, buffer size %d\n",
+ ldebug ("chan %ld frame count %d, buffer size %d\n",
d - &s->chan[0], val >> 16, val & 0xffff);
break;
@@ -743,9 +743,10 @@ IO_READ_PROTO (es1370_readl)
{
uint32_t size = ((d->frame_cnt & 0xffff) + 1) << 2;
uint32_t curr = ((d->frame_cnt >> 16) + 1) << 2;
- if (curr > size)
+ if (curr > size) {
dolog ("read framecnt curr %d, size %d %d\n", curr, size,
curr > size);
+ }
}
#endif
break;
--
1.7.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PATCH] es1370: Fix compiler warnings for debug code
2010-09-30 19:08 [Qemu-devel] [PATCH] es1370: Fix compiler warnings for debug code Stefan Weil
@ 2010-09-30 20:33 ` malc
2010-10-01 18:05 ` [Qemu-devel] [PATCH v2] " Stefan Weil
0 siblings, 1 reply; 7+ messages in thread
From: malc @ 2010-09-30 20:33 UTC (permalink / raw)
To: Stefan Weil; +Cc: Blue Swirl, QEMU Developers
On Thu, 30 Sep 2010, Stefan Weil wrote:
> The patch fixes these gcc warnings:
>
> ./hw/es1370.c: In function ?es1370_update_voices?:
> ./hw/es1370.c:411: error: format ?%d? expects type ?int?, but argument 3 has type ?size_t?
> ./hw/es1370.c: In function ?es1370_writel?:
> ./hw/es1370.c:579: error: format ?%d? expects type ?int?, but argument 3 has type ?long int?
> ./hw/es1370.c:589: error: format ?%d? expects type ?int?, but argument 3 has type ?long int?
> ./hw/es1370.c:606: error: format ?%d? expects type ?int?, but argument 3 has type ?long int?
> ./hw/es1370.c: In function ?es1370_readl?:
> ./hw/es1370.c:748: error: suggest braces around empty body in an ?if? statement
>
> Cc: Blue Swirl <blauwirbel@gmail.com>
> Signed-off-by: Stefan Weil <weil@mail.berlios.de>
> ---
> hw/es1370.c | 11 ++++++-----
> 1 files changed, 6 insertions(+), 5 deletions(-)
>
> diff --git a/hw/es1370.c b/hw/es1370.c
> index 40cb48c..c87bbf2 100644
> --- a/hw/es1370.c
> +++ b/hw/es1370.c
> @@ -408,7 +408,7 @@ static void es1370_update_voices (ES1370State *s, uint32_t ctl, uint32_t sctl)
>
> if ((old_fmt != new_fmt) || (old_freq != new_freq)) {
> d->shift = (new_fmt & 1) + (new_fmt >> 1);
> - ldebug ("channel %d, freq = %d, nchannels %d, fmt %d, shift %d\n",
> + ldebug ("channel %zu, freq = %d, nchannels %d, fmt %d, shift %d\n",
> i,
> new_freq,
> 1 << (new_fmt & 1),
> @@ -576,7 +576,7 @@ IO_WRITE_PROTO (es1370_writel)
> d++;
> case ES1370_REG_DAC1_SCOUNT:
> d->scount = (val & 0xffff) | (d->scount & ~0xffff);
> - ldebug ("chan %d CURR_SAMP_CT %d, SAMP_CT %d\n",
> + ldebug ("chan %ld CURR_SAMP_CT %d, SAMP_CT %d\n",
> d - &s->chan[0], val >> 16, (val & 0xffff));
> break;
>
> @@ -586,7 +586,7 @@ IO_WRITE_PROTO (es1370_writel)
> d++;
> case ES1370_REG_DAC1_FRAMEADR:
> d->frame_addr = val;
> - ldebug ("chan %d frame address %#x\n", d - &s->chan[0], val);
> + ldebug ("chan %ld frame address %#x\n", d - &s->chan[0], val);
> break;
>
> case ES1370_REG_PHANTOM_FRAMECNT:
> @@ -603,7 +603,7 @@ IO_WRITE_PROTO (es1370_writel)
> case ES1370_REG_DAC1_FRAMECNT:
> d->frame_cnt = val;
> d->leftover = 0;
> - ldebug ("chan %d frame count %d, buffer size %d\n",
> + ldebug ("chan %ld frame count %d, buffer size %d\n",
> d - &s->chan[0], val >> 16, val & 0xffff);
> break;
>
> @@ -743,9 +743,10 @@ IO_READ_PROTO (es1370_readl)
> {
> uint32_t size = ((d->frame_cnt & 0xffff) + 1) << 2;
> uint32_t curr = ((d->frame_cnt >> 16) + 1) << 2;
> - if (curr > size)
> + if (curr > size) {
> dolog ("read framecnt curr %d, size %d %d\n", curr, size,
> curr > size);
> + }
> }
> #endif
> break;
>
typeof(ptr a - ptr b) = ptrdiff, not an %ld here on ppc32, so no, this
"fix" is not correct.
--
mailto:av1474@comtv.ru
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Qemu-devel] [PATCH v2] es1370: Fix compiler warnings for debug code
2010-09-30 20:33 ` malc
@ 2010-10-01 18:05 ` Stefan Weil
2010-10-01 18:22 ` Markus Armbruster
0 siblings, 1 reply; 7+ messages in thread
From: Stefan Weil @ 2010-10-01 18:05 UTC (permalink / raw)
To: QEMU Developers; +Cc: Blue Swirl
The patch fixes these gcc warnings:
./hw/es1370.c: In function ‘es1370_update_voices’:
./hw/es1370.c:411: error: format ‘%d’ expects type ‘int’, but argument 3 has type ‘size_t’
./hw/es1370.c: In function ‘es1370_writel’:
./hw/es1370.c:579: error: format ‘%d’ expects type ‘int’, but argument 3 has type ‘long int’
./hw/es1370.c:589: error: format ‘%d’ expects type ‘int’, but argument 3 has type ‘long int’
./hw/es1370.c:606: error: format ‘%d’ expects type ‘int’, but argument 3 has type ‘long int’
./hw/es1370.c: In function ‘es1370_readl’:
./hw/es1370.c:748: error: suggest braces around empty body in an ‘if’ statement
v2
* Use %zd for pointer differences (ptrdiff_t or ssize_t).
The gcc error message ("long int") was misleading.
Malc, thank you for this hint.
Cc: Blue Swirl <blauwirbel@gmail.com>
Cc: malc <av1474@comtv.ru>
Signed-off-by: Stefan Weil <weil@mail.berlios.de>
---
hw/es1370.c | 11 ++++++-----
1 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/hw/es1370.c b/hw/es1370.c
index 40cb48c..591dbd0 100644
--- a/hw/es1370.c
+++ b/hw/es1370.c
@@ -408,7 +408,7 @@ static void es1370_update_voices (ES1370State *s, uint32_t ctl, uint32_t sctl)
if ((old_fmt != new_fmt) || (old_freq != new_freq)) {
d->shift = (new_fmt & 1) + (new_fmt >> 1);
- ldebug ("channel %d, freq = %d, nchannels %d, fmt %d, shift %d\n",
+ ldebug ("channel %zu, freq = %d, nchannels %d, fmt %d, shift %d\n",
i,
new_freq,
1 << (new_fmt & 1),
@@ -576,7 +576,7 @@ IO_WRITE_PROTO (es1370_writel)
d++;
case ES1370_REG_DAC1_SCOUNT:
d->scount = (val & 0xffff) | (d->scount & ~0xffff);
- ldebug ("chan %d CURR_SAMP_CT %d, SAMP_CT %d\n",
+ ldebug ("chan %zd CURR_SAMP_CT %d, SAMP_CT %d\n",
d - &s->chan[0], val >> 16, (val & 0xffff));
break;
@@ -586,7 +586,7 @@ IO_WRITE_PROTO (es1370_writel)
d++;
case ES1370_REG_DAC1_FRAMEADR:
d->frame_addr = val;
- ldebug ("chan %d frame address %#x\n", d - &s->chan[0], val);
+ ldebug ("chan %zd frame address %#x\n", d - &s->chan[0], val);
break;
case ES1370_REG_PHANTOM_FRAMECNT:
@@ -603,7 +603,7 @@ IO_WRITE_PROTO (es1370_writel)
case ES1370_REG_DAC1_FRAMECNT:
d->frame_cnt = val;
d->leftover = 0;
- ldebug ("chan %d frame count %d, buffer size %d\n",
+ ldebug ("chan %zd frame count %d, buffer size %d\n",
d - &s->chan[0], val >> 16, val & 0xffff);
break;
@@ -743,9 +743,10 @@ IO_READ_PROTO (es1370_readl)
{
uint32_t size = ((d->frame_cnt & 0xffff) + 1) << 2;
uint32_t curr = ((d->frame_cnt >> 16) + 1) << 2;
- if (curr > size)
+ if (curr > size) {
dolog ("read framecnt curr %d, size %d %d\n", curr, size,
curr > size);
+ }
}
#endif
break;
--
1.7.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PATCH v2] es1370: Fix compiler warnings for debug code
2010-10-01 18:05 ` [Qemu-devel] [PATCH v2] " Stefan Weil
@ 2010-10-01 18:22 ` Markus Armbruster
2010-10-02 9:46 ` Stefan Weil
2010-10-02 10:20 ` [Qemu-devel] [PATCH v3] " Stefan Weil
0 siblings, 2 replies; 7+ messages in thread
From: Markus Armbruster @ 2010-10-01 18:22 UTC (permalink / raw)
To: Stefan Weil; +Cc: Blue Swirl, QEMU Developers
Stefan Weil <weil@mail.berlios.de> writes:
> The patch fixes these gcc warnings:
>
> ./hw/es1370.c: In function ‘es1370_update_voices’:
> ./hw/es1370.c:411: error: format ‘%d’ expects type ‘int’, but argument 3 has type ‘size_t’
> ./hw/es1370.c: In function ‘es1370_writel’:
> ./hw/es1370.c:579: error: format ‘%d’ expects type ‘int’, but argument 3 has type ‘long int’
> ./hw/es1370.c:589: error: format ‘%d’ expects type ‘int’, but argument 3 has type ‘long int’
> ./hw/es1370.c:606: error: format ‘%d’ expects type ‘int’, but argument 3 has type ‘long int’
> ./hw/es1370.c: In function ‘es1370_readl’:
> ./hw/es1370.c:748: error: suggest braces around empty body in an ‘if’ statement
>
> v2
>
> * Use %zd for pointer differences (ptrdiff_t or ssize_t).
> The gcc error message ("long int") was misleading.
> Malc, thank you for this hint.
The correct length modifier for ptrdiff_t is 't', not 'z'.
ISO/IEC 9899:1999 7.19.6.1:
z Specifies that a following d, i, o, u, x, or X
conversion specifier applies to a size_t or the
corresponding signed integer type argument; or
that a following n conversion specifier applies
to a pointer to a signed integer type
corresponding to size_t argument.
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.
Not that it makes a difference in practice.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PATCH v2] es1370: Fix compiler warnings for debug code
2010-10-01 18:22 ` Markus Armbruster
@ 2010-10-02 9:46 ` Stefan Weil
2010-10-02 10:20 ` [Qemu-devel] [PATCH v3] " Stefan Weil
1 sibling, 0 replies; 7+ messages in thread
From: Stefan Weil @ 2010-10-02 9:46 UTC (permalink / raw)
To: Markus Armbruster; +Cc: Blue Swirl, QEMU Developers
Am 01.10.2010 20:22, schrieb Markus Armbruster:
> Stefan Weil <weil@mail.berlios.de> writes:
>> The patch fixes these gcc warnings:
>>
>> ./hw/es1370.c: In function ‘es1370_update_voices’:
>> ./hw/es1370.c:411: error: format ‘%d’ expects type ‘int’, but
>> argument 3 has type ‘size_t’
>> ./hw/es1370.c: In function ‘es1370_writel’:
>> ./hw/es1370.c:579: error: format ‘%d’ expects type ‘int’, but
>> argument 3 has type ‘long int’
>> ./hw/es1370.c:589: error: format ‘%d’ expects type ‘int’, but
>> argument 3 has type ‘long int’
>> ./hw/es1370.c:606: error: format ‘%d’ expects type ‘int’, but
>> argument 3 has type ‘long int’
>> ./hw/es1370.c: In function ‘es1370_readl’:
>> ./hw/es1370.c:748: error: suggest braces around empty body in an ‘if’
>> statement
>>
>> v2
>>
>> * Use %zd for pointer differences (ptrdiff_t or ssize_t).
>> The gcc error message ("long int") was misleading.
>> Malc, thank you for this hint.
>
> The correct length modifier for ptrdiff_t is 't', not 'z'.
> ISO/IEC 9899:1999 7.19.6.1:
>
> z Specifies that a following d, i, o, u, x, or X
> conversion specifier applies to a size_t or the
> corresponding signed integer type argument; or
> that a following n conversion specifier applies
> to a pointer to a signed integer type
> corresponding to size_t argument.
>
> 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.
>
> Not that it makes a difference in practice.
It's always good to learn more. I must admit that I never
used %td before, but it exists, it is obviously supported,
so it should be used.
Therefore I'll send a third version of my patch, and also
patches which fix the other locations in qemu which use
%zd instead of %td for ptrdiff_t.
Thanks,
Stefan
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Qemu-devel] [PATCH v3] es1370: Fix compiler warnings for debug code
2010-10-01 18:22 ` Markus Armbruster
2010-10-02 9:46 ` Stefan Weil
@ 2010-10-02 10:20 ` Stefan Weil
2010-10-02 14:10 ` [Qemu-devel] " malc
1 sibling, 1 reply; 7+ messages in thread
From: Stefan Weil @ 2010-10-02 10:20 UTC (permalink / raw)
To: QEMU Developers; +Cc: Blue Swirl, Markus Armbruster
The patch fixes these gcc warnings:
./hw/es1370.c: In function ‘es1370_update_voices’:
./hw/es1370.c:411: error: format ‘%d’ expects type ‘int’, but argument 3 has type ‘size_t’
./hw/es1370.c: In function ‘es1370_writel’:
./hw/es1370.c:579: error: format ‘%d’ expects type ‘int’, but argument 3 has type ‘long int’
./hw/es1370.c:589: error: format ‘%d’ expects type ‘int’, but argument 3 has type ‘long int’
./hw/es1370.c:606: error: format ‘%d’ expects type ‘int’, but argument 3 has type ‘long int’
./hw/es1370.c: In function ‘es1370_readl’:
./hw/es1370.c:748: error: suggest braces around empty body in an ‘if’ statement
v2
* Use %zd for pointer differences (ptrdiff_t or ssize_t).
The gcc error message ("long int") was misleading.
Malc, thank you for this hint.
v3
* Use %td for ptrdiff_t arguments.
Thanks to Markus Armbruster for this hint.
Cc: Blue Swirl <blauwirbel@gmail.com>
Cc: malc <av1474@comtv.ru>
Cc: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Stefan Weil <weil@mail.berlios.de>
---
hw/es1370.c | 11 ++++++-----
1 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/hw/es1370.c b/hw/es1370.c
index 40cb48c..850ffc9 100644
--- a/hw/es1370.c
+++ b/hw/es1370.c
@@ -408,7 +408,7 @@ static void es1370_update_voices (ES1370State *s, uint32_t ctl, uint32_t sctl)
if ((old_fmt != new_fmt) || (old_freq != new_freq)) {
d->shift = (new_fmt & 1) + (new_fmt >> 1);
- ldebug ("channel %d, freq = %d, nchannels %d, fmt %d, shift %d\n",
+ ldebug ("channel %zu, freq = %d, nchannels %d, fmt %d, shift %d\n",
i,
new_freq,
1 << (new_fmt & 1),
@@ -576,7 +576,7 @@ IO_WRITE_PROTO (es1370_writel)
d++;
case ES1370_REG_DAC1_SCOUNT:
d->scount = (val & 0xffff) | (d->scount & ~0xffff);
- ldebug ("chan %d CURR_SAMP_CT %d, SAMP_CT %d\n",
+ ldebug ("chan %td CURR_SAMP_CT %d, SAMP_CT %d\n",
d - &s->chan[0], val >> 16, (val & 0xffff));
break;
@@ -586,7 +586,7 @@ IO_WRITE_PROTO (es1370_writel)
d++;
case ES1370_REG_DAC1_FRAMEADR:
d->frame_addr = val;
- ldebug ("chan %d frame address %#x\n", d - &s->chan[0], val);
+ ldebug ("chan %td frame address %#x\n", d - &s->chan[0], val);
break;
case ES1370_REG_PHANTOM_FRAMECNT:
@@ -603,7 +603,7 @@ IO_WRITE_PROTO (es1370_writel)
case ES1370_REG_DAC1_FRAMECNT:
d->frame_cnt = val;
d->leftover = 0;
- ldebug ("chan %d frame count %d, buffer size %d\n",
+ ldebug ("chan %td frame count %d, buffer size %d\n",
d - &s->chan[0], val >> 16, val & 0xffff);
break;
@@ -743,9 +743,10 @@ IO_READ_PROTO (es1370_readl)
{
uint32_t size = ((d->frame_cnt & 0xffff) + 1) << 2;
uint32_t curr = ((d->frame_cnt >> 16) + 1) << 2;
- if (curr > size)
+ if (curr > size) {
dolog ("read framecnt curr %d, size %d %d\n", curr, size,
curr > size);
+ }
}
#endif
break;
--
1.7.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [Qemu-devel] Re: [PATCH v3] es1370: Fix compiler warnings for debug code
2010-10-02 10:20 ` [Qemu-devel] [PATCH v3] " Stefan Weil
@ 2010-10-02 14:10 ` malc
0 siblings, 0 replies; 7+ messages in thread
From: malc @ 2010-10-02 14:10 UTC (permalink / raw)
To: Stefan Weil; +Cc: Blue Swirl, QEMU Developers, Markus Armbruster
On Sat, 2 Oct 2010, Stefan Weil wrote:
> The patch fixes these gcc warnings:
>
> ./hw/es1370.c: In function ?es1370_update_voices?:
> ./hw/es1370.c:411: error: format ?%d? expects type ?int?, but argument 3 has type ?size_t?
> ./hw/es1370.c: In function ?es1370_writel?:
> ./hw/es1370.c:579: error: format ?%d? expects type ?int?, but argument 3 has type ?long int?
> ./hw/es1370.c:589: error: format ?%d? expects type ?int?, but argument 3 has type ?long int?
> ./hw/es1370.c:606: error: format ?%d? expects type ?int?, but argument 3 has type ?long int?
> ./hw/es1370.c: In function ?es1370_readl?:
> ./hw/es1370.c:748: error: suggest braces around empty body in an ?if? statement
>
[..snip..]
Thanks, applied.
--
mailto:av1474@comtv.ru
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2010-10-02 14:10 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-09-30 19:08 [Qemu-devel] [PATCH] es1370: Fix compiler warnings for debug code Stefan Weil
2010-09-30 20:33 ` malc
2010-10-01 18:05 ` [Qemu-devel] [PATCH v2] " Stefan Weil
2010-10-01 18:22 ` Markus Armbruster
2010-10-02 9:46 ` Stefan Weil
2010-10-02 10:20 ` [Qemu-devel] [PATCH v3] " Stefan Weil
2010-10-02 14:10 ` [Qemu-devel] " malc
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).