diff options
author | Thiago Marcos P. Santos <tmpsantos@gmail.com> | 2020-03-27 18:30:35 +0200 |
---|---|---|
committer | Thiago Marcos P. Santos <tmpsantos@gmail.com> | 2020-04-17 13:36:50 +0300 |
commit | cc8b0e1746cfc6fdc99582fdb09e7624b14d9d0e (patch) | |
tree | 3a57a6c0fc77d4c2e78657948294b6cc5e18d8e0 | |
parent | b49517b73705e69d401925658ae0657b8a98b6a6 (diff) | |
download | qtlocation-mapboxgl-cc8b0e1746cfc6fdc99582fdb09e7624b14d9d0e.tar.gz |
[core] Fix performance-noexcept-move-constructor in header files
As reported by clang-tidy-8.
-rw-r--r-- | include/mbgl/style/conversion_impl.hpp | 4 | ||||
-rw-r--r-- | include/mbgl/util/image.hpp | 8 | ||||
-rw-r--r-- | include/mbgl/util/immutable.hpp | 8 | ||||
-rw-r--r-- | src/mbgl/gfx/debug_group.hpp | 4 | ||||
-rw-r--r-- | src/mbgl/programs/segment.hpp | 5 | ||||
-rw-r--r-- | src/mbgl/renderer/paint_property_binder.hpp | 2 | ||||
-rw-r--r-- | src/mbgl/util/tile_cover_impl.hpp | 2 |
7 files changed, 16 insertions, 17 deletions
diff --git a/include/mbgl/style/conversion_impl.hpp b/include/mbgl/style/conversion_impl.hpp index 1a2d13d7e2..11d3bae9ce 100644 --- a/include/mbgl/style/conversion_impl.hpp +++ b/include/mbgl/style/conversion_impl.hpp @@ -102,7 +102,7 @@ public: new (static_cast<void*>(&storage)) std::decay_t<T>(std::forward<T>(value)); } - Convertible(Convertible&& v) : vtable(v.vtable) { + Convertible(Convertible&& v) noexcept : vtable(v.vtable) { // NOLINTNEXTLINE(performance-move-const-arg) vtable->move(std::move(v.storage), storage); } @@ -111,7 +111,7 @@ public: vtable->destroy(storage); } - Convertible& operator=(Convertible&& v) { + Convertible& operator=(Convertible&& v) noexcept { if (this != &v) { vtable->destroy(storage); vtable = v.vtable; diff --git a/include/mbgl/util/image.hpp b/include/mbgl/util/image.hpp index 75a49550b1..e0ee694434 100644 --- a/include/mbgl/util/image.hpp +++ b/include/mbgl/util/image.hpp @@ -34,13 +34,9 @@ public: Image(Size size_, std::unique_ptr<uint8_t[]> data_) : size(size_), data(std::move(data_)) {} - Image(Image&& o) - : size(o.size), - data(std::move(o.data)) { - o.size.width = o.size.height = 0; - } + Image(Image&& o) noexcept : size(o.size), data(std::move(o.data)) { o.size.width = o.size.height = 0; } - Image& operator=(Image&& o) { + Image& operator=(Image&& o) noexcept { size = o.size; data = std::move(o.data); o.size.width = o.size.height = 0; diff --git a/include/mbgl/util/immutable.hpp b/include/mbgl/util/immutable.hpp index bc6a0467ae..fbd3ac9b34 100644 --- a/include/mbgl/util/immutable.hpp +++ b/include/mbgl/util/immutable.hpp @@ -21,8 +21,8 @@ namespace mbgl { template <class T> class Mutable { public: - Mutable(Mutable&&) = default; - Mutable& operator=(Mutable&&) = default; + Mutable(Mutable&&) noexcept = default; + Mutable& operator=(Mutable&&) noexcept = default; Mutable(const Mutable&) = delete; Mutable& operator=(const Mutable&) = delete; @@ -74,7 +74,7 @@ public: Immutable(Immutable<S> s) : ptr(std::move(s.ptr)) {} - Immutable(Immutable&&) = default; + Immutable(Immutable&&) noexcept = default; Immutable(const Immutable&) = default; template <class S> @@ -83,7 +83,7 @@ public: return *this; } - Immutable& operator=(Immutable&&) = default; + Immutable& operator=(Immutable&&) noexcept = default; Immutable& operator=(const Immutable&) = default; const T* get() const { return ptr.get(); } diff --git a/src/mbgl/gfx/debug_group.hpp b/src/mbgl/gfx/debug_group.hpp index b7a25ad467..e5e3630b4c 100644 --- a/src/mbgl/gfx/debug_group.hpp +++ b/src/mbgl/gfx/debug_group.hpp @@ -10,9 +10,7 @@ public: scope->pushDebugGroup(name); } - DebugGroup(DebugGroup&& rhs) : scope(rhs.scope) { - rhs.scope = nullptr; - } + DebugGroup(DebugGroup&& rhs) noexcept : scope(rhs.scope) { rhs.scope = nullptr; } ~DebugGroup() { if (scope) { diff --git a/src/mbgl/programs/segment.hpp b/src/mbgl/programs/segment.hpp index 13e206aa2a..908c0b5f3b 100644 --- a/src/mbgl/programs/segment.hpp +++ b/src/mbgl/programs/segment.hpp @@ -22,6 +22,11 @@ public: indexLength(indexLength_), sortKey(sortKey_) {} + // FIXME: clang-tidy-8 still complains here and clang-cl + // on Windows gives the error: "exception specification of + // explicitly defaulted move constructor does not match + // the calculated one" when marking this 'noexcept'. + // NOLINTNEXTLINE(performance-noexcept-move-constructor) Segment(Segment&&) = default; const std::size_t vertexOffset; diff --git a/src/mbgl/renderer/paint_property_binder.hpp b/src/mbgl/renderer/paint_property_binder.hpp index 61544be82d..15dc535556 100644 --- a/src/mbgl/renderer/paint_property_binder.hpp +++ b/src/mbgl/renderer/paint_property_binder.hpp @@ -619,7 +619,7 @@ public: (void)z; // Workaround for https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56958 } - PaintPropertyBinders(PaintPropertyBinders&&) = default; + PaintPropertyBinders(PaintPropertyBinders&&) noexcept = default; PaintPropertyBinders(const PaintPropertyBinders&) = delete; void populateVertexVectors(const GeometryTileFeature& feature, diff --git a/src/mbgl/util/tile_cover_impl.hpp b/src/mbgl/util/tile_cover_impl.hpp index e9c06e44aa..9ef263d12e 100644 --- a/src/mbgl/util/tile_cover_impl.hpp +++ b/src/mbgl/util/tile_cover_impl.hpp @@ -33,7 +33,7 @@ struct Bound { currentPoint = rhs.currentPoint; winding = rhs.winding; } - Bound& operator=(Bound&& rhs) { + Bound& operator=(Bound&& rhs) noexcept { points = std::move(rhs.points); currentPoint = rhs.currentPoint; winding = rhs.winding; |