On Thu, 5 Nov 2020 17:18:58 -0500 Daniele Buono <dbu...@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 <dbu...@linux.vnet.ibm.com> > --- > target/s390x/cpu_models.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) Acked-by: Cornelia Huck <coh...@redhat.com>