[llvm-dev] building release_50 with gcc7.2.0 on MacOS: duplicate symbol llvm::DominatorTreeBase

Andrew Kelley via llvm-dev llvm-dev at lists.llvm.org
Sat Aug 26 13:28:10 PDT 2017


LLVM built successfully with this patch. Thanks!

On Sat, Aug 26, 2017 at 4:23 PM, don hinton <hintonda at gmail.com> wrote:

> Could you try this patch?  It's already explicitly instantiated
> in llvm/lib/IR/Dominators.cpp.
>
> diff --git a/lib/Analysis/PostDominators.cpp
> b/lib/Analysis/PostDominators.cpp
> index fc34e6388a5..2282401085d 100644
> --- a/lib/Analysis/PostDominators.cpp
> +++ b/lib/Analysis/PostDominators.cpp
> @@ -21,8 +21,6 @@ using namespace llvm;
>
>  #define DEBUG_TYPE "postdomtree"
>
> -template class llvm::DominatorTreeBase<BasicBlock, true>; //
> PostDomTreeBase
> -
>  //===------------------------------------------------------
> ----------------===//
>  //  PostDominatorTree Implementation
>  //===------------------------------------------------------
> ----------------===//
>
> On Sat, Aug 26, 2017 at 12:18 PM, Andrew Kelley via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
>
>> This is release_50 branch of git, sha1: f1d5723be3f9456a6b16cdf6
>> 87847ac2918846de
>> Using gcc 7.2.0 from homebrew.
>>
>> $ CC=/usr/local/opt/gcc/bin/x86_64-apple-darwin16.7.0-gcc-7
>> CXX=/usr/local/opt/gcc/bin/x86_64-apple-darwin16.7.0-g++-7 cmake ..
>> -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/Users/andy/local/llvm5
>> -DCMAKE_PREFIX_PATH=/Users/andy/local/llvm5
>> $ make VERBOSE=1
>> [ 92%] Linking CXX executable ../../bin/bugpoint
>> cd /Users/andy/Downloads/llvm-project/llvm/build/tools/bugpoint &&
>> /usr/local/Cellar/cmake/3.7.2/bin/cmake -E cmake_link_script
>> CMakeFiles/bugpoint.dir/link.txt --verbose=1
>> /usr/local/opt/gcc/bin/x86_64-apple-darwin16.7.0-g++-7    -fPIC
>> -fvisibility-inlines-hidden -Werror=date-time -std=c++11 -Wall -W
>> -Wno-unused-parameter -Wwrite-strings -Wcast-qual
>> -Wno-missing-field-initializers -pedantic -Wno-long-long
>> -Wno-maybe-uninitialized -Wdelete-non-virtual-dtor -Wno-comment -O3
>> -DNDEBUG -Wl,-search_paths_first -Wl,-headerpad_max_install_names
>>  -rdynamic CMakeFiles/bugpoint.dir/BugDriver.cpp.o
>> CMakeFiles/bugpoint.dir/CrashDebugger.cpp.o
>> CMakeFiles/bugpoint.dir/ExecutionDriver.cpp.o
>> CMakeFiles/bugpoint.dir/ExtractFunction.cpp.o
>> CMakeFiles/bugpoint.dir/FindBugs.cpp.o CMakeFiles/bugpoint.dir/Miscompilation.cpp.o
>> CMakeFiles/bugpoint.dir/OptimizerDriver.cpp.o
>> CMakeFiles/bugpoint.dir/ToolRunner.cpp.o CMakeFiles/bugpoint.dir/bugpoint.cpp.o
>>  -o ../../bin/bugpoint -Wl,-rpath, at loader_path/../lib
>>  ../../lib/libLLVMAArch64CodeGen.a ../../lib/libLLVMAArch64AsmPrinter.a
>> ../../lib/libLLVMAArch64AsmParser.a ../../lib/libLLVMAArch64Desc.a
>> ../../lib/libLLVMAArch64Info.a ../../lib/libLLVMAArch64Disassembler.a
>> ../../lib/libLLVMAArch64Info.a ../../lib/libLLVMAArch64Utils.a
>> ../../lib/libLLVMAMDGPUCodeGen.a ../../lib/libLLVMAMDGPUAsmPrinter.a
>> ../../lib/libLLVMAMDGPUAsmParser.a ../../lib/libLLVMAMDGPUDesc.a
>> ../../lib/libLLVMAMDGPUInfo.a ../../lib/libLLVMAMDGPUDisassembler.a
>> ../../lib/libLLVMAMDGPUInfo.a ../../lib/libLLVMAMDGPUUtils.a
>> ../../lib/libLLVMARMCodeGen.a ../../lib/libLLVMARMAsmPrinter.a
>> ../../lib/libLLVMARMAsmParser.a ../../lib/libLLVMARMDesc.a
>> ../../lib/libLLVMARMInfo.a ../../lib/libLLVMARMDisassembler.a
>> ../../lib/libLLVMARMInfo.a ../../lib/libLLVMBPFCodeGen.a
>> ../../lib/libLLVMBPFAsmPrinter.a ../../lib/libLLVMBPFDesc.a
>> ../../lib/libLLVMBPFInfo.a ../../lib/libLLVMBPFDisassembler.a
>> ../../lib/libLLVMBPFInfo.a ../../lib/libLLVMHexagonCodeGen.a
>> ../../lib/libLLVMHexagonAsmParser.a ../../lib/libLLVMHexagonDesc.a
>> ../../lib/libLLVMHexagonInfo.a ../../lib/libLLVMHexagonDisassembler.a
>> ../../lib/libLLVMHexagonInfo.a ../../lib/libLLVMLanaiCodeGen.a
>> ../../lib/libLLVMLanaiAsmPrinter.a ../../lib/libLLVMLanaiAsmParser.a
>> ../../lib/libLLVMLanaiDesc.a ../../lib/libLLVMLanaiInfo.a
>> ../../lib/libLLVMLanaiDisassembler.a ../../lib/libLLVMLanaiInfo.a
>> ../../lib/libLLVMMipsCodeGen.a ../../lib/libLLVMMipsAsmPrinter.a
>> ../../lib/libLLVMMipsAsmParser.a ../../lib/libLLVMMipsDesc.a
>> ../../lib/libLLVMMipsInfo.a ../../lib/libLLVMMipsDisassembler.a
>> ../../lib/libLLVMMipsInfo.a ../../lib/libLLVMMSP430CodeGen.a
>> ../../lib/libLLVMMSP430AsmPrinter.a ../../lib/libLLVMMSP430Desc.a
>> ../../lib/libLLVMMSP430Info.a ../../lib/libLLVMMSP430Info.a
>> ../../lib/libLLVMNVPTXCodeGen.a ../../lib/libLLVMNVPTXAsmPrinter.a
>> ../../lib/libLLVMNVPTXDesc.a ../../lib/libLLVMNVPTXInfo.a
>> ../../lib/libLLVMNVPTXInfo.a ../../lib/libLLVMPowerPCCodeGen.a
>> ../../lib/libLLVMPowerPCAsmPrinter.a ../../lib/libLLVMPowerPCAsmParser.a
>> ../../lib/libLLVMPowerPCDesc.a ../../lib/libLLVMPowerPCInfo.a
>> ../../lib/libLLVMPowerPCDisassembler.a ../../lib/libLLVMPowerPCInfo.a
>> ../../lib/libLLVMSparcCodeGen.a ../../lib/libLLVMSparcAsmPrinter.a
>> ../../lib/libLLVMSparcAsmParser.a ../../lib/libLLVMSparcDesc.a
>> ../../lib/libLLVMSparcInfo.a ../../lib/libLLVMSparcDisassembler.a
>> ../../lib/libLLVMSparcInfo.a ../../lib/libLLVMSystemZCodeGen.a
>> ../../lib/libLLVMSystemZAsmPrinter.a ../../lib/libLLVMSystemZAsmParser.a
>> ../../lib/libLLVMSystemZDesc.a ../../lib/libLLVMSystemZInfo.a
>> ../../lib/libLLVMSystemZDisassembler.a ../../lib/libLLVMSystemZInfo.a
>> ../../lib/libLLVMX86CodeGen.a ../../lib/libLLVMX86AsmPrinter.a
>> ../../lib/libLLVMX86AsmParser.a ../../lib/libLLVMX86Desc.a
>> ../../lib/libLLVMX86Info.a ../../lib/libLLVMX86Disassembler.a
>> ../../lib/libLLVMX86Info.a ../../lib/libLLVMX86Utils.a
>> ../../lib/libLLVMXCoreCodeGen.a ../../lib/libLLVMXCoreAsmPrinter.a
>> ../../lib/libLLVMXCoreDesc.a ../../lib/libLLVMXCoreInfo.a
>> ../../lib/libLLVMXCoreDisassembler.a ../../lib/libLLVMXCoreInfo.a
>> ../../lib/libLLVMAnalysis.a ../../lib/libLLVMBitWriter.a
>> ../../lib/libLLVMCodeGen.a ../../lib/libLLVMCore.a ../../lib/libLLVMipo.a
>> ../../lib/libLLVMIRReader.a ../../lib/libLLVMInstCombine.a
>> ../../lib/libLLVMInstrumentation.a ../../lib/libLLVMLinker.a
>> ../../lib/libLLVMObjCARCOpts.a ../../lib/libLLVMScalarOpts.a
>> ../../lib/libLLVMSupport.a ../../lib/libLLVMTarget.a
>> ../../lib/libLLVMTransformUtils.a ../../lib/libLLVMVectorize.a
>> ../../lib/libLLVMAArch64Desc.a ../../lib/libLLVMAArch64AsmPrinter.a
>> ../../lib/libLLVMAArch64Info.a ../../lib/libLLVMAArch64Utils.a
>> ../../lib/libLLVMAMDGPUDesc.a ../../lib/libLLVMAMDGPUAsmPrinter.a
>> ../../lib/libLLVMAMDGPUInfo.a ../../lib/libLLVMAMDGPUUtils.a
>> ../../lib/libLLVMARMDesc.a ../../lib/libLLVMARMAsmPrinter.a
>> ../../lib/libLLVMARMInfo.a ../../lib/libLLVMBPFAsmPrinter.a
>> ../../lib/libLLVMHexagonDesc.a ../../lib/libLLVMHexagonInfo.a
>> ../../lib/libLLVMLanaiDesc.a ../../lib/libLLVMLanaiAsmPrinter.a
>> ../../lib/libLLVMLanaiInfo.a ../../lib/libLLVMMipsAsmPrinter.a
>> ../../lib/libLLVMMSP430AsmPrinter.a ../../lib/libLLVMNVPTXAsmPrinter.a
>> ../../lib/libLLVMAsmParser.a ../../lib/libLLVMPowerPCAsmPrinter.a
>> ../../lib/libLLVMSparcAsmPrinter.a ../../lib/libLLVMSystemZDesc.a
>> ../../lib/libLLVMSystemZAsmPrinter.a ../../lib/libLLVMSystemZInfo.a
>> ../../lib/libLLVMGlobalISel.a ../../lib/libLLVMX86AsmPrinter.a
>> ../../lib/libLLVMX86Utils.a ../../lib/libLLVMXCoreAsmPrinter.a
>> ../../lib/libLLVMAsmPrinter.a ../../lib/libLLVMDebugInfoCodeView.a
>> ../../lib/libLLVMDebugInfoMSF.a ../../lib/libLLVMSelectionDAG.a
>> ../../lib/libLLVMCodeGen.a ../../lib/libLLVMBitWriter.a
>> ../../lib/libLLVMScalarOpts.a ../../lib/libLLVMInstCombine.a
>> ../../lib/libLLVMTarget.a ../../lib/libLLVMMCDisassembler.a
>> ../../lib/libLLVMTransformUtils.a ../../lib/libLLVMAnalysis.a
>> ../../lib/libLLVMObject.a ../../lib/libLLVMMCParser.a ../../lib/libLLVMMC.a
>> ../../lib/libLLVMBitReader.a ../../lib/libLLVMProfileData.a
>> ../../lib/libLLVMCore.a ../../lib/libLLVMBinaryFormat.a
>> ../../lib/libLLVMSupport.a -lcurses -lz -lm ../../lib/libLLVMDemangle.a
>> duplicate symbol llvm::DominatorTreeBase<llvm::BasicBlock,
>> true>::releaseMemory()    in:
>>     ../../lib/libLLVMAnalysis.a(PostDominators.cpp.o)
>>     ../../lib/libLLVMCore.a(Dominators.cpp.o)
>> duplicate symbol llvm::DominatorTreeBase<llvm::BasicBlock,
>> true>::verify() const in:
>>     ../../lib/libLLVMAnalysis.a(PostDominators.cpp.o)
>>     ../../lib/libLLVMCore.a(Dominators.cpp.o)
>> duplicate symbol llvm::DominatorTreeBase<llvm::BasicBlock,
>> true>::getRoot() const in:
>>     ../../lib/libLLVMAnalysis.a(PostDominators.cpp.o)
>>     ../../lib/libLLVMCore.a(Dominators.cpp.o)
>> duplicate symbol llvm::DominatorTreeBase<llvm::BasicBlock,
>> true>::reset()   in:
>>     ../../lib/libLLVMAnalysis.a(PostDominators.cpp.o)
>>     ../../lib/libLLVMCore.a(Dominators.cpp.o)
>> duplicate symbol llvm::DominatorTreeBase<llvm::BasicBlock,
>> true>::getRoots() const in:
>>     ../../lib/libLLVMAnalysis.a(PostDominators.cpp.o)
>>     ../../lib/libLLVMCore.a(Dominators.cpp.o)
>> duplicate symbol llvm::DominatorTreeBase<llvm::BasicBlock,
>> true>::updateDFSNumbers() const in:
>>     ../../lib/libLLVMAnalysis.a(PostDominators.cpp.o)
>>     ../../lib/libLLVMCore.a(Dominators.cpp.o)
>> duplicate symbol llvm::DominatorTreeBase<llvm::BasicBlock,
>> true>::isPostDominator() const in:
>>     ../../lib/libLLVMAnalysis.a(PostDominators.cpp.o)
>>     ../../lib/libLLVMCore.a(Dominators.cpp.o)
>> duplicate symbol llvm::DominatorTreeBase<llvm::BasicBlock, true>::wipe()
>>   in:
>>     ../../lib/libLLVMAnalysis.a(PostDominators.cpp.o)
>>     ../../lib/libLLVMCore.a(Dominators.cpp.o)
>> duplicate symbol llvm::DominatorTreeBase<llvm::BasicBlock,
>> true>::getRootNode()    in:
>>     ../../lib/libLLVMAnalysis.a(PostDominators.cpp.o)
>>     ../../lib/libLLVMCore.a(Dominators.cpp.o)
>> duplicate symbol llvm::DominatorTreeBase<llvm::BasicBlock,
>> true>::getRootNode() const in:
>>     ../../lib/libLLVMAnalysis.a(PostDominators.cpp.o)
>>     ../../lib/libLLVMCore.a(Dominators.cpp.o)
>> duplicate symbol llvm::DominatorTreeBase<llvm::BasicBlock,
>> true>::DominatorTreeBase() in:
>>     ../../lib/libLLVMAnalysis.a(PostDominators.cpp.o)
>>     ../../lib/libLLVMCore.a(Dominators.cpp.o)
>> duplicate symbol llvm::DominatorTreeBase<llvm::BasicBlock,
>> true>::DominatorTreeBase() in:
>>     ../../lib/libLLVMAnalysis.a(PostDominators.cpp.o)
>>     ../../lib/libLLVMCore.a(Dominators.cpp.o)
>> duplicate symbol llvm::DominatorTreeBase<llvm::BasicBlock,
>> true>::dominates(llvm::DomTreeNodeBase<llvm::BasicBlock> const*,
>> llvm::DomTreeNodeBase<llvm::BasicBlock> const*) const in:
>>     ../../lib/libLLVMAnalysis.a(PostDominators.cpp.o)
>>     ../../lib/libLLVMCore.a(Dominators.cpp.o)
>> duplicate symbol llvm::DominatorTreeBase<llvm::BasicBlock,
>> true>::properlyDominates(llvm::DomTreeNodeBase<llvm::BasicBlock> const*,
>> llvm::DomTreeNodeBase<llvm::BasicBlock> const*) const in:
>>     ../../lib/libLLVMAnalysis.a(PostDominators.cpp.o)
>>     ../../lib/libLLVMCore.a(Dominators.cpp.o)
>> duplicate symbol llvm::DominatorTreeBase<llvm::BasicBlock,
>> true>::dominatedBySlowTreeWalk(llvm::DomTreeNodeBase<llvm::BasicBlock>
>> const*, llvm::DomTreeNodeBase<llvm::BasicBlock> const*) const in:
>>     ../../lib/libLLVMAnalysis.a(PostDominators.cpp.o)
>>     ../../lib/libLLVMCore.a(Dominators.cpp.o)
>> duplicate symbol llvm::DominatorTreeBase<llvm::BasicBlock,
>> true>::changeImmediateDominator(llvm::DomTreeNodeBase<llvm::BasicBlock>*,
>> llvm::DomTreeNodeBase<llvm::BasicBlock>*) in:
>>     ../../lib/libLLVMAnalysis.a(PostDominators.cpp.o)
>>     ../../lib/libLLVMCore.a(Dominators.cpp.o)
>> duplicate symbol llvm::DominatorTreeBase<llvm::BasicBlock,
>> true>::dominates(llvm::BasicBlock const*, llvm::BasicBlock const*) const
>> in:
>>     ../../lib/libLLVMAnalysis.a(PostDominators.cpp.o)
>>     ../../lib/libLLVMCore.a(Dominators.cpp.o)
>> duplicate symbol llvm::DominatorTreeBase<llvm::BasicBlock,
>> true>::properlyDominates(llvm::BasicBlock const*, llvm::BasicBlock
>> const*) const in:
>>     ../../lib/libLLVMAnalysis.a(PostDominators.cpp.o)
>>     ../../lib/libLLVMCore.a(Dominators.cpp.o)
>> duplicate symbol llvm::DominatorTreeBase<llvm::BasicBlock,
>> true>::findNearestCommonDominator(llvm::BasicBlock const*,
>> llvm::BasicBlock const*) const in:
>>     ../../lib/libLLVMAnalysis.a(PostDominators.cpp.o)
>>     ../../lib/libLLVMCore.a(Dominators.cpp.o)
>> duplicate symbol llvm::DominatorTreeBase<llvm::BasicBlock,
>> true>::findNearestCommonDominator(llvm::BasicBlock*, llvm::BasicBlock*)
>> const in:
>>     ../../lib/libLLVMAnalysis.a(PostDominators.cpp.o)
>>     ../../lib/libLLVMCore.a(Dominators.cpp.o)
>> duplicate symbol llvm::DominatorTreeBase<llvm::BasicBlock,
>> true>::changeImmediateDominator(llvm::BasicBlock*, llvm::BasicBlock*) in:
>>     ../../lib/libLLVMAnalysis.a(PostDominators.cpp.o)
>>     ../../lib/libLLVMCore.a(Dominators.cpp.o)
>> duplicate symbol llvm::DominatorTreeBase<llvm::BasicBlock,
>> true>::addNewBlock(llvm::BasicBlock*, llvm::BasicBlock*) in:
>>     ../../lib/libLLVMAnalysis.a(PostDominators.cpp.o)
>>     ../../lib/libLLVMCore.a(Dominators.cpp.o)
>> duplicate symbol llvm::DominatorTreeBase<llvm::BasicBlock,
>> true>::insertEdge(llvm::BasicBlock*, llvm::BasicBlock*) in:
>>     ../../lib/libLLVMAnalysis.a(PostDominators.cpp.o)
>>     ../../lib/libLLVMCore.a(Dominators.cpp.o)
>> duplicate symbol llvm::DominatorTreeBase<llvm::BasicBlock,
>> true>::deleteEdge(llvm::BasicBlock*, llvm::BasicBlock*) in:
>>     ../../lib/libLLVMAnalysis.a(PostDominators.cpp.o)
>>     ../../lib/libLLVMCore.a(Dominators.cpp.o)
>> duplicate symbol llvm::DominatorTreeBase<llvm::BasicBlock,
>> true>::operator=(llvm::DominatorTreeBase<llvm::BasicBlock, true>&&) in:
>>     ../../lib/libLLVMAnalysis.a(PostDominators.cpp.o)
>>     ../../lib/libLLVMCore.a(Dominators.cpp.o)
>> duplicate symbol llvm::DominatorTreeBase<llvm::BasicBlock,
>> true>::DominatorTreeBase(llvm::DominatorTreeBase<llvm::BasicBlock,
>> true>&&) in:
>>     ../../lib/libLLVMAnalysis.a(PostDominators.cpp.o)
>>     ../../lib/libLLVMCore.a(Dominators.cpp.o)
>> duplicate symbol llvm::DominatorTreeBase<llvm::BasicBlock,
>> true>::DominatorTreeBase(llvm::DominatorTreeBase<llvm::BasicBlock,
>> true>&&) in:
>>     ../../lib/libLLVMAnalysis.a(PostDominators.cpp.o)
>>     ../../lib/libLLVMCore.a(Dominators.cpp.o)
>> duplicate symbol llvm::DominatorTreeBase<llvm::BasicBlock,
>> true>::compare(llvm::DominatorTreeBase<llvm::BasicBlock, true> const&)
>> const in:
>>     ../../lib/libLLVMAnalysis.a(PostDominators.cpp.o)
>>     ../../lib/libLLVMCore.a(Dominators.cpp.o)
>> duplicate symbol llvm::DominatorTreeBase<llvm::BasicBlock,
>> true>::operator[](llvm::BasicBlock*) const in:
>>     ../../lib/libLLVMAnalysis.a(PostDominators.cpp.o)
>>     ../../lib/libLLVMCore.a(Dominators.cpp.o)
>> duplicate symbol llvm::DominatorTreeBase<llvm::BasicBlock,
>> true>::setNewRoot(llvm::BasicBlock*) in:
>>     ../../lib/libLLVMAnalysis.a(PostDominators.cpp.o)
>>     ../../lib/libLLVMCore.a(Dominators.cpp.o)
>> duplicate symbol llvm::DominatorTreeBase<llvm::BasicBlock,
>> true>::addRoot(llvm::BasicBlock*) in:
>>     ../../lib/libLLVMAnalysis.a(PostDominators.cpp.o)
>>     ../../lib/libLLVMCore.a(Dominators.cpp.o)
>> duplicate symbol llvm::DominatorTreeBase<llvm::BasicBlock,
>> true>::splitBlock(llvm::BasicBlock*) in:
>>     ../../lib/libLLVMAnalysis.a(PostDominators.cpp.o)
>>     ../../lib/libLLVMCore.a(Dominators.cpp.o)
>> duplicate symbol llvm::DominatorTreeBase<llvm::BasicBlock,
>> true>::getNode(llvm::BasicBlock*) const in:
>>     ../../lib/libLLVMAnalysis.a(PostDominators.cpp.o)
>>     ../../lib/libLLVMCore.a(Dominators.cpp.o)
>> duplicate symbol llvm::DominatorTreeBase<llvm::BasicBlock,
>> true>::eraseNode(llvm::BasicBlock*) in:
>>     ../../lib/libLLVMAnalysis.a(PostDominators.cpp.o)
>>     ../../lib/libLLVMCore.a(Dominators.cpp.o)
>> duplicate symbol llvm::DominatorTreeBase<llvm::BasicBlock,
>> true>::isReachableFromEntry(llvm::BasicBlock const*) const in:
>>     ../../lib/libLLVMAnalysis.a(PostDominators.cpp.o)
>>     ../../lib/libLLVMCore.a(Dominators.cpp.o)
>> duplicate symbol llvm::DominatorTreeBase<llvm::BasicBlock,
>> true>::print(llvm::raw_ostream&) const in:
>>     ../../lib/libLLVMAnalysis.a(PostDominators.cpp.o)
>>     ../../lib/libLLVMCore.a(Dominators.cpp.o)
>> duplicate symbol llvm::DominatorTreeBase<llvm::BasicBlock,
>> true>::getDescendants(llvm::BasicBlock*, llvm::SmallVectorImpl<llvm::BasicBlock*>&)
>> const in:
>>     ../../lib/libLLVMAnalysis.a(PostDominators.cpp.o)
>>     ../../lib/libLLVMCore.a(Dominators.cpp.o)
>> duplicate symbol llvm::DominatorTreeBase<llvm::BasicBlock,
>> true>::isReachableFromEntry(llvm::DomTreeNodeBase<llvm::BasicBlock>
>> const*) const in:
>>     ../../lib/libLLVMAnalysis.a(PostDominators.cpp.o)
>>     ../../lib/libLLVMCore.a(Dominators.cpp.o)
>> duplicate symbol llvm::DominatorTreeBase<llvm::BasicBlock,
>> true>::isVirtualRoot(llvm::DomTreeNodeBase<llvm::BasicBlock> const*)
>> const in:
>>     ../../lib/libLLVMAnalysis.a(PostDominators.cpp.o)
>>     ../../lib/libLLVMCore.a(Dominators.cpp.o)
>> ld: 39 duplicate symbols for architecture x86_64
>> collect2: error: ld returned 1 exit status
>> make[2]: *** [bin/bugpoint] Error 1
>> make[1]: *** [tools/bugpoint/CMakeFiles/bugpoint.dir/all] Error 2
>> make: *** [all] Error 2
>>
>>
>> _______________________________________________
>> LLVM Developers mailing list
>> llvm-dev at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170826/404c3761/attachment.html>


More information about the llvm-dev mailing list