Add workaround for q++ 8.3.0 (QNX 7.1) compiler by making

sure MaskedPointer is trivially copyable and copy constructible.

Fixes #1758

PiperOrigin-RevId: 679618900
Change-Id: Ia0ebacd8bb43b3fe3b9cd654259bef9072cec46c
This commit is contained in:
Derek Mauro
2024-09-27 09:24:53 -07:00
committed by Copybara-Service
parent 482ca0b9d6
commit c6b27359c3

View File

@@ -373,9 +373,13 @@ class MaskedPointer {
static constexpr int RequiredAlignment() { return 4; }
constexpr MaskedPointer() : ptr_(nullptr) {}
constexpr explicit MaskedPointer(ptr_t rhs) : ptr_(rhs) {}
MaskedPointer(ptr_t rhs, bool is_candidate);
MaskedPointer(const MaskedPointer& rhs) = default;
MaskedPointer& operator=(const MaskedPointer& rhs) = default;
void* Ptr() const {
return reinterpret_cast<void*>(reinterpret_cast<mask_t>(ptr_) &
kPtrValueMask);