[LLVMdev] Help with code

Misha Brukman brukman at uiuc.edu
Tue Dec 21 14:48:55 PST 2004


On Tue, Dec 21, 2004 at 03:45:33PM -0700, Sriraman Tallam wrote:
>	I have this call instruction to printf inserted which is causing
> an assertion failure. Any pointers to where I am wrong :
> 
> Function *printFn=M.getNamedFunction(std::string("printf"));

std::string() is unnecessary here as it's implicit.

> Constant *str=ConstantArray::get("Value : %d\n");
> std::vector<Value *> Args(2);
> std::vector<Constant *> GEPIndices(2);
> GEPIndices[0]=Constant::getNullValue(Type::LongTy);
> GEPIndices[1]=Constant::getNullValue(Type::LongTy);
> Args[0]=ConstantExpr::getGetElementPtr(strcon,GEPIndices);

You are using 'strcon', but you defined 'str' above.  Where is 'strcon'
coming from?

> Args[1]=ConstantInt::get(Type::IntTy, id);
> Instruction * cI= new CallInst(printFn, Args, "retprintf",instr);

-- 
Misha Brukman :: http://misha.brukman.net :: http://llvm.cs.uiuc.edu




More information about the llvm-dev mailing list