llvm build error on ppc

Konstantin Belousov kostikbel at gmail.com
Thu Nov 13 18:17:15 UTC 2014


On Thu, Nov 13, 2014 at 07:11:45PM +0100, Dimitry Andric wrote:
> On 13 Nov 2014, at 18:13, Konstantin Belousov <kostikbel at gmail.com> wrote:FYI,
> > 
> > I did make tinderbox today for HEAD at r274464, and got the following
> > both for ppc and ppc64 worlds.  Other arches build successfully.
> > 
> > ===> lib/clang/libllvmtablegen (all)
> > /scratch/tmp/kib/src/lib/clang/libllvmselectiondag/../../../contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp: In member function 'void llvm::SDDbgInfo::erase(const llvm::SDNode*)':
> > /scratch/tmp/kib/src/lib/clang/libllvmselectiondag/../../../contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:632: error: a function-definition is not allowed here before ':' token
> > /scratch/tmp/kib/src/lib/clang/libllvmselectiondag/../../../contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:634: error: could not convert '((llvm::DenseMapBase<llvm::DenseMap<const llvm::SDNode*, llvm::SmallVector<llvm::SDDbgValue*, 2u>, llvm::DenseMapInfo<const llvm::SDNode*> >, const llvm::SDNode*, llvm::SmallVector<llvm::SDDbgValue*, 2u>, llvm::DenseMapInfo<const llvm::SDNode*> >*)(&((llvm::SDDbgInfo*)this)->llvm::SDDbgInfo::DbgValMap))->llvm::DenseMapBase<DerivedT, KeyT, ValueT, KeyInfoT>::erase [with DerivedT = llvm::DenseMap<const llvm::SDNode*, llvm::SmallVector<llvm::SDDbgValue*, 2u>, llvm::DenseMapInfo<const llvm::SDNode*> >, KeyT = const llvm::SDNode*, ValueT = llvm::SmallVector<llvm::SDDbgValue*, 2u>, KeyInfoT = llvm::DenseMapInfo<const llvm::SDNode*>](llvm::DenseMapIterator<const llvm::SDNode*, llvm::SmallVector<llvm::SDDbgValue*, 2u>, llvm::DenseMapInfo<const llvm::SDNode*>, false>(((const llvm::DenseMapIterator<const llvm::SDNode*, llvm::SmallVector<llvm::SDDbgVa
> > lue*, 2u>, llvm::DenseMapInfo<const llvm::SDNode*>, false>&)((const llvm::DenseMapIterator<const llvm::SDNode*, llvm::SmallVector<llvm::SDDbgValue*, 2u>, llvm::DenseMapInfo<const llvm::SDNode*>, false>*)(& I)))))' to 'bool'
> > /scratch/tmp/kib/src/lib/clang/libllvmselectiondag/../../../contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:635: error: expected primary-expression before '}' token
> > /scratch/tmp/kib/src/lib/clang/libllvmselectiondag/../../../contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:635: error: expected `)' before '}' token
> > /scratch/tmp/kib/src/lib/clang/libllvmselectiondag/../../../contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:635: error: expected primary-expression before '}' token
> > /scratch/tmp/kib/src/lib/clang/libllvmselectiondag/../../../contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:635: error: expected `;' before '}' token
> > --- SelectionDAG.o ---
> > *** [SelectionDAG.o] Error code 1
> 
> Hi Kostik,
> 
> Sorry about this.  I imported an upstream fix for llvm, but since they
> switched to C++11, it introduces some constructs that g++ 4.2.1 does not
> support.  Clang compiles these even if -std=c++11 is not specified on
> the command line, which is why I didn't notice the problem.

Is ppc the only architecture where we do build clang, but with gcc ?
Since the failure only occured on ppc/pcc64, and not on e.g. arm.


More information about the freebsd-toolchain mailing list