Silence a GCC 8 warning in qringbuffer

qtbase/src/corelib/tools/qvector.h:782:16: error: ‘void* memmove(void*, const void*, size_t)’ writing to an object of type ‘class QRingChunk’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Werror=class-memaccess]
         memmove(b + 1, b, (d->size - offset) * sizeof(T));
         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../../../include/QtCore/5.11.0/QtCore/private/qringbuffer_p.h:1,

Change-Id: I6583241223fe3fc76c0b792779993a34aa9485fe
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Alex Trotsenko <alex1973tr@gmail.com>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
bb10
Ville Voutilainen 2018-02-27 12:56:39 +02:00
parent d5af78230d
commit d62d51c7e6
1 changed files with 1 additions and 1 deletions

View File

@ -779,7 +779,7 @@ typename QVector<T>::iterator QVector<T>::insert(iterator before, T &&t)
}
} else {
T *b = d->begin() + offset;
memmove(b + 1, b, (d->size - offset) * sizeof(T));
memmove(static_cast<void *>(b + 1), static_cast<const void *>(b), (d->size - offset) * sizeof(T));
new (b) T(std::move(t));
}
d->size += 1;