summaryrefslogtreecommitdiff
path: root/src/third_party
diff options
context:
space:
mode:
authorBilly Donahue <billy.donahue@mongodb.com>2018-12-21 13:20:55 -0500
committerBilly Donahue <billy.donahue@mongodb.com>2019-01-04 10:59:23 -0500
commit76b0fcea6960274d23a3bd1245a0e55e3cb08369 (patch)
treea940e8865bce4d32018f13fc106953029a07042d /src/third_party
parent4ce0ebb3f0a0f21073f729e54434b379fd2c35e9 (diff)
downloadmongo-76b0fcea6960274d23a3bd1245a0e55e3cb08369.tar.gz
SERVER-36644 re-enable -Wclass-memaccess warning (w/AtomicWord refactor)
Diffstat (limited to 'src/third_party')
-rw-r--r--src/third_party/s2/s2loop.cc8
-rw-r--r--src/third_party/s2/s2polyline.cc8
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 {