aboutsummaryrefslogtreecommitdiff
path: root/unittests/VMCore
diff options
context:
space:
mode:
authorChandler Carruth <chandlerc@gmail.com>2012-01-02 09:19:48 +0000
committerChandler Carruth <chandlerc@gmail.com>2012-01-02 09:19:48 +0000
commit972cc0d54ac9ddbaa4d22a4f36db5269b3b4bbde (patch)
treefc67ac35cd3847e50aff014f17c14fcc5ae994fa /unittests/VMCore
parentc612d7981756fc379817840704c3d7416fa58892 (diff)
Undo the hack in r147427 and move this unittest to a better home. This
is testing the bitcode reader's functionality, not VMCore's. Add the what is a hope sufficient build system mojo to build and run a new unittest. Also clean up some of the test's naming. The goal for the file should be to unittest the Bitcode Reader, and this is just one particular test among potentially many in the future. Also, reverse my position and relegate the PR# to a comment, but stash the comment on the same line as the test name so it doesn't get lost. This makes the code more self-documenting hopefully w/o losing track of the PR number. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147431 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'unittests/VMCore')
-rw-r--r--unittests/VMCore/Makefile2
-rw-r--r--unittests/VMCore/pr11677.cpp64
2 files changed, 1 insertions, 65 deletions
diff --git a/unittests/VMCore/Makefile b/unittests/VMCore/Makefile
index c6babe742c..1b2b69c6d6 100644
--- a/unittests/VMCore/Makefile
+++ b/unittests/VMCore/Makefile
@@ -9,7 +9,7 @@
LEVEL = ../..
TESTNAME = VMCore
-LINK_COMPONENTS := core support bitreader bitwriter target ipa
+LINK_COMPONENTS := core support target ipa
include $(LEVEL)/Makefile.config
include $(LLVM_SRC_ROOT)/unittests/Makefile.unittest
diff --git a/unittests/VMCore/pr11677.cpp b/unittests/VMCore/pr11677.cpp
deleted file mode 100644
index 362eec7763..0000000000
--- a/unittests/VMCore/pr11677.cpp
+++ /dev/null
@@ -1,64 +0,0 @@
-//===- llvm/unittest/VMCore/pr11677.cpp - Test for blockaddr --------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-#include "llvm/Analysis/Verifier.h"
-#include "llvm/Bitcode/BitstreamWriter.h"
-#include "llvm/Bitcode/ReaderWriter.h"
-#include "llvm/Constants.h"
-#include "llvm/Instructions.h"
-#include "llvm/LLVMContext.h"
-#include "llvm/Module.h"
-#include "llvm/PassManager.h"
-#include "llvm/Support/MemoryBuffer.h"
-#include "gtest/gtest.h"
-
-namespace llvm {
-namespace {
-
-static Module *makeLLVMModule() {
- Module* Mod = new Module("test-mem", getGlobalContext());
-
- FunctionType* FuncTy =
- FunctionType::get(Type::getVoidTy(Mod->getContext()), false);
- Function* Func = Function::Create(FuncTy,GlobalValue::ExternalLinkage,
- "func", Mod);
-
- BasicBlock* Entry = BasicBlock::Create(Mod->getContext(), "entry", Func);
- new UnreachableInst(Mod->getContext(), Entry);
-
- BasicBlock* BB = BasicBlock::Create(Mod->getContext(), "bb", Func);
- new UnreachableInst(Mod->getContext(), BB);
-
- PointerType* Int8Ptr = Type::getInt8PtrTy(Mod->getContext());
- new GlobalVariable(*Mod, Int8Ptr, /*isConstant=*/true,
- GlobalValue::ExternalLinkage,
- BlockAddress::get(BB), "table");
-
- return Mod;
-}
-
-static void writeModuleToBuffer(std::vector<unsigned char> &Buffer) {
- Module *Mod = makeLLVMModule();
- BitstreamWriter Stream(Buffer);
- WriteBitcodeToStream(Mod, Stream);
-}
-
-TEST(PR11677, BlockAddr) {
- std::vector<unsigned char> Mem;
- writeModuleToBuffer(Mem);
- StringRef Data((const char*)&Mem[0], Mem.size());
- MemoryBuffer *Buffer = MemoryBuffer::getMemBuffer(Data, "test", false);
- std::string errMsg;
- Module *m = getLazyBitcodeModule(Buffer, getGlobalContext(), &errMsg);
- PassManager passes;
- passes.add(createVerifierPass());
- passes.run(*m);
-}
-}
-}