From d8bb143013808c3a408228d184e27292e5274991 Mon Sep 17 00:00:00 2001 From: dim Date: Wed, 26 Mar 2014 19:31:33 +0000 Subject: [PATCH] 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++. MFC after: 3 days X-MFC-With: r263694 --- contrib/libstdc++/include/bits/cpp_type_traits.h | 11 +++++++++++ sbin/devd/Makefile | 1 - 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/contrib/libstdc++/include/bits/cpp_type_traits.h b/contrib/libstdc++/include/bits/cpp_type_traits.h index ed9a48a704a6..9a6a16872435 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 20b3e999f11f..c53f094918bd 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