diff --git a/llvm/include/llvm/ADT/STLForwardCompat.h b/llvm/include/llvm/ADT/STLForwardCompat.h --- a/llvm/include/llvm/ADT/STLForwardCompat.h +++ b/llvm/include/llvm/ADT/STLForwardCompat.h @@ -21,49 +21,6 @@ namespace llvm { -//===----------------------------------------------------------------------===// -// Features from C++17 -//===----------------------------------------------------------------------===// - -template -struct negation // NOLINT(readability-identifier-naming) - : std::integral_constant {}; - -template -struct conjunction // NOLINT(readability-identifier-naming) - : std::true_type {}; -template struct conjunction : B1 {}; -template -struct conjunction - : std::conditional, B1>::type {}; - -template -struct disjunction // NOLINT(readability-identifier-naming) - : std::false_type {}; -template struct disjunction : B1 {}; -template -struct disjunction - : std::conditional>::type {}; - -struct in_place_t // NOLINT(readability-identifier-naming) -{ - explicit in_place_t() = default; -}; -/// \warning This must not be odr-used, as it cannot be made \c inline in C++14. -constexpr in_place_t in_place; // NOLINT(readability-identifier-naming) - -template -struct in_place_type_t // NOLINT(readability-identifier-naming) -{ - explicit in_place_type_t() = default; -}; - -template -struct in_place_index_t // NOLINT(readability-identifier-naming) -{ - explicit in_place_index_t() = default; -}; - //===----------------------------------------------------------------------===// // Features from C++20 //===----------------------------------------------------------------------===// diff --git a/llvm/unittests/ADT/STLForwardCompatTest.cpp b/llvm/unittests/ADT/STLForwardCompatTest.cpp --- a/llvm/unittests/ADT/STLForwardCompatTest.cpp +++ b/llvm/unittests/ADT/STLForwardCompatTest.cpp @@ -11,37 +11,6 @@ namespace { -TEST(STLForwardCompatTest, NegationTest) { - EXPECT_TRUE((llvm::negation::value)); - EXPECT_FALSE((llvm::negation::value)); -} - -struct incomplete_type; - -TEST(STLForwardCompatTest, ConjunctionTest) { - EXPECT_TRUE((llvm::conjunction<>::value)); - EXPECT_FALSE((llvm::conjunction::value)); - EXPECT_TRUE((llvm::conjunction::value)); - EXPECT_FALSE((llvm::conjunction::value)); - EXPECT_FALSE((llvm::conjunction::value)); - EXPECT_FALSE((llvm::conjunction::value)); - EXPECT_TRUE((llvm::conjunction::value)); - EXPECT_TRUE((llvm::conjunction::value)); -} - -TEST(STLForwardCompatTest, DisjunctionTest) { - EXPECT_FALSE((llvm::disjunction<>::value)); - EXPECT_FALSE((llvm::disjunction::value)); - EXPECT_TRUE((llvm::disjunction::value)); - EXPECT_TRUE((llvm::disjunction::value)); - EXPECT_TRUE((llvm::disjunction::value)); - EXPECT_TRUE((llvm::disjunction::value)); - EXPECT_TRUE((llvm::disjunction::value)); - EXPECT_TRUE((llvm::disjunction::value)); -} - template class STLForwardCompatRemoveCVRefTest : public ::testing::Test {};