Commit c6b27359 by Derek Mauro Committed by Copybara-Service

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
parent 482ca0b9
...@@ -373,9 +373,13 @@ class MaskedPointer { ...@@ -373,9 +373,13 @@ class MaskedPointer {
static constexpr int RequiredAlignment() { return 4; } static constexpr int RequiredAlignment() { return 4; }
constexpr MaskedPointer() : ptr_(nullptr) {}
constexpr explicit MaskedPointer(ptr_t rhs) : ptr_(rhs) {} constexpr explicit MaskedPointer(ptr_t rhs) : ptr_(rhs) {}
MaskedPointer(ptr_t rhs, bool is_candidate); MaskedPointer(ptr_t rhs, bool is_candidate);
MaskedPointer(const MaskedPointer& rhs) = default;
MaskedPointer& operator=(const MaskedPointer& rhs) = default;
void* Ptr() const { void* Ptr() const {
return reinterpret_cast<void*>(reinterpret_cast<mask_t>(ptr_) & return reinterpret_cast<void*>(reinterpret_cast<mask_t>(ptr_) &
kPtrValueMask); kPtrValueMask);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment