Add -Wno-narrowing to CXXFLAGS if gcc supports it. This removes warnings of the form warning: narrowing conversion of X from 'int' to 'float' inside { } is ill-formed in C++11 [-Wnarrowing] in ff_fragment_shader.cpp and gen6_blorp.cpp. When building i965, I observed no other difference in the build output.
CC: Kenneth Graunke <kenn...@whitecape.org> CC: Matthew Turner <matt...@gmail.com> Signed-off-by: Chad Versace <chad.vers...@linux.intel.com> --- configure.ac | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index fcfe085..89b8fe7 100644 --- a/configure.ac +++ b/configure.ac @@ -219,7 +219,17 @@ if test "x$GXX" = xyes; then [VISIBILITY_CXXFLAGS="" ; AC_MSG_RESULT([no])]); AC_LANG_POP([C++]) - # Restore CXXFLAGS; VISIBILITY_CXXFLAGS are added to it where needed. + # Enable -Wno-narrowing if using a gcc that supports it. + save_CXXFLAGS="$CXXFLAGS" + WNO_NARROWING_CXXFLAGS="-Wno-narrowing" + AC_MSG_CHECKING([whether $CXX supports $WNO_NARROWING_CXXFLAGS]) + CXXFLAGS="$CXXFLAGS $WNO_NARROWING_CXXFLAGS" + AC_LANG_PUSH([C++]) + AC_LINK_IFELSE([AC_LANG_PROGRAM()], AC_MSG_RESULT([yes]), + [WNO_NARROWING_CXXFLAGS="" ; AC_MSG_RESULT([no])]); + AC_LANG_POP([C++]) + + # Restore CXXFLAGS. The flags probed above are added where needed. CXXFLAGS=$save_CXXFLAGS # Work around aliasing bugs - developers should comment this out @@ -244,6 +254,7 @@ esac AC_SUBST([VISIBILITY_CFLAGS]) AC_SUBST([VISIBILITY_CXXFLAGS]) +AC_SUBST([WNO_NARROWING_CXXFLAGS]) dnl dnl Hacks to enable 32 or 64 bit build -- 1.7.11.4 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev