(svn r21286) -Codechange: enable more warnings for ICC

replace/41b28d7194a279bdc17475d4fbe2ea6ec885a466
smatz 14 years ago
parent 752aab7e11
commit 6e0577ecfc

@ -1164,15 +1164,74 @@ make_compiler_cflags() {
flags="$flags -rdynamic"
ldflags="$ldflags -rdynamic"
if [ $cc_version -ge 101 ]; then
flags="$flags -Wno-multichar"
if [ -z "$first_time_icc_check" ]; then
first_time_icc_check=no
if [ $cc_version -lt 90 ]; then
log 1 "WARNING: you seem to be using very old version of ICC"
log 1 "WARNING: OpenTTD hasn't been tested with this version"
sleep 5
elif [ $cc_version -lt 120 ]; then
log 1 "WARNING: you seem to be using unsupported ICC version"
log 1 "WARNING: ICC older than 12.0 is known to fail to compile OpenTTD"
sleep 5
fi
fi
if [ $cc_version -ge 110 ]; then
flags="$flags -Wall"
# remark #111: statement is unreachable
flags="$flags -wd111"
# remark #181: argument is incompatible with corresponding format string conversion
# ICC is very picky about signedness of operands, warnings provided by GCC are enough
flags="$flags -wd181"
# remark #271: trailing comma is nonstandard
flags="$flags -wd271"
# remark #280: selector expression is constant
flags="$flags -wd280"
# remark #304: access control not specified ("public" by default)
flags="$flags -wd304"
# remark #383: value copied to temporary, reference to temporary used
flags="$flags -wd383"
# remark #444: destructor for base class ... is not virtual
flags="$flags -wd444"
# remark #593: variable ... was set but never used
flags="$flags -wd593"
# warning #654: overloaded virtual function ... is only partially overridden in class ...
flags="$flags -wd654"
# remark #810: conversion from ... to ... may lose significant bits
flags="$flags -wd810"
# remark #869: parameter ... was never referenced
flags="$flags -wd869"
# warning #873: function ... ::operator new ... has no corresponding operator delete ...
flags="$flags -wd873"
# remark #981: operands are evaluated in unspecified order
flags="$flags -wd981"
# remark #1418: external function definition with no prior declaration
flags="$flags -wd1418"
# remark #1419: external declaration in primary source file
flags="$flags -wd1419"
# remark #1572: floating-point equality and inequality
flags="$flags -wd1572"
# remark #1599: declaration hides variable/parameter ...
flags="$flags -wd1599"
# remark #1720: function ... ::operator new ... has no corresponding member operator delete ...
flags="$flags -wd1720"
if [ $cc_version -lt 110 ]; then
# warns about system headers with recent glibc:
# warning #1292: attribute "__nonnull__" ignored
flags="$flags -wd1292"
fi
if [ $cc_version -ge 100 ]; then
# warning #1899: multicharacter character literal (potential portability problem)
flags="$flags -wd1899"
# vec report defaults to telling where it did loop vectorisation, which is not very important
# it also complains about not fully overriding virtual function
flags="$flags -vec-report=0 -wd873 -wd654"
flags="$flags -vec-report=0 "
fi
if [ $cc_version -ge 110 ]; then
# remark #2259: non-pointer conversion from ... to ... may lose significant bits
flags="$flags -wd2259"
# Use c++0x mode so static_assert() is available
cxxflags="$cxxflags -std=c++0x"
fi

Loading…
Cancel
Save