Author: Aaron Puchert Date: 2022-07-14T13:36:35+02:00 New Revision: e0c66c699eb000f604e24b1c4e73b899b4d942d3
URL: https://github.com/llvm/llvm-project/commit/e0c66c699eb000f604e24b1c4e73b899b4d942d3 DIFF: https://github.com/llvm/llvm-project/commit/e0c66c699eb000f604e24b1c4e73b899b4d942d3.diff LOG: Thread safety analysis: Don't erase TIL_Opcode type (NFC) This is mainly for debugging, but it also eliminates some casts. Added: Modified: clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h Removed: ################################################################################ diff --git a/clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h b/clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h index 77a800c28754c..65556c8d584c9 100644 --- a/clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h +++ b/clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h @@ -75,7 +75,7 @@ namespace til { class BasicBlock; /// Enum for the diff erent distinct classes of SExpr -enum TIL_Opcode { +enum TIL_Opcode : unsigned char { #define TIL_OPCODE_DEF(X) COP_##X, #include "ThreadSafetyOps.def" #undef TIL_OPCODE_DEF @@ -278,7 +278,7 @@ class SExpr { public: SExpr() = delete; - TIL_Opcode opcode() const { return static_cast<TIL_Opcode>(Opcode); } + TIL_Opcode opcode() const { return Opcode; } // Subclasses of SExpr must define the following: // @@ -321,7 +321,7 @@ class SExpr { SExpr(TIL_Opcode Op) : Opcode(Op) {} SExpr(const SExpr &E) : Opcode(E.Opcode), Flags(E.Flags) {} - const unsigned char Opcode; + const TIL_Opcode Opcode; unsigned char Reserved = 0; unsigned short Flags = 0; unsigned SExprID = 0; @@ -332,7 +332,7 @@ class SExpr { namespace ThreadSafetyTIL { inline bool isTrivial(const SExpr *E) { - unsigned Op = E->opcode(); + TIL_Opcode Op = E->opcode(); return Op == COP_Variable || Op == COP_Literal || Op == COP_LiteralPtr; } _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits