[PATCH] D155842: [NFC][clang] Fix static analyzer concerns
This revision was automatically updated to reflect the committed changes. Closed by commit rG0cb2906cdfb3: [NFC][clang] Fix static analyzer concerns (authored by Fznamznon). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D155842/new/ https://reviews.llvm.org/D155842 Files: clang/lib/Frontend/HeaderIncludeGen.cpp Index: clang/lib/Frontend/HeaderIncludeGen.cpp === --- clang/lib/Frontend/HeaderIncludeGen.cpp +++ clang/lib/Frontend/HeaderIncludeGen.cpp @@ -43,6 +43,9 @@ delete OutputFile; } + HeaderIncludesCallback(const HeaderIncludesCallback &) = delete; + HeaderIncludesCallback =(const HeaderIncludesCallback &) = delete; + void FileChanged(SourceLocation Loc, FileChangeReason Reason, SrcMgr::CharacteristicKind FileType, FileID PrevFID) override; @@ -90,6 +93,10 @@ delete OutputFile; } + HeaderIncludesJSONCallback(const HeaderIncludesJSONCallback &) = delete; + HeaderIncludesJSONCallback & + operator=(const HeaderIncludesJSONCallback &) = delete; + void EndOfMainFile() override; void FileChanged(SourceLocation Loc, FileChangeReason Reason, Index: clang/lib/Frontend/HeaderIncludeGen.cpp === --- clang/lib/Frontend/HeaderIncludeGen.cpp +++ clang/lib/Frontend/HeaderIncludeGen.cpp @@ -43,6 +43,9 @@ delete OutputFile; } + HeaderIncludesCallback(const HeaderIncludesCallback &) = delete; + HeaderIncludesCallback =(const HeaderIncludesCallback &) = delete; + void FileChanged(SourceLocation Loc, FileChangeReason Reason, SrcMgr::CharacteristicKind FileType, FileID PrevFID) override; @@ -90,6 +93,10 @@ delete OutputFile; } + HeaderIncludesJSONCallback(const HeaderIncludesJSONCallback &) = delete; + HeaderIncludesJSONCallback & + operator=(const HeaderIncludesJSONCallback &) = delete; + void EndOfMainFile() override; void FileChanged(SourceLocation Loc, FileChangeReason Reason, ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D155842: [NFC][clang] Fix static analyzer concerns
Fznamznon updated this revision to Diff 543420. Fznamznon added a comment. Rebase to maybe fix precommit Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D155842/new/ https://reviews.llvm.org/D155842 Files: clang/lib/Frontend/HeaderIncludeGen.cpp Index: clang/lib/Frontend/HeaderIncludeGen.cpp === --- clang/lib/Frontend/HeaderIncludeGen.cpp +++ clang/lib/Frontend/HeaderIncludeGen.cpp @@ -43,6 +43,9 @@ delete OutputFile; } + HeaderIncludesCallback(const HeaderIncludesCallback &) = delete; + HeaderIncludesCallback =(const HeaderIncludesCallback &) = delete; + void FileChanged(SourceLocation Loc, FileChangeReason Reason, SrcMgr::CharacteristicKind FileType, FileID PrevFID) override; @@ -90,6 +93,10 @@ delete OutputFile; } + HeaderIncludesJSONCallback(const HeaderIncludesJSONCallback &) = delete; + HeaderIncludesJSONCallback & + operator=(const HeaderIncludesJSONCallback &) = delete; + void EndOfMainFile() override; void FileChanged(SourceLocation Loc, FileChangeReason Reason, Index: clang/lib/Frontend/HeaderIncludeGen.cpp === --- clang/lib/Frontend/HeaderIncludeGen.cpp +++ clang/lib/Frontend/HeaderIncludeGen.cpp @@ -43,6 +43,9 @@ delete OutputFile; } + HeaderIncludesCallback(const HeaderIncludesCallback &) = delete; + HeaderIncludesCallback =(const HeaderIncludesCallback &) = delete; + void FileChanged(SourceLocation Loc, FileChangeReason Reason, SrcMgr::CharacteristicKind FileType, FileID PrevFID) override; @@ -90,6 +93,10 @@ delete OutputFile; } + HeaderIncludesJSONCallback(const HeaderIncludesJSONCallback &) = delete; + HeaderIncludesJSONCallback & + operator=(const HeaderIncludesJSONCallback &) = delete; + void EndOfMainFile() override; void FileChanged(SourceLocation Loc, FileChangeReason Reason, ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D155842: [NFC][clang] Fix static analyzer concerns
tahonermann accepted this revision. tahonermann added a comment. This is a good change since the default copy constructor would do bad things when `ownsOutputFile` is true. The copy assignment operator is already implicitly deleted because of the presence of a data member of reference type, but I think it is helpful to explicitly delete both. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D155842/new/ https://reviews.llvm.org/D155842 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D155842: [NFC][clang] Fix static analyzer concerns
aaron.ballman accepted this revision. aaron.ballman added a comment. This revision is now accepted and ready to land. LGTM! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D155842/new/ https://reviews.llvm.org/D155842 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D155842: [NFC][clang] Fix static analyzer concerns
Fznamznon created this revision. Herald added subscribers: manas, ASDenysPetrov, dkrupp, donat.nagy, Szelethus, a.sidorin, baloghadamsoftware. Herald added a project: All. Fznamznon requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. HeaderIncludesCallback and HeaderIncludesJSONCallback classes may own resources and free them in the destructor. However they don't have copy user-written constructors/assignment operators, so an attempt to copy a HeaderIncludesCallback object will use compiler-generated copy constructor which will only do dummy copy and afterwards there will be use-after-free issues. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D155842 Files: clang/lib/Frontend/HeaderIncludeGen.cpp Index: clang/lib/Frontend/HeaderIncludeGen.cpp === --- clang/lib/Frontend/HeaderIncludeGen.cpp +++ clang/lib/Frontend/HeaderIncludeGen.cpp @@ -43,6 +43,9 @@ delete OutputFile; } + HeaderIncludesCallback(const HeaderIncludesCallback &) = delete; + HeaderIncludesCallback =(const HeaderIncludesCallback &) = delete; + void FileChanged(SourceLocation Loc, FileChangeReason Reason, SrcMgr::CharacteristicKind FileType, FileID PrevFID) override; @@ -90,6 +93,10 @@ delete OutputFile; } + HeaderIncludesJSONCallback(const HeaderIncludesJSONCallback &) = delete; + HeaderIncludesJSONCallback & + operator=(const HeaderIncludesJSONCallback &) = delete; + void EndOfMainFile() override; void FileChanged(SourceLocation Loc, FileChangeReason Reason, Index: clang/lib/Frontend/HeaderIncludeGen.cpp === --- clang/lib/Frontend/HeaderIncludeGen.cpp +++ clang/lib/Frontend/HeaderIncludeGen.cpp @@ -43,6 +43,9 @@ delete OutputFile; } + HeaderIncludesCallback(const HeaderIncludesCallback &) = delete; + HeaderIncludesCallback =(const HeaderIncludesCallback &) = delete; + void FileChanged(SourceLocation Loc, FileChangeReason Reason, SrcMgr::CharacteristicKind FileType, FileID PrevFID) override; @@ -90,6 +93,10 @@ delete OutputFile; } + HeaderIncludesJSONCallback(const HeaderIncludesJSONCallback &) = delete; + HeaderIncludesJSONCallback & + operator=(const HeaderIncludesJSONCallback &) = delete; + void EndOfMainFile() override; void FileChanged(SourceLocation Loc, FileChangeReason Reason, ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits