Don't implicitly construct an Archive::child_iterator.
llvm-svn: 252166
This commit is contained in:
		
							parent
							
								
									537b6090d1
								
							
						
					
					
						commit
						543f29d1a9
					
				| 
						 | 
					@ -74,15 +74,14 @@ void ArchiveFile::parse() {
 | 
				
			||||||
// Returns a buffer pointing to a member file containing a given symbol.
 | 
					// Returns a buffer pointing to a member file containing a given symbol.
 | 
				
			||||||
// This function is thread-safe.
 | 
					// This function is thread-safe.
 | 
				
			||||||
MemoryBufferRef ArchiveFile::getMember(const Archive::Symbol *Sym) {
 | 
					MemoryBufferRef ArchiveFile::getMember(const Archive::Symbol *Sym) {
 | 
				
			||||||
  auto ItOrErr = Sym->getMember();
 | 
					  auto COrErr = Sym->getMember();
 | 
				
			||||||
  error(ItOrErr,
 | 
					  error(COrErr, Twine("Could not get the member for symbol ") + Sym->getName());
 | 
				
			||||||
        Twine("Could not get the member for symbol ") + Sym->getName());
 | 
					  const Archive::Child &C = *COrErr;
 | 
				
			||||||
  Archive::child_iterator It = *ItOrErr;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // Return an empty buffer if we have already returned the same buffer.
 | 
					  // Return an empty buffer if we have already returned the same buffer.
 | 
				
			||||||
  if (Seen[It->getChildOffset()].test_and_set())
 | 
					  if (Seen[C.getChildOffset()].test_and_set())
 | 
				
			||||||
    return MemoryBufferRef();
 | 
					    return MemoryBufferRef();
 | 
				
			||||||
  ErrorOr<MemoryBufferRef> Ret = It->getMemoryBufferRef();
 | 
					  ErrorOr<MemoryBufferRef> Ret = C.getMemoryBufferRef();
 | 
				
			||||||
  error(Ret, Twine("Could not get the buffer for the member defining symbol ") +
 | 
					  error(Ret, Twine("Could not get the buffer for the member defining symbol ") +
 | 
				
			||||||
                 Sym->getName());
 | 
					                 Sym->getName());
 | 
				
			||||||
  return *Ret;
 | 
					  return *Ret;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue