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>
This commit is contained in:
parent
5927ed846a
commit
435405ac59
4
HACKING
4
HACKING
@ -158,6 +158,10 @@ painful. These are:
|
|||||||
* you may assume that right shift of a signed integer duplicates
|
* you may assume that right shift of a signed integer duplicates
|
||||||
the sign bit (ie it is an arithmetic shift, not a logical shift)
|
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. Error handling and reporting
|
||||||
|
|
||||||
7.1 Reporting errors to the human user
|
7.1 Reporting errors to the human user
|
||||||
|
2
configure
vendored
2
configure
vendored
@ -1452,7 +1452,7 @@ fi
|
|||||||
gcc_flags="-Wold-style-declaration -Wold-style-definition -Wtype-limits"
|
gcc_flags="-Wold-style-declaration -Wold-style-definition -Wtype-limits"
|
||||||
gcc_flags="-Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers $gcc_flags"
|
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="-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-initializer-overrides $gcc_flags"
|
||||||
gcc_flags="-Wno-string-plus-int $gcc_flags"
|
gcc_flags="-Wno-string-plus-int $gcc_flags"
|
||||||
# Note that we do not add -Werror to gcc_flags here, because that would
|
# Note that we do not add -Werror to gcc_flags here, because that would
|
||||||
|
Loading…
Reference in New Issue
Block a user