[LLVMdev] llvm-g++: Internal error

Reid Spencer rspencer at reidspencer.com
Sun Sep 17 23:05:26 PDT 2006


Zhou,

On Mon, 2006-09-18 at 13:38 +0800, Zhou Sheng wrote:
> Hi,
> 
> i used CVS to checkout the source of llvm and llvm-gcc, compiled and
> built them on my machine successfully.
> 
> i tried a c-language hello program, it was OK.
> 
> But when i tried a c++-language hello program, i got: 

Sounds like a bug. Can you provide the t3.cc source file for us? Please
remove preprocessor includes by compiling with:

g++ -E t3.cc -o t3.i


If you can do this, please create a bugzilla bug (http://llvm.org/bugs/)
and attach the test case in the t3.i file.

Thanks,

Reid.

> 
> ~/project/llvm/examples$ llvm-g++ t3.cc -o t3
> gccld: /developer/zsth/project/llvm/src/llvm/lib/Analysis/IPA/CallGraph.cpp:277:  void llvm::CallGraphNode::removeCallEdgeTo(llvm::CallGraphNode*): Assertion `i && "Cannot find callee to remove!"' failed. 
> gccld((anonymous namespace)::PrintStackTrace()+0x1a)[0x84eb812]
> gccld((anonymous namespace)::SignalHandler(int)+0x110)[0x84ebb3a]
> [0xffffe420]
> /lib/libc.so.6(abort+0x103)[0x9226e3]
> /lib/libc.so.6(__assert_fail+0xfd)[0x91aabd] 
> gccld(llvm::CallGraphNode::removeCallEdgeTo(llvm::CallGraphNode*)+0x41)[0x83c1ac d]
> gccld((anonymous
> namespace)::PruneEH::DeleteBasicBlock(llvm::BasicBlock*)+0x175)
> [0x838c82f]
> gccld((anonymous
> namespace)::PruneEH::SimplifyFunction(llvm::Function*)+0x2cf)[0
> x838cc55] 
> gccld((anonymous
> namespace)::PruneEH::runOnSCC(std::vector<llvm::CallGraphNode*,
> std::allocator<llvm::CallGraphNode*> > const&)+0x6e)[0x838cefe]
> gccld(llvm::CallGraphSCCPass::runOnModule(llvm::Module&)+0x84)[0x83c430a] 
> gccld(llvm::ModulePassManager::runPass(llvm::ModulePass*,
> llvm::Module*)+0x1f)[0 x84761ef]
> gccld(llvm::PassManagerT<llvm::MTraits>::runPasses(llvm::Module*,
> std::map<llvm: :Pass*, std::vector<llvm::Pass*,
> std::allocator<llvm::Pass*> >, std::less<llvm:: Pass*>,
> std::allocator<std::pair<llvm::Pass* const, std::vector<llvm::Pass*,
> std ::allocator<llvm::Pass*> > > > >&)+0x12a)[0x8488a10] 
> gccld(llvm::PassManagerT<llvm::MTraits>::runOnUnit(llvm::Module*)+0x184)[0x848a2 dc]
> gccld(llvm::ModulePassManager::runOnModule(llvm::Module&)+0x23)[0x84737fb]
> gccld(llvm::PassManager::run(llvm::Module&)+0x23)[0x8473a17] 
> gccld(llvm::GenerateBytecode(llvm::Module*, int, bool,
> std::basic_ostream<char, std::char_traits<char> >*)+0x27c)[0x82d848c]
> gccld(main+0xaad)[0x82dcdd3]
> /lib/libc.so.6(__libc_start_main+0xdc)[0x90e7e4] 
> gccld(__gxx_personality_v0+0x145)[0x82d7b91]
> llvm-g++: Internal error: Aborted (program gccld)
> Please submit a full bug report.
> See <URL:http://llvm.cs.uiuc.edu> for instructions. 
> 
> Thanks,
> Sheng.
> 
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev




More information about the llvm-dev mailing list