http://llvm.org/bugs/show_bug.cgi?id=7367
Jack <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |REOPENED Resolution|WORKSFORME | --- Comment #5 from Jack <[email protected]> 2010-06-14 22:29:01 CDT --- Yes it's win-specific problem and I already mention that is no problem with attached .bc file on macintosh. MSVS 2010 have better STL iterators checking probably it's problem with incorrect iterators usage somewhere. Debugger breaks at assert in SuccIterator::operator= inline const Self &operator=(const Self &I) { assert(Term == I.Term &&"Cannot assign iterators to two different blocks!"); idx = I.idx; return *this; } Stack trace: llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock>::operator=(const llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> & I={...}) Line 113 + 0x29 bytes C++ std::swap<llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> >(llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> & _Left={...}, llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> & _Right={...}) Line 104 C++ std::_Swap_adl<llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> >(llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> & _Left={...}, llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> & _Right={...}) Line 111 + 0xd bytes C++ std::pair<llvm::BasicBlock *,llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> >::swap(std::pair<llvm::BasicBlock *,llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> > & _Right=(0x1ebce030 {InstList={...} Parent=0x1c841b78 }, {Term=0x1ebcd9d8 idx=1 })) Line 210 + 0x13 bytes C++ std::swap<llvm::BasicBlock *,llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> >(std::pair<llvm::BasicBlock *,llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> > & _Left=(0x1ebcd6f8 {InstList={...} Parent=0x1c841b78 }, {Term=0x1ebce11c idx=0 }), std::pair<llvm::BasicBlock *,llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> > & _Right=(0x1ebce030 {InstList={...} Parent=0x1c841b78 }, {Term=0x1ebcd9d8 idx=1 })) Line 282 C++ std::iter_swap<std::_Deque_unchecked_iterator<std::pair<llvm::BasicBlock *,llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> >,std::allocator<std::pair<llvm::BasicBlock *,llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> > > >,std::_Deque_unchecked_iterator<std::pair<llvm::BasicBlock *,llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> >,std::allocator<std::pair<llvm::BasicBlock *,llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> > > > >(std::_Deque_unchecked_iterator<std::pair<llvm::BasicBlock *,llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> >,std::allocator<std::pair<llvm::BasicBlock *,llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> > > > _Left={...}, std::_Deque_unchecked_iterator<std::pair<llvm::BasicBlock *,llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> >,std::allocator<std::pair<llvm::BasicBlock *,llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> > > > _Right={...}) Line 2134 + 0x17 bytes C++ std::_Reverse<std::_Deque_unchecked_iterator<std::pair<llvm::BasicBlock *,llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> >,std::allocator<std::pair<llvm::BasicBlock *,llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> > > > >(std::_Deque_unchecked_iterator<std::pair<llvm::BasicBlock *,llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> >,std::allocator<std::pair<llvm::BasicBlock *,llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> > > > _First={...}, std::_Deque_unchecked_iterator<std::pair<llvm::BasicBlock *,llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> >,std::allocator<std::pair<llvm::BasicBlock *,llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> > > > _Last={...}, std::bidirectional_iterator_tag __formal={...}) Line 3215 + 0x15 bytes C++ std::reverse<std::_Deque_iterator<std::pair<llvm::BasicBlock *,llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> >,std::allocator<std::pair<llvm::BasicBlock *,llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> > > > >(std::_Deque_iterator<std::pair<llvm::BasicBlock *,llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> >,std::allocator<std::pair<llvm::BasicBlock *,llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> > > > _First=(0x1ebcd6f8 {InstList={...} Parent=0x1c841b78 }, {Term=0x1ebce11c idx=0 }), std::_Deque_iterator<std::pair<llvm::BasicBlock *,llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> >,std::allocator<std::pair<llvm::BasicBlock *,llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> > > > _Last=end) Line 3222 + 0x79 bytes C++ std::deque<std::pair<llvm::BasicBlock *,llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> >,std::allocator<std::pair<llvm::BasicBlock *,llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> > > >::_Insert<std::_Deque_const_iterator<std::pair<llvm::BasicBlock *,llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> >,std::allocator<std::pair<llvm::BasicBlock *,llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> > > > >(std::_Deque_const_iterator<std::pair<llvm::BasicBlock *,llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> >,std::allocator<std::pair<llvm::BasicBlock *,llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> > > > _Where=(..., ..., std::_Deque_const_iterator<std::pair<llvm::BasicBlock *,llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> >,std::allocator<std::pair<llvm::BasicBlock *,llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> > > > _First=end, std::_Deque_const_iterator<std::pair<llvm::BasicBlock *,llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> >,std::allocator<std::pair<llvm::BasicBlock *,llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> > > > _Last=end, std::input_iterator_tag __formal={...}) Line 1397 + 0x70 bytes C++ std::deque<std::pair<llvm::BasicBlock *,llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> >,std::allocator<std::pair<llvm::BasicBlock *,llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> > > >::insert<std::_Deque_const_iterator<std::pair<llvm::BasicBlock *,llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> >,std::allocator<std::pair<llvm::BasicBlock *,llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> > > > >(std::_Deque_const_iterator<std::pair<llvm::BasicBlock *,llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> >,std::allocator<std::pair<llvm::BasicBlock *,llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> > > > _Where=(..., ..., std::_Deque_const_iterator<std::pair<llvm::BasicBlock *,llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> >,std::allocator<std::pair<llvm::BasicBlock *,llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> > > > _First=(0x1ebcd6f8 {InstList={...} Parent=0x1c841b78 }, {Term=0x1ebcd9d8 idx=1 }), std::_Deque_const_iterator<std::pair<llvm::BasicBlock *,llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> >,std::allocator<std::pair<llvm::BasicBlock *,llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> > > > _Last=end) Line 1359 C++ std::deque<std::pair<llvm::BasicBlock *,llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> >,std::allocator<std::pair<llvm::BasicBlock *,llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> > > >::deque<std::pair<llvm::BasicBlock *,llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> >,std::allocator<std::pair<llvm::BasicBlock *,llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> > > >(const std::deque<std::pair<llvm::BasicBlock *,llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> >,std::allocator<std::pair<llvm::BasicBlock *,llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> > > > & _Right=[3]((0x1ebcd6f8 {InstList={...} Parent=0x1c841b78 }, {Term=0x1ebcd9d8 idx=1 }),(0x1ebcd960 {InstList={...} Parent=0x1c841b78 }, {Term=0x1ebce1ac idx=1 }),(0x1ebce030 {InstList={...} Parent=0x1c841b78 }, {Term=0x1ebce11c idx=0 }))) Line 829 + 0x75 bytes C++ std::stack<std::pair<llvm::BasicBlock *,llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> >,std::deque<std::pair<llvm::BasicBlock *,llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> >,std::allocator<std::pair<llvm::BasicBlock *,llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> > > > >::stack<std::pair<llvm::BasicBlock *,llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> >,std::deque<std::pair<llvm::BasicBlock *,llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> >,std::allocator<std::pair<llvm::BasicBlock *,llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> > > > >(const std::stack<std::pair<llvm::BasicBlock *,llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> >,std::deque<std::pair<llvm::BasicBlock *,llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> >,std::allocator<std::pair<llvm::BasicBlock *,llvm::SuccIterator<llvm::TerminatorInst *,llvm::BasicBlock> > > > > & _Right=[3]((0x1ebcd6f8 {InstList={...} Parent=0x1c841b78 }, {Term=0x1ebcd9d8 idx=1 }),(0x1ebcd960 {InstList={...} Parent=0x1c841b78 }, {Term=0x1ebce1ac idx=1 }),(0x1ebce030 {InstList={...} Parent=0x1c841b78 }, {Term=0x1ebce11c idx=0 }))) Line 32 C++ llvm::po_iterator<llvm::BasicBlock *,llvm::SmallPtrSet<llvm::BasicBlock *,8>,0,llvm::GraphTraits<llvm::BasicBlock *> >::po_iterator<llvm::BasicBlock *,llvm::SmallPtrSet<llvm::BasicBlock *,8>,0,llvm::GraphTraits<llvm::BasicBlock *> >(const llvm::po_iterator<llvm::BasicBlock *,llvm::SmallPtrSet<llvm::BasicBlock *,8>,0,llvm::GraphTraits<llvm::BasicBlock *> > & __that={...}) + 0x52 bytes C++ std::copy<llvm::po_iterator<llvm::BasicBlock *,llvm::SmallPtrSet<llvm::BasicBlock *,8>,0,llvm::GraphTraits<llvm::BasicBlock *> >,std::back_insert_iterator<std::vector<llvm::BasicBlock *,std::allocator<llvm::BasicBlock *> > > >(llvm::po_iterator<llvm::BasicBlock *,llvm::SmallPtrSet<llvm::BasicBlock *,8>,0,llvm::GraphTraits<llvm::BasicBlock *> > _First={...}, llvm::po_iterator<llvm::BasicBlock *,llvm::SmallPtrSet<llvm::BasicBlock *,8>,0,llvm::GraphTraits<llvm::BasicBlock *> > _Last={...}, std::back_insert_iterator<std::vector<llvm::BasicBlock *,std::allocator<llvm::BasicBlock *> > > _Dest={...}) Line 2224 + 0x39 bytes C++ llvm::ReversePostOrderTraversal<llvm::Function *,llvm::GraphTraits<llvm::Function *> >::Initialize(llvm::BasicBlock * BB=0x1ebcd6f8) Line 217 + 0x60 bytes C++ llvm::ReversePostOrderTraversal<llvm::Function *,llvm::GraphTraits<llvm::Function *> >::ReversePostOrderTraversal<llvm::Function *,llvm::GraphTraits<llvm::Function *> >(llvm::Function * G=0x1c841b78) Line 224 C++ `anonymous namespace'::Reassociate::BuildRankMap(llvm::Function & F={...}) Line 149 + 0xc bytes C++ `anonymous namespace'::Reassociate::runOnFunction(llvm::Function & F={...}) Line 1064 C++ llvm::FPPassManager::runOnFunction(llvm::Function & F={...}) Line 1428 + 0x17 bytes C++ `anonymous namespace'::CGPassManager::RunPassOnSCC(llvm::Pass * P=0x1f50d250, llvm::CallGraphSCC & CurSCC={...}, llvm::CallGraph & CG={...}, bool & CallGraphUpToDate=true, bool & DevirtualizedCall=false) Line 145 + 0x10 bytes C++ `anonymous namespace'::CGPassManager::RunAllPassesOnSCC(llvm::CallGraphSCC & CurSCC={...}, llvm::CallGraph & CG={...}, bool & DevirtualizedCall=false) Line 399 + 0x20 bytes C++ `anonymous namespace'::CGPassManager::runOnModule(llvm::Module & M={...}) Line 454 + 0x1e bytes C++ llvm::MPPassManager::runOnModule(llvm::Module & M={...}) Line 1502 + 0x17 bytes C++ llvm::PassManagerImpl::run(llvm::Module & M={...}) Line 1583 + 0x1b bytes C++ llvm::PassManager::run(llvm::Module & M={...}) Line 1627 C++ ... -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. _______________________________________________ LLVMbugs mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs
