Reverted, found the memory leak and will put up a patch to fix it & reland in a bit. Thanks!
On Wed, May 9, 2018 at 3:13 PM Evgenii Stepanov <eugeni.stepa...@gmail.com> wrote: > 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