Add hack to SourceManager to support missing source files during
deserialization. Eventually this should be replaced with a lazy-reading mechanism that only reads source files when they are needed by clients. llvm-svn: 45007
This commit is contained in:
		
							parent
							
								
									31dcdb312b
								
							
						
					
					
						commit
						2f4ab7148c
					
				| 
						 | 
				
			
			@ -441,8 +441,12 @@ void ContentCache::ReadToSourceManager(llvm::Deserializer& D,
 | 
			
		|||
    const char* start = &Buf[0];
 | 
			
		||||
    const FileEntry* E = FMgr->getFile(start,start+Buf.size());
 | 
			
		||||
    
 | 
			
		||||
    assert (E && "Not yet supported: missing files.");
 | 
			
		||||
    
 | 
			
		||||
    // FIXME: Ideally we want a lazy materialization of the ContentCache
 | 
			
		||||
    //  anyway, because we don't want to read in source files unless this
 | 
			
		||||
    //  is absolutely needed.
 | 
			
		||||
    if (!E)
 | 
			
		||||
      D.RegisterPtr(PtrID,NULL);
 | 
			
		||||
    else    
 | 
			
		||||
      // Get the ContextCache object and register it with the deserializer.
 | 
			
		||||
      D.RegisterPtr(PtrID,SMgr.getContentCache(E));
 | 
			
		||||
  }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue