[clang-tools-extra] r331905 - [tools] Updating PPCallbacks::InclusionDirective calls
Evgenii Stepanov via cfe-commits
cfe-commits at lists.llvm.org
Wed May 9 15:13:08 PDT 2018
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 at 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 at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20180509/34d07273/attachment-0001.html>
More information about the cfe-commits
mailing list