]> Git Repo - qemu.git/commit
s390x: fix clang 11 warnings in cpu_models.c
authorDaniele Buono <[email protected]>
Thu, 5 Nov 2020 22:18:58 +0000 (17:18 -0500)
committerThomas Huth <[email protected]>
Tue, 10 Nov 2020 07:51:30 +0000 (08:51 +0100)
commit074df27f744f0a72f8b33b2fd5a6cdc557f48f7b
tree1b099dc99e5869f178947f1ef0246b35b7a86355
parentad57e2b1f53f507392807e6e2b36c34454b270fa
s390x: fix clang 11 warnings in cpu_models.c

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 <[email protected]>
Message-Id: <20201105221905[email protected]>
Acked-by: Cornelia Huck <[email protected]>
Signed-off-by: Thomas Huth <[email protected]>
target/s390x/cpu_models.c
This page took 0.026209 seconds and 4 git commands to generate.