[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v3 2/9] s390x: fix clang 11 warnings in cpu_models.c
From: |
Cornelia Huck |
Subject: |
Re: [PATCH v3 2/9] s390x: fix clang 11 warnings in cpu_models.c |
Date: |
Mon, 9 Nov 2020 12:12:54 +0100 |
On Thu, 5 Nov 2020 17:18:58 -0500
Daniele Buono <dbuono@linux.vnet.ibm.com> wrote:
> There are void * pointers that get casted to enums, in cpu_models.c
> Such casts can result in a small integer type and are caught as
> warnings with clang, starting with version 11:
>
> Clang 11 finds a bunch of spots in the code that trigger this new warnings:
>
> ../qemu-base/target/s390x/cpu_models.c:985:21: error: cast to smaller integer
> type 'S390Feat' from 'void *' [-Werror,-Wvoid-pointer-to-enum-cast]
> S390Feat feat = (S390Feat) opaque;
> ^~~~~~~~~~~~~~~~~
> ../qemu-base/target/s390x/cpu_models.c:1002:21: error: cast to smaller
> integer type 'S390Feat' from 'void *' [-Werror,-Wvoid-pointer-to-enum-cast]
> S390Feat feat = (S390Feat) opaque;
> ^~~~~~~~~~~~~~~~~
> ../qemu-base/target/s390x/cpu_models.c:1036:27: error: cast to smaller
> integer type 'S390FeatGroup' from 'void *'
> [-Werror,-Wvoid-pointer-to-enum-cast]
> S390FeatGroup group = (S390FeatGroup) opaque;
> ^~~~~~~~~~~~~~~~~~~~~~
> ../qemu-base/target/s390x/cpu_models.c:1057:27: error: cast to smaller
> integer type 'S390FeatGroup' from 'void *'
> [-Werror,-Wvoid-pointer-to-enum-cast]
> S390FeatGroup group = (S390FeatGroup) opaque;
> ^~~~~~~~~~~~~~~~~~~~~~
> 4 errors generated.
>
> Avoid this warning by casting the pointer to uintptr_t first.
>
> Signed-off-by: Daniele Buono <dbuono@linux.vnet.ibm.com>
> ---
> target/s390x/cpu_models.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
Acked-by: Cornelia Huck <cohuck@redhat.com>