llvm/llvm/unittests/ProfileData/ItaniumManglingCanonicalizerTest.cpp

//===-------------- ItaniumManglingCanonicalizerTest.cpp ------------------===//
//
// 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/ProfileData/ItaniumManglingCanonicalizer.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/StringRef.h"
#include "gtest/gtest.h"

#include <cstdlib>
#include <map>
#include <vector>

usingnamespacellvm;

namespace {

EquivalenceError;
FragmentKind;

struct Equivalence {};

// A set of manglings that should all be considered equivalent.
EquivalenceClass;

struct Testcase {};

// A function that returns a set of test cases.
static std::vector<Testcase> getTestcases() {}

// A function to get a set of test cases for forward template references.
static std::vector<Testcase> getForwardTemplateReferenceTestcases() {}

template<bool CanonicalizeFirst>
static void testTestcases(ArrayRef<Testcase> Testcases) {}

TEST(ItaniumManglingCanonicalizerTest, TestCanonicalize) {}

TEST(ItaniumManglingCanonicalizerTest, TestLookup) {}

TEST(ItaniumManglingCanonicalizerTest, TestForwardTemplateReference) {}


TEST(ItaniumManglingCanonicalizerTest, TestInvalidManglings) {}

TEST(ItaniumManglingCanonicalizerTest, TestBadEquivalenceOrder) {}

} // end anonymous namespace