forked from OSchip/llvm-project
Make cv_status a class enum. Fixes PR18314. Thanks to Andersca for the report and the patch.
llvm-svn: 197921
This commit is contained in:
parent
61d41af46b
commit
ce81aed463
|
@ -254,19 +254,13 @@ void
|
||||||
swap(unique_lock<_Mutex>& __x, unique_lock<_Mutex>& __y) _NOEXCEPT
|
swap(unique_lock<_Mutex>& __x, unique_lock<_Mutex>& __y) _NOEXCEPT
|
||||||
{__x.swap(__y);}
|
{__x.swap(__y);}
|
||||||
|
|
||||||
struct _LIBCPP_TYPE_VIS cv_status
|
//enum class cv_status
|
||||||
|
_LIBCPP_DECLARE_STRONG_ENUM(cv_status)
|
||||||
{
|
{
|
||||||
enum __lx {
|
no_timeout,
|
||||||
no_timeout,
|
timeout
|
||||||
timeout
|
|
||||||
};
|
|
||||||
|
|
||||||
__lx __v_;
|
|
||||||
|
|
||||||
_LIBCPP_INLINE_VISIBILITY cv_status(__lx __v) : __v_(__v) {}
|
|
||||||
_LIBCPP_INLINE_VISIBILITY operator int() const {return __v_;}
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
_LIBCPP_DECLARE_STRONG_ENUM_EPILOG(cv_status)
|
||||||
|
|
||||||
class _LIBCPP_TYPE_VIS condition_variable
|
class _LIBCPP_TYPE_VIS condition_variable
|
||||||
{
|
{
|
||||||
|
|
|
@ -16,6 +16,6 @@
|
||||||
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
assert(std::cv_status::no_timeout == 0);
|
assert(static_cast<int>(std::cv_status::no_timeout) == 0);
|
||||||
assert(std::cv_status::timeout == 1);
|
assert(static_cast<int>(std::cv_status::timeout) == 1);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue