[LLVMdev] How to create Global Variables using LLVM API?

subramanyam subbu.pur at gmail.com
Mon May 10 21:51:36 PDT 2010


I am new to LLVM API. and I am experimenting with it. 
I want to create Global Variables in a module.
I am able to create local variables using IRBuilder class. I tried using
GlobalVariable class to create global variables.
but it doesn't work. my code looks like this:

Module* mod = new Module("test", getGlobalContext());
Constant* c = mod->getOrInsertFunction("main",
IntegerType::get(getGlobalContext(), 32), NULL);
Function* main = cast<Function> (c);
main->setCallingConv(CallingConv::C);
Twine s("foo");
StringRef s1("foo");
Constant *cons = ConstantArray::get(getGlobalContext(),s1, true);
GlobalVariable val(*mod, (Type*)
ArrayType::get(Type::getInt8Ty(getGlobalContext()), 4),
true,GlobalValue::ExternalLinkage, cons, s);


Application stops running after reaching the last line. can somebody help me
out here?


-- 
View this message in context: http://old.nabble.com/How-to-create-Global-Variables-using-LLVM-API--tp28519938p28519938.html
Sent from the LLVM - Dev mailing list archive at Nabble.com.




More information about the llvm-dev mailing list