libstdc++: Add noexcept to std::launch operators

libstdc++-v3/ChangeLog:

	* include/std/future (launch): Make operators noexcept.

(cherry picked from commit 8659bcd6b7)
This commit is contained in:
Jonathan Wakely 2022-05-12 19:33:58 +01:00
parent 2c11a9a380
commit d2b9fdedcd
1 changed files with 7 additions and 7 deletions

View File

@ -140,34 +140,34 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
deferred = 2
};
constexpr launch operator&(launch __x, launch __y)
constexpr launch operator&(launch __x, launch __y) noexcept
{
return static_cast<launch>(
static_cast<int>(__x) & static_cast<int>(__y));
}
constexpr launch operator|(launch __x, launch __y)
constexpr launch operator|(launch __x, launch __y) noexcept
{
return static_cast<launch>(
static_cast<int>(__x) | static_cast<int>(__y));
}
constexpr launch operator^(launch __x, launch __y)
constexpr launch operator^(launch __x, launch __y) noexcept
{
return static_cast<launch>(
static_cast<int>(__x) ^ static_cast<int>(__y));
}
constexpr launch operator~(launch __x)
constexpr launch operator~(launch __x) noexcept
{ return static_cast<launch>(~static_cast<int>(__x)); }
inline launch& operator&=(launch& __x, launch __y)
inline launch& operator&=(launch& __x, launch __y) noexcept
{ return __x = __x & __y; }
inline launch& operator|=(launch& __x, launch __y)
inline launch& operator|=(launch& __x, launch __y) noexcept
{ return __x = __x | __y; }
inline launch& operator^=(launch& __x, launch __y)
inline launch& operator^=(launch& __x, launch __y) noexcept
{ return __x = __x ^ __y; }
/// Status code for futures