[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-trivial] [PATCH] linux-user: Remove type casts to union type
From: |
Stefan Weil |
Subject: |
Re: [Qemu-trivial] [PATCH] linux-user: Remove type casts to union type |
Date: |
Fri, 25 Sep 2015 22:07:20 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Icedove/31.8.0 |
Am 10.02.2015 um 20:51 schrieb Michael Tokarev:
> 08.02.2015 17:40, Stefan Weil wrote:
>> Casting to a union type is a gcc (and clang) extension. Other compilers
>> might not support it. This is not a problem today, but the type casts
>> can be removed easily. Smatch now no longer complains like before:
>>
>> linux-user/syscall.c:3190:18: warning: cast to non-scalar
>> linux-user/syscall.c:7348:44: warning: cast to non-scalar
>>
>> Cc: Riku Voipio <address@hidden>
>> Signed-off-by: Stefan Weil <address@hidden>
>> ---
>> linux-user/syscall.c | 10 ++++++----
>> 1 file changed, 6 insertions(+), 4 deletions(-)
>>
>> diff --git a/linux-user/syscall.c b/linux-user/syscall.c
>> index 852308e..ec137db 100644
>> --- a/linux-user/syscall.c
>> +++ b/linux-user/syscall.c
>> @@ -2663,8 +2663,9 @@ static inline abi_long host_to_target_semarray(int
>> semid, abi_ulong target_addr,
>> }
>>
>> static inline abi_long do_semctl(int semid, int semnum, int cmd,
>> - union target_semun target_su)
>> + abi_ulong target_arg)
>> {
>> + union target_semun target_su;
>> union semun arg;
>> struct semid_ds dsarg;
>> unsigned short *array = NULL;
>> @@ -2673,6 +2674,8 @@ static inline abi_long do_semctl(int semid, int
>> semnum, int cmd,
>> abi_long err;
>> cmd &= 0xff;
>>
>> + target_su.buf = target_arg;
>
>
> Can we use c99 initializers at declaration, something like
>
> union target_semun target_su = { .buf = target_arg }
>
> ? Or is it also some gcc/clang extension? :)
>
> But I'd like to hear from Riku at least...
>
> Thanks,
>
> /mjt
>
Ping. This patch is still missing.
Hello Michael,
using a c99 initializer is a good idea. We already have lots
of them, it's not a gcc extension but C standard.
Should I send an updated patch, or do you want to modify
the code before applying it?
Regards,
Stefan
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [Qemu-trivial] [PATCH] linux-user: Remove type casts to union type,
Stefan Weil <=