[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] fix gcc4 compile warnings
From: |
Andre Przywara |
Subject: |
Re: [Qemu-devel] [PATCH] fix gcc4 compile warnings |
Date: |
Fri, 30 Nov 2007 15:10:07 +0100 |
User-agent: |
Thunderbird 1.5.0.10 (X11/20070409) |
Andrzej,
> These casts are not the right way to get rid of the warnings, as are
> some of the casts in other files in qemu_put_* and qemu_get_*
> arguments. In this case the warnings are true positives and the bugs
> causing the warnings have to be addressed instead of just the
> warnings.
Are you sure of that? Most of the fixes are like this:
>> - qemu_put_be32s(f, &s->count_shift);
>> + qemu_put_be32s(f, (uint32_t *)&s->count_shift);
qemu_put_be32s is (QEMUFile *f, const uint32_t *pv), but after all the
2nd argument is only a _pointer_ to an unsigned variable, the size is
the same (thanks to the C99 explicit types). Qemu will dump this value
straight into a file, in this case signedness does not matter as long as
put and get use the same. The more cleaner solution would be to
introduce an explicitly signed prototype for qemu_put_* and qemu_get_*
and use this where applicable, if you want I will prepare a patch for this.
If you want some real fix, I can dig deeper and make more changes
(especially the uint8_t vs. char problem), but I wanted to start slowly
and don't change much code in the first effort.
What solution do you prefer for the opaque types? I have used the simple:
>> - void *args[MAX_ARGS];
>> + intptr_t args[MAX_ARGS];
A more portable and clean solution would be this:
- void *args[MAX_ARGS];
+ union
+ {
+ void* ptr;
+ int i;
+ } args[MAX_ARGS];
If you prefer this, I can change the patch accordingly.
> I will try to do this and apply other parts of your patch
> when I find a bit of time.
Thanks for that, if I can help you with some boring work, tell me ;-)
Regards,
Andre.
--
Andre Przywara
AMD-Operating System Research Center (OSRC), Dresden, Germany
Tel: +49 351 277-84917
----to satisfy European Law for business letters:
AMD Saxony Limited Liability Company & Co. KG,
Wilschdorfer Landstr. 101, 01109 Dresden, Germany
Register Court Dresden: HRA 4896, General Partner authorized
to represent: AMD Saxony LLC (Wilmington, Delaware, US)
General Manager of AMD Saxony LLC: Dr. Hans-R. Deppe, Thomas McCoy
- [Qemu-devel] [PATCH] fix gcc4 compile warnings, André Przywara, 2007/11/30
- Re: [Qemu-devel] [PATCH] fix gcc4 compile warnings, andrzej zaborowski, 2007/11/30
- Re: [Qemu-devel] [PATCH] fix gcc4 compile warnings,
Andre Przywara <=
- Re: [Qemu-devel] [PATCH] fix gcc4 compile warnings, Samuel Thibault, 2007/11/30
- Re: [Qemu-devel] [PATCH] fix gcc4 compile warnings, andrzej zaborowski, 2007/11/30
- Re: [Qemu-devel] [PATCH] fix gcc4 compile warnings, Samuel Thibault, 2007/11/30
- Re: [Qemu-devel] [PATCH] fix gcc4 compile warnings, Paul Brook, 2007/11/30
- Re: [Qemu-devel] [PATCH] fix gcc4 compile warnings, Andre Przywara, 2007/11/30
- Re: [Qemu-devel] [PATCH] fix gcc4 compile warnings, Paul Brook, 2007/11/30