[LLVMdev] Segmentation fault while adding an addtional argument (original) (raw)

Eli Friedman eli.friedman at gmail.com
Tue Sep 20 17:21:59 PDT 2011


On Tue, Sep 20, 2011 at 5:05 PM, Shawn Kim <shawn.subscribe at gmail.com> wrote:

Hi, all

I am trying to write a function pass to replace a old function to a new function like: int haha(int a) {  } ==> int haha(int a, char *IO) {   } The below is a part of my code and generate segmentation fault. Can you help me to fix it? Thanks, Shawn // Since we have now created the new function, splice the body of the old // function right into the new function, leaving the old rotting hulk of the // function empty. NF->getBasicBlockList().splice(NF->begin(), F.getBasicBlockList()); Value *Globals = NF->argend(); Globals->setName("globals");

You can't dereference arg_end... you might want to read up a bit on C++ iterators.

-Eli



More information about the llvm-dev mailing list