Changeset - r16548:3741bedfa6ea
[Not reviewed]
master
0 1 0
smatz - 14 years ago 2010-11-21 16:34:18
smatz@openttd.org
(svn r21286) -Codechange: enable more warnings for ICC
1 file changed with 65 insertions and 6 deletions:
0 comments (0 inline, 0 general)
config.lib
Show inline comments
 
@@ -1161,21 +1161,80 @@ make_compiler_cflags() {
 
		# Enable some things only for certain ICC versions
 
		cc_version=`$1 -dumpversion | cut -c 1-4 | sed s@\\\.@@g`
 

	
 
		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
 

	
 
		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
 
			flags="$flags -vec-report=0 "
 
		fi
 

	
 
		if [ $cc_version -ge 110 ]; then
 
			# 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"
 

	
 
			# 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
 

	
 
		if [ "$enable_lto" != "0" ]; then
 
			has_ipo=`$1 -help ipo | grep '\-ipo'`
0 comments (0 inline, 0 general)