]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
libstdc++: Add preprocessor checks to <experimental/internet> [PR100285]
authorJonathan Wakely <jwakely@redhat.com>
Fri, 9 Jun 2023 11:15:21 +0000 (12:15 +0100)
committerJonathan Wakely <jwakely@redhat.com>
Tue, 11 Jun 2024 12:35:08 +0000 (13:35 +0100)
We can't define endpoints and resolvers without the relevant OS support.
If IPPROTO_TCP and IPPROTO_UDP are both undefined then we won't need
basic_endpoint and basic_resolver anyway, so make them depend on those
macros.

libstdc++-v3/ChangeLog:

PR libstdc++/100285
* include/experimental/internet [IPPROTO_TCP || IPPROTO_UDP]
(basic_endpoint, basic_resolver_entry, resolver_base)
(basic_resolver_results, basic_resolver): Only define if the tcp
or udp protocols will be defined.

(cherry picked from commit 793ed718b522b15e2d758eca953feeec1979fe2c)

libstdc++-v3/include/experimental/internet

index 4be4bfb731e584fdbdc8683d0dceb097394e7882..5b05b0f37af773851b882582ad964a10f8713300 100644 (file)
@@ -1457,6 +1457,7 @@ namespace ip
     operator<<(basic_ostream<_CharT, _Traits>& __os, const network_v6& __net)
     { return __os << __net.to_string(); }
 
+#if defined IPPROTO_TCP || defined  IPPROTO_UDP
   /// An IP endpoint.
   template<typename _InternetProtocol>
     class basic_endpoint
@@ -2091,6 +2092,7 @@ namespace ip
       __ec = std::make_error_code(errc::operation_not_supported);
 #endif
     }
+#endif // IPPROTO_TCP || IPPROTO_UDP
 
   /** The name of the local host.
    * @{