diff options
author | Max Kellermann <max@musicpd.org> | 2018-09-02 08:15:39 +0200 |
---|---|---|
committer | Max Kellermann <max@musicpd.org> | 2018-09-02 08:17:21 +0200 |
commit | b9cca49e1461e142f1f0946dcb930c7bf1517566 (patch) | |
tree | 35795a1ced5ff982216daf3af91f2515daa92255 /src/lib/dbus | |
parent | 931b571e3d2484c508b8e6f907438ca2ee8a105d (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.hxx | 7 |
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 { |