summaryrefslogtreecommitdiffstats
path: root/llvm/unittests/Support
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/unittests/Support')
-rw-r--r--llvm/unittests/Support/CMakeLists.txt1
-rw-r--r--llvm/unittests/Support/TargetParserTest.cpp51
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());
+}
+}
+
OpenPOWER on IntegriCloud