diff options
-rw-r--r-- | llvm/unittests/Support/CMakeLists.txt | 1 | ||||
-rw-r--r-- | llvm/unittests/Support/TargetParserTest.cpp | 51 |
2 files changed, 52 insertions, 0 deletions
diff --git a/llvm/unittests/Support/CMakeLists.txt b/llvm/unittests/Support/CMakeLists.txt index 690a2e376a3..e4e053f936b 100644 --- a/llvm/unittests/Support/CMakeLists.txt +++ b/llvm/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/llvm/unittests/Support/TargetParserTest.cpp b/llvm/unittests/Support/TargetParserTest.cpp new file mode 100644 index 00000000000..4bdf03aa861 --- /dev/null +++ b/llvm/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<ARM::ArchKind>(0); + AK <= ARM::ArchKind::AK_LAST; + AK = static_cast<ARM::ArchKind>(static_cast<unsigned>(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<ARM::ArchKind>(0); + AK <= ARM::ArchKind::AK_LAST; + AK = static_cast<ARM::ArchKind>(static_cast<unsigned>(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<ARM::ArchKind>(0); + AK <= ARM::ArchKind::AK_LAST; + AK = static_cast<ARM::ArchKind>(static_cast<unsigned>(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<ARM::FPUKind>(0); + FK <= ARM::FPUKind::FK_LAST; + FK = static_cast<ARM::FPUKind>(static_cast<unsigned>(FK) + 1)) + EXPECT_TRUE(FK == ARM::FK_LAST ? ARM::getFPUName(FK).empty() + : !ARM::getFPUName(FK).empty()); +} +} + |