[gcc r12-10541] libstdc++: Add preprocessor checks to <experimental/internet> [PR100285]
Jonathan Wakely
redi@gcc.gnu.org
Tue Jun 11 17:06:45 GMT 2024
https://gcc.gnu.org/g:3494bc7b03997f96e84e84f6904917854466d5ea
commit r12-10541-g3494bc7b03997f96e84e84f6904917854466d5ea
Author: Jonathan Wakely <jwakely@redhat.com>
Date: Fri Jun 9 12:15:21 2023 +0100
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 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)
Diff:
---
libstdc++-v3/include/experimental/internet | 2 ++
1 file changed, 2 insertions(+)
diff --git a/libstdc++-v3/include/experimental/internet b/libstdc++-v3/include/experimental/internet
index 4be4bfb731e5..5b05b0f37af7 100644
--- a/libstdc++-v3/include/experimental/internet
+++ b/libstdc++-v3/include/experimental/internet
@@ -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.
* @{
More information about the Gcc-cvs
mailing list