[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 2/6] configure: avoid new clang 11+ warnings
From: |
Daniele Buono |
Subject: |
[PATCH v2 2/6] configure: avoid new clang 11+ warnings |
Date: |
Fri, 23 Oct 2020 16:06:40 -0400 |
Clang 11 finds a couple of spots in the code that trigger new warnings:
../qemu-base/hw/usb/dev-uas.c:157:31: error: field 'status' with variable sized
type 'uas_iu' not at the end of a struct or class is a GNU extension
[-Werror,-Wgnu-variable-sized-type-not-at-end]
uas_iu status;
^
1 error generated.
The data structure is UASStatus, which must end with a QTAILQ_ENTRY, so
I believe we cannot have uas_iu at the end. Since this is a gnu
extension but CLANG supports it, just add
-Wno-gnu-variable-sized-type-not-at-end
to remove the warning.
../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.
These are void * that get casted to enums, which are (or can be)
smaller than a 64bit pointer.
A code reorg may be better on the long term, but for now will
fix this adding
-Wno-void-pointer-to-enum-cast
Signed-off-by: Daniele Buono <dbuono@linux.vnet.ibm.com>
---
configure | 2 ++
1 file changed, 2 insertions(+)
diff --git a/configure b/configure
index e6754c1e87..9dc05cfb8a 100755
--- a/configure
+++ b/configure
@@ -2000,6 +2000,8 @@ add_to nowarn_flags -Wno-shift-negative-value
add_to nowarn_flags -Wno-string-plus-int
add_to nowarn_flags -Wno-typedef-redefinition
add_to nowarn_flags -Wno-tautological-type-limit-compare
+add_to nowarn_flags -Wno-gnu-variable-sized-type-not-at-end
+add_to nowarn_flags -Wno-void-pointer-to-enum-cast
add_to nowarn_flags -Wno-psabi
gcc_flags="$warn_flags $nowarn_flags"
--
2.17.1
- [PATCH v2 0/6] Add support for Control-Flow Integrity, Daniele Buono, 2020/10/23
- [PATCH v2 1/6] fuzz: Make fork_fuzz.ld compatible with LLVM's LLD, Daniele Buono, 2020/10/23
- [PATCH v2 2/6] configure: avoid new clang 11+ warnings,
Daniele Buono <=
- Re: [PATCH v2 2/6] configure: avoid new clang 11+ warnings, Thomas Huth, 2020/10/24
- Re: [PATCH v2 2/6] configure: avoid new clang 11+ warnings, Paolo Bonzini, 2020/10/26
- Re: [PATCH v2 2/6] configure: avoid new clang 11+ warnings, Daniele Buono, 2020/10/26
- Re: [PATCH v2 2/6] configure: avoid new clang 11+ warnings, Paolo Bonzini, 2020/10/26
- Re: [PATCH v2 2/6] configure: avoid new clang 11+ warnings, Daniele Buono, 2020/10/26
- Re: [PATCH v2 2/6] configure: avoid new clang 11+ warnings, Peter Maydell, 2020/10/26
- Re: [PATCH v2 2/6] configure: avoid new clang 11+ warnings, Thomas Huth, 2020/10/27
- Re: [PATCH v2 2/6] configure: avoid new clang 11+ warnings, Cornelia Huck, 2020/10/27
- Re: [PATCH v2 2/6] configure: avoid new clang 11+ warnings, Daniele Buono, 2020/10/27