summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordim <dim@FreeBSD.org>2014-03-29 11:33:52 +0000
committerdim <dim@FreeBSD.org>2014-03-29 11:33:52 +0000
commit16ced9806597f879f890ee19b9b4b6b58b10aebe (patch)
tree73368a4ffee16040612c95ae6a10ba292095ddaf
parent24df444399cfaba467c99b7580d9f5738158fc6f (diff)
downloadFreeBSD-src-16ced9806597f879f890ee19b9b4b6b58b10aebe.zip
FreeBSD-src-16ced9806597f879f890ee19b9b4b6b58b10aebe.tar.gz
MFC r263774:
Revert r263694, and apply a better fix to squelch unnecessary warnings from clang about possible keywords being treated as identifiers for the remainder of the translation unit (a.k.a. -Wkeyword-compat), when using libstdc++ in combination with -Wsystem-headers. This will not only fix devd, but any C++ program using libstdc++.
-rw-r--r--contrib/libstdc++/include/bits/cpp_type_traits.h11
-rw-r--r--sbin/devd/Makefile1
2 files changed, 11 insertions, 1 deletions
diff --git a/contrib/libstdc++/include/bits/cpp_type_traits.h b/contrib/libstdc++/include/bits/cpp_type_traits.h
index ed9a48a..9a6a168 100644
--- a/contrib/libstdc++/include/bits/cpp_type_traits.h
+++ b/contrib/libstdc++/include/bits/cpp_type_traits.h
@@ -80,6 +80,13 @@ _GLIBCXX_END_NAMESPACE
_GLIBCXX_BEGIN_NAMESPACE(std)
+#ifdef __clang__
+// When using clang, suppress warnings about possible keywords (such as
+// __is_void, __is_pod, etc) being used as identifiers.
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wkeyword-compat"
+#endif
+
namespace __detail
{
// NB: g++ can not compile these if declared within the class
@@ -398,6 +405,10 @@ namespace __detail
};
#endif
+#ifdef __clang__
+#pragma clang diagnostic pop
+#endif
+
_GLIBCXX_END_NAMESPACE
#endif //_CPP_TYPE_TRAITS_H
diff --git a/sbin/devd/Makefile b/sbin/devd/Makefile
index 20b3e99..c53f094 100644
--- a/sbin/devd/Makefile
+++ b/sbin/devd/Makefile
@@ -13,7 +13,6 @@ LDADD= -ll -lutil
YFLAGS+=-v
CFLAGS+=-I. -I${.CURDIR}
-CFLAGS.clang+=-Wno-keyword-compat
CLEANFILES= y.output
OpenPOWER on IntegriCloud