Hi, In llvm 3.0 llvm::ConstantArray had a ::getAsCString() method that returned the buffer as a std::string. Now it seems that 3.1 this method dissapeared. I found that llvm::ConstantDataArray has a method called getAsString(), but it returns a Constant*. What is the safe way to retrieve the pointer of the Constant array as a C string?
On 16 November 2012 13:55, charles quarra <charllsnotieneningunputocorreo at gmail.com> wrote:> In llvm 3.0 llvm::ConstantArray had a ::getAsCString() method that > returned the buffer as a std::string. Now it seems that 3.1 this > method dissapeared. > > I found that llvm::ConstantDataArray has a method called > getAsString(), but it returns a Constant*.In 3.1 ConstantDataArray has a getAsCString() which is exactly what you want. See here line 623: http://llvm.org/viewvc/llvm-project/llvm/tags/RELEASE_31/final/include/llvm/Constants.h?view=annotate Jay.
oh myy it is indeed, i should've been written it incorrectly. sorry! and thanks 2012/11/16 Jay Foad <jay.foad at gmail.com>:> On 16 November 2012 13:55, charles quarra > <charllsnotieneningunputocorreo at gmail.com> wrote: >> In llvm 3.0 llvm::ConstantArray had a ::getAsCString() method that >> returned the buffer as a std::string. Now it seems that 3.1 this >> method dissapeared. >> >> I found that llvm::ConstantDataArray has a method called >> getAsString(), but it returns a Constant*. > > In 3.1 ConstantDataArray has a getAsCString() which is exactly what > you want. See here line 623: > > http://llvm.org/viewvc/llvm-project/llvm/tags/RELEASE_31/final/include/llvm/Constants.h?view=annotate > > Jay.