diff --git a/unittests/Support/CMakeLists.txt b/unittests/Support/CMakeLists.txt index 690a2e376a3..e4e053f936b 100644 --- a/unittests/Support/CMakeLists.txt +++ b/unittests/Support/CMakeLists.txt @@ -38,6 +38,7 @@ add_llvm_unittest(SupportTests StreamingMemoryObject.cpp StringPool.cpp SwapByteOrderTest.cpp + TargetParserTest.cpp ThreadLocalTest.cpp ThreadPool.cpp TimerTest.cpp diff --git a/unittests/Support/TargetParserTest.cpp b/unittests/Support/TargetParserTest.cpp new file mode 100644 index 00000000000..4bdf03aa861 --- /dev/null +++ b/unittests/Support/TargetParserTest.cpp @@ -0,0 +1,51 @@ +//===----------- TargetParser.cpp - Target Parser -------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#include "gtest/gtest.h" +#include "llvm/Support/TargetParser.h" + +using namespace llvm; + +namespace { +TEST(TargetParserTest, ARMArchName) { + for (ARM::ArchKind AK = static_cast(0); + AK <= ARM::ArchKind::AK_LAST; + AK = static_cast(static_cast(AK) + 1)) + EXPECT_TRUE(AK == ARM::AK_LAST ? ARM::getArchName(AK).empty() + : !ARM::getArchName(AK).empty()); +} + +TEST(TargetParserTest, ARMCPUAttr) { + for (ARM::ArchKind AK = static_cast(0); + AK <= ARM::ArchKind::AK_LAST; + AK = static_cast(static_cast(AK) + 1)) + EXPECT_TRUE((AK == ARM::AK_INVALID || AK == ARM::AK_LAST) + ? ARM::getCPUAttr(AK).empty() + : !ARM::getCPUAttr(AK).empty()); +} + +TEST(TargetParserTest, ARMSubArch) { + for (ARM::ArchKind AK = static_cast(0); + AK <= ARM::ArchKind::AK_LAST; + AK = static_cast(static_cast(AK) + 1)) + EXPECT_TRUE((AK == ARM::AK_INVALID || AK == ARM::AK_IWMMXT || + AK == ARM::AK_IWMMXT2 || AK == ARM::AK_LAST) + ? ARM::getSubArch(AK).empty() + : !ARM::getSubArch(AK).empty()); +} + +TEST(TargetParserTest, ARMFPUName) { + for (ARM::FPUKind FK = static_cast(0); + FK <= ARM::FPUKind::FK_LAST; + FK = static_cast(static_cast(FK) + 1)) + EXPECT_TRUE(FK == ARM::FK_LAST ? ARM::getFPUName(FK).empty() + : !ARM::getFPUName(FK).empty()); +} +} +