aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2023-06-09 12:15:21 +0100
committerJonathan Wakely <jwakely@redhat.com>2023-06-09 13:15:39 +0100
commit793ed718b522b15e2d758eca953feeec1979fe2c (patch)
treeff9ee99fa941747070734a64e58c926ddf368fa2
parent9a3558cf1fb40bc43ab1d99b3b87de60a8bca4d7 (diff)
downloadgcc-793ed718b522b15e2d758eca953feeec1979fe2c.zip
gcc-793ed718b522b15e2d758eca953feeec1979fe2c.tar.gz
gcc-793ed718b522b15e2d758eca953feeec1979fe2c.tar.bz2
libstdc++: Add preprocessor checks to <experimental/internet> [PR100285]
We can't define endpoints and resolvers without the relevant OS support. If IPPROTO_TCP and IPPROTO_UDP are both udnefined then we won't need basic_endpoint and basic_resovler 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.
-rw-r--r--libstdc++-v3/include/experimental/internet2
1 files changed, 2 insertions, 0 deletions
diff --git a/libstdc++-v3/include/experimental/internet b/libstdc++-v3/include/experimental/internet
index 1f63c61..bd9a05f 100644
--- a/libstdc++-v3/include/experimental/internet
+++ b/libstdc++-v3/include/experimental/internet
@@ -1502,6 +1502,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
@@ -2187,6 +2188,7 @@ namespace ip
__ec = std::make_error_code(errc::operation_not_supported);
#endif
}
+#endif // IPPROTO_TCP || IPPROTO_UDP
/** The name of the local host.
* @{