Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cafc0535 authored by Colin Cross's avatar Colin Cross
Browse files

Remove has_trivial_move trait from StringPool types

StringPool:entry* are not trivially moveable, as they contain Vector<>
objects.  The data in Vector<> is trivially moveable, but Vector<>
itself is a dynamic type with a vtable, which is not trivially
moveable.

Impact on aapt for frameworks-res is negligible, ~3%.

Bug: 31595853
Test: m -j framework-res
Change-Id: I562a46ef8934aed7aab5c5377db53d9cf64a08b9
parent 59acc059
Loading
Loading
Loading
Loading
+0 −9
Original line number Diff line number Diff line
@@ -12,7 +12,6 @@

#include <androidfw/ResourceTypes.h>
#include <utils/String16.h>
#include <utils/TypeHelpers.h>

#include <sys/types.h>
#include <sys/stat.h>
@@ -179,13 +178,5 @@ private:
    Vector<size_t>                          mOriginalPosToNewPos;
};

// The entry types are trivially movable because all fields they contain, including
// the vectors and strings, are trivially movable.
namespace android {
    ANDROID_TRIVIAL_MOVE_TRAIT(StringPool::entry);
    ANDROID_TRIVIAL_MOVE_TRAIT(StringPool::entry_style_span);
    ANDROID_TRIVIAL_MOVE_TRAIT(StringPool::entry_style);
};

#endif