Commit 84c91aba authored by Jose Dapena Paz's avatar Jose Dapena Paz Committed by Commit Bot

Make SharedMemoryMapping move constructor noexcept

As LayerTreeHostImpl::UIResourceData move constructor is declared
noexcept with default implementation, the move constructor of its
members should also be noexcept. GCC will fail to build otherwise
for mismatching noexcept declaration.

We also set the move assignment operator.

Bug: 819294
Change-Id: Icd663da83b882e15f7d16780c9241972e09bc492
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645297
Commit-Queue: José Dapena Paz <jose.dapena@lge.com>
Reviewed-by: default avatarDaniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#667064}
parent d560530a
...@@ -33,7 +33,7 @@ namespace base { ...@@ -33,7 +33,7 @@ namespace base {
SharedMemoryMapping::SharedMemoryMapping() = default; SharedMemoryMapping::SharedMemoryMapping() = default;
SharedMemoryMapping::SharedMemoryMapping(SharedMemoryMapping&& mapping) SharedMemoryMapping::SharedMemoryMapping(SharedMemoryMapping&& mapping) noexcept
: memory_(mapping.memory_), : memory_(mapping.memory_),
size_(mapping.size_), size_(mapping.size_),
mapped_size_(mapping.mapped_size_), mapped_size_(mapping.mapped_size_),
...@@ -42,7 +42,7 @@ SharedMemoryMapping::SharedMemoryMapping(SharedMemoryMapping&& mapping) ...@@ -42,7 +42,7 @@ SharedMemoryMapping::SharedMemoryMapping(SharedMemoryMapping&& mapping)
} }
SharedMemoryMapping& SharedMemoryMapping::operator=( SharedMemoryMapping& SharedMemoryMapping::operator=(
SharedMemoryMapping&& mapping) { SharedMemoryMapping&& mapping) noexcept {
Unmap(); Unmap();
memory_ = mapping.memory_; memory_ = mapping.memory_;
size_ = mapping.size_; size_ = mapping.size_;
...@@ -90,9 +90,9 @@ void SharedMemoryMapping::Unmap() { ...@@ -90,9 +90,9 @@ void SharedMemoryMapping::Unmap() {
ReadOnlySharedMemoryMapping::ReadOnlySharedMemoryMapping() = default; ReadOnlySharedMemoryMapping::ReadOnlySharedMemoryMapping() = default;
ReadOnlySharedMemoryMapping::ReadOnlySharedMemoryMapping( ReadOnlySharedMemoryMapping::ReadOnlySharedMemoryMapping(
ReadOnlySharedMemoryMapping&&) = default; ReadOnlySharedMemoryMapping&&) noexcept = default;
ReadOnlySharedMemoryMapping& ReadOnlySharedMemoryMapping::operator=( ReadOnlySharedMemoryMapping& ReadOnlySharedMemoryMapping::operator=(
ReadOnlySharedMemoryMapping&&) = default; ReadOnlySharedMemoryMapping&&) noexcept = default;
ReadOnlySharedMemoryMapping::ReadOnlySharedMemoryMapping( ReadOnlySharedMemoryMapping::ReadOnlySharedMemoryMapping(
void* address, void* address,
size_t size, size_t size,
...@@ -102,9 +102,9 @@ ReadOnlySharedMemoryMapping::ReadOnlySharedMemoryMapping( ...@@ -102,9 +102,9 @@ ReadOnlySharedMemoryMapping::ReadOnlySharedMemoryMapping(
WritableSharedMemoryMapping::WritableSharedMemoryMapping() = default; WritableSharedMemoryMapping::WritableSharedMemoryMapping() = default;
WritableSharedMemoryMapping::WritableSharedMemoryMapping( WritableSharedMemoryMapping::WritableSharedMemoryMapping(
WritableSharedMemoryMapping&&) = default; WritableSharedMemoryMapping&&) noexcept = default;
WritableSharedMemoryMapping& WritableSharedMemoryMapping::operator=( WritableSharedMemoryMapping& WritableSharedMemoryMapping::operator=(
WritableSharedMemoryMapping&&) = default; WritableSharedMemoryMapping&&) noexcept = default;
WritableSharedMemoryMapping::WritableSharedMemoryMapping( WritableSharedMemoryMapping::WritableSharedMemoryMapping(
void* address, void* address,
size_t size, size_t size,
......
...@@ -32,8 +32,8 @@ class BASE_EXPORT SharedMemoryMapping { ...@@ -32,8 +32,8 @@ class BASE_EXPORT SharedMemoryMapping {
SharedMemoryMapping(); SharedMemoryMapping();
// Move operations are allowed. // Move operations are allowed.
SharedMemoryMapping(SharedMemoryMapping&& mapping); SharedMemoryMapping(SharedMemoryMapping&& mapping) noexcept;
SharedMemoryMapping& operator=(SharedMemoryMapping&& mapping); SharedMemoryMapping& operator=(SharedMemoryMapping&& mapping) noexcept;
// Unmaps the region if the mapping is valid. // Unmaps the region if the mapping is valid.
virtual ~SharedMemoryMapping(); virtual ~SharedMemoryMapping();
...@@ -93,8 +93,9 @@ class BASE_EXPORT ReadOnlySharedMemoryMapping : public SharedMemoryMapping { ...@@ -93,8 +93,9 @@ class BASE_EXPORT ReadOnlySharedMemoryMapping : public SharedMemoryMapping {
ReadOnlySharedMemoryMapping(); ReadOnlySharedMemoryMapping();
// Move operations are allowed. // Move operations are allowed.
ReadOnlySharedMemoryMapping(ReadOnlySharedMemoryMapping&&); ReadOnlySharedMemoryMapping(ReadOnlySharedMemoryMapping&&) noexcept;
ReadOnlySharedMemoryMapping& operator=(ReadOnlySharedMemoryMapping&&); ReadOnlySharedMemoryMapping& operator=(
ReadOnlySharedMemoryMapping&&) noexcept;
// Returns the base address of the mapping. This is read-only memory. This is // Returns the base address of the mapping. This is read-only memory. This is
// page-aligned. This is nullptr for invalid instances. // page-aligned. This is nullptr for invalid instances.
...@@ -171,8 +172,9 @@ class BASE_EXPORT WritableSharedMemoryMapping : public SharedMemoryMapping { ...@@ -171,8 +172,9 @@ class BASE_EXPORT WritableSharedMemoryMapping : public SharedMemoryMapping {
WritableSharedMemoryMapping(); WritableSharedMemoryMapping();
// Move operations are allowed. // Move operations are allowed.
WritableSharedMemoryMapping(WritableSharedMemoryMapping&&); WritableSharedMemoryMapping(WritableSharedMemoryMapping&&) noexcept;
WritableSharedMemoryMapping& operator=(WritableSharedMemoryMapping&&); WritableSharedMemoryMapping& operator=(
WritableSharedMemoryMapping&&) noexcept;
// Returns the base address of the mapping. This is writable memory. This is // Returns the base address of the mapping. This is writable memory. This is
// page-aligned. This is nullptr for invalid instances. // page-aligned. This is nullptr for invalid instances.
......
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