<div dir="ltr">I also tried the following, with no compilation errors, but segfault, core dumped:<br><br> <b>LLVMContext& C = is->getContext();<br> Value* values[size]; <br><br>  for(int gy=0;gy<size;gy++){<br>          values[gy]=ConstantInt::getSigned(Type::getInt64Ty(C),array[gy]);<br>
  }<br>         <br> llvm::ArrayRef<Value*> bla = values[size];<br><br>  is->setMetadata("path",MDNode::get(C,bla));</b><br><br><br></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, May 3, 2013 at 1:18 PM, Alexandru Ionut Diaconescu <span dir="ltr"><<a href="mailto:alexandruionutdiaconescu@gmail.com" target="_blank">alexandruionutdiaconescu@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div>Hello everyone,<br><br></div>I want to pass a set of integers using metadata but I don't know how. I have tried:<br>
<br></div>the integers are in array[]<br><div><div><br><b>1. </b><br>LLVMContext& C = is->getContext();<br>
Value* values[size]; <br>for(int gy=0;gy<size;gy++){               <br>      values[gy]=ConstantInt::getSigned(Type::getInt64Ty(C),array[gy]);<br>}<br><b>is->setMetadata("path",MDNode::get(C,values));</b><br>

<br></div><div>failes when setMetadata(), since <br><br><i>Hello.cpp:706:56: error: no matching function for call to ‘llvm::MDNode::get(llvm::LLVMContext&, llvm::Value* [(((unsigned int)(((int)cebagcnt) + -0x00000000000000001)) + 1)])’<br>

Hello.cpp:706:56: note: candidate is:<br>/home/alex/llvm/include/llvm/Metadata.h:120:18: note: static llvm::MDNode* llvm::MDNode::get(llvm::LLVMContext&, llvm::ArrayRef<llvm::Value*>)<br>/home/alex/llvm/include/llvm/Metadata.h:120:18: note:   no known conversion for argument 2 from ‘llvm::Value* [(((unsigned int)(((int)cebagcnt) + -0x00000000000000001)) + 1)]’ to ‘llvm::ArrayRef<llvm::Value*>’</i><br>

<br><b>2.</b><br></div><div>It works manually when I have <br><br>Value* values[]{<br>              ConstantInt::getSigned(Type::getInt64Ty(C),<b>2</b>),<br>              ConstantInt::getSigned(Type::getInt64Ty(C),<b>3</b>)<br>

            };<br></div><div>but I want to add metadata using the array[] elements with integers.<br><br></div><div><b>3.</b> also, not so appropriate, I tried to convert the concatenated array elements into a StringRef tsts = llvm::Twine(srsr).str();, but I have segfault errors. In addition, this method is not exactly what I need.<br>

<br></div><div>How should I add all the array elements to metadata one by one, like I am trying to do using values[] ?<br><br></div><div>Thank you much !  <br></div></div></div>
</blockquote></div><br><br clear="all"><br>-- <br><font style="background-color:rgb(255,255,255);color:rgb(153,153,153)">Best regards,</font><br style="background-color:rgb(255,255,255);color:rgb(153,153,153)"><font style="background-color:rgb(255,255,255);color:rgb(153,153,153)">Alexandru Ionut Diaconescu</font><br>

</div>