[cfe-dev] fix a bug, id = 4219

Jiandong Lu lujiandong1001 at yahoo.com.cn
Sat May 23 04:30:31 PDT 2009


bug 4219 is about function clang::SourceManager::getOrCreateContentCache().It has an assertion on line 278 in file clang/lib/Basic/SourceManager.cpp modification:add this codes:" if (!File){
   return IgnorePCH;   }	  "
in function  PCHReader::ReadSLocEntryRecord() after line 808 in file clang/lib/Frontend/PCHReader.cppso that the codes are like this "case pch::SM_SLOC_FILE_ENTRY: {
    const FileEntry *File 
      = PP.getFileManager().getFile(BlobStart, BlobStart + BlobLen);
	  if (!File){
		  return IgnorePCH;  
	  }	  
    // FIXME: Error recovery if file cannot be found.
    FileID FID = SourceMgr.createFileID(File,
                                SourceLocation::getFromRawEncoding(Record[1]),
                                       (SrcMgr::CharacteristicKind)Record[2],
                                        ID, Record[0]);
    if (Record[3])
      const_cast<SrcMgr::FileInfo&>(SourceMgr.getSLocEntry(FID).getFile())
        .setHasLineDirectives();


    break;
  }"  



      ___________________________________________________________ 
  好玩贺卡等你发,邮箱贺卡全新上线! 
http://card.mail.cn.yahoo.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20090523/880b46db/attachment.html>


More information about the cfe-dev mailing list