HI, ASan says there is a use-after-free after this change: http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-bootstrap/builds/5410/steps/check-clang%20asan/logs/stdio
MSan also sees a problem, but ASan's is likely closer to the root cause: http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-bootstrap-msan/builds/4529/steps/check-clang%20msan/logs/stdio On Wed, May 9, 2018 at 11:27 AM, Julie Hockett via cfe-commits < cfe-commits@lists.llvm.org> wrote: > Author: juliehockett > Date: Wed May 9 11:27:37 2018 > New Revision: 331905 > > URL: http://llvm.org/viewvc/llvm-project?rev=331905&view=rev > Log: > [tools] Updating PPCallbacks::InclusionDirective calls > > [revision] added SrcMgr::CharacteristicKind to the InclusionDirective > callback, this revision updates instances of it in clang-tools-extra. > > Differential Revision: https://reviews.llvm.org/D46615 > > Modified: > clang-tools-extra/trunk/clang-move/ClangMove.cpp > clang-tools-extra/trunk/clang-tidy/llvm/IncludeOrderCheck.cpp > clang-tools-extra/trunk/clang-tidy/modernize/ > DeprecatedHeadersCheck.cpp > clang-tools-extra/trunk/clang-tidy/utils/IncludeInserter.cpp > clang-tools-extra/trunk/clangd/ClangdUnit.cpp > clang-tools-extra/trunk/clangd/Headers.cpp > clang-tools-extra/trunk/modularize/CoverageChecker.cpp > clang-tools-extra/trunk/modularize/PreprocessorTracker.cpp > clang-tools-extra/trunk/pp-trace/PPCallbacksTracker.cpp > clang-tools-extra/trunk/pp-trace/PPCallbacksTracker.h > > Modified: clang-tools-extra/trunk/clang-move/ClangMove.cpp > URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/ > trunk/clang-move/ClangMove.cpp?rev=331905&r1=331904&r2=331905&view=diff > ============================================================ > ================== > --- clang-tools-extra/trunk/clang-move/ClangMove.cpp (original) > +++ clang-tools-extra/trunk/clang-move/ClangMove.cpp Wed May 9 11:27:37 > 2018 > @@ -131,7 +131,8 @@ public: > clang::CharSourceRange FilenameRange, > const clang::FileEntry * /*File*/, > StringRef SearchPath, StringRef > /*RelativePath*/, > - const clang::Module * /*Imported*/) override { > + const clang::Module * /*Imported*/, > + SrcMgr::CharacteristicKind /*FileType*/) > override { > if (const auto *FileEntry = SM.getFileEntryForID(SM. > getFileID(HashLoc))) > MoveTool->addIncludes(FileName, IsAngled, SearchPath, > FileEntry->getName(), FilenameRange, SM); > > Modified: clang-tools-extra/trunk/clang-tidy/llvm/IncludeOrderCheck.cpp > URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/ > trunk/clang-tidy/llvm/IncludeOrderCheck.cpp?rev= > 331905&r1=331904&r2=331905&view=diff > ============================================================ > ================== > --- clang-tools-extra/trunk/clang-tidy/llvm/IncludeOrderCheck.cpp > (original) > +++ clang-tools-extra/trunk/clang-tidy/llvm/IncludeOrderCheck.cpp Wed > May 9 11:27:37 2018 > @@ -28,7 +28,8 @@ public: > StringRef FileName, bool IsAngled, > CharSourceRange FilenameRange, const FileEntry > *File, > StringRef SearchPath, StringRef RelativePath, > - const Module *Imported) override; > + const Module *Imported, > + SrcMgr::CharacteristicKind FileType) override; > void EndOfMainFile() override; > > private: > @@ -76,7 +77,8 @@ static int getPriority(StringRef Filenam > void IncludeOrderPPCallbacks::InclusionDirective( > SourceLocation HashLoc, const Token &IncludeTok, StringRef FileName, > bool IsAngled, CharSourceRange FilenameRange, const FileEntry *File, > - StringRef SearchPath, StringRef RelativePath, const Module *Imported) > { > + StringRef SearchPath, StringRef RelativePath, const Module *Imported, > + SrcMgr::CharacteristicKind FileType) { > // We recognize the first include as a special main module header and > want > // to leave it in the top position. > IncludeDirective ID = {HashLoc, FilenameRange, FileName, IsAngled, > false}; > > Modified: clang-tools-extra/trunk/clang-tidy/modernize/ > DeprecatedHeadersCheck.cpp > URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/ > trunk/clang-tidy/modernize/DeprecatedHeadersCheck.cpp? > rev=331905&r1=331904&r2=331905&view=diff > ============================================================ > ================== > --- clang-tools-extra/trunk/clang-tidy/modernize/DeprecatedHeadersCheck.cpp > (original) > +++ clang-tools-extra/trunk/clang-tidy/modernize/DeprecatedHeadersCheck.cpp > Wed May 9 11:27:37 2018 > @@ -30,7 +30,8 @@ public: > StringRef FileName, bool IsAngled, > CharSourceRange FilenameRange, const FileEntry > *File, > StringRef SearchPath, StringRef RelativePath, > - const Module *Imported) override; > + const Module *Imported, > + SrcMgr::CharacteristicKind FileType) override; > > private: > ClangTidyCheck &Check; > @@ -94,7 +95,8 @@ IncludeModernizePPCallbacks::IncludeMode > void IncludeModernizePPCallbacks::InclusionDirective( > SourceLocation HashLoc, const Token &IncludeTok, StringRef FileName, > bool IsAngled, CharSourceRange FilenameRange, const FileEntry *File, > - StringRef SearchPath, StringRef RelativePath, const Module *Imported) > { > + StringRef SearchPath, StringRef RelativePath, const Module *Imported, > + SrcMgr::CharacteristicKind FileType) { > // FIXME: Take care of library symbols from the global namespace. > // > // Reasonable options for the check: > > Modified: clang-tools-extra/trunk/clang-tidy/utils/IncludeInserter.cpp > URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/ > trunk/clang-tidy/utils/IncludeInserter.cpp?rev=331905&r1=331904&r2=331905& > view=diff > ============================================================ > ================== > --- clang-tools-extra/trunk/clang-tidy/utils/IncludeInserter.cpp > (original) > +++ clang-tools-extra/trunk/clang-tidy/utils/IncludeInserter.cpp Wed May > 9 11:27:37 2018 > @@ -25,7 +25,8 @@ public: > bool IsAngled, CharSourceRange FileNameRange, > const FileEntry * /*IncludedFile*/, > StringRef /*SearchPath*/, StringRef > /*RelativePath*/, > - const Module * /*ImportedModule*/) override { > + const Module * /*ImportedModule*/, > + SrcMgr::CharacteristicKind /*FileType*/) > override { > Inserter->AddInclude(FileNameRef, IsAngled, HashLocation, > IncludeToken.getEndLoc()); > } > > Modified: clang-tools-extra/trunk/clangd/ClangdUnit.cpp > URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/ > trunk/clangd/ClangdUnit.cpp?rev=331905&r1=331904&r2=331905&view=diff > ============================================================ > ================== > --- clang-tools-extra/trunk/clangd/ClangdUnit.cpp (original) > +++ clang-tools-extra/trunk/clangd/ClangdUnit.cpp Wed May 9 11:27:37 2018 > @@ -93,7 +93,8 @@ public: > StringRef FileName, bool IsAngled, > CharSourceRange FilenameRange, const FileEntry > *File, > StringRef SearchPath, StringRef RelativePath, > - const Module *Imported) override { > + const Module *Imported, > + SrcMgr::CharacteristicKind FileType) override { > auto SR = FilenameRange.getAsRange(); > if (SR.isInvalid() || !File || File->tryGetRealPathName().empty()) > return; > > Modified: clang-tools-extra/trunk/clangd/Headers.cpp > URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/ > trunk/clangd/Headers.cpp?rev=331905&r1=331904&r2=331905&view=diff > ============================================================ > ================== > --- clang-tools-extra/trunk/clangd/Headers.cpp (original) > +++ clang-tools-extra/trunk/clangd/Headers.cpp Wed May 9 11:27:37 2018 > @@ -34,7 +34,8 @@ public: > CharSourceRange /*FilenameRange*/, > const FileEntry *File, llvm::StringRef > /*SearchPath*/, > llvm::StringRef /*RelativePath*/, > - const Module * /*Imported*/) override { > + const Module * /*Imported*/, > + SrcMgr::CharacteristicKind /*FileType*/) > override { > WrittenHeaders.insert( > (IsAngled ? "<" + FileName + ">" : "\"" + FileName + "\"").str()); > if (File != nullptr && !File->tryGetRealPathName().empty()) > > Modified: clang-tools-extra/trunk/modularize/CoverageChecker.cpp > URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/ > trunk/modularize/CoverageChecker.cpp?rev=331905&r1=331904&r2=331905& > view=diff > ============================================================ > ================== > --- clang-tools-extra/trunk/modularize/CoverageChecker.cpp (original) > +++ clang-tools-extra/trunk/modularize/CoverageChecker.cpp Wed May 9 > 11:27:37 2018 > @@ -90,7 +90,8 @@ public: > StringRef FileName, bool IsAngled, > CharSourceRange FilenameRange, const FileEntry > *File, > StringRef SearchPath, StringRef RelativePath, > - const Module *Imported) override { > + const Module *Imported, > + SrcMgr::CharacteristicKind FileType) override { > Checker.collectUmbrellaHeaderHeader(File->getName()); > } > > > Modified: clang-tools-extra/trunk/modularize/PreprocessorTracker.cpp > URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/ > trunk/modularize/PreprocessorTracker.cpp?rev=331905&r1=331904&r2=331905& > view=diff > ============================================================ > ================== > --- clang-tools-extra/trunk/modularize/PreprocessorTracker.cpp (original) > +++ clang-tools-extra/trunk/modularize/PreprocessorTracker.cpp Wed May 9 > 11:27:37 2018 > @@ -750,7 +750,8 @@ public: > const clang::FileEntry *File, > llvm::StringRef SearchPath, > llvm::StringRef RelativePath, > - const clang::Module *Imported) override; > + const clang::Module *Imported, > + clang::SrcMgr::CharacteristicKind FileType) > override; > void FileChanged(clang::SourceLocation Loc, > clang::PPCallbacks::FileChangeReason Reason, > clang::SrcMgr::CharacteristicKind FileType, > @@ -1289,7 +1290,7 @@ void PreprocessorCallbacks::InclusionDir > llvm::StringRef FileName, bool IsAngled, > clang::CharSourceRange FilenameRange, const clang::FileEntry *File, > llvm::StringRef SearchPath, llvm::StringRef RelativePath, > - const clang::Module *Imported) { > + const clang::Module *Imported, clang::SrcMgr::CharacteristicKind > FileType) { > int DirectiveLine, DirectiveColumn; > std::string HeaderPath = getSourceLocationFile(PP, HashLoc); > getSourceLocationLineAndColumn(PP, HashLoc, DirectiveLine, > DirectiveColumn); > > Modified: clang-tools-extra/trunk/pp-trace/PPCallbacksTracker.cpp > URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/pp-trace/ > PPCallbacksTracker.cpp?rev=331905&r1=331904&r2=331905&view=diff > ============================================================ > ================== > --- clang-tools-extra/trunk/pp-trace/PPCallbacksTracker.cpp (original) > +++ clang-tools-extra/trunk/pp-trace/PPCallbacksTracker.cpp Wed May 9 > 11:27:37 2018 > @@ -139,7 +139,7 @@ void PPCallbacksTracker::InclusionDirect > llvm::StringRef FileName, bool IsAngled, > clang::CharSourceRange FilenameRange, const clang::FileEntry *File, > llvm::StringRef SearchPath, llvm::StringRef RelativePath, > - const clang::Module *Imported) { > + const clang::Module *Imported, clang::SrcMgr::CharacteristicKind > FileType) { > beginCallback("InclusionDirective"); > appendArgument("IncludeTok", IncludeTok); > appendFilePathArgument("FileName", FileName); > > Modified: clang-tools-extra/trunk/pp-trace/PPCallbacksTracker.h > URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/pp-trace/ > PPCallbacksTracker.h?rev=331905&r1=331904&r2=331905&view=diff > ============================================================ > ================== > --- clang-tools-extra/trunk/pp-trace/PPCallbacksTracker.h (original) > +++ clang-tools-extra/trunk/pp-trace/PPCallbacksTracker.h Wed May 9 > 11:27:37 2018 > @@ -102,7 +102,8 @@ public: > const clang::FileEntry *File, > llvm::StringRef SearchPath, > llvm::StringRef RelativePath, > - const clang::Module *Imported) override; > + const clang::Module *Imported, > + clang::SrcMgr::CharacteristicKind FileType) > override; > void moduleImport(clang::SourceLocation ImportLoc, clang::ModuleIdPath > Path, > const clang::Module *Imported) override; > void EndOfMainFile() override; > > > _______________________________________________ > cfe-commits mailing list > cfe-commits@lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits >
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits