llvm/llvm/unittests/ADT/ArrayRefTest.cpp

//===- llvm/unittest/ADT/ArrayRefTest.cpp - ArrayRef unit tests -----------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//

#include "llvm/ADT/ArrayRef.h"
#include "llvm/Support/Allocator.h"
#include "llvm/Support/raw_ostream.h"
#include "gtest/gtest.h"
#include <limits>
#include <vector>
usingnamespacellvm;

// Check that the ArrayRef-of-pointer converting constructor only allows adding
// cv qualifiers (not removing them, or otherwise changing the type)
static_assert;
static_assert;
static_assert;
static_assert;
static_assert;

// Check that we can't accidentally assign a temporary location to an ArrayRef.
// (Unfortunately we can't make use of the same thing with constructors.)
static_assert;
static_assert;
static_assert;
static_assert;

namespace {

TEST(ArrayRefTest, AllocatorCopy) {}

// This test is pure UB given the ArrayRef<> implementation.
// You are not allowed to produce non-null pointers given null base pointer.
TEST(ArrayRefTest, DISABLED_SizeTSizedOperations) {}

TEST(ArrayRefTest, DropBack) {}

TEST(ArrayRefTest, DropFront) {}

TEST(ArrayRefTest, DropWhile) {}

TEST(ArrayRefTest, DropUntil) {}

TEST(ArrayRefTest, TakeBack) {}

TEST(ArrayRefTest, TakeFront) {}

TEST(ArrayRefTest, TakeWhile) {}

TEST(ArrayRefTest, TakeUntil) {}

TEST(ArrayRefTest, Equals) {}

TEST(ArrayRefTest, EmptyEquals) {}

TEST(ArrayRefTest, ConstConvert) {}

static std::vector<int> ReturnTest12() {}
static void ArgTest12(ArrayRef<int> A) {}

TEST(ArrayRefTest, InitializerList) {}

TEST(ArrayRefTest, EmptyInitializerList) {}

TEST(ArrayRefTest, ArrayRef) {}

TEST(ArrayRefTest, OwningArrayRef) {}

TEST(ArrayRefTest, ArrayRefFromStdArray) {}

static_assert;

TEST(ArrayRefTest, MutableArrayRefDeductionGuides) {}

} // end anonymous namespace