changeset 12017:e2ca508c540e draft

(svn r16424) -Codechange: warn about casting-out 'const' only when using gcc4+, older versions give many useless false positives
author smatz <smatz@openttd.org>
date Mon, 25 May 2009 19:30:37 +0000
parents d45475f68f60
children 06b1b5dce847
files config.lib
diffstat 1 files changed, 12 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/config.lib
+++ b/config.lib
@@ -1103,7 +1103,7 @@
 		if [ $cc_version -ge 29 ]; then
 			CFLAGS="$CFLAGS -Wall -Wno-multichar -Wsign-compare -Wundef"
 			CFLAGS="$CFLAGS -Wwrite-strings -Wpointer-arith"
-			CFLAGS="$CFLAGS -Wno-uninitialized -Wcast-qual"
+			CFLAGS="$CFLAGS -Wno-uninitialized"
 
 			CC_CFLAGS="$CC_CFLAGS -Wstrict-prototypes"
 		fi
@@ -1148,19 +1148,22 @@
 			LIBS="$LIBS -lws2_32 -lwinmm -lgdi32 -ldxguid -lole32"
 		fi
 
-		# GCC 4.0+ complains about that we break strict-aliasing.
-		#  On most places we don't see how to fix it, and it doesn't
-		#  break anything. So disable strict-aliasing to make the
-		#  compiler all happy.
 		if [ $cc_version -ge 40 ]; then
+			# GCC 4.0+ complains about that we break strict-aliasing.
+			#  On most places we don't see how to fix it, and it doesn't
+			#  break anything. So disable strict-aliasing to make the
+			#  compiler all happy.
 			CFLAGS="$CFLAGS -fno-strict-aliasing"
+			# Warn about casting-out 'const' with regular C-style cast.
+			#  The preferred way is const_cast<>() which doesn't warn.
+			CFLAGS="$CFLAGS -Wcast-qual"
 		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
+			# 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.
 			CFLAGS="$CFLAGS -fno-strict-overflow"
 		fi
 	fi