From a439ee027bc908cd18e75703370174e053699b8a Mon Sep 17 00:00:00 2001 From: Owen Anderson Date: Fri, 10 Jul 2009 18:58:29 +0000 Subject: [PATCH] Fix unit tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75262 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Support/TypeBuilder.h | 3 +- .../JIT/JITEventListenerTest.cpp | 4 +- unittests/Support/TypeBuilderTest.cpp | 179 +++++++++--------- 3 files changed, 94 insertions(+), 92 deletions(-) diff --git a/include/llvm/Support/TypeBuilder.h b/include/llvm/Support/TypeBuilder.h index 22698e96f57..5ea7f9ebcf3 100644 --- a/include/llvm/Support/TypeBuilder.h +++ b/include/llvm/Support/TypeBuilder.h @@ -16,6 +16,7 @@ #define LLVM_SUPPORT_TYPEBUILDER_H #include "llvm/DerivedTypes.h" +#include "llvm/LLVMContext.h" #include namespace llvm { @@ -234,7 +235,7 @@ public: template class TypeBuilder { public: - static const Type *get(LLVMContxt&) { + static const Type *get(LLVMContext&) { return Type::VoidTy; } }; diff --git a/unittests/ExecutionEngine/JIT/JITEventListenerTest.cpp b/unittests/ExecutionEngine/JIT/JITEventListenerTest.cpp index 1007ae1cc58..8fa5c4c107d 100644 --- a/unittests/ExecutionEngine/JIT/JITEventListenerTest.cpp +++ b/unittests/ExecutionEngine/JIT/JITEventListenerTest.cpp @@ -65,7 +65,7 @@ struct RecordingJITEventListener : public JITEventListener { class JITEventListenerTest : public testing::Test { protected: JITEventListenerTest() - : M(new Module("module", *new LLVMContext())), + : M(new Module("module", getGlobalContext())), EE(ExecutionEngine::createJIT(new ExistingModuleProvider(M))) { } @@ -75,7 +75,7 @@ class JITEventListenerTest : public testing::Test { Function *buildFunction(Module *M) { Function *Result = Function::Create( - TypeBuilder::get(), + TypeBuilder::get(getGlobalContext()), GlobalValue::ExternalLinkage, "id", M); Value *Arg = Result->arg_begin(); BasicBlock *BB = BasicBlock::Create("entry", Result); diff --git a/unittests/Support/TypeBuilderTest.cpp b/unittests/Support/TypeBuilderTest.cpp index 425ee6bf54e..8c5369b7b3b 100644 --- a/unittests/Support/TypeBuilderTest.cpp +++ b/unittests/Support/TypeBuilderTest.cpp @@ -8,6 +8,7 @@ //===----------------------------------------------------------------------===// #include "llvm/Support/TypeBuilder.h" +#include "llvm/LLVMContext.h" #include "gtest/gtest.h" @@ -16,134 +17,134 @@ using namespace llvm; namespace { TEST(TypeBuilderTest, Void) { - EXPECT_EQ(Type::VoidTy, (TypeBuilder::get())); - EXPECT_EQ(Type::VoidTy, (TypeBuilder::get())); + EXPECT_EQ(Type::VoidTy, (TypeBuilder::get(getGlobalContext()))); + EXPECT_EQ(Type::VoidTy, (TypeBuilder::get(getGlobalContext()))); // Special case for C compatibility: EXPECT_EQ(PointerType::getUnqual(Type::Int8Ty), - (TypeBuilder::get())); + (TypeBuilder::get(getGlobalContext()))); } TEST(TypeBuilderTest, HostIntegers) { - EXPECT_EQ(Type::Int8Ty, (TypeBuilder::get())); - EXPECT_EQ(Type::Int8Ty, (TypeBuilder::get())); - EXPECT_EQ(Type::Int16Ty, (TypeBuilder::get())); - EXPECT_EQ(Type::Int16Ty, (TypeBuilder::get())); - EXPECT_EQ(Type::Int32Ty, (TypeBuilder::get())); - EXPECT_EQ(Type::Int32Ty, (TypeBuilder::get())); - EXPECT_EQ(Type::Int64Ty, (TypeBuilder::get())); - EXPECT_EQ(Type::Int64Ty, (TypeBuilder::get())); + EXPECT_EQ(Type::Int8Ty, (TypeBuilder::get(getGlobalContext()))); + EXPECT_EQ(Type::Int8Ty, (TypeBuilder::get(getGlobalContext()))); + EXPECT_EQ(Type::Int16Ty, (TypeBuilder::get(getGlobalContext()))); + EXPECT_EQ(Type::Int16Ty, (TypeBuilder::get(getGlobalContext()))); + EXPECT_EQ(Type::Int32Ty, (TypeBuilder::get(getGlobalContext()))); + EXPECT_EQ(Type::Int32Ty, (TypeBuilder::get(getGlobalContext()))); + EXPECT_EQ(Type::Int64Ty, (TypeBuilder::get(getGlobalContext()))); + EXPECT_EQ(Type::Int64Ty, (TypeBuilder::get(getGlobalContext()))); EXPECT_EQ(IntegerType::get(sizeof(size_t) * CHAR_BIT), - (TypeBuilder::get())); + (TypeBuilder::get(getGlobalContext()))); EXPECT_EQ(IntegerType::get(sizeof(ptrdiff_t) * CHAR_BIT), - (TypeBuilder::get())); + (TypeBuilder::get(getGlobalContext()))); } TEST(TypeBuilderTest, CrossCompilableIntegers) { - EXPECT_EQ(IntegerType::get(1), (TypeBuilder, true>::get())); - EXPECT_EQ(IntegerType::get(1), (TypeBuilder, false>::get())); - EXPECT_EQ(IntegerType::get(72), (TypeBuilder, true>::get())); - EXPECT_EQ(IntegerType::get(72), (TypeBuilder, false>::get())); + EXPECT_EQ(IntegerType::get(1), (TypeBuilder, true>::get(getGlobalContext()))); + EXPECT_EQ(IntegerType::get(1), (TypeBuilder, false>::get(getGlobalContext()))); + EXPECT_EQ(IntegerType::get(72), (TypeBuilder, true>::get(getGlobalContext()))); + EXPECT_EQ(IntegerType::get(72), (TypeBuilder, false>::get(getGlobalContext()))); } TEST(TypeBuilderTest, Float) { - EXPECT_EQ(Type::FloatTy, (TypeBuilder::get())); - EXPECT_EQ(Type::DoubleTy, (TypeBuilder::get())); + EXPECT_EQ(Type::FloatTy, (TypeBuilder::get(getGlobalContext()))); + EXPECT_EQ(Type::DoubleTy, (TypeBuilder::get(getGlobalContext()))); // long double isn't supported yet. - EXPECT_EQ(Type::FloatTy, (TypeBuilder::get())); - EXPECT_EQ(Type::FloatTy, (TypeBuilder::get())); - EXPECT_EQ(Type::DoubleTy, (TypeBuilder::get())); - EXPECT_EQ(Type::DoubleTy, (TypeBuilder::get())); - EXPECT_EQ(Type::X86_FP80Ty, (TypeBuilder::get())); - EXPECT_EQ(Type::X86_FP80Ty, (TypeBuilder::get())); - EXPECT_EQ(Type::FP128Ty, (TypeBuilder::get())); - EXPECT_EQ(Type::FP128Ty, (TypeBuilder::get())); - EXPECT_EQ(Type::PPC_FP128Ty, (TypeBuilder::get())); - EXPECT_EQ(Type::PPC_FP128Ty, (TypeBuilder::get())); + EXPECT_EQ(Type::FloatTy, (TypeBuilder::get(getGlobalContext()))); + EXPECT_EQ(Type::FloatTy, (TypeBuilder::get(getGlobalContext()))); + EXPECT_EQ(Type::DoubleTy, (TypeBuilder::get(getGlobalContext()))); + EXPECT_EQ(Type::DoubleTy, (TypeBuilder::get(getGlobalContext()))); + EXPECT_EQ(Type::X86_FP80Ty, (TypeBuilder::get(getGlobalContext()))); + EXPECT_EQ(Type::X86_FP80Ty, (TypeBuilder::get(getGlobalContext()))); + EXPECT_EQ(Type::FP128Ty, (TypeBuilder::get(getGlobalContext()))); + EXPECT_EQ(Type::FP128Ty, (TypeBuilder::get(getGlobalContext()))); + EXPECT_EQ(Type::PPC_FP128Ty, (TypeBuilder::get(getGlobalContext()))); + EXPECT_EQ(Type::PPC_FP128Ty, (TypeBuilder::get(getGlobalContext()))); } TEST(TypeBuilderTest, Derived) { EXPECT_EQ(PointerType::getUnqual(PointerType::getUnqual(Type::Int8Ty)), - (TypeBuilder::get())); + (TypeBuilder::get(getGlobalContext()))); EXPECT_EQ(ArrayType::get(Type::Int8Ty, 7), - (TypeBuilder::get())); + (TypeBuilder::get(getGlobalContext()))); EXPECT_EQ(ArrayType::get(Type::Int8Ty, 0), - (TypeBuilder::get())); + (TypeBuilder::get(getGlobalContext()))); EXPECT_EQ(PointerType::getUnqual(PointerType::getUnqual(Type::Int8Ty)), - (TypeBuilder**, false>::get())); + (TypeBuilder**, false>::get(getGlobalContext()))); EXPECT_EQ(ArrayType::get(Type::Int8Ty, 7), - (TypeBuilder[7], false>::get())); + (TypeBuilder[7], false>::get(getGlobalContext()))); EXPECT_EQ(ArrayType::get(Type::Int8Ty, 0), - (TypeBuilder[], false>::get())); + (TypeBuilder[], false>::get(getGlobalContext()))); EXPECT_EQ(PointerType::getUnqual(PointerType::getUnqual(Type::Int8Ty)), - (TypeBuilder**, true>::get())); + (TypeBuilder**, true>::get(getGlobalContext()))); EXPECT_EQ(ArrayType::get(Type::Int8Ty, 7), - (TypeBuilder[7], true>::get())); + (TypeBuilder[7], true>::get(getGlobalContext()))); EXPECT_EQ(ArrayType::get(Type::Int8Ty, 0), - (TypeBuilder[], true>::get())); + (TypeBuilder[], true>::get(getGlobalContext()))); EXPECT_EQ(Type::Int8Ty, - (TypeBuilder::get())); + (TypeBuilder::get(getGlobalContext()))); EXPECT_EQ(Type::Int8Ty, - (TypeBuilder::get())); + (TypeBuilder::get(getGlobalContext()))); EXPECT_EQ(Type::Int8Ty, - (TypeBuilder::get())); + (TypeBuilder::get(getGlobalContext()))); EXPECT_EQ(Type::Int8Ty, - (TypeBuilder, false>::get())); + (TypeBuilder, false>::get(getGlobalContext()))); EXPECT_EQ(Type::Int8Ty, - (TypeBuilder, false>::get())); + (TypeBuilder, false>::get(getGlobalContext()))); EXPECT_EQ(Type::Int8Ty, - (TypeBuilder, false>::get())); + (TypeBuilder, false>::get(getGlobalContext()))); EXPECT_EQ(Type::Int8Ty, - (TypeBuilder, true>::get())); + (TypeBuilder, true>::get(getGlobalContext()))); EXPECT_EQ(Type::Int8Ty, - (TypeBuilder, true>::get())); + (TypeBuilder, true>::get(getGlobalContext()))); EXPECT_EQ(Type::Int8Ty, - (TypeBuilder, true>::get())); + (TypeBuilder, true>::get(getGlobalContext()))); EXPECT_EQ(PointerType::getUnqual(Type::Int8Ty), - (TypeBuilder::get())); + (TypeBuilder::get(getGlobalContext()))); } TEST(TypeBuilderTest, Functions) { std::vector params; EXPECT_EQ(FunctionType::get(Type::VoidTy, params, false), - (TypeBuilder::get())); + (TypeBuilder::get(getGlobalContext()))); EXPECT_EQ(FunctionType::get(Type::Int8Ty, params, true), - (TypeBuilder::get())); - params.push_back(TypeBuilder::get()); + (TypeBuilder::get(getGlobalContext()))); + params.push_back(TypeBuilder::get(getGlobalContext())); EXPECT_EQ(FunctionType::get(Type::Int8Ty, params, false), - (TypeBuilder::get())); + (TypeBuilder::get(getGlobalContext()))); EXPECT_EQ(FunctionType::get(Type::Int8Ty, params, true), - (TypeBuilder::get())); - params.push_back(TypeBuilder::get()); + (TypeBuilder::get(getGlobalContext()))); + params.push_back(TypeBuilder::get(getGlobalContext())); EXPECT_EQ(FunctionType::get(Type::Int8Ty, params, false), - (TypeBuilder::get())); + (TypeBuilder::get(getGlobalContext()))); EXPECT_EQ(FunctionType::get(Type::Int8Ty, params, true), - (TypeBuilder::get())); - params.push_back(TypeBuilder::get()); + (TypeBuilder::get(getGlobalContext()))); + params.push_back(TypeBuilder::get(getGlobalContext())); EXPECT_EQ(FunctionType::get(Type::Int8Ty, params, false), - (TypeBuilder::get())); + (TypeBuilder::get(getGlobalContext()))); EXPECT_EQ(FunctionType::get(Type::Int8Ty, params, true), - (TypeBuilder::get())); - params.push_back(TypeBuilder::get()); + (TypeBuilder::get(getGlobalContext()))); + params.push_back(TypeBuilder::get(getGlobalContext())); EXPECT_EQ(FunctionType::get(Type::Int8Ty, params, false), - (TypeBuilder::get())); + (TypeBuilder::get(getGlobalContext()))); EXPECT_EQ(FunctionType::get(Type::Int8Ty, params, true), (TypeBuilder::get())); - params.push_back(TypeBuilder::get()); + false>::get(getGlobalContext()))); + params.push_back(TypeBuilder::get(getGlobalContext())); EXPECT_EQ(FunctionType::get(Type::Int8Ty, params, false), (TypeBuilder::get())); + false>::get(getGlobalContext()))); EXPECT_EQ(FunctionType::get(Type::Int8Ty, params, true), (TypeBuilder::get())); + false>::get(getGlobalContext()))); } class MyType { @@ -163,14 +164,14 @@ class MyPortableType { namespace llvm { template class TypeBuilder { public: - static const StructType *get() { + static const StructType *get(LLVMContext &Context) { // Using the static result variable ensures that the type is // only looked up once. - static const StructType *const result = StructType::get( - TypeBuilder::get(), - TypeBuilder::get(), - TypeBuilder::get(), - NULL); + std::vector st; + st.push_back(TypeBuilder::get(Context)); + st.push_back(TypeBuilder::get(Context)); + st.push_back(TypeBuilder::get(Context)); + static const StructType *const result = Context.getStructType(st); return result; } @@ -186,14 +187,14 @@ public: template class TypeBuilder { public: - static const StructType *get() { + static const StructType *get(LLVMContext &Context) { // Using the static result variable ensures that the type is // only looked up once. - static const StructType *const result = StructType::get( - TypeBuilder, cross>::get(), - TypeBuilder*, cross>::get(), - TypeBuilder*[], cross>::get(), - NULL); + std::vector st; + st.push_back(TypeBuilder, cross>::get(Context)); + st.push_back(TypeBuilder*, cross>::get(Context)); + st.push_back(TypeBuilder*[], cross>::get(Context)); + static const StructType *const result = Context.getStructType(st); return result; } @@ -211,23 +212,23 @@ namespace { TEST(TypeBuilderTest, Extensions) { EXPECT_EQ(PointerType::getUnqual(StructType::get( - TypeBuilder::get(), - TypeBuilder::get(), - TypeBuilder::get(), + TypeBuilder::get(getGlobalContext()), + TypeBuilder::get(getGlobalContext()), + TypeBuilder::get(getGlobalContext()), NULL)), - (TypeBuilder::get())); + (TypeBuilder::get(getGlobalContext()))); EXPECT_EQ(PointerType::getUnqual(StructType::get( - TypeBuilder, false>::get(), - TypeBuilder*, false>::get(), - TypeBuilder*[], false>::get(), + TypeBuilder, false>::get(getGlobalContext()), + TypeBuilder*, false>::get(getGlobalContext()), + TypeBuilder*[], false>::get(getGlobalContext()), NULL)), - (TypeBuilder::get())); + (TypeBuilder::get(getGlobalContext()))); EXPECT_EQ(PointerType::getUnqual(StructType::get( - TypeBuilder, false>::get(), - TypeBuilder*, false>::get(), - TypeBuilder*[], false>::get(), + TypeBuilder, false>::get(getGlobalContext()), + TypeBuilder*, false>::get(getGlobalContext()), + TypeBuilder*[], false>::get(getGlobalContext()), NULL)), - (TypeBuilder::get())); + (TypeBuilder::get(getGlobalContext()))); } } // anonymous namespace