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