[Support][ErrorOr] Add support for implicit conversion from error code/condition enums.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176228 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Michael J. Spencer
2013-02-28 01:44:26 +00:00
parent 2b9a946f98
commit 9b4886ee55
2 changed files with 29 additions and 3 deletions

View File

@@ -18,7 +18,7 @@ using namespace llvm;
namespace {
ErrorOr<int> t1() {return 1;}
ErrorOr<int> t2() {return make_error_code(errc::invalid_argument);}
ErrorOr<int> t2() { return errc::invalid_argument; }
TEST(ErrorOr, SimpleValue) {
ErrorOr<int> a = t1();
@@ -45,8 +45,8 @@ TEST(ErrorOr, Types) {
*a = 42;
EXPECT_EQ(42, x);
EXPECT_FALSE(ErrorOr<void>(make_error_code(errc::broken_pipe)));
EXPECT_TRUE(ErrorOr<void>(make_error_code(errc::success)));
EXPECT_FALSE(ErrorOr<void>(errc::broken_pipe));
EXPECT_TRUE(ErrorOr<void>(errc::success));
#if LLVM_HAS_CXX11_STDLIB
// Move only types.