1 //===----------- TargetParser.cpp - Target Parser -------------------------===//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 
10 #include "gtest/gtest.h"
11 #include "llvm/Support/TargetParser.h"
12 
13 using namespace llvm;
14 
15 namespace {
16 TEST(TargetParserTest, ARMArchName) {
17   for (ARM::ArchKind AK = static_cast<ARM::ArchKind>(0);
18        AK <= ARM::ArchKind::AK_LAST;
19        AK = static_cast<ARM::ArchKind>(static_cast<unsigned>(AK) + 1))
20     EXPECT_TRUE(AK == ARM::AK_LAST ? ARM::getArchName(AK).empty()
21                                    : !ARM::getArchName(AK).empty());
22 }
23 
24 TEST(TargetParserTest, ARMCPUAttr) {
25   for (ARM::ArchKind AK = static_cast<ARM::ArchKind>(0);
26        AK <= ARM::ArchKind::AK_LAST;
27        AK = static_cast<ARM::ArchKind>(static_cast<unsigned>(AK) + 1))
28     EXPECT_TRUE((AK == ARM::AK_INVALID || AK == ARM::AK_LAST)
29                     ? ARM::getCPUAttr(AK).empty()
30                     : !ARM::getCPUAttr(AK).empty());
31 }
32 
33 TEST(TargetParserTest, ARMSubArch) {
34   for (ARM::ArchKind AK = static_cast<ARM::ArchKind>(0);
35        AK <= ARM::ArchKind::AK_LAST;
36        AK = static_cast<ARM::ArchKind>(static_cast<unsigned>(AK) + 1))
37     EXPECT_TRUE((AK == ARM::AK_INVALID || AK == ARM::AK_IWMMXT ||
38                  AK == ARM::AK_IWMMXT2 || AK == ARM::AK_LAST)
39                     ? ARM::getSubArch(AK).empty()
40                     : !ARM::getSubArch(AK).empty());
41 }
42 
43 TEST(TargetParserTest, ARMFPUName) {
44   for (ARM::FPUKind FK = static_cast<ARM::FPUKind>(0);
45        FK <= ARM::FPUKind::FK_LAST;
46        FK = static_cast<ARM::FPUKind>(static_cast<unsigned>(FK) + 1))
47     EXPECT_TRUE(FK == ARM::FK_LAST ? ARM::getFPUName(FK).empty()
48                                    : !ARM::getFPUName(FK).empty());
49 }
50 }
51 
52