summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/scenery.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/scenery.cpp b/src/scenery.cpp
index b25368e6..e384036d 100644
--- a/src/scenery.cpp
+++ b/src/scenery.cpp
@@ -13,7 +13,19 @@ namespace floormat {
namespace {
template<typename... Ts> struct [[maybe_unused]] overloaded : Ts... { using Ts::operator()...; };
-template<typename... Ts> [[maybe_unused]] overloaded(Ts...) -> overloaded<Ts...>;
+
+#if defined __GNUG__ && !defined __clang__
+#pragma GCC diagnostic push // gcc doesn't support [[attributes]] on deduction guides
+#pragma GCC diagnostic ignored "-Wunused"
+#endif
+template<typename... Ts>
+#ifdef __clang__
+[[maybe_unused]]
+#endif
+overloaded(Ts...) -> overloaded<Ts...>;
+#if defined __GNUG__ && !defined __clang__
+#pragma GCC diagnostic pop
+#endif
template<typename T> struct proto_to_scenery_;
template<> struct proto_to_scenery_<generic_scenery_proto> { using type = generic_scenery; };