llvm-g++: Internal error

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:

~/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::allocatorllvm::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::PassManagerTllvm::MTraits::runPasses(llvm::Module*, std::map<llvm: :Pass*, std::vector<llvm::Pass*, std::allocatorllvm::Pass* >, std::less<llvm:: Pass*>, std::allocator<std::pair<llvm::Pass* const, std::vector<llvm::Pass*, std ::allocatorllvm::Pass* > > > >&)+0x12a)[0x8488a10]
gccld(llvm::PassManagerTllvm::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 >*)+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](http://llvm.cs.uiuc.edu) for instructions.

Thanks,
Sheng.

Zhou,

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.

Can you try upgrading to LLVM CVS? I believe this bug has already been fixed. Please let us know if it isn't fixed in CVS:
http://llvm.org/docs/GettingStarted.html#checkout

-Chris