From 9917c0c009493f634efdb19fce617f58b65c72d1 Mon Sep 17 00:00:00 2001
From: Benny Baumann <BenBE@geshi.org>
Date: Sun, 19 Feb 2023 21:36:10 +0100
Subject: [PATCH] fix: Do not bail on GCC string literal extension

Unfortunately this is not pure C++20 :(
---
 src/net/address.hpp | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/src/net/address.hpp b/src/net/address.hpp
index 39f236a..cd7b21a 100644
--- a/src/net/address.hpp
+++ b/src/net/address.hpp
@@ -481,6 +481,13 @@ static constexpr bool is_valid_ip6addr(const char (&str)[N])
 
 }
 
+// Work around use of non-standard feature (not part of ISO-C++)
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wpedantic"
+#ifdef __clang__
+#pragma GCC diagnostic ignored "-Wgnu-string-literal-operator-template"
+#endif
+
 template <typename CharT, CharT... Cs>
 static constexpr auto operator"" _ipaddr()
 {
@@ -513,6 +520,8 @@ static constexpr auto operator"" _ip6()
     return rmrf::net::inet_pton<AF_INET6>(str);
 }
 
+#pragma GCC diagnostic pop
+
 static constexpr uint16_t operator "" _ipport(unsigned long long port)
 {
     if (port > 65535) {
-- 
GitLab