#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 { … };
EquivalenceClass;
struct Testcase { … };
static std::vector<Testcase> getTestcases() { … }
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) { … }
}