+++ /dev/null
-//===- llvm/unittest/ADT/APInt.cpp - APInt unit tests ---------------------===//
-//
-// 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/ADT/APInt.h"
-
-using namespace llvm;
-
-namespace {
-
-// Test that APInt shift left works when bitwidth > 64 and shiftamt == 0
-TEST(APIntTest, ShiftLeftByZero) {
- APInt One = APInt::getNullValue(65) + 1;
- APInt Shl = One.shl(0);
- EXPECT_EQ(true, Shl[0]);
- EXPECT_EQ(false, Shl[1]);
-}
-
-TEST(APIntTest, I128NegativeCount) {
- APInt Minus3(128, (uint64_t)-3, true);
- EXPECT_EQ(126u, Minus3.countLeadingOnes());
- EXPECT_EQ(-3, Minus3.getSExtValue());
-
- APInt Minus1(128, (uint64_t)-1, true);
- EXPECT_EQ(0u, Minus1.countLeadingZeros());
- EXPECT_EQ(128u, Minus1.countLeadingOnes());
- EXPECT_EQ(128u, Minus1.getActiveBits());
- EXPECT_EQ(0u, Minus1.countTrailingZeros());
- EXPECT_EQ(128u, Minus1.countTrailingOnes());
- EXPECT_EQ(128u, Minus1.countPopulation());
- EXPECT_EQ(-1, Minus1.getSExtValue());
-}
-
-TEST(APIntTest, I33Count) {
- APInt i33minus2(33, -2, true);
- EXPECT_EQ(0u, i33minus2.countLeadingZeros());
- EXPECT_EQ(32u, i33minus2.countLeadingOnes());
- EXPECT_EQ(33u, i33minus2.getActiveBits());
- EXPECT_EQ(1u, i33minus2.countTrailingZeros());
- EXPECT_EQ(32u, i33minus2.countPopulation());
- EXPECT_EQ(-2, i33minus2.getSExtValue());
- EXPECT_EQ(((uint64_t)-2)&((1ull<<33) -1), i33minus2.getZExtValue());
-}
-
-TEST(APIntTest, I65Count) {
- APInt i65minus(65, 0, true);
- i65minus.set(64);
- EXPECT_EQ(0u, i65minus.countLeadingZeros());
- EXPECT_EQ(1u, i65minus.countLeadingOnes());
- EXPECT_EQ(65u, i65minus.getActiveBits());
- EXPECT_EQ(64u, i65minus.countTrailingZeros());
- EXPECT_EQ(1u, i65minus.countPopulation());
-}
-
-TEST(APIntTest, I128PositiveCount) {
- APInt u128max = APInt::getAllOnesValue(128);
- EXPECT_EQ(128u, u128max.countLeadingOnes());
- EXPECT_EQ(0u, u128max.countLeadingZeros());
- EXPECT_EQ(128u, u128max.getActiveBits());
- EXPECT_EQ(0u, u128max.countTrailingZeros());
- EXPECT_EQ(128u, u128max.countTrailingOnes());
- EXPECT_EQ(128u, u128max.countPopulation());
-
- APInt u64max(128, (uint64_t)-1, false);
- EXPECT_EQ(64u, u64max.countLeadingZeros());
- EXPECT_EQ(0u, u64max.countLeadingOnes());
- EXPECT_EQ(64u, u64max.getActiveBits());
- EXPECT_EQ(0u, u64max.countTrailingZeros());
- EXPECT_EQ(64u, u64max.countTrailingOnes());
- EXPECT_EQ(64u, u64max.countPopulation());
- EXPECT_EQ((uint64_t)~0ull, u64max.getZExtValue());
-
- APInt zero(128, 0, true);
- EXPECT_EQ(128u, zero.countLeadingZeros());
- EXPECT_EQ(0u, zero.countLeadingOnes());
- EXPECT_EQ(0u, zero.getActiveBits());
- EXPECT_EQ(128u, zero.countTrailingZeros());
- EXPECT_EQ(0u, zero.countTrailingOnes());
- EXPECT_EQ(0u, zero.countPopulation());
- EXPECT_EQ(0u, zero.getSExtValue());
- EXPECT_EQ(0u, zero.getZExtValue());
-
- APInt one(128, 1, true);
- EXPECT_EQ(127u, one.countLeadingZeros());
- EXPECT_EQ(0u, one.countLeadingOnes());
- EXPECT_EQ(1u, one.getActiveBits());
- EXPECT_EQ(0u, one.countTrailingZeros());
- EXPECT_EQ(1u, one.countTrailingOnes());
- EXPECT_EQ(1u, one.countPopulation());
- EXPECT_EQ(1, one.getSExtValue());
- EXPECT_EQ(1u, one.getZExtValue());
-}
-
-}
--- /dev/null
+//===- llvm/unittest/ADT/APInt.cpp - APInt unit tests ---------------------===//
+//
+// 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/ADT/APInt.h"
+
+using namespace llvm;
+
+namespace {
+
+// Test that APInt shift left works when bitwidth > 64 and shiftamt == 0
+TEST(APIntTest, ShiftLeftByZero) {
+ APInt One = APInt::getNullValue(65) + 1;
+ APInt Shl = One.shl(0);
+ EXPECT_EQ(true, Shl[0]);
+ EXPECT_EQ(false, Shl[1]);
+}
+
+TEST(APIntTest, I128NegativeCount) {
+ APInt Minus3(128, (uint64_t)-3, true);
+ EXPECT_EQ(126u, Minus3.countLeadingOnes());
+ EXPECT_EQ(-3, Minus3.getSExtValue());
+
+ APInt Minus1(128, (uint64_t)-1, true);
+ EXPECT_EQ(0u, Minus1.countLeadingZeros());
+ EXPECT_EQ(128u, Minus1.countLeadingOnes());
+ EXPECT_EQ(128u, Minus1.getActiveBits());
+ EXPECT_EQ(0u, Minus1.countTrailingZeros());
+ EXPECT_EQ(128u, Minus1.countTrailingOnes());
+ EXPECT_EQ(128u, Minus1.countPopulation());
+ EXPECT_EQ(-1, Minus1.getSExtValue());
+}
+
+TEST(APIntTest, I33Count) {
+ APInt i33minus2(33, -2, true);
+ EXPECT_EQ(0u, i33minus2.countLeadingZeros());
+ EXPECT_EQ(32u, i33minus2.countLeadingOnes());
+ EXPECT_EQ(33u, i33minus2.getActiveBits());
+ EXPECT_EQ(1u, i33minus2.countTrailingZeros());
+ EXPECT_EQ(32u, i33minus2.countPopulation());
+ EXPECT_EQ(-2, i33minus2.getSExtValue());
+ EXPECT_EQ(((uint64_t)-2)&((1ull<<33) -1), i33minus2.getZExtValue());
+}
+
+TEST(APIntTest, I65Count) {
+ APInt i65minus(65, 0, true);
+ i65minus.set(64);
+ EXPECT_EQ(0u, i65minus.countLeadingZeros());
+ EXPECT_EQ(1u, i65minus.countLeadingOnes());
+ EXPECT_EQ(65u, i65minus.getActiveBits());
+ EXPECT_EQ(64u, i65minus.countTrailingZeros());
+ EXPECT_EQ(1u, i65minus.countPopulation());
+}
+
+TEST(APIntTest, I128PositiveCount) {
+ APInt u128max = APInt::getAllOnesValue(128);
+ EXPECT_EQ(128u, u128max.countLeadingOnes());
+ EXPECT_EQ(0u, u128max.countLeadingZeros());
+ EXPECT_EQ(128u, u128max.getActiveBits());
+ EXPECT_EQ(0u, u128max.countTrailingZeros());
+ EXPECT_EQ(128u, u128max.countTrailingOnes());
+ EXPECT_EQ(128u, u128max.countPopulation());
+
+ APInt u64max(128, (uint64_t)-1, false);
+ EXPECT_EQ(64u, u64max.countLeadingZeros());
+ EXPECT_EQ(0u, u64max.countLeadingOnes());
+ EXPECT_EQ(64u, u64max.getActiveBits());
+ EXPECT_EQ(0u, u64max.countTrailingZeros());
+ EXPECT_EQ(64u, u64max.countTrailingOnes());
+ EXPECT_EQ(64u, u64max.countPopulation());
+ EXPECT_EQ((uint64_t)~0ull, u64max.getZExtValue());
+
+ APInt zero(128, 0, true);
+ EXPECT_EQ(128u, zero.countLeadingZeros());
+ EXPECT_EQ(0u, zero.countLeadingOnes());
+ EXPECT_EQ(0u, zero.getActiveBits());
+ EXPECT_EQ(128u, zero.countTrailingZeros());
+ EXPECT_EQ(0u, zero.countTrailingOnes());
+ EXPECT_EQ(0u, zero.countPopulation());
+ EXPECT_EQ(0u, zero.getSExtValue());
+ EXPECT_EQ(0u, zero.getZExtValue());
+
+ APInt one(128, 1, true);
+ EXPECT_EQ(127u, one.countLeadingZeros());
+ EXPECT_EQ(0u, one.countLeadingOnes());
+ EXPECT_EQ(1u, one.getActiveBits());
+ EXPECT_EQ(0u, one.countTrailingZeros());
+ EXPECT_EQ(1u, one.countTrailingOnes());
+ EXPECT_EQ(1u, one.countPopulation());
+ EXPECT_EQ(1, one.getSExtValue());
+ EXPECT_EQ(1u, one.getZExtValue());
+}
+
+}
+++ /dev/null
-//===- llvm/unittest/Support/raw_ostream.cpp - raw_ostream unit tests -----===//
-//
-// 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/raw_ostream.h"
-
-using namespace llvm;
-
-namespace {
-
-template<typename T> std::string printToString(const T &Value) {
- std::string res;
- llvm::raw_string_ostream(res) << Value;
- return res;
-}
-
-template<typename T> std::string printToStringUnbuffered(const T &Value) {
- std::string res;
- llvm::raw_string_ostream OS(res);
- OS.SetUnbuffered();
- OS << Value;
- return res;
-}
-
-TEST(raw_ostreamTest, Types_Buffered) {
- // Char
- EXPECT_EQ("c", printToString('c'));
-
- // String
- EXPECT_EQ("hello", printToString("hello"));
- EXPECT_EQ("hello", printToString(std::string("hello")));
-
- // Int
- EXPECT_EQ("0", printToString(0));
- EXPECT_EQ("2425", printToString(2425));
- EXPECT_EQ("-2425", printToString(-2425));
-
- // Long long
- EXPECT_EQ("0", printToString(0LL));
- EXPECT_EQ("257257257235709", printToString(257257257235709LL));
- EXPECT_EQ("-257257257235709", printToString(-257257257235709LL));
-
- // Double
- EXPECT_EQ("1.100000e+00", printToString(1.1));
-
- // void*
- EXPECT_EQ("0x0", printToString((void*) 0));
- EXPECT_EQ("0xbeef", printToString((void*) 0xbeef));
- EXPECT_EQ("0xdeadbeef", printToString((void*) 0xdeadbeef));
-}
-
-TEST(raw_ostreamTest, Types_Unbuffered) {
- // Char
- EXPECT_EQ("c", printToStringUnbuffered('c'));
-
- // String
- EXPECT_EQ("hello", printToStringUnbuffered("hello"));
- EXPECT_EQ("hello", printToStringUnbuffered(std::string("hello")));
-
- // Int
- EXPECT_EQ("0", printToStringUnbuffered(0));
- EXPECT_EQ("2425", printToStringUnbuffered(2425));
- EXPECT_EQ("-2425", printToStringUnbuffered(-2425));
-
- // Long long
- EXPECT_EQ("0", printToStringUnbuffered(0LL));
- EXPECT_EQ("257257257235709", printToStringUnbuffered(257257257235709LL));
- EXPECT_EQ("-257257257235709", printToStringUnbuffered(-257257257235709LL));
-
- // Double
- EXPECT_EQ("1.100000e+00", printToStringUnbuffered(1.1));
-
- // void*
- EXPECT_EQ("0x0", printToStringUnbuffered((void*) 0));
- EXPECT_EQ("0xbeef", printToStringUnbuffered((void*) 0xbeef));
- EXPECT_EQ("0xdeadbeef", printToStringUnbuffered((void*) 0xdeadbeef));
-}
-
-}
--- /dev/null
+//===- llvm/unittest/Support/raw_ostream.cpp - raw_ostream unit tests -----===//
+//
+// 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/raw_ostream.h"
+
+using namespace llvm;
+
+namespace {
+
+template<typename T> std::string printToString(const T &Value) {
+ std::string res;
+ llvm::raw_string_ostream(res) << Value;
+ return res;
+}
+
+template<typename T> std::string printToStringUnbuffered(const T &Value) {
+ std::string res;
+ llvm::raw_string_ostream OS(res);
+ OS.SetUnbuffered();
+ OS << Value;
+ return res;
+}
+
+TEST(raw_ostreamTest, Types_Buffered) {
+ // Char
+ EXPECT_EQ("c", printToString('c'));
+
+ // String
+ EXPECT_EQ("hello", printToString("hello"));
+ EXPECT_EQ("hello", printToString(std::string("hello")));
+
+ // Int
+ EXPECT_EQ("0", printToString(0));
+ EXPECT_EQ("2425", printToString(2425));
+ EXPECT_EQ("-2425", printToString(-2425));
+
+ // Long long
+ EXPECT_EQ("0", printToString(0LL));
+ EXPECT_EQ("257257257235709", printToString(257257257235709LL));
+ EXPECT_EQ("-257257257235709", printToString(-257257257235709LL));
+
+ // Double
+ EXPECT_EQ("1.100000e+00", printToString(1.1));
+
+ // void*
+ EXPECT_EQ("0x0", printToString((void*) 0));
+ EXPECT_EQ("0xbeef", printToString((void*) 0xbeef));
+ EXPECT_EQ("0xdeadbeef", printToString((void*) 0xdeadbeef));
+}
+
+TEST(raw_ostreamTest, Types_Unbuffered) {
+ // Char
+ EXPECT_EQ("c", printToStringUnbuffered('c'));
+
+ // String
+ EXPECT_EQ("hello", printToStringUnbuffered("hello"));
+ EXPECT_EQ("hello", printToStringUnbuffered(std::string("hello")));
+
+ // Int
+ EXPECT_EQ("0", printToStringUnbuffered(0));
+ EXPECT_EQ("2425", printToStringUnbuffered(2425));
+ EXPECT_EQ("-2425", printToStringUnbuffered(-2425));
+
+ // Long long
+ EXPECT_EQ("0", printToStringUnbuffered(0LL));
+ EXPECT_EQ("257257257235709", printToStringUnbuffered(257257257235709LL));
+ EXPECT_EQ("-257257257235709", printToStringUnbuffered(-257257257235709LL));
+
+ // Double
+ EXPECT_EQ("1.100000e+00", printToStringUnbuffered(1.1));
+
+ // void*
+ EXPECT_EQ("0x0", printToStringUnbuffered((void*) 0));
+ EXPECT_EQ("0xbeef", printToStringUnbuffered((void*) 0xbeef));
+ EXPECT_EQ("0xdeadbeef", printToStringUnbuffered((void*) 0xdeadbeef));
+}
+
+}