[Libreoffice-commits] core.git: compilerplugins/clang config_host/config_global.h.in configure.ac
Stephan Bergmann
sbergman at redhat.com
Wed Nov 8 14:23:20 UTC 2017
compilerplugins/clang/unusedvariablecheck.cxx | 7 -------
config_host/config_global.h.in | 2 --
configure.ac | 15 ---------------
3 files changed, 24 deletions(-)
New commits:
commit e62b087fce09b8ce4bc33f2c7820130e4d72937b
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Wed Nov 8 15:15:54 2017 +0100
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
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
More information about the Libreoffice-commits
mailing list