浏览代码

initial checkin for unittest to exercise Support/Casting.h

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
Gabor Greif 15 年之前
父节点
当前提交
ee57dae3d8
共有 1 个文件被更改,包括 32 次插入0 次删除
  1. 32 0
      unittests/Support/Casting.cpp

+ 32 - 0
unittests/Support/Casting.cpp

@@ -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