mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-03-06 06:15:04 +00:00
(svn r10779) -Fix: GCC 4.2 makes (by default for -O2, -O3 and -Os) an assumption that signed integers do not overflow, whereas it is very likely that some of the legacy code does so. It furthermore breaks with the assumed standard (the behaviour is not actually defined in the standard) about the behaviour when signed integers wrap.
This commit is contained in:
parent
b3bed1eda1
commit
8037a1cc2d
@ -838,6 +838,14 @@ make_cflags_and_ldflags() {
|
||||
CFLAGS="$CFLAGS -fno-strict-aliasing"
|
||||
fi
|
||||
|
||||
# GCC 4.2+ automatically assumes that signed overflows do
|
||||
# not occur in signed arithmetics, whereas we are not
|
||||
# sure that they will not happen. It furthermore complains
|
||||
# about it's own optimized code in some places.
|
||||
if [ $cc_version -ge 42 ]; then
|
||||
CFLAGS="$CFLAGS -fno-strict-overflow"
|
||||
fi
|
||||
|
||||
if [ "$os" != "CYGWIN" ] && [ "$os" != "FREEBSD" ] && [ "$os" != "OPENBSD" ] && [ "$os" != "MINGW" ] && [ "$os" != "MORPHOS" ] && [ "$os" != "OSX" ] && [ "$os" != "WINCE" ] && [ "$os" != "PSP" ] && [ "$os" != "OS2" ]; then
|
||||
LIBS="$LIBS -lpthread"
|
||||
LIBS="$LIBS -lrt"
|
||||
|
Loading…
Reference in New Issue
Block a user