summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThiago Marcos P. Santos <tmpsantos@gmail.com>2020-03-27 18:30:35 +0200
committerThiago Marcos P. Santos <tmpsantos@gmail.com>2020-04-17 13:36:50 +0300
commitcc8b0e1746cfc6fdc99582fdb09e7624b14d9d0e (patch)
tree3a57a6c0fc77d4c2e78657948294b6cc5e18d8e0
parentb49517b73705e69d401925658ae0657b8a98b6a6 (diff)
downloadqtlocation-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.hpp4
-rw-r--r--include/mbgl/util/image.hpp8
-rw-r--r--include/mbgl/util/immutable.hpp8
-rw-r--r--src/mbgl/gfx/debug_group.hpp4
-rw-r--r--src/mbgl/programs/segment.hpp5
-rw-r--r--src/mbgl/renderer/paint_property_binder.hpp2
-rw-r--r--src/mbgl/util/tile_cover_impl.hpp2
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;