qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2 4/4] block: Drop some superfluous casts from


From: Markus Armbruster
Subject: Re: [Qemu-devel] [PATCH v2 4/4] block: Drop some superfluous casts from void *
Date: Tue, 19 Aug 2014 09:10:59 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux)

Max Reitz <address@hidden> writes:

> On 18.08.2014 18:10, Markus Armbruster wrote:
>> They clutter the code.  Unfortunately, I can't figure out how to make
>> Coccinelle drop all of them, so I have to settle for common special
>> cases:
>>
>>      @@
>>      type T;
>>      T *pt;
>>      void *pv;
>>      @@
>>      - pt = (T *)pv;
>>      + pt = pv;
>>      @@
>>      type T;
>>      @@
>>      - (T *)
>>        (\(g_malloc\|g_malloc0\|g_realloc\|g_new\|g_new0\|g_renew\|
>>       g_try_malloc\|g_try_malloc0\|g_try_realloc\|
>>       g_try_new\|g_try_new0\|g_try_renew\)(...))
>>
>> Signed-off-by: Markus Armbruster <address@hidden>
>> ---
>>   block/vhdx-log.c    | 2 +-
>>   block/vvfat.c       | 8 ++++----
>>   hw/ide/microdrive.c | 2 +-
>>   3 files changed, 6 insertions(+), 6 deletions(-)
>>
>> diff --git a/block/vhdx-log.c b/block/vhdx-log.c
>> index eb5c7a0..4267e60 100644
>> --- a/block/vhdx-log.c
>> +++ b/block/vhdx-log.c
>> @@ -923,7 +923,7 @@ static int vhdx_log_write(BlockDriverState *bs, 
>> BDRVVHDXState *s,
>>       buffer = qemu_blockalign(bs, total_length);
>>       memcpy(buffer, &new_hdr, sizeof(new_hdr));
>>   -    new_desc = (VHDXLogDescriptor *) (buffer + sizeof(new_hdr));
>> +    new_desc = (buffer + sizeof(new_hdr));
>>       data_sector = buffer + (desc_sectors * VHDX_LOG_SECTOR_SIZE);
>>       data_tmp = data;
>
> You could drop the parantheses here. Also, I still don't like void
> pointer arithmetic, but well... ;-)

Separate issue, related because it would put the cast right back.

We use plenty of GCCisms.  If we ever want to port to a toolchain that
doesn't support them, adding the cast clutter to avoid arithmetic on
void * will be the least of our worries.

If we decide to hunt down this particular GCCism anyway, there's
-Wpointer-arith.  Without that, it's a game of whack-a-mole.

> Reviewed-by: Max Reitz <address@hidden>

Thanks!



reply via email to

[Prev in Thread] Current Thread [Next in Thread]