blob: c0d59823db6cb023eb28e8e756e19785d4f34c50 [file] [log] [blame]
Matt Arsenault7fe94352019-10-29 16:16:05 -07001//===- 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
12using namespace llvm;
13
14namespace {
15
16TEST(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
26TEST(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}