-Werror=class-memaccess

gcc doesn't like memcpy here

error: ‘void* memcpy(void*, const void*, size_t)’ writing to an object
of type ‘struct std::pair<short unsigned int, short unsigned int>’ with
no trivial copy-assignment; use copy-assignment or copy-initialization
instead [-Werror=class-memaccess]
 1459 |         memcpy(p, other.m_pairs, m_size * sizeof(WhichPair));

Change-Id: I44055d0d4dec589af7f98d62f106b701f1f5a4cd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119063
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
This commit is contained in:
Noel Grandin
2021-07-16 16:04:05 +02:00
parent d019d044ba
commit 892bc8a15a
+4 -2
View File
@@ -1418,7 +1418,8 @@ SfxItemSet SfxAllItemSet::CloneAsValue(bool , SfxItemPool * ) const
WhichRangesContainer::WhichRangesContainer( const WhichPair* wids, sal_Int32 nSize )
{
auto p = new WhichPair[nSize];
memcpy(p, wids, nSize * sizeof(WhichPair));
for (int i=0; i<nSize; ++i)
p[i] = wids[i];
m_pairs = p;
m_size = nSize;
m_bOwnRanges = true;
@@ -1455,7 +1456,8 @@ WhichRangesContainer& WhichRangesContainer::operator=(WhichRangesContainer const
if (m_bOwnRanges)
{
auto p = new WhichPair[m_size];
memcpy(p, other.m_pairs, m_size * sizeof(WhichPair));
for (int i=0; i<m_size; ++i)
p[i] = other.m_pairs[i];
m_pairs = p;
}
else