1 //===- llvm/unittest/ADT/FloatingPointMode.cpp ----------------------------===// 2 // 3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 // See https://llvm.org/LICENSE.txt for license information. 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 // 7 //===----------------------------------------------------------------------===// 8 9 #include "llvm/ADT/FloatingPointMode.h" 10 #include "gtest/gtest.h" 11 12 using namespace llvm; 13 14 namespace { 15 16 TEST(FloatingPointModeTest, ParseDenormalFPAttribute) { 17 EXPECT_EQ(DenormalMode::IEEE, parseDenormalFPAttribute("ieee")); 18 EXPECT_EQ(DenormalMode::IEEE, parseDenormalFPAttribute("")); 19 EXPECT_EQ(DenormalMode::PreserveSign, 20 parseDenormalFPAttribute("preserve-sign")); 21 EXPECT_EQ(DenormalMode::PositiveZero, 22 parseDenormalFPAttribute("positive-zero")); 23 EXPECT_EQ(DenormalMode::Invalid, parseDenormalFPAttribute("foo")); 24 } 25 26 TEST(FloatingPointModeTest, DenormalAttributeName) { 27 EXPECT_EQ("ieee", denormalModeName(DenormalMode::IEEE)); 28 EXPECT_EQ("preserve-sign", denormalModeName(DenormalMode::PreserveSign)); 29 EXPECT_EQ("positive-zero", denormalModeName(DenormalMode::PositiveZero)); 30 EXPECT_EQ("", denormalModeName(DenormalMode::Invalid)); 31 } 32 33 } 34