[lldb-dev] Heads up: LLDB is broken with LLVM at ToT
Zachary Turner
zturner at google.com
Tue Dec 9 14:20:06 PST 2014
Testing now. I notice a few of the changes aren't actually required in
order to fix compiler errors. For example, this line:
- ConstantInt *constant_int =
dyn_cast<ConstantInt>(alloc_md->getOperand(0));
+ ConstantInt *constant_int =
mdconst::dyn_extract<ConstantInt>(alloc_md->getOperand(0));
wasn't actually failing. Not sure if that's important, but I'm using your
fixed version anyway.
On Tue Dec 09 2014 at 2:11:08 PM Duncan P. N. Exon Smith <
dexonsmith at apple.com> wrote:
> Attaching a patch that should fix it. Can you try compiling?
>
>
>
>
> > On 2014 Dec 9, at 14:03, Zachary Turner <zturner at google.com> wrote:
> >
> > Here's the 3 errors.
> >
> > ..\..\tools\lldb\source\Expression\IRForTarget.cpp(413) : error C2678:
> binary '!=' : no operator found which takes a left-hand operand of type
> 'const llvm::MDOperand' (or there is no acceptable conversion)
> > d:\src\llvm\include\llvm/ADT/APSInt.h(291): could be 'bool
> llvm::operator !=(int64_t,const llvm::APSInt &)'
> > d:\src\llvm\include\llvm/ADT/APInt.h(1724): or 'bool
> llvm::operator !=(uint64_t,const llvm::APInt &)'
> > d:\src\llvm\include\llvm/ADT/StringRef.h(527): or 'bool
> llvm::operator !=(llvm::StringRef,llvm::StringRef)'
> > while trying to match the argument list '(const llvm::MDOperand,
> const llvm::GlobalValue *)'
> >
> >
> >
> > ..\..\tools\lldb\source\Expression\IRForTarget.cpp(647) : error C2664:
> 'llvm::MDNode *llvm::MDNode::get(llvm::LLVMContext &,llvm::ArrayRef<llvm::
> Metadata *>)' : cannot convert argument 2 from
> 'llvm::ArrayRef<llvm::Value *>' to 'llvm::ArrayRef<llvm::Metadata *>'
> > No user-defined-conversion operator available that can perform
> this conversion, or the operator cannot be called
> >
> >
> > ..\..\tools\lldb\source\Expression\IRForTarget.cpp(1254) : error C2664:
> 'llvm::MDNode *llvm::MDNode::get(llvm::LLVMContext &,llvm::ArrayRef<llvm::
> Metadata *>)' : cannot convert argument 2 from
> 'llvm::ArrayRef<llvm::Value *>' to 'llvm::ArrayRef<llvm::Metadata *>'
> > No user-defined-conversion operator available that can perform
> this conversion, or the operator cannot be called
> >
> >
> > On Tue Dec 09 2014 at 1:56:03 PM Zachary Turner <zturner at google.com>
> wrote:
> > I'm not sure what the status of building LLDB with CMake is, but the
> normal way apple people build LLDB is to structure the directory like this:
> >
> > lldb
> > --llvm
> > ----tools
> > ------clang
> >
> > Then open the xcode workspace and build the lldb-tool target.
> >
> > I'll sync to ToT again though so that I can get you a dump of the
> compiler errors I'm seeing.
> >
> > On Tue Dec 09 2014 at 1:52:40 PM Duncan P. N. Exon Smith <
> dexonsmith at apple.com> wrote:
> > I'm trying to build lldb now, but it's hung trying to build LLVM and
> > clang... but I already built these? I don't really understand.
> >
> > Is there any way to make lldb point to my LLVM checkout? I just want to
> > see the compiler errors so I can fix them :(.
> >
> > Alternatively, if some can email me a compile log with all the errors
> > (can you do a `make -k` or something?) I can send you a patch... this is
> > mechanical to update, but I need the compiler to tell me what's wrong.
> >
> > I expect the fixes to all be along these lines:
> >
> > - Value *Ops[] => Metadata *Ops[]
> >
> > - cast<ConstantInt>(N->getOperand(0)) =>
> > mdconst::extract<ConstantInt>(N->getOperand(0))
> >
> > - Value *Op = ConstantInt::get(...) =>
> > Metadata *Op = ConstantAsMetadata::get(ConstantInt::get(...))
> >
> > Sorry for the breakage :(.
> >
> > > On 2014 Dec 9, at 13:41, Zachary Turner <zturner at google.com> wrote:
> > >
> > > If you sync llvm past git revision db7b69e3a634c5fdff0eceeee2a41ee49c3270a2
> (svn r223802), your LLDB build will be broken.
> > >
> > > I was able to fix one of the errors, but this isn't really my area of
> expertise, so I stopped when I realized I didn't know what I was doing.
> > >
> > > Just a warning not to sync LLVM until this is fixed. I've CC'ed Sean
> and Duncan as they are probably the best people to fix this, but if anyone
> else knows how to fix it, feel free.
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20141209/0237eed9/attachment.html>
More information about the lldb-dev
mailing list