forked from OSchip/llvm-project
				
			Don't crash when we can't find a block for some reason, just try and do the right thing and fail gracefully.
<rdar://problem/19196221> llvm-svn: 226087
This commit is contained in:
		
							parent
							
								
									dd669615dd
								
							
						
					
					
						commit
						f7bb1fba36
					
				| 
						 | 
					@ -3485,9 +3485,11 @@ SymbolFileDWARF::ResolveFunction (DWARFCompileUnit *cu,
 | 
				
			||||||
        // Parse all blocks if needed
 | 
					        // Parse all blocks if needed
 | 
				
			||||||
        if (inlined_die)
 | 
					        if (inlined_die)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            sc.block = sc.function->GetBlock (true).FindBlockByID (MakeUserID(inlined_die->GetOffset()));
 | 
					            Block &function_block = sc.function->GetBlock (true);
 | 
				
			||||||
            assert (sc.block != NULL);
 | 
					            sc.block = function_block.FindBlockByID (MakeUserID(inlined_die->GetOffset()));
 | 
				
			||||||
            if (sc.block->GetStartAddress (addr) == false)
 | 
					            if (sc.block == NULL)
 | 
				
			||||||
 | 
					                sc.block = function_block.FindBlockByID (inlined_die->GetOffset());
 | 
				
			||||||
 | 
					            if (sc.block == NULL || sc.block->GetStartAddress (addr) == false)
 | 
				
			||||||
                addr.Clear();
 | 
					                addr.Clear();
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        else 
 | 
					        else 
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue