@@ -1513,7 +1513,7 @@ class GenericValue {
1513
1513
MemberIterator pos = MemberBegin () + (first - MemberBegin ());
1514
1514
for (MemberIterator itr = pos; itr != last; ++itr)
1515
1515
itr->~Member ();
1516
- std::memmove (&*pos, &*last, static_cast <size_t >(MemberEnd () - last) * sizeof (Member));
1516
+ std::memmove (static_cast < void *>( &*pos) , &*last, static_cast <size_t >(MemberEnd () - last) * sizeof (Member));
1517
1517
data_.o .size -= static_cast <SizeType>(last - first);
1518
1518
return pos;
1519
1519
}
@@ -1716,8 +1716,8 @@ class GenericValue {
1716
1716
RAPIDJSON_ASSERT (last <= End ());
1717
1717
ValueIterator pos = Begin () + (first - Begin ());
1718
1718
for (ValueIterator itr = pos; itr != last; ++itr)
1719
- itr->~GenericValue ();
1720
- std::memmove (pos, last, static_cast <size_t >(End () - last) * sizeof (GenericValue));
1719
+ itr->~GenericValue ();
1720
+ std::memmove (static_cast < void *>( pos) , last, static_cast <size_t >(End () - last) * sizeof (GenericValue));
1721
1721
data_.a .size -= static_cast <SizeType>(last - first);
1722
1722
return pos;
1723
1723
}
@@ -2032,12 +2032,7 @@ class GenericValue {
2032
2032
if (count) {
2033
2033
GenericValue* e = static_cast <GenericValue*>(allocator.Malloc (count * sizeof (GenericValue)));
2034
2034
SetElementsPointer (e);
2035
- RAPIDJSON_DIAG_PUSH
2036
- #if defined(__GNUC__) && __GNUC__ >= 8
2037
- RAPIDJSON_DIAG_OFF (class -memaccess) // ignore complains from gcc that no trivial copy constructor exists.
2038
- #endif
2039
- std::memcpy (e, values, count * sizeof (GenericValue));
2040
- RAPIDJSON_DIAG_POP
2035
+ std::memcpy (static_cast <void *>(e), values, count * sizeof (GenericValue));
2041
2036
}
2042
2037
else
2043
2038
SetElementsPointer (0 );
@@ -2050,12 +2045,7 @@ RAPIDJSON_DIAG_POP
2050
2045
if (count) {
2051
2046
Member* m = static_cast <Member*>(allocator.Malloc (count * sizeof (Member)));
2052
2047
SetMembersPointer (m);
2053
- RAPIDJSON_DIAG_PUSH
2054
- #if defined(__GNUC__) && __GNUC__ >= 8
2055
- RAPIDJSON_DIAG_OFF (class -memaccess) // ignore complains from gcc that no trivial copy constructor exists.
2056
- #endif
2057
- std::memcpy (m, members, count * sizeof (Member));
2058
- RAPIDJSON_DIAG_POP
2048
+ std::memcpy (static_cast <void *>(m), members, count * sizeof (Member));
2059
2049
}
2060
2050
else
2061
2051
SetMembersPointer (0 );
0 commit comments