From 70f190a9492bb65e5cf11f7d3b5e0084aec21e8a Mon Sep 17 00:00:00 2001 From: Andrew Rogers Date: Tue, 8 Jul 2025 10:28:41 -0700 Subject: [PATCH 1/3] fix C++20 warnings --- Headers/DebugServer2/Base.h | 4 +++- Headers/DebugServer2/Core/CPUTypes.h | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Headers/DebugServer2/Base.h b/Headers/DebugServer2/Base.h index 9659aa3e..5c00f529 100644 --- a/Headers/DebugServer2/Base.h +++ b/Headers/DebugServer2/Base.h @@ -19,6 +19,7 @@ typedef SSIZE_T ssize_t; #endif #else +#include #include #endif #include @@ -117,7 +118,8 @@ typedef SSIZE_T ssize_t; // structure, and not held as a reference or a pointer. template typename std::enable_if< - !std::is_pointer::value && std::is_pod::value, + !std::is_pointer::value && std::is_trivial::value && + std::is_standard_layout::value, size_t>::type static inline constexpr array_sizeof(T const &array) { return sizeof(array) / (reinterpret_cast(&array[1]) - reinterpret_cast(&array[0])); diff --git a/Headers/DebugServer2/Core/CPUTypes.h b/Headers/DebugServer2/Core/CPUTypes.h index 15927b29..9e76e0d3 100644 --- a/Headers/DebugServer2/Core/CPUTypes.h +++ b/Headers/DebugServer2/Core/CPUTypes.h @@ -258,8 +258,8 @@ enum CPUSubType { }; static inline bool CPUTypeIs64Bit(CPUType type) { - return type & kCPUArchABI64 || type == kCPUTypeALPHA || - type == kCPUTypeRISCV64; + return static_cast(type) & static_cast(kCPUArchABI64) || + type == kCPUTypeALPHA || type == kCPUTypeRISCV64; } char const *GetCPUTypeName(CPUType type); From 167b7051725c72d6bb7734e4a08a90c509b178cd Mon Sep 17 00:00:00 2001 From: Andrew Rogers Date: Tue, 8 Jul 2025 17:12:32 -0700 Subject: [PATCH 2/3] Update Headers/DebugServer2/Base.h Co-authored-by: Saleem Abdulrasool --- Headers/DebugServer2/Base.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Headers/DebugServer2/Base.h b/Headers/DebugServer2/Base.h index 5c00f529..d3cf39db 100644 --- a/Headers/DebugServer2/Base.h +++ b/Headers/DebugServer2/Base.h @@ -118,8 +118,8 @@ typedef SSIZE_T ssize_t; // structure, and not held as a reference or a pointer. template typename std::enable_if< - !std::is_pointer::value && std::is_trivial::value && - std::is_standard_layout::value, + !std::is_pointer_v && std::is_trivial_v && + std::is_standard_layout_v, size_t>::type static inline constexpr array_sizeof(T const &array) { return sizeof(array) / (reinterpret_cast(&array[1]) - reinterpret_cast(&array[0])); From 17072df8297169c5a979db99d648485e304cae49 Mon Sep 17 00:00:00 2001 From: Andrew Rogers Date: Tue, 8 Jul 2025 17:20:35 -0700 Subject: [PATCH 3/3] remove std::is_trivial_v --- Headers/DebugServer2/Base.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Headers/DebugServer2/Base.h b/Headers/DebugServer2/Base.h index d3cf39db..94983d4f 100644 --- a/Headers/DebugServer2/Base.h +++ b/Headers/DebugServer2/Base.h @@ -118,8 +118,7 @@ typedef SSIZE_T ssize_t; // structure, and not held as a reference or a pointer. template typename std::enable_if< - !std::is_pointer_v && std::is_trivial_v && - std::is_standard_layout_v, + !std::is_pointer_v && std::is_standard_layout_v, size_t>::type static inline constexpr array_sizeof(T const &array) { return sizeof(array) / (reinterpret_cast(&array[1]) - reinterpret_cast(&array[0]));