Manna created this revision. Manna added reviewers: erichkeane, aaron.ballman. Herald added subscribers: manas, ASDenysPetrov, dkrupp, donat.nagy, Szelethus, a.sidorin, baloghadamsoftware. Herald added a reviewer: NoQ. Herald added a project: All. Manna requested review of this revision. Herald added a project: clang.
Reported by Coverity: Copy without assign This class has a user-defined copy constructor but no user-defined assignment operator. If the copy constructor is necessary to manage owned resources then a corresponding assignment operator is usually required. If an object of this type is assigned memory leaks and/or use-after-free errors may occur. Note that a compiler-generated assignment operator will perform only a bit-wise copy for any fields that do not have their own assignment operators defined. Class has user-written copy constructor but no user-written assignment operator copy_without_assign: Class <unnamed>::DeclUseTracker has a user-written copy constructor <unnamed>::DeclUseTracker::DeclUseTracker(<unnamed>::DeclUseTracker const &) =delete but no corresponding user-written assignment operator. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D148189 Files: clang/lib/Analysis/UnsafeBufferUsage.cpp Index: clang/lib/Analysis/UnsafeBufferUsage.cpp =================================================================== --- clang/lib/Analysis/UnsafeBufferUsage.cpp +++ clang/lib/Analysis/UnsafeBufferUsage.cpp @@ -645,6 +645,7 @@ public: DeclUseTracker() = default; DeclUseTracker(const DeclUseTracker &) = delete; // Let's avoid copies. + DeclUseTracker &operator=(const DeclUseTracker &) = delete; DeclUseTracker(DeclUseTracker &&) = default; DeclUseTracker &operator=(DeclUseTracker &&) = default;
Index: clang/lib/Analysis/UnsafeBufferUsage.cpp =================================================================== --- clang/lib/Analysis/UnsafeBufferUsage.cpp +++ clang/lib/Analysis/UnsafeBufferUsage.cpp @@ -645,6 +645,7 @@ public: DeclUseTracker() = default; DeclUseTracker(const DeclUseTracker &) = delete; // Let's avoid copies. + DeclUseTracker &operator=(const DeclUseTracker &) = delete; DeclUseTracker(DeclUseTracker &&) = default; DeclUseTracker &operator=(DeclUseTracker &&) = default;
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits