initial checkin for unittest to exercise Support/Casting.h
authorGabor Greif <ggreif@gmail.com>
Tue, 20 Jul 2010 16:32:20 +0000 (16:32 +0000)
committerGabor Greif <ggreif@gmail.com>
Tue, 20 Jul 2010 16:32:20 +0000 (16:32 +0000)
this is still minimal on purpose, but I plan to migrate the ugly
hack under #ifdef DEBUG_CAST_OPERATORS into this file

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108849 91177308-0d34-0410-b5e6-96231b3b80d8

unittests/Support/Casting.cpp [new file with mode: 0644]

diff --git a/unittests/Support/Casting.cpp b/unittests/Support/Casting.cpp
new file mode 100644 (file)
index 0000000..d7e89f8
--- /dev/null
@@ -0,0 +1,32 @@
+//===---------- llvm/unittest/Support/Casting.cpp - Casting tests --------===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#include "llvm/Support/raw_ostream.h"
+#include "llvm/Support/Debug.h"
+#define DEBUG_CAST_OPERATORS
+#include "llvm/Support/Casting.h"
+
+#include "gtest/gtest.h"
+#include <cstdlib>
+
+using namespace llvm;
+
+namespace {
+
+extern bar &B1;
+extern const bar *B2;
+
+TEST(CastingTest, Basics) {
+  EXPECT_TRUE(isa<foo>(B1));
+}
+
+bar B;
+bar &B1 = B;
+const bar *B2 = &B;
+}  // anonymous namespace