[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 18/19] s390x: fix clang 11 warnings in cpu_models.c
From: |
Thomas Huth |
Subject: |
[PULL 18/19] s390x: fix clang 11 warnings in cpu_models.c |
Date: |
Tue, 10 Nov 2020 12:11:31 +0100 |
From: Daniele Buono <dbuono@linux.vnet.ibm.com>
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>
Message-Id: <20201105221905.1350-3-dbuono@linux.vnet.ibm.com>
Acked-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
target/s390x/cpu_models.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
index 461e0b8f4a..b5abff8bef 100644
--- a/target/s390x/cpu_models.c
+++ b/target/s390x/cpu_models.c
@@ -986,7 +986,7 @@ void s390_realize_cpu_model(CPUState *cs, Error **errp)
static void get_feature(Object *obj, Visitor *v, const char *name,
void *opaque, Error **errp)
{
- S390Feat feat = (S390Feat) opaque;
+ S390Feat feat = (S390Feat) (uintptr_t) opaque;
S390CPU *cpu = S390_CPU(obj);
bool value;
@@ -1003,7 +1003,7 @@ static void get_feature(Object *obj, Visitor *v, const
char *name,
static void set_feature(Object *obj, Visitor *v, const char *name,
void *opaque, Error **errp)
{
- S390Feat feat = (S390Feat) opaque;
+ S390Feat feat = (S390Feat) (uintptr_t) opaque;
DeviceState *dev = DEVICE(obj);
S390CPU *cpu = S390_CPU(obj);
bool value;
@@ -1037,7 +1037,7 @@ static void set_feature(Object *obj, Visitor *v, const
char *name,
static void get_feature_group(Object *obj, Visitor *v, const char *name,
void *opaque, Error **errp)
{
- S390FeatGroup group = (S390FeatGroup) opaque;
+ S390FeatGroup group = (S390FeatGroup) (uintptr_t) opaque;
const S390FeatGroupDef *def = s390_feat_group_def(group);
S390CPU *cpu = S390_CPU(obj);
S390FeatBitmap tmp;
@@ -1058,7 +1058,7 @@ static void get_feature_group(Object *obj, Visitor *v,
const char *name,
static void set_feature_group(Object *obj, Visitor *v, const char *name,
void *opaque, Error **errp)
{
- S390FeatGroup group = (S390FeatGroup) opaque;
+ S390FeatGroup group = (S390FeatGroup) (uintptr_t) opaque;
const S390FeatGroupDef *def = s390_feat_group_def(group);
DeviceState *dev = DEVICE(obj);
S390CPU *cpu = S390_CPU(obj);
--
2.18.4
- [PULL 11/19] fuzz: Make fork_fuzz.ld compatible with LLVM's LLD, (continued)
- [PULL 11/19] fuzz: Make fork_fuzz.ld compatible with LLVM's LLD, Thomas Huth, 2020/11/10
- [PULL 10/19] scripts/oss-fuzz: give all fuzzers -target names, Thomas Huth, 2020/11/10
- [PULL 09/19] docs/fuzz: update fuzzing documentation post-meson, Thomas Huth, 2020/11/10
- [PULL 12/19] configure: surface deprecated targets in the help output, Thomas Huth, 2020/11/10
- [PULL 13/19] gitlab: publish the docs built during CI, Thomas Huth, 2020/11/10
- [PULL 14/19] gitlab: force enable docs build in Fedora, Ubuntu, Debian, Thomas Huth, 2020/11/10
- [PULL 08/19] docs/fuzz: rST-ify the fuzzing documentation, Thomas Huth, 2020/11/10
- [PULL 15/19] docs: add "page source" link to sphinx documentation, Thomas Huth, 2020/11/10
- [PULL 16/19] fuzz: add virtio-blk fuzz target, Thomas Huth, 2020/11/10
- [PULL 17/19] qtest: Update references to parse_escape() in comments, Thomas Huth, 2020/11/10
- [PULL 18/19] s390x: fix clang 11 warnings in cpu_models.c,
Thomas Huth <=
- [PULL 19/19] s390x: Avoid variable size warning in ipl.h, Thomas Huth, 2020/11/10
- Re: [PULL 00/19] qtests, gitlab, s390x and misc patches, Peter Maydell, 2020/11/10