diff options
author | Billy Donahue <billy.donahue@mongodb.com> | 2018-12-21 13:20:55 -0500 |
---|---|---|
committer | Billy Donahue <billy.donahue@mongodb.com> | 2019-01-04 10:59:23 -0500 |
commit | 76b0fcea6960274d23a3bd1245a0e55e3cb08369 (patch) | |
tree | a940e8865bce4d32018f13fc106953029a07042d /src/third_party/s2 | |
parent | 4ce0ebb3f0a0f21073f729e54434b379fd2c35e9 (diff) | |
download | mongo-76b0fcea6960274d23a3bd1245a0e55e3cb08369.tar.gz |
SERVER-36644 re-enable -Wclass-memaccess warning (w/AtomicWord refactor)
Diffstat (limited to 'src/third_party/s2')
-rw-r--r-- | src/third_party/s2/s2loop.cc | 8 | ||||
-rw-r--r-- | src/third_party/s2/s2polyline.cc | 8 |
2 files changed, 12 insertions, 4 deletions
diff --git a/src/third_party/s2/s2loop.cc b/src/third_party/s2/s2loop.cc index 7522bafc701..4f20733e19f 100644 --- a/src/third_party/s2/s2loop.cc +++ b/src/third_party/s2/s2loop.cc @@ -94,7 +94,9 @@ void S2Loop::Init(vector<S2Point> const& vertices) { vertices_ = NULL; } else { vertices_ = new S2Point[num_vertices_]; - memcpy(vertices_, &vertices[0], num_vertices_ * sizeof(vertices_[0])); + // mongodb: void* casts to silence a -Wclass-memaccess warning. + memcpy(static_cast<void*>(vertices_), static_cast<const void*>(&vertices[0]), + num_vertices_ * sizeof(vertices_[0])); } owns_vertices_ = true; bound_ = S2LatLngRect::Full(); @@ -265,7 +267,9 @@ S2Loop::S2Loop(S2Loop const* src) depth_(src->depth_), index_(this), num_find_vertex_calls_(0) { - memcpy(vertices_, src->vertices_, num_vertices_ * sizeof(vertices_[0])); + // mongodb: void* casts to silence a -Wclass-memaccess warning. + memcpy(static_cast<void*>(vertices_), static_cast<const void*>(src->vertices_), + num_vertices_ * sizeof(vertices_[0])); } S2Loop* S2Loop::Clone() const { diff --git a/src/third_party/s2/s2polyline.cc b/src/third_party/s2/s2polyline.cc index 112c653872b..5cf44a2a115 100644 --- a/src/third_party/s2/s2polyline.cc +++ b/src/third_party/s2/s2polyline.cc @@ -54,7 +54,9 @@ void S2Polyline::Init(vector<S2Point> const& vertices) { vertices_ = new S2Point[num_vertices_]; // Check (num_vertices_ > 0) to avoid invalid reference to vertices[0]. if (num_vertices_ > 0) { - memcpy(vertices_, &vertices[0], num_vertices_ * sizeof(vertices_[0])); + // mongodb: void* casts to silence a -Wclass-memaccess warning. + memcpy(static_cast<void*>(vertices_), static_cast<const void*>(&vertices[0]), + num_vertices_ * sizeof(vertices_[0])); } } @@ -103,7 +105,9 @@ bool S2Polyline::IsValid(vector<S2Point> const& v, string* err) { S2Polyline::S2Polyline(S2Polyline const* src) : num_vertices_(src->num_vertices_), vertices_(new S2Point[num_vertices_]) { - memcpy(vertices_, src->vertices_, num_vertices_ * sizeof(vertices_[0])); + // mongodb: void* casts to silence a -Wclass-memaccess warning. + memcpy(static_cast<void*>(vertices_), static_cast<const void*>(src->vertices_), + num_vertices_ * sizeof(vertices_[0])); } S2Polyline* S2Polyline::Clone() const { |