Marshall Clow: LWG Issue 2056: future_errc enums start with value 0 (invalid value for broken_promise).

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@190756 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Howard Hinnant
2013-09-14 18:20:10 +00:00
parent a49a2c9deb
commit cd942f1840
3 changed files with 15 additions and 9 deletions

View File

@@ -26,11 +26,15 @@ __future_error_category::name() const _NOEXCEPT
return "future";
}
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wswitch"
string
__future_error_category::message(int ev) const
{
switch (static_cast<future_errc>(ev))
{
case future_errc(0): // For backwards compatibility with C++11 (LWG 2056)
case future_errc::broken_promise:
return string("The associated promise has been destructed prior "
"to the associated state becoming ready.");
@@ -46,6 +50,8 @@ __future_error_category::message(int ev) const
return string("unspecified future_errc value\n");
}
#pragma clang diagnostic pop
const error_category&
future_category() _NOEXCEPT
{