[cfe-dev] clang fails to build with latest LLVM revision
Ted Kremenek
kremenek at apple.com
Tue Sep 4 10:20:36 PDT 2007
OK. I've patched the calls to CreateGEP in the CodeGen directory.
The code now compiles. Haven't tested it though.
On Sep 4, 2007, at 9:56 AM, Chris Lattner wrote:
> It looks like the mainline interfaces were changed. Before it used
> to have several versions, including one that took a an array of
> operands as a base pointer + count, now it only takes two iterators
> as input.
>
> Please change stuff like this:
> llvm::Value *ImagPtr = Builder.CreateGEP(SrcPtr, Zero, One,
> Name.c_str());
>
> to:
>
> Value *Ops[] = {Zero, One};
> llvm::Value *ImagPtr = Builder.CreateGEP(SrcPtr, Ops, Ops+2,
> Name.c_str());
>
> and it should work.
>
> -Chris
>
> On Sep 4, 2007, at 9:44 AM, Ted Kremenek wrote:
>
>> This morning I did an update of both my LLVM and clang trees. Now
>> clang doesn't compile:
>>
>> llvm[1]: Compiling CGExprComplex.cpp for Debug build
>> /Volumes/Data/Users/kremenek/dev/src/llvm/include/llvm/
>> Instructions.h:
>> In member function ‘void llvm::GetElementPtrInst::init(llvm::Value*,
>> InputIterator, InputIterator, const std::string&,
>> std::random_access_iterator_tag) [with InputIterator =
>> llvm::Constant*]’:
>> /Volumes/Data/Users/kremenek/dev/src/llvm/include/llvm/
>> Instructions.h:
>> 459: instantiated from
>> ‘llvm::GetElementPtrInst::GetElementPtrInst(llvm::Value*,
>> InputIterator, InputIterator, const std::string&, llvm::Instruction*)
>> [with InputIterator = llvm::Constant*]’
>> /Volumes/Data/Users/kremenek/dev/src/llvm/include/llvm/Support/
>> LLVMBuilder.h:223: instantiated from ‘llvm::GetElementPtrInst*
>> llvm::LLVMBuilder::CreateGEP(llvm::Value*, InputIterator,
>> InputIterator, const char*) [with InputIterator = llvm::Constant*]’
>> CGExprComplex.cpp:194: instantiated from here
>> /Volumes/Data/Users/kremenek/dev/src/llvm/include/llvm/
>> Instructions.h:
>> 404: error: no matching function for call to
>> ‘llvm::GetElementPtrInst::init(llvm::Value*&, llvm::Constant*,
>> ptrdiff_t&)’
>> /Volumes/Data/Users/kremenek/dev/src/llvm/include/llvm/
>> Instructions.h:
>> 390: note: candidates are: void
>> llvm::GetElementPtrInst::init(llvm::Value*, llvm::Value* const*,
>> unsigned int)
>> /Volumes/Data/Users/kremenek/dev/src/llvm/include/llvm/
>> Instructions.h:
>> 391: note: void
>> llvm::GetElementPtrInst::init(llvm::Value*, llvm::Value*)
>> make[1]: *** [/Volumes/Data/Users/kremenek/dev/src/llvm/tools/clang/
>> CodeGen/Debug/CGExprComplex.o] Error 1
>> make: *** [all] Error 1
>>
>> The revision numbers for the trees are as follows:
>>
>> (kremenek at grue:llvm)$ svn update
>> At revision 41699.
>>
>> (kremenek at grue:clang)$ svn update
>> At revision 41699.
>>
>> It appears that the signature for GetElementPtrInst::init has
>> changed. I can look into fixing this, but I'm not super savvy on the
>> latest changes to the LLVM tree and how those changes effect the
>> CodeGen component of clang.
>> _______________________________________________
>> cfe-dev mailing list
>> cfe-dev at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
>
More information about the cfe-dev
mailing list