From: Paolo Bonzini <pbonzini@redhat.com>
To: qemu-devel@nongnu.org
Cc: Pranith Kumar <bobby.prani@gmail.com>,
Peter Maydell <peter.maydell@linaro.org>,
Markus Armbruster <armbru@redhat.com>,
Laszlo Ersek <lersek@redhat.com>
Subject: [Qemu-devel] [PULL 06/14] Disable warn about left shifts of negative values
Date: Wed, 10 Aug 2016 15:57:09 +0200 [thread overview]
Message-ID: <1470837437-14713-7-git-send-email-pbonzini@redhat.com> (raw)
In-Reply-To: <1470837437-14713-1-git-send-email-pbonzini@redhat.com>
From: Pranith Kumar <bobby.prani@gmail.com>
It seems like there's no good reason for the compiler to exploit the
undefinedness of left shifts. GCC explicitly documents that they do not
use at all this possibility and, while they also say this is subject
to change, they have been saying this for 10 years (since the wording
appeared in the GCC 4.0 manual).
Disable these warnings by passing in -Wno-shift-negative-value.
Cc: Peter Maydell <peter.maydell@linaro.org>
Cc: Markus Armbruster <armbru@redhat.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
[pranith: forward-port part of patch to 2.7]
Signed-off-by: Pranith Kumar <bobby.prani@gmail.com>
---
HACKING | 4 ++++
configure | 2 +-
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/HACKING b/HACKING
index 058aa8f..20a9101 100644
--- a/HACKING
+++ b/HACKING
@@ -158,6 +158,10 @@ painful. These are:
* you may assume that right shift of a signed integer duplicates
the sign bit (ie it is an arithmetic shift, not a logical shift)
+In addition, QEMU assumes that the compiler does not use the latitude
+given in C99 and C11 to treat aspects of signed '<<' as undefined, as
+documented in the GNU Compiler Collection manual starting at version 4.0.
+
7. Error handling and reporting
7.1 Reporting errors to the human user
diff --git a/configure b/configure
index f57fcc6..8d84919 100755
--- a/configure
+++ b/configure
@@ -1452,7 +1452,7 @@ fi
gcc_flags="-Wold-style-declaration -Wold-style-definition -Wtype-limits"
gcc_flags="-Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers $gcc_flags"
gcc_flags="-Wmissing-include-dirs -Wempty-body -Wnested-externs $gcc_flags"
-gcc_flags="-Wendif-labels $gcc_flags"
+gcc_flags="-Wendif-labels -Wno-shift-negative-value $gcc_flags"
gcc_flags="-Wno-initializer-overrides $gcc_flags"
gcc_flags="-Wno-string-plus-int $gcc_flags"
# Note that we do not add -Werror to gcc_flags here, because that would
--
1.8.3.1
next prev parent reply other threads:[~2016-08-10 13:57 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-08-10 13:57 [Qemu-devel] [PULL 00/14] checkpatch, warnings and other fixes Paolo Bonzini
2016-08-10 13:57 ` [Qemu-devel] [PULL 01/14] linuxboot_dma: avoid guest ABI breakage on gcc vs. clang compilation Paolo Bonzini
2016-08-10 13:57 ` [Qemu-devel] [PULL 02/14] build-sys: fix building with make CFLAGS=.. argument Paolo Bonzini
2016-08-15 8:41 ` Christian Borntraeger
2016-08-15 9:08 ` Christian Borntraeger
2016-08-10 13:57 ` [Qemu-devel] [PULL 03/14] optionrom: add -fno-stack-protector Paolo Bonzini
2016-08-10 13:57 ` [Qemu-devel] [PULL 04/14] optionrom: fix compilation with mingw docker target Paolo Bonzini
2016-08-10 13:57 ` [Qemu-devel] [PULL 05/14] atomic: strip "const" from variables declared with typeof Paolo Bonzini
2016-08-10 13:57 ` Paolo Bonzini [this message]
2016-08-10 13:57 ` [Qemu-devel] [PULL 07/14] clang: Fix warning reg. expansion to 'defined' Paolo Bonzini
2016-08-10 13:57 ` [Qemu-devel] [PULL 08/14] checkpatch: ignore automatically imported Linux headers Paolo Bonzini
2016-08-10 13:57 ` [Qemu-devel] [PULL 09/14] timer: set vm_clock disabled default Paolo Bonzini
2016-08-10 13:57 ` [Qemu-devel] [PULL 10/14] checkpatch: tweak the files in which TABs are checked Paolo Bonzini
2016-08-10 13:57 ` [Qemu-devel] [PULL 11/14] checkpatch: check for CVS keywords on all sources Paolo Bonzini
2016-08-10 13:57 ` [Qemu-devel] [PULL 12/14] CODING_STYLE, checkpatch: update line length rules Paolo Bonzini
2016-08-10 13:57 ` [Qemu-devel] [PULL 13/14] checkpatch: bump most warnings to errors Paolo Bonzini
2016-08-10 13:57 ` [Qemu-devel] [PULL 14/14] checkpatch: default to success if only warnings Paolo Bonzini
2016-08-10 16:14 ` [Qemu-devel] [PULL 00/14] checkpatch, warnings and other fixes Peter Maydell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1470837437-14713-7-git-send-email-pbonzini@redhat.com \
--to=pbonzini@redhat.com \
--cc=armbru@redhat.com \
--cc=bobby.prani@gmail.com \
--cc=lersek@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).