]> git.ipfire.org Git - thirdparty/gcc.git/commit
libstdc++: Define net::socket_base::message_flags operators as friends [PR 100285]
authorJonathan Wakely <jwakely@redhat.com>
Tue, 27 Apr 2021 10:07:47 +0000 (11:07 +0100)
committerJonathan Wakely <jwakely@redhat.com>
Tue, 27 Apr 2021 13:04:35 +0000 (14:04 +0100)
commit8aadb4fedb17e7a44583a7a5a4e96b1874e1ce98
tree586340979d5d7a65919cc1b5c6021fd075e830c6
parent75f8900159133ce069ef1d2edf3b67c7bc82e305
libstdc++: Define net::socket_base::message_flags operators as friends [PR 100285]

The overloaded operators for socket_base::message_flags should only be
defined when the message_flags type itself is defined. Rather than
duplicate the preprocessor conditional, this moves the operators into
the same scope as the type, defining them as hidden friends.

As well as fixing the bug, this has all the usual advantages of hidden
friends (they are not visible to normal name lookup for unrelated
types).

For consistency, do the same for the resolver_base::flags bitmask
operators too.

libstdc++-v3/ChangeLog:

PR libstdc++/100285
* include/experimental/internet (resolver_base::flags):
Define overloaded operators as hidden friends.
* include/experimental/socket (socket_base::message_flags):
Likewise.
libstdc++-v3/include/experimental/internet
libstdc++-v3/include/experimental/socket