summaryrefslogtreecommitdiff
path: root/HACKING
diff options
context:
space:
mode:
authorPranith Kumar <bobby.prani@gmail.com>2016-08-09 15:02:26 -0400
committerPaolo Bonzini <pbonzini@redhat.com>2016-08-09 22:57:36 +0200
commit435405ac59b9334b06285e1192c693b497282a31 (patch)
treecc139787bf0332a446108b023b0e894e1e1717c9 /HACKING
parent5927ed846ad17e1cc8e9f60f50486ec418829776 (diff)
Disable warn about left shifts of negative values
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>
Diffstat (limited to 'HACKING')
-rw-r--r--HACKING4
1 files changed, 4 insertions, 0 deletions
diff --git a/HACKING b/HACKING
index 058aa8fd49..20a910168d 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