summaryrefslogtreecommitdiff
path: root/src/lib/dbus
diff options
context:
space:
mode:
authorMax Kellermann <max@musicpd.org>2018-09-02 08:15:39 +0200
committerMax Kellermann <max@musicpd.org>2018-09-02 08:17:21 +0200
commitb9cca49e1461e142f1f0946dcb930c7bf1517566 (patch)
tree35795a1ced5ff982216daf3af91f2515daa92255 /src/lib/dbus
parent931b571e3d2484c508b8e6f907438ca2ee8a105d (diff)
lib/dbus/ReadIter: switch off -Wshadow on GCC<8
GCC 6.3.0 emits bogus warnings like this: In file included from src/lib/dbus/UDisks2.cxx:22:0: src/lib/dbus/ReadIter.hxx: In instantiation of 'ODBus::ReadMessageIter::ForEachProperty(F&&)::<lambda(auto:2&&)> [with auto:2 = ODBus::ReadMessageIter; F = std::_Bind<void (*(std::reference_wrapper<UDisks2::Object>, std::_Placeholder<1>, std::_Placeholder<2>))(UDisks2::Object&, const char*, ODBus::ReadMessageIter&&) noexcept>]': src/lib/dbus/ReadIter.hxx:102:6: required from 'ODBus::ReadMessageIter::ForEachRecurse(int, F&&)::<lambda(auto:1&&)> [with auto:1 = ODBus::ReadMessageIter&; F = ODBus::ReadMessageIter::ForEachProperty(F&&) [with F = std::_Bind<void (*(std::reference_wrapper<UDisks2::Object>, std::_Placeholder<1>, std::_Placeholder<2>))(UDisks2::Object&, const char*, ODBus::ReadMessageIter&&) noexcept>]::<lambda(auto:2&&)>]' src/lib/dbus/ReadIter.hxx:92:5: required from 'void ODBus::ReadMessageIter::ForEach(int, F&&) [with F = ODBus::ReadMessageIter::ForEachRecurse(int, F&&) [with F = ODBus::ReadMessageIter::ForEachProperty(F&&) [with F = std::_Bind<void (*(std::reference_wrapper<UDisks2::Object>, std::_Placeholder<1>, std::_Placeholder<2>))(UDisks2::Object&, const char*, ODBus::ReadMessageIter&&) noexcept>]::<lambda(auto:2&&)>]::<lambda(auto:1&&)>]' src/lib/dbus/ReadIter.hxx:101:3: required from 'void ODBus::ReadMessageIter::ForEachRecurse(int, F&&) [with F = ODBus::ReadMessageIter::ForEachProperty(F&&) [with F = std::_Bind<void (*(std::reference_wrapper<UDisks2::Object>, std::_Placeholder<1>, std::_Placeholder<2>))(UDisks2::Object&, const char*, ODBus::ReadMessageIter&&) noexcept>]::<lambda(auto:2&&)>]' src/lib/dbus/ReadIter.hxx:114:3: required from 'void ODBus::ReadMessageIter::ForEachProperty(F&&) [with F = std::_Bind<void (*(std::reference_wrapper<UDisks2::Object>, std::_Placeholder<1>, std::_Placeholder<2>))(UDisks2::Object&, const char*, ODBus::ReadMessageIter&&) noexcept>]' src/lib/dbus/UDisks2.cxx:71:30: required from here src/lib/dbus/ReadIter.hxx:114:53: error: declaration of 'ODBus::ReadMessageIter&& i' shadows a parameter [-Werror=shadow] ForEachRecurse(DBUS_TYPE_DICT_ENTRY, [&f](auto &&i){ ^ src/lib/dbus/ReadIter.hxx:101:33: note: shadowed declaration is here ForEach(arg_type, [&f](auto &&i){ ^
Diffstat (limited to 'src/lib/dbus')
-rw-r--r--src/lib/dbus/ReadIter.hxx7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/lib/dbus/ReadIter.hxx b/src/lib/dbus/ReadIter.hxx
index a8ea9d7d4..9284f2baa 100644
--- a/src/lib/dbus/ReadIter.hxx
+++ b/src/lib/dbus/ReadIter.hxx
@@ -34,6 +34,13 @@
#define ODBUS_READ_ITER_HXX
#include "Iter.hxx"
+#include "util/Compiler.h"
+
+#if GCC_OLDER_THAN(8,0)
+/* switch off completely bogus shadow warnings in older GCC
+ versions */
+#pragma GCC diagnostic ignored "-Wshadow"
+#endif
namespace ODBus {