Parcourir la source

[mavericks] suppress a spurious clang warning in libdns++

JINMEI Tatuya il y a 11 ans
Parent
commit
f2f02dba84
2 fichiers modifiés avec 13 ajouts et 1 suppressions
  1. 6 0
      configure.ac
  2. 7 1
      src/lib/dns/Makefile.am

+ 6 - 0
configure.ac

@@ -138,6 +138,12 @@ BIND10_CXX_TRY_FLAG([-Wno-missing-field-initializers],
 	[WARNING_NO_MISSING_FIELD_INITIALIZERS_CFLAG="-Wno-missing-field-initializers"])
 	[WARNING_NO_MISSING_FIELD_INITIALIZERS_CFLAG="-Wno-missing-field-initializers"])
 AC_SUBST(WARNING_NO_MISSING_FIELD_INITIALIZERS_CFLAG)
 AC_SUBST(WARNING_NO_MISSING_FIELD_INITIALIZERS_CFLAG)
 
 
+# clang's -Wtautological-constant-out-of-range-compare triggers spurious
+# warnings in some of the code, so we have to selectively disable it.
+BIND10_CXX_TRY_FLAG([-Wno-tautological-constant-out-of-range-compare],
+	[WARNING_NO_TAUTOLOGICAL_CONSTANT_OOR_COMP_CFLAG="-Wno-tautological-constant-out-of-range-compare"])
+AC_SUBST(WARNING_NO_TAUTOLOGICAL_CONSTANT_OOR_COMP_CFLAG)
+
 # gcc specific settings:
 # gcc specific settings:
 if test "X$GXX" = "Xyes"; then
 if test "X$GXX" = "Xyes"; then
 CXX_VERSION=`$CXX --version 2> /dev/null | head -1`
 CXX_VERSION=`$CXX --version 2> /dev/null | head -1`

+ 7 - 1
src/lib/dns/Makefile.am

@@ -4,7 +4,13 @@ AM_CPPFLAGS = -I$(top_srcdir)/src/lib -I$(top_builddir)/src/lib
 AM_CPPFLAGS += -I$(top_srcdir)/src/lib/dns -I$(top_builddir)/src/lib/dns
 AM_CPPFLAGS += -I$(top_srcdir)/src/lib/dns -I$(top_builddir)/src/lib/dns
 AM_CPPFLAGS += -I$(top_srcdir)/src/lib/util -I$(top_builddir)/src/lib/util
 AM_CPPFLAGS += -I$(top_srcdir)/src/lib/util -I$(top_builddir)/src/lib/util
 AM_CPPFLAGS += $(BOOST_INCLUDES)
 AM_CPPFLAGS += $(BOOST_INCLUDES)
-AM_CXXFLAGS = $(B10_CXXFLAGS)
+#AM_CXXFLAGS = $(B10_CXXFLAGS)
+AM_CXXFLAGS = $(B10_CXXFLAGS) -Wno-tautological-constant-out-of-range-compare
+
+# This flag triggers a spurious warning in message.cc.  Disabling the flag
+# library-wide may be a bit too strong, but hopefully actual defects that
+# this flag would correctly detect would be very rare.
+AM_CXXFLAGS += $(WARNING_NO_TAUTOLOGICAL_CONSTANT_OOR_COMP_CFLAG)
 
 
 CLEANFILES = *.gcno *.gcda
 CLEANFILES = *.gcno *.gcda
 CLEANFILES += rrclass.h rrtype.h rrparamregistry.cc rdataclass.h rdataclass.cc s-rdatacode
 CLEANFILES += rrclass.h rrtype.h rrparamregistry.cc rdataclass.h rdataclass.cc s-rdatacode