From b64793999546ed8adebaeebd9d8345d18db8927d Mon Sep 17 00:00:00 2001 From: patrick Date: Mon, 3 Aug 2020 15:06:44 +0000 Subject: Remove LLVM 8.0.1 files. --- gnu/llvm/unittests/Support/ErrorOrTest.cpp | 140 ----------------------------- 1 file changed, 140 deletions(-) delete mode 100644 gnu/llvm/unittests/Support/ErrorOrTest.cpp (limited to 'gnu/llvm/unittests/Support/ErrorOrTest.cpp') diff --git a/gnu/llvm/unittests/Support/ErrorOrTest.cpp b/gnu/llvm/unittests/Support/ErrorOrTest.cpp deleted file mode 100644 index 2ffc6e5b794..00000000000 --- a/gnu/llvm/unittests/Support/ErrorOrTest.cpp +++ /dev/null @@ -1,140 +0,0 @@ -//===- unittests/ErrorOrTest.cpp - ErrorOr.h tests ------------------------===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -#include "llvm/Support/ErrorOr.h" -#include "llvm/Support/Errc.h" -#include "gtest/gtest.h" -#include - -using namespace llvm; - -namespace { - -ErrorOr t1() { return 1; } -ErrorOr t2() { return errc::invalid_argument; } - -TEST(ErrorOr, SimpleValue) { - ErrorOr a = t1(); - // FIXME: This is probably a bug in gtest. EXPECT_TRUE should expand to - // include the !! to make it friendly to explicit bool operators. - EXPECT_TRUE(!!a); - EXPECT_EQ(1, *a); - - ErrorOr b = a; - EXPECT_EQ(1, *b); - - a = t2(); - EXPECT_FALSE(a); - EXPECT_EQ(a.getError(), errc::invalid_argument); -#ifdef EXPECT_DEBUG_DEATH - EXPECT_DEBUG_DEATH(*a, "Cannot get value when an error exists"); -#endif -} - -ErrorOr > t3() { - return std::unique_ptr(new int(3)); -} - -TEST(ErrorOr, Types) { - int x; - ErrorOr a(x); - *a = 42; - EXPECT_EQ(42, x); - - // Move only types. - EXPECT_EQ(3, **t3()); -} - -struct B {}; -struct D : B {}; - -TEST(ErrorOr, Covariant) { - ErrorOr b(ErrorOr(nullptr)); - b = ErrorOr(nullptr); - - ErrorOr > b1(ErrorOr >(nullptr)); - b1 = ErrorOr >(nullptr); - - ErrorOr> b2(ErrorOr(nullptr)); - ErrorOr b3(nullptr); - ErrorOr> b4(b3); -} - -TEST(ErrorOr, Comparison) { - ErrorOr x(errc::no_such_file_or_directory); - EXPECT_EQ(x, errc::no_such_file_or_directory); -} - -TEST(ErrorOr, ImplicitConversion) { - ErrorOr x("string literal"); - EXPECT_TRUE(!!x); -} - -TEST(ErrorOr, ImplicitConversionCausesMove) { - struct Source {}; - struct Destination { - Destination(const Source&) {} - Destination(Source&&) = delete; - }; - Source s; - ErrorOr x = s; - EXPECT_TRUE(!!x); -} - -TEST(ErrorOr, ImplicitConversionNoAmbiguity) { - struct CastsToErrorCode { - CastsToErrorCode() = default; - CastsToErrorCode(std::error_code) {} - operator std::error_code() { return errc::invalid_argument; } - } casts_to_error_code; - ErrorOr x1(casts_to_error_code); - ErrorOr x2 = casts_to_error_code; - ErrorOr x3 = {casts_to_error_code}; - ErrorOr x4{casts_to_error_code}; - ErrorOr x5(errc::no_such_file_or_directory); - ErrorOr x6 = errc::no_such_file_or_directory; - ErrorOr x7 = {errc::no_such_file_or_directory}; - ErrorOr x8{errc::no_such_file_or_directory}; - EXPECT_TRUE(!!x1); - EXPECT_TRUE(!!x2); - EXPECT_TRUE(!!x3); - EXPECT_TRUE(!!x4); - EXPECT_FALSE(x5); - EXPECT_FALSE(x6); - EXPECT_FALSE(x7); - EXPECT_FALSE(x8); -} - -// ErrorOr x(nullptr); -// ErrorOr> y = x; // invalid conversion -static_assert( - !std::is_convertible &, - ErrorOr>>::value, - "do not invoke explicit ctors in implicit conversion from lvalue"); - -// ErrorOr> y = ErrorOr(nullptr); // invalid -// // conversion -static_assert( - !std::is_convertible &&, - ErrorOr>>::value, - "do not invoke explicit ctors in implicit conversion from rvalue"); - -// ErrorOr x(nullptr); -// ErrorOr> y; -// y = x; // invalid conversion -static_assert(!std::is_assignable>&, - const ErrorOr &>::value, - "do not invoke explicit ctors in assignment"); - -// ErrorOr> x; -// x = ErrorOr(nullptr); // invalid conversion -static_assert(!std::is_assignable>&, - ErrorOr &&>::value, - "do not invoke explicit ctors in assignment"); -} // end anon namespace -- cgit v1.2.3-59-g8ed1b