This revision was automatically updated to reflect the committed changes. Closed by commit rG11528fceac6b: [Clang] Fix Static Code Analysis Concerns with copy without assign (authored by Manna).
Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D150931/new/ https://reviews.llvm.org/D150931 Files: clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h Index: clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h =================================================================== --- clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h +++ clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h @@ -84,6 +84,10 @@ CallEventRef(const T *Call) : IntrusiveRefCntPtr<const T>(Call) {} CallEventRef(const CallEventRef &Orig) : IntrusiveRefCntPtr<const T>(Orig) {} + // The copy assignment operator is defined as deleted pending further + // motivation. + CallEventRef &operator=(const CallEventRef &) = delete; + CallEventRef<T> cloneWithState(ProgramStateRef State) const { return this->get()->template cloneWithState<T>(State); } Index: clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h =================================================================== --- clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h +++ clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h @@ -319,6 +319,7 @@ protected: SExpr(TIL_Opcode Op) : Opcode(Op) {} SExpr(const SExpr &E) : Opcode(E.Opcode), Flags(E.Flags) {} + SExpr &operator=(const SExpr &) = delete; const TIL_Opcode Opcode; unsigned char Reserved = 0;
Index: clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h =================================================================== --- clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h +++ clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h @@ -84,6 +84,10 @@ CallEventRef(const T *Call) : IntrusiveRefCntPtr<const T>(Call) {} CallEventRef(const CallEventRef &Orig) : IntrusiveRefCntPtr<const T>(Orig) {} + // The copy assignment operator is defined as deleted pending further + // motivation. + CallEventRef &operator=(const CallEventRef &) = delete; + CallEventRef<T> cloneWithState(ProgramStateRef State) const { return this->get()->template cloneWithState<T>(State); } Index: clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h =================================================================== --- clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h +++ clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h @@ -319,6 +319,7 @@ protected: SExpr(TIL_Opcode Op) : Opcode(Op) {} SExpr(const SExpr &E) : Opcode(E.Opcode), Flags(E.Flags) {} + SExpr &operator=(const SExpr &) = delete; const TIL_Opcode Opcode; unsigned char Reserved = 0;
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits