summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2017-11-08 15:15:54 +0100
committerStephan Bergmann <sbergman@redhat.com>2017-11-08 15:15:54 +0100
commite62b087fce09b8ce4bc33f2c7820130e4d72937b (patch)
treebe4ce47bd4db9f6e883c8a62268b2b762194e0b1
parent74564900e73e7d9ffc7acabe047ae151c3e02abf (diff)
Drop HAVE_GCC_ATTRIBUTE_WARN_UNUSED_STL
For one, loplugin:unusedvariablecheck does not merely check for unused variables with types from the standard library since fe2164949b38a7f73883dbdcb3271b94e5c81744 "teach unusedvariablecheck plugin about SfxPoolItem subclasses", so disabling loplugin:unusedvariablecheck based on HAVE_GCC_ATTRIBUTE_WARN_UNUSED_STL is wrong. For another, I have seen no standard library implementation that decorates its types with such "warn-if-unused" attributes, and <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0600r0.pdf> "[[nodiscard]] in the Library" (which proposes to add the corresponding C++17 attribute to just a few select functions and no types at all) makes it appear unlikely that will happen. Change-Id: I0a7759e1caf3e3137057c9689080948a4d6747e0
-rw-r--r--compilerplugins/clang/unusedvariablecheck.cxx7
-rw-r--r--config_host/config_global.h.in2
-rw-r--r--configure.ac15
3 files changed, 0 insertions, 24 deletions
diff --git a/compilerplugins/clang/unusedvariablecheck.cxx b/compilerplugins/clang/unusedvariablecheck.cxx
index 57b78cca5a69..32b7cd966940 100644
--- a/compilerplugins/clang/unusedvariablecheck.cxx
+++ b/compilerplugins/clang/unusedvariablecheck.cxx
@@ -11,11 +11,6 @@
#include <config_global.h>
-// If there is support for warn_unused attribute even in STL classes, then there's
-// no point in having this check enabled, otherwise keep it at least for STL
-// (LO classes won't get duplicated warnings, as the attribute is different).
-#if !HAVE_GCC_ATTRIBUTE_WARN_UNUSED_STL
-
#include "compat.hxx"
#include "check.hxx"
#include "unusedvariablecheck.hxx"
@@ -81,6 +76,4 @@ static Plugin::Registration< UnusedVariableCheck > X( "unusedvariablecheck" );
} // namespace
-#endif
-
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/config_host/config_global.h.in b/config_host/config_global.h.in
index 0a7912e6dd69..e0dc1418e9cb 100644
--- a/config_host/config_global.h.in
+++ b/config_host/config_global.h.in
@@ -22,7 +22,5 @@ Any change in this header will cause a rebuild of almost everything.
#define HAVE_SYSLOG_H 0
/* Compiler supports __attribute__((warn_unused)). */
#define HAVE_GCC_ATTRIBUTE_WARN_UNUSED 0
-/* C++ library uses __attribute__((warn_unused)) for basic types like std::string. */
-#define HAVE_GCC_ATTRIBUTE_WARN_UNUSED_STL 0
#endif
diff --git a/configure.ac b/configure.ac
index 8a8c6a5be5b4..fdd9c005fc1a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -5904,21 +5904,6 @@ if test "$GCC" = "yes" -o "$COM_IS_CLANG" = TRUE; then
], [AC_MSG_RESULT([no])])
AC_LANG_POP([C++])
- AC_MSG_CHECKING([whether STL uses __attribute__((warn_unused))])
- AC_LANG_PUSH([C++])
- save_CXXFLAGS=$CXXFLAGS
- CXXFLAGS="$CXXFLAGS -Werror -Wunused"
- AC_COMPILE_IFELSE([AC_LANG_SOURCE([
- #include <string>
- void f() { std::string s; }
- ])], [
- AC_MSG_RESULT([no])
- ], [
- AC_DEFINE([HAVE_GCC_ATTRIBUTE_WARN_UNUSED_STL],[1])
- AC_MSG_RESULT([yes])])
- CXXFLAGS=$save_CXXFLAGS
- AC_LANG_POP([C++])
-
AC_MSG_CHECKING([whether $CXX supports __attribute__((warn_unused))])
AC_LANG_PUSH([C++])
save_CXXFLAGS=$CXXFLAGS