Error for AllocaInst and Instruction

Hi,

For the following code

const Type * Int32Type = IntegerType::getInt32Ty(getGlobalContext());
AllocaInst* newInst = new AllocaInst(Int32Type, 0, “flag”, Bb);
Bb->getInstList().push_back(newInst);

It gives me the error
" error: no matching constructor for initialization of ‘llvm::AllocaInst’
AllocaInst* newInst = new AllocaInst(Int32Type, 0, “flag”, Bb);"

By using Instruction

const Type * Int32Type = IntegerType::getInt32Ty(getGlobalContext());
Instruction* newInst = new Instruction(Int32Type, 0, “flag”, Bb);
Bb->getInstList().push_back(newInst);

error: allocating an object of abstract class type ‘llvm::Instruction’
Instruction* newInst = new Instruction(Int32Type, 0, “flag”, Bb);

Bb >> BasicBlock*

Rasha Omar wrote:

Hi,
For the following code
         const Type * Int32Type =
IntegerType::getInt32Ty(getGlobalContext());

Don't use const types any more. Since llvm 3.0, nothing takes a const Type*.

Nick