On Mon, Aug 20, 2012 at 1:52 PM, Chad Versace <chad.vers...@linux.intel.com> wrote: > 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
I can't see how the VISIBILITY_CFLAGS are getting added to the build. It looks like we somehow lost their uses -- which means the narrowing flag also isn't being added to the build. To do this you either add it to the Makefile.am's (via AM_CXXFLAGS) or directly to CXXFLAGS. I think we're doing the right thing here and setting the flags in their own variables (as opposed to appending to C(XX)FLAGS). The automake manual recommends this: http://www.gnu.org/software/automake/manual/automake.html#User-Variables _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev