mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-14 16:33:28 +00:00
LinkModulesTest.cpp: Reformat.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207537 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
d294b68e28
commit
ec96ef30c9
@ -23,9 +23,8 @@ class LinkModuleTest : public testing::Test {
|
|||||||
protected:
|
protected:
|
||||||
virtual void SetUp() {
|
virtual void SetUp() {
|
||||||
M.reset(new Module("MyModule", Ctx));
|
M.reset(new Module("MyModule", Ctx));
|
||||||
FunctionType *FTy = FunctionType::get(Type::getInt8PtrTy(Ctx),
|
FunctionType *FTy = FunctionType::get(
|
||||||
Type::getInt32Ty(Ctx),
|
Type::getInt8PtrTy(Ctx), Type::getInt32Ty(Ctx), false /*=isVarArg*/);
|
||||||
false /*=isVarArg*/);
|
|
||||||
F = Function::Create(FTy, Function::ExternalLinkage, "ba_func", M.get());
|
F = Function::Create(FTy, Function::ExternalLinkage, "ba_func", M.get());
|
||||||
F->setCallingConv(CallingConv::C);
|
F->setCallingConv(CallingConv::C);
|
||||||
|
|
||||||
@ -37,12 +36,10 @@ protected:
|
|||||||
ArrayType *AT = ArrayType::get(Type::getInt8PtrTy(Ctx), 3);
|
ArrayType *AT = ArrayType::get(Type::getInt8PtrTy(Ctx), 3);
|
||||||
|
|
||||||
GV = new GlobalVariable(*M.get(), AT, false /*=isConstant*/,
|
GV = new GlobalVariable(*M.get(), AT, false /*=isConstant*/,
|
||||||
GlobalValue::InternalLinkage,
|
GlobalValue::InternalLinkage, 0, "switch.bas");
|
||||||
0, "switch.bas");
|
|
||||||
|
|
||||||
|
|
||||||
// Global Initializer
|
// Global Initializer
|
||||||
std::vector<Constant*> Init;
|
std::vector<Constant *> Init;
|
||||||
Constant *SwitchCase1BA = BlockAddress::get(SwitchCase1BB);
|
Constant *SwitchCase1BA = BlockAddress::get(SwitchCase1BB);
|
||||||
Init.push_back(SwitchCase1BA);
|
Init.push_back(SwitchCase1BA);
|
||||||
|
|
||||||
@ -50,16 +47,14 @@ protected:
|
|||||||
Init.push_back(SwitchCase2BA);
|
Init.push_back(SwitchCase2BA);
|
||||||
|
|
||||||
ConstantInt *One = ConstantInt::get(Type::getInt32Ty(Ctx), 1);
|
ConstantInt *One = ConstantInt::get(Type::getInt32Ty(Ctx), 1);
|
||||||
Constant *OnePtr = ConstantExpr::getCast(Instruction::IntToPtr,
|
Constant *OnePtr = ConstantExpr::getCast(Instruction::IntToPtr, One,
|
||||||
One, Type::getInt8PtrTy(Ctx));
|
Type::getInt8PtrTy(Ctx));
|
||||||
Init.push_back(OnePtr);
|
Init.push_back(OnePtr);
|
||||||
|
|
||||||
GV->setInitializer(ConstantArray::get(AT, Init));
|
GV->setInitializer(ConstantArray::get(AT, Init));
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual void TearDown() {
|
virtual void TearDown() { M.reset(); }
|
||||||
M.reset();
|
|
||||||
}
|
|
||||||
|
|
||||||
LLVMContext Ctx;
|
LLVMContext Ctx;
|
||||||
std::unique_ptr<Module> M;
|
std::unique_ptr<Module> M;
|
||||||
@ -74,7 +69,7 @@ protected:
|
|||||||
TEST_F(LinkModuleTest, BlockAddress) {
|
TEST_F(LinkModuleTest, BlockAddress) {
|
||||||
IRBuilder<> Builder(EntryBB);
|
IRBuilder<> Builder(EntryBB);
|
||||||
|
|
||||||
std::vector<Value*> GEPIndices;
|
std::vector<Value *> GEPIndices;
|
||||||
GEPIndices.push_back(ConstantInt::get(Type::getInt32Ty(Ctx), 0));
|
GEPIndices.push_back(ConstantInt::get(Type::getInt32Ty(Ctx), 0));
|
||||||
GEPIndices.push_back(F->arg_begin());
|
GEPIndices.push_back(F->arg_begin());
|
||||||
|
|
||||||
@ -116,7 +111,7 @@ TEST_F(LinkModuleTest, BlockAddress) {
|
|||||||
LinkedModule->getFunction("ba_func"));
|
LinkedModule->getFunction("ba_func"));
|
||||||
EXPECT_EQ(cast<BlockAddress>(Elem)->getBasicBlock()->getParent(),
|
EXPECT_EQ(cast<BlockAddress>(Elem)->getBasicBlock()->getParent(),
|
||||||
LinkedModule->getFunction("ba_func"));
|
LinkedModule->getFunction("ba_func"));
|
||||||
|
|
||||||
Elem = Init->getOperand(1);
|
Elem = Init->getOperand(1);
|
||||||
ASSERT_TRUE(isa<BlockAddress>(Elem));
|
ASSERT_TRUE(isa<BlockAddress>(Elem));
|
||||||
EXPECT_EQ(cast<BlockAddress>(Elem)->getFunction(),
|
EXPECT_EQ(cast<BlockAddress>(Elem)->getFunction(),
|
||||||
@ -129,9 +124,8 @@ TEST_F(LinkModuleTest, BlockAddress) {
|
|||||||
|
|
||||||
TEST_F(LinkModuleTest, EmptyModule) {
|
TEST_F(LinkModuleTest, EmptyModule) {
|
||||||
Module *InternalM = new Module("InternalModule", Ctx);
|
Module *InternalM = new Module("InternalModule", Ctx);
|
||||||
FunctionType *FTy = FunctionType::get(Type::getVoidTy(Ctx),
|
FunctionType *FTy = FunctionType::get(
|
||||||
Type::getInt8PtrTy(Ctx),
|
Type::getVoidTy(Ctx), Type::getInt8PtrTy(Ctx), false /*=isVarArgs*/);
|
||||||
false /*=isVarArgs*/);
|
|
||||||
|
|
||||||
F = Function::Create(FTy, Function::InternalLinkage, "bar", InternalM);
|
F = Function::Create(FTy, Function::InternalLinkage, "bar", InternalM);
|
||||||
F->setCallingConv(CallingConv::C);
|
F->setCallingConv(CallingConv::C);
|
||||||
@ -143,12 +137,11 @@ TEST_F(LinkModuleTest, EmptyModule) {
|
|||||||
StructType *STy = StructType::create(Ctx, PointerType::get(FTy, 0));
|
StructType *STy = StructType::create(Ctx, PointerType::get(FTy, 0));
|
||||||
|
|
||||||
GlobalVariable *GV =
|
GlobalVariable *GV =
|
||||||
new GlobalVariable(*InternalM, STy, false /*=isConstant*/,
|
new GlobalVariable(*InternalM, STy, false /*=isConstant*/,
|
||||||
GlobalValue::InternalLinkage, 0, "g");
|
GlobalValue::InternalLinkage, 0, "g");
|
||||||
|
|
||||||
GV->setInitializer(ConstantStruct::get(STy, F));
|
GV->setInitializer(ConstantStruct::get(STy, F));
|
||||||
|
|
||||||
|
|
||||||
Module *EmptyM = new Module("EmptyModule1", Ctx);
|
Module *EmptyM = new Module("EmptyModule1", Ctx);
|
||||||
Linker::LinkModules(EmptyM, InternalM, Linker::PreserveSource, 0);
|
Linker::LinkModules(EmptyM, InternalM, Linker::PreserveSource, 0);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user