[Lldb-commits] [lldb] [lldb][AArch64][Linux] Make RegisterSetType a plain enum with bitmask values (PR #223373)
Raphael Isemann via lldb-commits
lldb-commits at lists.llvm.org
Tue Sep 29 05:09:38 PDT 2026
================
@@ -112,39 +110,29 @@ class NativeRegisterContextLinux_arm64
GCS = 1 << 11,
// Permission Overlay registers.
POE = 1 << 12,
- LLVM_MARK_AS_BITMASK_ENUM(POE),
};
-
- RegisterSetType m_validity = static_cast<RegisterSetType>(0);
-
// Returns the ptrace register set number for the given register set.
unsigned int GetPtraceSet(RegisterSetType set) const;
size_t GetSetSize(RegisterSetType set) const;
void *GetSetBuffer(RegisterSetType set);
- void MakeValid(RegisterSetType set) { m_validity |= set; }
+ std::underlying_type_t<RegisterSetType> m_validity;
- [[nodiscard]] bool IsValid(RegisterSetType set) const {
- return any(m_validity & set);
+ void MakeValid(RegisterSetType set) {
+ m_validity |= static_cast<std::underlying_type_t<RegisterSetType>>(set);
----------------
Teemperor wrote:
nit: You can just typedef `std::underlying_type_t<RegisterSetType>` to something like `RegisterSetStorageType` so the other code becomes more readable.
https://github.com/llvm/llvm-project/pull/223373
More information about the lldb-commits
mailing list