summaryrefslogtreecommitdiff
path: root/unittests/VMCore/DerivedTypesTest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'unittests/VMCore/DerivedTypesTest.cpp')
-rw-r--r--unittests/VMCore/DerivedTypesTest.cpp88
1 files changed, 0 insertions, 88 deletions
diff --git a/unittests/VMCore/DerivedTypesTest.cpp b/unittests/VMCore/DerivedTypesTest.cpp
deleted file mode 100644
index d0ba0264aa..0000000000
--- a/unittests/VMCore/DerivedTypesTest.cpp
+++ /dev/null
@@ -1,88 +0,0 @@
-//===- llvm/unittest/VMCore/DerivedTypesTest.cpp - Types 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 "../lib/VMCore/LLVMContextImpl.h"
-#include "llvm/DerivedTypes.h"
-#include "llvm/LLVMContext.h"
-#include "llvm/Constants.h"
-#include "llvm/Support/ValueHandle.h"
-using namespace llvm;
-
-namespace {
-
-static void PR7658() {
- LLVMContext ctx;
-
- WeakVH NullPtr;
- PATypeHolder h1;
- {
- OpaqueType *o1 = OpaqueType::get(ctx);
- PointerType *p1 = PointerType::get(o1, 0);
-
- std::vector<const Type *> t1;
- t1.push_back(IntegerType::get(ctx, 32));
- t1.push_back(p1);
- NullPtr = ConstantPointerNull::get(p1);
- OpaqueType *o2 = OpaqueType::get (ctx);
- PointerType *p2 = PointerType::get (o2, 0);
- t1.push_back(p2);
-
-
- StructType *s1 = StructType::get(ctx, t1);
- h1 = s1;
- o1->refineAbstractTypeTo(s1);
- o2->refineAbstractTypeTo(h1.get()); // h1 = { i32, \2*, \2* }
- }
-
-
- OpaqueType *o3 = OpaqueType::get(ctx);
- PointerType *p3 = PointerType::get(o3, 0); // p3 = opaque*
-
- std::vector<const Type *> t2;
- t2.push_back(IntegerType::get(ctx, 32));
- t2.push_back(p3);
-
- std::vector<Constant *> v2;
- v2.push_back(ConstantInt::get(IntegerType::get(ctx, 32), 14));
- v2.push_back(ConstantPointerNull::get(p3));
-
- OpaqueType *o4 = OpaqueType::get(ctx);
- {
- PointerType *p4 = PointerType::get(o4, 0);
- t2.push_back(p4);
- v2.push_back(ConstantPointerNull::get(p4));
- }
-
- WeakVH CS = ConstantStruct::getAnon(ctx, v2, false); // { i32 14, opaque* null, opaque* null}
-
- StructType *s2 = StructType::get(ctx, t2);
- PATypeHolder h2(s2);
- o3->refineAbstractTypeTo(s2);
- o4->refineAbstractTypeTo(h2.get());
-}
-
-
-TEST(OpaqueTypeTest, RegisterWithContext) {
- LLVMContext C;
- LLVMContextImpl *pImpl = C.pImpl;
-
- // 1 refers to the AlwaysOpaqueTy allocated in the Context's constructor and
- // destroyed in the destructor.
- EXPECT_EQ(1u, pImpl->OpaqueTypes.size());
- {
- PATypeHolder Type = OpaqueType::get(C);
- EXPECT_EQ(2u, pImpl->OpaqueTypes.size());
- }
- EXPECT_EQ(1u, pImpl->OpaqueTypes.size());
-
- PR7658();
-}
-
-} // namespace