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