forked from OSchip/llvm-project
parent
8890460431
commit
b805c68f4d
|
@ -24,9 +24,8 @@ protected:
|
||||||
virtual void SetUp() {
|
virtual void SetUp() {
|
||||||
LLVMContext &Ctx = getGlobalContext();
|
LLVMContext &Ctx = getGlobalContext();
|
||||||
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);
|
||||||
|
|
||||||
|
@ -38,9 +37,7 @@ 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;
|
||||||
|
@ -51,16 +48,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();
|
|
||||||
}
|
|
||||||
|
|
||||||
OwningPtr<Module> M;
|
OwningPtr<Module> M;
|
||||||
Function *F;
|
Function *F;
|
||||||
|
|
Loading…
Reference in New Issue