Skip to content

Commit

Permalink
ECS
Browse files Browse the repository at this point in the history
  • Loading branch information
daid committed Oct 26, 2022
1 parent 3ef5f26 commit be84d36
Show file tree
Hide file tree
Showing 7 changed files with 295 additions and 0 deletions.
8 changes: 8 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -261,6 +261,14 @@ set(source_files #All SeriousProton's objects to compile
src/vectorUtils.h
src/windowManager.h

src/container/sparseset.h

src/ecs/entity.h
src/ecs/entity.cpp
src/ecs/component.h
src/ecs/component.cpp
src/ecs/query.h

cmake/glDebug.inl.in
"${glDebug_inl}"
)
Expand Down
81 changes: 81 additions & 0 deletions src/container/sparseset.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
#pragma once

#include <stdint.h>
#include <vector>
#include <limits>


namespace sp {

// A sparseset is a more optimized version of a map<> with an important constrain:
// The key has to be an integer type with a limited range, the smaller the better.
// This gives optimized cache performance when iterating over all entities, but still allows quick lookup of individual entries.
template<typename T> class SparseSet final
{
public:
bool has(uint32_t index)
{
if (index >= sparse.size())
return false;
return sparse[index] < dense.size();
}

T& get(uint32_t index)
{
return data[sparse[index]];
}

bool set(uint32_t index, const T& value)
{
if (has(index)) {
data[sparse[index]] = value;
return false;
}
if (sparse.size() <= index)
sparse.resize(index + 1, std::numeric_limits<uint32_t>::max());
sparse[index] = dense.size();
dense.push_back(index);
data.emplace_back(value);
return true;
}

bool remove(uint32_t index)
{
if (!has(index))
return false;
uint32_t moved_index = dense.back();
dense[sparse[index]] = moved_index;
data[sparse[index]] = data.back();
sparse[moved_index] = sparse[index];
sparse[index] = std::numeric_limits<uint32_t>::max();

dense.pop_back();
data.pop_back();
return true;
}

class Iterator
{
public:
Iterator(SparseSet& _set, size_t _dense_index) : set(_set), dense_index(_dense_index) {}

bool operator!=(const Iterator& other) const { return dense_index != other.dense_index; }
void operator++() { dense_index--; }
std::pair<uint32_t, T&> operator*() { return {set.dense[dense_index], set.data[dense_index]}; }
std::pair<uint32_t, const T&> operator*() const { return {set.dense[dense_index], set.data[dense_index]}; }

bool atEnd() { return dense_index == std::numeric_limits<size_t>::max(); }
private:
SparseSet& set;
size_t dense_index;
};

Iterator begin() { return Iterator(*this, dense.size() - 1); }
Iterator end() { return Iterator(*this, std::numeric_limits<size_t>::max()); }
private:
std::vector<uint32_t> sparse;
std::vector<uint32_t> dense;
std::vector<T> data;
};

}
18 changes: 18 additions & 0 deletions src/ecs/component.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#include "ecs/component.h"

namespace sp::ecs {

static std::vector<ComponentStorageBase*> all_component_storage;

ComponentStorageBase::ComponentStorageBase()
{
all_component_storage.push_back(this);
}

void ComponentStorageBase::destroyAll(uint32_t index)
{
for(auto storage : all_component_storage)
storage->destroy(index);
}

}
32 changes: 32 additions & 0 deletions src/ecs/component.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
#pragma once

#include "container/sparseset.h"

namespace sp::ecs {

class ComponentStorageBase {
public:
ComponentStorageBase();

protected:
static void destroyAll(uint32_t index);
virtual void destroy(uint32_t index) = 0;

friend class Entity;
};

template<typename T> class ComponentStorage : public ComponentStorageBase {
void destroy(uint32_t index) override
{
sparseset.remove(index);
}

SparseSet<T> sparseset;

static inline ComponentStorage<T> storage;

friend class Entity;
template<class, class...> friend class Query;
};

}
51 changes: 51 additions & 0 deletions src/ecs/entity.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
#include "entity.h"
#include "component.h"
#include <vector>

namespace sp::ecs {

static std::vector<uint32_t> entity_version;
static std::vector<uint32_t> free_list;

Entity Entity::create()
{
Entity e;
if (free_list.empty()) {
e.index = entity_version.size();
e.version = 0;
entity_version.push_back(0);
} else {
e.index = free_list.back();
free_list.pop_back();
e.version = entity_version[e.index];
}
return e;
}

Entity Entity::fromIndex(uint32_t index)
{
Entity e;
e.index = index;
e.version = entity_version[index];
return e;
}

Entity::operator bool() const
{
if (index == std::numeric_limits<uint32_t>::max())
return false;
return entity_version[index] == version;
}

void Entity::destroy()
{
if (!*this)
return;
ComponentStorageBase::destroyAll(index);

// By increasing the version number, everything else will know this entity no longer exists.
entity_version[index] += 1;
free_list.push_back(index);
}

}
52 changes: 52 additions & 0 deletions src/ecs/entity.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
#pragma once

#include <stdint.h>
#include <limits>

#include "component.h"


namespace sp::ecs {

// An entity is a lightweight, copyable reference to entity components.
// Entities have to be created with the create() function, and explicitly destroy()ed.
class Entity final {
public:
Entity() = default;

static Entity create();
void destroy();

explicit operator bool() const;

template<class T> T* getComponent()
{
if (!hasComponent<T>())
return nullptr;
return &ComponentStorage<T>::storage.sparseset.get(index);
}
template<class T> T& addComponent()
{
ComponentStorage<T>::storage.sparseset.set(index, {});
return ComponentStorage<T>::storage.sparseset.get(index);
}
template<class T, class... ARGS> T& addComponent(ARGS&&... args)
{
ComponentStorage<T>::storage.sparseset.set(index, T{std::forward<ARGS>(args)...});
return ComponentStorage<T>::storage.sparseset.get(index);
}
template<class T> bool hasComponent()
{
return ComponentStorage<T>::storage.sparseset.has(index);
}

private:
static Entity fromIndex(uint32_t index);

uint32_t index = std::numeric_limits<uint32_t>::max();
uint32_t version = std::numeric_limits<uint32_t>::max();

template<class, class...> friend class Query;
};

}
53 changes: 53 additions & 0 deletions src/ecs/query.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
#pragma once

#include "ecs/entity.h"
#include "ecs/component.h"


namespace sp::ecs {

template<class PRIMARY, class... T> class Query {
public:
class Iterator {
public:
Iterator(int) : iterator(ComponentStorage<PRIMARY>::storage.sparseset.begin()) { checkForSkip(); }
Iterator() : iterator(ComponentStorage<PRIMARY>::storage.sparseset.end()) {}

bool operator!=(const Iterator& other) const { return iterator != other.iterator; }
void operator++() { ++iterator; checkForSkip(); }
std::tuple<Entity, PRIMARY&, T&...> operator*() {
auto [index, primary] = *iterator;
return {Entity::fromIndex(index), primary, ComponentStorage<T>::storage.sparseset.get(index)...};
}

private:
void checkForSkip() {
if (iterator.atEnd()) return;
if constexpr (sizeof...(T) > 0) {
if (!checkIfHasAll<T...>()) {
++iterator;
}
}
}
template<typename T2, typename... ARGS> bool checkIfHasAll() {
auto index = (*iterator).first;
if (!ComponentStorage<T2>::storage.sparseset.has(index))
return false;
if constexpr (sizeof...(ARGS) > 0)
return checkIfHasAll<ARGS...>();
return true;
}

typename SparseSet<PRIMARY>::Iterator iterator;
};

Iterator begin() {
return Iterator(0);
}

Iterator end() {
return Iterator();
}
};

}

1 comment on commit be84d36

@daid-tinyci
Copy link

@daid-tinyci daid-tinyci bot commented on be84d36 Dec 11, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TinyCI build failure:

[/home/tinyci/builds/daid/SeriousProton/_build_native:make -j 2] returned [2]:


[ 14%] Built target spfreetype2

[ 14%] Building CXX object libs/Box2D/CMakeFiles/box2d.dir/Collision/b2BroadPhase.cpp.o

[ 14%] Building CXX object libs/Box2D/CMakeFiles/box2d.dir/Collision/b2CollideEdge.cpp.o

[ 15%] Building CXX object libs/Box2D/CMakeFiles/box2d.dir/Collision/b2CollideCircle.cpp.o

[ 15%] Building CXX object libs/Box2D/CMakeFiles/box2d.dir/Collision/b2CollidePolygon.cpp.o

[ 15%] Building CXX object libs/Box2D/CMakeFiles/box2d.dir/Collision/b2Collision.cpp.o

[ 15%] Building CXX object libs/Box2D/CMakeFiles/box2d.dir/Collision/b2Distance.cpp.o

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu_transcoder.cpp: In member function ‘void basist::ktx2_transcoder::clear()’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu_transcoder.cpp:16736:23: warning: ‘void* memset(void*, int, size_t)’ clearing an object of type ‘struct basist::ktx2_header’ with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess]

16736 |                 memset(&m_header, 0, sizeof(m_header));

      |                 ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

In file included from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu_transcoder.cpp:16:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu_transcoder.h:565:16: note: ‘struct basist::ktx2_header’ declared here

  565 |         struct ktx2_header

      |                ^~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu_transcoder.cpp:16740:23: warning: ‘void* memset(void*, int, size_t)’ clearing an object of type ‘struct basist::ktx2_etc1s_global_data_header’ with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess]

16740 |                 memset(&m_etc1s_header, 0, sizeof(m_etc1s_header));

      |                 ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu_transcoder.h:592:16: note: ‘struct basist::ktx2_etc1s_global_data_header’ declared here

  592 |         struct ktx2_etc1s_global_data_header

      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu_transcoder.cpp: In member function ‘bool basist::ktx2_transcoder::init(const void*, uint32_t)’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu_transcoder.cpp:16787:23: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘struct basist::ktx2_header’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]

16787 |                 memcpy(&m_header, pData, sizeof(m_header));

      |                 ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu_transcoder.h:565:16: note: ‘struct basist::ktx2_header’ declared here

  565 |         struct ktx2_header

      |                ^~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu_transcoder.cpp:16883:23: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘struct basist::ktx2_level_index’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]

16883 |                 memcpy(&m_levels[0], m_pData + sizeof(ktx2_header), level_index_size_in_bytes);

      |                 ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu_transcoder.h:585:16: note: ‘struct basist::ktx2_level_index’ declared here

  585 |         struct ktx2_level_index

      |                ^~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu_transcoder.cpp: In member function ‘bool basist::ktx2_transcoder::decompress_etc1s_global_data()’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu_transcoder.cpp:17394:23: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘struct basist::ktx2_etc1s_global_data_header’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]

17394 |                 memcpy(&m_etc1s_header, pSrc, sizeof(ktx2_etc1s_global_data_header));

      |                 ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu_transcoder.h:592:16: note: ‘struct basist::ktx2_etc1s_global_data_header’ declared here

  592 |         struct ktx2_etc1s_global_data_header

      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu_transcoder.cpp:17427:23: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘struct basist::ktx2_etc1s_image_desc’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]

17427 |                 memcpy(m_etc1s_image_descs.data(), pSrc, sizeof(ktx2_etc1s_image_desc) * image_count);

      |                 ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu_transcoder.h:602:16: note: ‘struct basist::ktx2_etc1s_image_desc’ declared here

  602 |         struct ktx2_etc1s_image_desc

      |                ^~~~~~~~~~~~~~~~~~~~~

In file included from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu_transcoder_internal.h:32,

                 from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu_transcoder.h:35:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu.h: In instantiation of ‘void basisu::clear_obj(T&) [with T = basist::etc1_global_palette_entry_modifier]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu_global_selector_palette.h:73:21:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu.h:120:69: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘class basist::etc1_global_palette_entry_modifier’; use assignment or value-initialization instead [-Wclass-memaccess]

  120 |         template <typename T> inline void clear_obj(T& obj) { memset(&obj, 0, sizeof(obj)); }

      |                                                               ~~~~~~^~~~~~~~~~~~~~~~~~~~~~

In file included from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu_transcoder.h:37:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu_global_selector_palette.h:23:15: note: ‘class basist::etc1_global_palette_entry_modifier’ declared here

   23 |         class etc1_global_palette_entry_modifier

      |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu.h: In instantiation of ‘void basisu::clear_obj(T&) [with T = basist::etc1_selector_palette_entry]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu_global_selector_palette.h:119:21:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu.h:120:69: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct basist::etc1_selector_palette_entry’; use assignment or value-initialization instead [-Wclass-memaccess]

  120 |         template <typename T> inline void clear_obj(T& obj) { memset(&obj, 0, sizeof(obj)); }

      |                                                               ~~~~~~^~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu_global_selector_palette.h:110:16: note: ‘struct basist::etc1_selector_palette_entry’ declared here

  110 |         struct etc1_selector_palette_entry

      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~

In file included from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu.h:65:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu_containers.h: In instantiation of ‘basisu::vector<T>& basisu::vector<T>::operator=(const basisu::vector<T>&) [with T = basist::ktx2_transcoder::key_value]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu_containers.h:440:17:   required from ‘bool basisu::vector<T>::try_reserve(size_t) [with T = basist::ktx2_transcoder::key_value; size_t = long unsigned int]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu_transcoder.cpp:17500:32:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu_containers.h:323:19: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘struct basist::ktx2_transcoder::key_value’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]

  323 |             memcpy(m_p, other.m_p, other.m_size * sizeof(T));

      |             ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu_transcoder.h:844:24: note: ‘struct basist::ktx2_transcoder::key_value’ declared here

  844 |                 struct key_value

      |                        ^~~~~~~~~

[ 16%] Building CXX object libs/Box2D/CMakeFiles/box2d.dir/Collision/b2DynamicTree.cpp.o

[ 16%] Building CXX object libs/Box2D/CMakeFiles/box2d.dir/Collision/b2TimeOfImpact.cpp.o

[ 16%] Building CXX object libs/Box2D/CMakeFiles/box2d.dir/Collision/Shapes/b2ChainShape.cpp.o

[ 17%] Building CXX object libs/Box2D/CMakeFiles/box2d.dir/Collision/Shapes/b2CircleShape.cpp.o

[ 17%] Building CXX object libs/Box2D/CMakeFiles/box2d.dir/Collision/Shapes/b2EdgeShape.cpp.o

[ 17%] Building CXX object libs/Box2D/CMakeFiles/box2d.dir/Collision/Shapes/b2PolygonShape.cpp.o

[ 17%] Building C object libs/basis_universal/CMakeFiles/basisu-transcoder.dir/__/__/_deps/basis-src/zstd/zstddeclib.c.o

[ 17%] Building CXX object libs/Box2D/CMakeFiles/box2d.dir/Common/b2BlockAllocator.cpp.o

[ 18%] Building CXX object libs/Box2D/CMakeFiles/box2d.dir/Common/b2Draw.cpp.o

[ 18%] Building CXX object libs/Box2D/CMakeFiles/box2d.dir/Common/b2Math.cpp.o

[ 18%] Building CXX object libs/Box2D/CMakeFiles/box2d.dir/Common/b2Settings.cpp.o

[ 19%] Linking CXX static library libbasisu-transcoder.a

[ 20%] Building CXX object libs/Box2D/CMakeFiles/box2d.dir/Common/b2StackAllocator.cpp.o

[ 20%] Built target basisu-transcoder

[ 21%] Built target glad

[ 29%] Built target lua

[ 69%] Built target opus

[ 69%] Building CXX object libs/Box2D/CMakeFiles/box2d.dir/Common/b2Timer.cpp.o

[ 69%] Building CXX object libs/basis_universal/CMakeFiles/basisu-encoder.dir/__/__/_deps/basis-src/encoder/basisu_backend.cpp.o

[ 69%] Building CXX object libs/Box2D/CMakeFiles/box2d.dir/Dynamics/b2Body.cpp.o

[ 69%] Building CXX object libs/Box2D/CMakeFiles/box2d.dir/Dynamics/b2ContactManager.cpp.o

[ 70%] Building CXX object libs/Box2D/CMakeFiles/box2d.dir/Dynamics/b2Fixture.cpp.o

In file included from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h:65,

                 from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_backend.h:17,

                 from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_backend.cpp:18:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h: In instantiation of ‘basisu::vector<T>& basisu::vector<T>::operator=(const basisu::vector<T>&) [with T = basisu::vec<4, float>]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:2737:20:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:323:19: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘class basisu::vec<4, float>’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]

  323 |             memcpy(m_p, other.m_p, other.m_size * sizeof(T));

      |             ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

In file included from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_backend.h:18:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:239:15: note: ‘class basisu::vec<4, float>’ declared here

  239 |         class vec

      |               ^~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h: In instantiation of ‘void basisu::clear_obj(T&) [with T = basist::etc1_global_palette_entry_modifier]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_global_selector_palette.h:73:21:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h:120:69: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘class basist::etc1_global_palette_entry_modifier’; use assignment or value-initialization instead [-Wclass-memaccess]

  120 |         template <typename T> inline void clear_obj(T& obj) { memset(&obj, 0, sizeof(obj)); }

      |                                                               ~~~~~~^~~~~~~~~~~~~~~~~~~~~~

In file included from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_backend.h:20:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_global_selector_palette.h:23:15: note: ‘class basist::etc1_global_palette_entry_modifier’ declared here

   23 |         class etc1_global_palette_entry_modifier

      |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h: In instantiation of ‘void basisu::clear_obj(T&) [with T = basist::etc1_selector_palette_entry]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_global_selector_palette.h:119:21:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h:120:69: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct basist::etc1_selector_palette_entry’; use assignment or value-initialization instead [-Wclass-memaccess]

  120 |         template <typename T> inline void clear_obj(T& obj) { memset(&obj, 0, sizeof(obj)); }

      |                                                               ~~~~~~^~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_global_selector_palette.h:110:16: note: ‘struct basist::etc1_selector_palette_entry’ declared here

  110 |         struct etc1_selector_palette_entry

      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h: In instantiation of ‘void basisu::clear_obj(T&) [with T = pixel_block]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_global_selector_palette_helpers.h:37:27:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h:120:69: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct basisu::pixel_block’; use assignment or value-initialization instead [-Wclass-memaccess]

  120 |         template <typename T> inline void clear_obj(T& obj) { memset(&obj, 0, sizeof(obj)); }

      |                                                               ~~~~~~^~~~~~~~~~~~~~~~~~~~~~

In file included from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_frontend.h:19,

                 from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_backend.h:21:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_global_selector_palette_helpers.h:27:16: note: ‘struct basisu::pixel_block’ declared here

   27 |         struct pixel_block

      |                ^~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h: In instantiation of ‘void basisu::clear_obj(T&) [with T = etc1_endpoint_palette_entry]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_backend.h:68:13:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h:120:69: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct basisu::etc1_endpoint_palette_entry’; use assignment or value-initialization instead [-Wclass-memaccess]

  120 |         template <typename T> inline void clear_obj(T& obj) { memset(&obj, 0, sizeof(obj)); }

      |                                                               ~~~~~~^~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_backend.h:55:16: note: ‘struct basisu::etc1_endpoint_palette_entry’ declared here

   55 |         struct etc1_endpoint_palette_entry

      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h: In instantiation of ‘void basisu::clear_obj(T&) [with T = basisu_backend_slice_desc]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_backend.h:120:13:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h:120:69: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct basisu::basisu_backend_slice_desc’; use assignment or value-initialization instead [-Wclass-memaccess]

  120 |         template <typename T> inline void clear_obj(T& obj) { memset(&obj, 0, sizeof(obj)); }

      |                                                               ~~~~~~^~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_backend.h:111:16: note: ‘struct basisu::basisu_backend_slice_desc’ declared here

  111 |         struct basisu_backend_slice_desc

      |                ^~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h: In instantiation of ‘void basisu::vector<T>::erase(uint32_t, uint32_t) [with T = basisu::vec<4, float>; uint32_t = unsigned int]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:727:15:   required from ‘void basisu::vector<T>::erase(T*, T*) [with T = basisu::vec<4, float>]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h:151:67:   required from ‘void basisu::clear_vector(T&) [with T = vector<vec<4, float> >]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:2747:16:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:680:20: warning: ‘void* memmove(void*, const void*, size_t)’ writing to an object of type ‘class basisu::vec<4, float>’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]

  680 |             memmove(pDst, pSrc, num_to_move * sizeof(T));

      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:239:15: note: ‘class basisu::vec<4, float>’ declared here

  239 |         class vec

      |               ^~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h: In instantiation of ‘basisu::vector<T>::vector(const basisu::vector<T>&) [with T = basisu::gpu_image]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:1009:13:   required from ‘static void basisu::vector<T>::object_mover(void*, void*, uint32_t) [with T = basisu::vector<basisu::gpu_image>; uint32_t = unsigned int]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:1020:81:   required from ‘bool basisu::vector<T>::increase_capacity(uint32_t, bool, bool) [with T = basisu::vector<basisu::gpu_image>; uint32_t = unsigned int]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:535:13:   required from ‘void basisu::vector<T>::push_back(const T&) [with T = basisu::vector<basisu::gpu_image>]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_gpu_texture.h:128:14:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:282:19: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘class basisu::gpu_image’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]

  282 |             memcpy(m_p, other.m_p, m_size * sizeof(T));

      |             ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

In file included from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_frontend.h:18:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_gpu_texture.h:22:15: note: ‘class basisu::gpu_image’ declared here

   22 |         class gpu_image

      |               ^~~~~~~~~

[ 70%] Building CXX object libs/Box2D/CMakeFiles/box2d.dir/Dynamics/b2Island.cpp.o

[ 70%] Building CXX object libs/basis_universal/CMakeFiles/basisu-encoder.dir/__/__/_deps/basis-src/encoder/basisu_basis_file.cpp.o

[ 70%] Building CXX object libs/Box2D/CMakeFiles/box2d.dir/Dynamics/b2World.cpp.o

[ 71%] Building CXX object libs/Box2D/CMakeFiles/box2d.dir/Dynamics/b2WorldCallbacks.cpp.o

[ 71%] Building CXX object libs/Box2D/CMakeFiles/box2d.dir/Dynamics/Contacts/b2ChainAndCircleContact.cpp.o

In file included from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h:65,

                 from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_transcoder_internal.h:32,

                 from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_file_headers.h:16,

                 from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_basis_file.h:16,

                 from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_basis_file.cpp:15:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h: In instantiation of ‘basisu::vector<T>& basisu::vector<T>::operator=(const basisu::vector<T>&) [with T = basisu::vec<4, float>]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:2737:20:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:323:19: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘class basisu::vec<4, float>’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]

  323 |             memcpy(m_p, other.m_p, other.m_size * sizeof(T));

      |             ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

In file included from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_backend.h:18,

                 from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_basis_file.h:17:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:239:15: note: ‘class basisu::vec<4, float>’ declared here

  239 |         class vec

      |               ^~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h: In instantiation of ‘void basisu::clear_obj(T&) [with T = basist::etc1_global_palette_entry_modifier]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_global_selector_palette.h:73:21:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h:120:69: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘class basist::etc1_global_palette_entry_modifier’; use assignment or value-initialization instead [-Wclass-memaccess]

  120 |         template <typename T> inline void clear_obj(T& obj) { memset(&obj, 0, sizeof(obj)); }

      |                                                               ~~~~~~^~~~~~~~~~~~~~~~~~~~~~

In file included from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_backend.h:20:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_global_selector_palette.h:23:15: note: ‘class basist::etc1_global_palette_entry_modifier’ declared here

   23 |         class etc1_global_palette_entry_modifier

      |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h: In instantiation of ‘void basisu::clear_obj(T&) [with T = basist::etc1_selector_palette_entry]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_global_selector_palette.h:119:21:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h:120:69: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct basist::etc1_selector_palette_entry’; use assignment or value-initialization instead [-Wclass-memaccess]

  120 |         template <typename T> inline void clear_obj(T& obj) { memset(&obj, 0, sizeof(obj)); }

      |                                                               ~~~~~~^~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_global_selector_palette.h:110:16: note: ‘struct basist::etc1_selector_palette_entry’ declared here

  110 |         struct etc1_selector_palette_entry

      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h: In instantiation of ‘void basisu::clear_obj(T&) [with T = pixel_block]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_global_selector_palette_helpers.h:37:27:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h:120:69: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct basisu::pixel_block’; use assignment or value-initialization instead [-Wclass-memaccess]

  120 |         template <typename T> inline void clear_obj(T& obj) { memset(&obj, 0, sizeof(obj)); }

      |                                                               ~~~~~~^~~~~~~~~~~~~~~~~~~~~~

In file included from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_frontend.h:19,

                 from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_backend.h:21:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_global_selector_palette_helpers.h:27:16: note: ‘struct basisu::pixel_block’ declared here

   27 |         struct pixel_block

      |                ^~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h: In instantiation of ‘void basisu::clear_obj(T&) [with T = etc1_endpoint_palette_entry]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_backend.h:68:13:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h:120:69: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct basisu::etc1_endpoint_palette_entry’; use assignment or value-initialization instead [-Wclass-memaccess]

  120 |         template <typename T> inline void clear_obj(T& obj) { memset(&obj, 0, sizeof(obj)); }

      |                                                               ~~~~~~^~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_backend.h:55:16: note: ‘struct basisu::etc1_endpoint_palette_entry’ declared here

   55 |         struct etc1_endpoint_palette_entry

      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h: In instantiation of ‘void basisu::clear_obj(T&) [with T = basisu_backend_slice_desc]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_backend.h:120:13:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h:120:69: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct basisu::basisu_backend_slice_desc’; use assignment or value-initialization instead [-Wclass-memaccess]

  120 |         template <typename T> inline void clear_obj(T& obj) { memset(&obj, 0, sizeof(obj)); }

      |                                                               ~~~~~~^~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_backend.h:111:16: note: ‘struct basisu::basisu_backend_slice_desc’ declared here

  111 |         struct basisu_backend_slice_desc

      |                ^~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h: In instantiation of ‘void basisu::clear_obj(T&) [with T = basist::basis_file_header]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_basis_file.h:34:13:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h:120:69: warning: ‘void* memset(void*, int, size_t)’ clearing an object of type ‘struct basist::basis_file_header’ with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess]

  120 |         template <typename T> inline void clear_obj(T& obj) { memset(&obj, 0, sizeof(obj)); }

      |                                                               ~~~~~~^~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_file_headers.h:95:16: note: ‘struct basist::basis_file_header’ declared here

   95 |         struct basis_file_header

      |                ^~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h: In instantiation of ‘void basisu::clear_obj(T&) [with T = basist::basis_slice_desc]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_basis_file.cpp:107:13:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h:120:69: warning: ‘void* memset(void*, int, size_t)’ clearing an object of type ‘struct basist::basis_slice_desc’ with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess]

  120 |         template <typename T> inline void clear_obj(T& obj) { memset(&obj, 0, sizeof(obj)); }

      |                                                               ~~~~~~^~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_file_headers.h:32:16: note: ‘struct basist::basis_slice_desc’ declared here

   32 |         struct basis_slice_desc

      |                ^~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h: In instantiation of ‘void basisu::vector<T>::erase(uint32_t, uint32_t) [with T = basisu::vec<4, float>; uint32_t = unsigned int]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:727:15:   required from ‘void basisu::vector<T>::erase(T*, T*) [with T = basisu::vec<4, float>]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h:151:67:   required from ‘void basisu::clear_vector(T&) [with T = vector<vec<4, float> >]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:2747:16:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:680:20: warning: ‘void* memmove(void*, const void*, size_t)’ writing to an object of type ‘class basisu::vec<4, float>’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]

  680 |             memmove(pDst, pSrc, num_to_move * sizeof(T));

      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:239:15: note: ‘class basisu::vec<4, float>’ declared here

  239 |         class vec

      |               ^~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h: In instantiation of ‘basisu::vector<T>::vector(const basisu::vector<T>&) [with T = basisu::gpu_image]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:1009:13:   required from ‘static void basisu::vector<T>::object_mover(void*, void*, uint32_t) [with T = basisu::vector<basisu::gpu_image>; uint32_t = unsigned int]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:1020:81:   required from ‘bool basisu::vector<T>::increase_capacity(uint32_t, bool, bool) [with T = basisu::vector<basisu::gpu_image>; uint32_t = unsigned int]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:535:13:   required from ‘void basisu::vector<T>::push_back(const T&) [with T = basisu::vector<basisu::gpu_image>]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_gpu_texture.h:128:14:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:282:19: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘class basisu::gpu_image’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]

  282 |             memcpy(m_p, other.m_p, m_size * sizeof(T));

      |             ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

In file included from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_frontend.h:18:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_gpu_texture.h:22:15: note: ‘class basisu::gpu_image’ declared here

   22 |         class gpu_image

      |               ^~~~~~~~~

[ 71%] Building CXX object libs/basis_universal/CMakeFiles/basisu-encoder.dir/__/__/_deps/basis-src/encoder/basisu_comp.cpp.o

[ 71%] Building CXX object libs/Box2D/CMakeFiles/box2d.dir/Dynamics/Contacts/b2ChainAndPolygonContact.cpp.o

[ 71%] Building CXX object libs/Box2D/CMakeFiles/box2d.dir/Dynamics/Contacts/b2CircleContact.cpp.o

[ 72%] Building CXX object libs/Box2D/CMakeFiles/box2d.dir/Dynamics/Contacts/b2Contact.cpp.o

In file included from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_comp.cpp:22:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h: In function ‘buminiz::tinfl_status buminiz::tinfl_decompress(tinfl_decompressor*, const mz_uint8*, size_t*, mz_uint8*, mz_uint8*, size_t*, mz_uint32)’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1170:9: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]

 1170 |         for ( i = 0; i <= 143; ++i) *p++ = 8; for ( ; i <= 255; ++i) *p++ = 9; for ( ; i <= 279; ++i) *p++ = 7; for ( ; i <= 287; ++i) *p++ = 8;

      |         ^~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1170:47: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’

 1170 |         for ( i = 0; i <= 143; ++i) *p++ = 8; for ( ; i <= 255; ++i) *p++ = 9; for ( ; i <= 279; ++i) *p++ = 7; for ( ; i <= 287; ++i) *p++ = 8;

      |                                               ^~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h: In function ‘void buminiz::tdefl_start_dynamic_block(tdefl_compressor*)’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1580:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]

 1580 |     if (d->m_pOutput_buf < d->m_pOutput_buf_end) \

      |     ^~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1651:3: note: in expansion of macro ‘TDEFL_PUT_BITS’

 1651 |   TDEFL_PUT_BITS(2, 2);

      |   ^~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1582:7: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’

 1582 |       d->m_bit_buffer >>= 8; \

      |       ^

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1651:3: note: in expansion of macro ‘TDEFL_PUT_BITS’

 1651 |   TDEFL_PUT_BITS(2, 2);

      |   ^~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1580:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]

 1580 |     if (d->m_pOutput_buf < d->m_pOutput_buf_end) \

      |     ^~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1653:3: note: in expansion of macro ‘TDEFL_PUT_BITS’

 1653 |   TDEFL_PUT_BITS(num_lit_codes - 257, 5);

      |   ^~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1582:7: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’

 1582 |       d->m_bit_buffer >>= 8; \

      |       ^

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1653:3: note: in expansion of macro ‘TDEFL_PUT_BITS’

 1653 |   TDEFL_PUT_BITS(num_lit_codes - 257, 5);

      |   ^~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1580:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]

 1580 |     if (d->m_pOutput_buf < d->m_pOutput_buf_end) \

      |     ^~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1654:3: note: in expansion of macro ‘TDEFL_PUT_BITS’

 1654 |   TDEFL_PUT_BITS(num_dist_codes - 1, 5);

      |   ^~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1582:7: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’

 1582 |       d->m_bit_buffer >>= 8; \

      |       ^

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1654:3: note: in expansion of macro ‘TDEFL_PUT_BITS’

 1654 |   TDEFL_PUT_BITS(num_dist_codes - 1, 5);

      |   ^~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1580:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]

 1580 |     if (d->m_pOutput_buf < d->m_pOutput_buf_end) \

      |     ^~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1657:55: note: in expansion of macro ‘TDEFL_PUT_BITS’

 1657 |   num_bit_lengths = MZ_MAX(4, (num_bit_lengths + 1)); TDEFL_PUT_BITS(num_bit_lengths - 4, 4);

      |                                                       ^~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1582:7: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’

 1582 |       d->m_bit_buffer >>= 8; \

      |       ^

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1657:55: note: in expansion of macro ‘TDEFL_PUT_BITS’

 1657 |   num_bit_lengths = MZ_MAX(4, (num_bit_lengths + 1)); TDEFL_PUT_BITS(num_bit_lengths - 4, 4);

      |                                                       ^~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1580:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]

 1580 |     if (d->m_pOutput_buf < d->m_pOutput_buf_end) \

      |     ^~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1658:46: note: in expansion of macro ‘TDEFL_PUT_BITS’

 1658 |   for (i = 0; (int)i < num_bit_lengths; i++) TDEFL_PUT_BITS(d->m_huff_code_sizes[2][s_tdefl_packed_code_size_syms_swizzle[i]], 3);

      |                                              ^~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1582:7: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’

 1582 |       d->m_bit_buffer >>= 8; \

      |       ^

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1658:46: note: in expansion of macro ‘TDEFL_PUT_BITS’

 1658 |   for (i = 0; (int)i < num_bit_lengths; i++) TDEFL_PUT_BITS(d->m_huff_code_sizes[2][s_tdefl_packed_code_size_syms_swizzle[i]], 3);

      |                                              ^~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1580:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]

 1580 |     if (d->m_pOutput_buf < d->m_pOutput_buf_end) \

      |     ^~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1663:5: note: in expansion of macro ‘TDEFL_PUT_BITS’

 1663 |     TDEFL_PUT_BITS(d->m_huff_codes[2][code], d->m_huff_code_sizes[2][code]);

      |     ^~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1582:7: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’

 1582 |       d->m_bit_buffer >>= 8; \

      |       ^

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1663:5: note: in expansion of macro ‘TDEFL_PUT_BITS’

 1663 |     TDEFL_PUT_BITS(d->m_huff_codes[2][code], d->m_huff_code_sizes[2][code]);

      |     ^~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1580:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]

 1580 |     if (d->m_pOutput_buf < d->m_pOutput_buf_end) \

      |     ^~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1664:21: note: in expansion of macro ‘TDEFL_PUT_BITS’

 1664 |     if (code >= 16) TDEFL_PUT_BITS(packed_code_sizes[packed_code_sizes_index++], "\02\03\07"[code - 16]);

      |                     ^~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1582:7: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’

 1582 |       d->m_bit_buffer >>= 8; \

      |       ^

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1664:21: note: in expansion of macro ‘TDEFL_PUT_BITS’

 1664 |     if (code >= 16) TDEFL_PUT_BITS(packed_code_sizes[packed_code_sizes_index++], "\02\03\07"[code - 16]);

      |                     ^~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h: In function ‘void buminiz::tdefl_start_static_block(tdefl_compressor*)’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1580:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]

 1580 |     if (d->m_pOutput_buf < d->m_pOutput_buf_end) \

      |     ^~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1683:3: note: in expansion of macro ‘TDEFL_PUT_BITS’

 1683 |   TDEFL_PUT_BITS(1, 2);

      |   ^~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1582:7: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’

 1582 |       d->m_bit_buffer >>= 8; \

      |       ^

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1683:3: note: in expansion of macro ‘TDEFL_PUT_BITS’

 1683 |   TDEFL_PUT_BITS(1, 2);

      |   ^~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h: In function ‘buminiz::mz_bool buminiz::tdefl_compress_lz_codes(tdefl_compressor*)’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1580:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]

 1580 |     if (d->m_pOutput_buf < d->m_pOutput_buf_end) \

      |     ^~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1768:5: note: in expansion of macro ‘TDEFL_PUT_BITS’

 1768 |     TDEFL_PUT_BITS((mz_uint)bit_buffer & mz_bitmasks[n], n);

      |     ^~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1582:7: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’

 1582 |       d->m_bit_buffer >>= 8; \

      |       ^

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1768:5: note: in expansion of macro ‘TDEFL_PUT_BITS’

 1768 |     TDEFL_PUT_BITS((mz_uint)bit_buffer & mz_bitmasks[n], n);

      |     ^~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1580:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]

 1580 |     if (d->m_pOutput_buf < d->m_pOutput_buf_end) \

      |     ^~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1773:3: note: in expansion of macro ‘TDEFL_PUT_BITS’

 1773 |   TDEFL_PUT_BITS(d->m_huff_codes[0][256], d->m_huff_code_sizes[0][256]);

      |   ^~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1582:7: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’

 1582 |       d->m_bit_buffer >>= 8; \

      |       ^

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1773:3: note: in expansion of macro ‘TDEFL_PUT_BITS’

 1773 |   TDEFL_PUT_BITS(d->m_huff_codes[0][256], d->m_huff_code_sizes[0][256]);

      |   ^~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h: In function ‘int buminiz::tdefl_flush_block(tdefl_compressor*, int)’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1580:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]

 1580 |     if (d->m_pOutput_buf < d->m_pOutput_buf_end) \

      |     ^~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1852:5: note: in expansion of macro ‘TDEFL_PUT_BITS’

 1852 |     TDEFL_PUT_BITS(0x78, 8); TDEFL_PUT_BITS(0x01, 8);

      |     ^~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1582:7: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’

 1582 |       d->m_bit_buffer >>= 8; \

      |       ^

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1852:5: note: in expansion of macro ‘TDEFL_PUT_BITS’

 1852 |     TDEFL_PUT_BITS(0x78, 8); TDEFL_PUT_BITS(0x01, 8);

      |     ^~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1580:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]

 1580 |     if (d->m_pOutput_buf < d->m_pOutput_buf_end) \

      |     ^~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1852:30: note: in expansion of macro ‘TDEFL_PUT_BITS’

 1852 |     TDEFL_PUT_BITS(0x78, 8); TDEFL_PUT_BITS(0x01, 8);

      |                              ^~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1582:7: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’

 1582 |       d->m_bit_buffer >>= 8; \

      |       ^

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1852:30: note: in expansion of macro ‘TDEFL_PUT_BITS’

 1852 |     TDEFL_PUT_BITS(0x78, 8); TDEFL_PUT_BITS(0x01, 8);

      |                              ^~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1580:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]

 1580 |     if (d->m_pOutput_buf < d->m_pOutput_buf_end) \

      |     ^~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1855:3: note: in expansion of macro ‘TDEFL_PUT_BITS’

 1855 |   TDEFL_PUT_BITS(flush == TDEFL_FINISH, 1);

      |   ^~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1582:7: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’

 1582 |       d->m_bit_buffer >>= 8; \

      |       ^

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1855:3: note: in expansion of macro ‘TDEFL_PUT_BITS’

 1855 |   TDEFL_PUT_BITS(flush == TDEFL_FINISH, 1);

      |   ^~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1580:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]

 1580 |     if (d->m_pOutput_buf < d->m_pOutput_buf_end) \

      |     ^~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1867:5: note: in expansion of macro ‘TDEFL_PUT_BITS’

 1867 |     TDEFL_PUT_BITS(0, 2);

      |     ^~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1582:7: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’

 1582 |       d->m_bit_buffer >>= 8; \

      |       ^

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1867:5: note: in expansion of macro ‘TDEFL_PUT_BITS’

 1867 |     TDEFL_PUT_BITS(0, 2);

      |     ^~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1580:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]

 1580 |     if (d->m_pOutput_buf < d->m_pOutput_buf_end) \

      |     ^~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1868:25: note: in expansion of macro ‘TDEFL_PUT_BITS’

 1868 |     if (d->m_bits_in) { TDEFL_PUT_BITS(0, 8 - d->m_bits_in); }

      |                         ^~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1582:7: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’

 1582 |       d->m_bit_buffer >>= 8; \

      |       ^

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1868:25: note: in expansion of macro ‘TDEFL_PUT_BITS’

 1868 |     if (d->m_bits_in) { TDEFL_PUT_BITS(0, 8 - d->m_bits_in); }

      |                         ^~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1580:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]

 1580 |     if (d->m_pOutput_buf < d->m_pOutput_buf_end) \

      |     ^~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1871:7: note: in expansion of macro ‘TDEFL_PUT_BITS’

 1871 |       TDEFL_PUT_BITS(d->m_total_lz_bytes & 0xFFFF, 16);

      |       ^~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1582:7: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’

 1582 |       d->m_bit_buffer >>= 8; \

      |       ^

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1871:7: note: in expansion of macro ‘TDEFL_PUT_BITS’

 1871 |       TDEFL_PUT_BITS(d->m_total_lz_bytes & 0xFFFF, 16);

      |       ^~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1580:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]

 1580 |     if (d->m_pOutput_buf < d->m_pOutput_buf_end) \

      |     ^~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1875:7: note: in expansion of macro ‘TDEFL_PUT_BITS’

 1875 |       TDEFL_PUT_BITS(d->m_dict[(d->m_lz_code_buf_dict_pos + i) & TDEFL_LZ_DICT_SIZE_MASK], 8);

      |       ^~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1582:7: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’

 1582 |       d->m_bit_buffer >>= 8; \

      |       ^

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1875:7: note: in expansion of macro ‘TDEFL_PUT_BITS’

 1875 |       TDEFL_PUT_BITS(d->m_dict[(d->m_lz_code_buf_dict_pos + i) & TDEFL_LZ_DICT_SIZE_MASK], 8);

      |       ^~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1580:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]

 1580 |     if (d->m_pOutput_buf < d->m_pOutput_buf_end) \

      |     ^~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1889:27: note: in expansion of macro ‘TDEFL_PUT_BITS’

 1889 |       if (d->m_bits_in) { TDEFL_PUT_BITS(0, 8 - d->m_bits_in); }

      |                           ^~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1582:7: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’

 1582 |       d->m_bit_buffer >>= 8; \

      |       ^

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1889:27: note: in expansion of macro ‘TDEFL_PUT_BITS’

 1889 |       if (d->m_bits_in) { TDEFL_PUT_BITS(0, 8 - d->m_bits_in); }

      |                           ^~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1580:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]

 1580 |     if (d->m_pOutput_buf < d->m_pOutput_buf_end) \

      |     ^~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1890:106: note: in expansion of macro ‘TDEFL_PUT_BITS’

 1890 |       if (d->m_flags & TDEFL_WRITE_ZLIB_HEADER) { mz_uint i, a = d->m_adler32; for (i = 0; i < 4; i++) { TDEFL_PUT_BITS((a >> 24) & 0xFF, 8); a <<= 8; } }

      |                                                                                                          ^~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1582:7: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’

 1582 |       d->m_bit_buffer >>= 8; \

      |       ^

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1890:106: note: in expansion of macro ‘TDEFL_PUT_BITS’

 1890 |       if (d->m_flags & TDEFL_WRITE_ZLIB_HEADER) { mz_uint i, a = d->m_adler32; for (i = 0; i < 4; i++) { TDEFL_PUT_BITS((a >> 24) & 0xFF, 8); a <<= 8; } }

      |                                                                                                          ^~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1580:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]

 1580 |     if (d->m_pOutput_buf < d->m_pOutput_buf_end) \

      |     ^~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1894:25: note: in expansion of macro ‘TDEFL_PUT_BITS’

 1894 |       mz_uint i, z = 0; TDEFL_PUT_BITS(0, 3); if (d->m_bits_in) { TDEFL_PUT_BITS(0, 8 - d->m_bits_in); } for (i = 2; i; --i, z ^= 0xFFFF) { TDEFL_PUT_BITS(z & 0xFFFF, 16); }

      |                         ^~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1582:7: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’

 1582 |       d->m_bit_buffer >>= 8; \

      |       ^

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1894:25: note: in expansion of macro ‘TDEFL_PUT_BITS’

 1894 |       mz_uint i, z = 0; TDEFL_PUT_BITS(0, 3); if (d->m_bits_in) { TDEFL_PUT_BITS(0, 8 - d->m_bits_in); } for (i = 2; i; --i, z ^= 0xFFFF) { TDEFL_PUT_BITS(z & 0xFFFF, 16); }

      |                         ^~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1580:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]

 1580 |     if (d->m_pOutput_buf < d->m_pOutput_buf_end) \

      |     ^~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1894:67: note: in expansion of macro ‘TDEFL_PUT_BITS’

 1894 |       mz_uint i, z = 0; TDEFL_PUT_BITS(0, 3); if (d->m_bits_in) { TDEFL_PUT_BITS(0, 8 - d->m_bits_in); } for (i = 2; i; --i, z ^= 0xFFFF) { TDEFL_PUT_BITS(z & 0xFFFF, 16); }

      |                                                                   ^~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1582:7: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’

 1582 |       d->m_bit_buffer >>= 8; \

      |       ^

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1894:67: note: in expansion of macro ‘TDEFL_PUT_BITS’

 1894 |       mz_uint i, z = 0; TDEFL_PUT_BITS(0, 3); if (d->m_bits_in) { TDEFL_PUT_BITS(0, 8 - d->m_bits_in); } for (i = 2; i; --i, z ^= 0xFFFF) { TDEFL_PUT_BITS(z & 0xFFFF, 16); }

      |                                                                   ^~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1580:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]

 1580 |     if (d->m_pOutput_buf < d->m_pOutput_buf_end) \

      |     ^~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1894:141: note: in expansion of macro ‘TDEFL_PUT_BITS’

 1894 |       mz_uint i, z = 0; TDEFL_PUT_BITS(0, 3); if (d->m_bits_in) { TDEFL_PUT_BITS(0, 8 - d->m_bits_in); } for (i = 2; i; --i, z ^= 0xFFFF) { TDEFL_PUT_BITS(z & 0xFFFF, 16); }

      |                                                                                                                                             ^~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1582:7: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’

 1582 |       d->m_bit_buffer >>= 8; \

      |       ^

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1894:141: note: in expansion of macro ‘TDEFL_PUT_BITS’

 1894 |       mz_uint i, z = 0; TDEFL_PUT_BITS(0, 3); if (d->m_bits_in) { TDEFL_PUT_BITS(0, 8 - d->m_bits_in); } for (i = 2; i; --i, z ^= 0xFFFF) { TDEFL_PUT_BITS(z & 0xFFFF, 16); }

      |                                                                                                                                             ^~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h: In function ‘void buminiz::tdefl_find_match(tdefl_compressor*, mz_uint, mz_uint, mz_uint, mz_uint*, mz_uint*)’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1954:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]

 1954 |     if (!dist) break; q = (const mz_uint16*)(d->m_dict + probe_pos); if (TDEFL_READ_UNALIGNED_WORD(q) != s01) continue; p = s; probe_len = 32;

      |     ^~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1954:23: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’

 1954 |     if (!dist) break; q = (const mz_uint16*)(d->m_dict + probe_pos); if (TDEFL_READ_UNALIGNED_WORD(q) != s01) continue; p = s; probe_len = 32;

      |                       ^

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:619:31: warning: enumerated and non-enumerated type in conditional expression [-Wextra]

  619 | #define MZ_MIN(a,b) (((a)<(b))?(a):(b))

      |                      ~~~~~~~~~^~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:1959:42: note: in expansion of macro ‘MZ_MIN’

 1959 |       *pMatch_dist = dist; *pMatch_len = MZ_MIN(max_match_len, TDEFL_MAX_MATCH_LEN); break;

      |                                          ^~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h: In function ‘buminiz::mz_bool buminiz::tdefl_compress_fast(tdefl_compressor*)’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:619:31: warning: enumerated and non-enumerated type in conditional expression [-Wextra]

  619 | #define MZ_MIN(a,b) (((a)<(b))?(a):(b))

      |                      ~~~~~~~~~^~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:2087:19: note: in expansion of macro ‘MZ_MIN’

 2087 |       dict_size = MZ_MIN(dict_size + cur_match_len, TDEFL_LZ_DICT_SIZE);

      |                   ^~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:619:31: warning: enumerated and non-enumerated type in conditional expression [-Wextra]

  619 | #define MZ_MIN(a,b) (((a)<(b))?(a):(b))

      |                      ~~~~~~~~~^~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:2115:19: note: in expansion of macro ‘MZ_MIN’

 2115 |       dict_size = MZ_MIN(dict_size + 1, TDEFL_LZ_DICT_SIZE);

      |                   ^~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h: In function ‘buminiz::mz_bool buminiz::tdefl_compress_normal(tdefl_compressor*)’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:619:31: warning: enumerated and non-enumerated type in conditional expression [-Wextra]

  619 | #define MZ_MIN(a,b) (((a)<(b))?(a):(b))

      |                      ~~~~~~~~~^~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_miniz.h:2269:22: note: in expansion of macro ‘MZ_MIN’

 2269 |     d->m_dict_size = MZ_MIN(d->m_dict_size + len_to_move, TDEFL_LZ_DICT_SIZE);

      |                      ^~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_comp.cpp: In member function ‘bool basisu::basis_compressor::create_ktx2_file()’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_comp.cpp:1800:23: warning: ‘void* memset(void*, int, size_t)’ clearing an object of type ‘struct basist::ktx2_header’ with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess]

 1800 |                 memset(&header, 0, sizeof(header));

      |                 ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~

In file included from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_frontend.h:21,

                 from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_comp.h:16,

                 from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_comp.cpp:15:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_transcoder.h:565:16: note: ‘struct basist::ktx2_header’ declared here

  565 |         struct ktx2_header

      |                ^~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_comp.cpp:1894:31: warning: ‘void* memset(void*, int, size_t)’ clearing an object of type ‘struct basist::ktx2_etc1s_image_desc’ with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess]

 1894 |                         memset(etc1s_image_descs.data(), 0, etc1s_image_descs.size_in_bytes());

      |                         ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_transcoder.h:602:16: note: ‘struct basist::ktx2_etc1s_image_desc’ declared here

  602 |         struct ktx2_etc1s_image_desc

      |                ^~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_comp.cpp:2037:23: warning: ‘void* memset(void*, int, size_t)’ clearing an object of type ‘struct basist::ktx2_level_index’ with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess]

 2037 |                 memset(level_index_array.data(), 0, level_index_array.size_in_bytes());

      |                 ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_transcoder.h:585:16: note: ‘struct basist::ktx2_level_index’ declared here

  585 |         struct ktx2_level_index

      |                ^~~~~~~~~~~~~~~~

In file included from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h:65,

                 from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:16,

                 from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_frontend.h:16:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h: In instantiation of ‘basisu::vector<T>& basisu::vector<T>::operator=(const basisu::vector<T>&) [with T = basisu::vec<4, float>]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:2737:20:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:323:19: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘class basisu::vec<4, float>’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]

  323 |             memcpy(m_p, other.m_p, other.m_size * sizeof(T));

      |             ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:239:15: note: ‘class basisu::vec<4, float>’ declared here

  239 |         class vec

      |               ^~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h: In instantiation of ‘void basisu::clear_obj(T&) [with T = basist::etc1_global_palette_entry_modifier]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_global_selector_palette.h:73:21:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h:120:69: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘class basist::etc1_global_palette_entry_modifier’; use assignment or value-initialization instead [-Wclass-memaccess]

  120 |         template <typename T> inline void clear_obj(T& obj) { memset(&obj, 0, sizeof(obj)); }

      |                                                               ~~~~~~^~~~~~~~~~~~~~~~~~~~~~

In file included from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_global_selector_palette_helpers.h:19,

                 from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_frontend.h:19:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_global_selector_palette.h:23:15: note: ‘class basist::etc1_global_palette_entry_modifier’ declared here

   23 |         class etc1_global_palette_entry_modifier

      |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h: In instantiation of ‘void basisu::clear_obj(T&) [with T = basist::etc1_selector_palette_entry]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_global_selector_palette.h:119:21:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h:120:69: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct basist::etc1_selector_palette_entry’; use assignment or value-initialization instead [-Wclass-memaccess]

  120 |         template <typename T> inline void clear_obj(T& obj) { memset(&obj, 0, sizeof(obj)); }

      |                                                               ~~~~~~^~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_global_selector_palette.h:110:16: note: ‘struct basist::etc1_selector_palette_entry’ declared here

  110 |         struct etc1_selector_palette_entry

      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h: In instantiation of ‘void basisu::clear_obj(T&) [with T = pixel_block]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_global_selector_palette_helpers.h:37:27:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h:120:69: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct basisu::pixel_block’; use assignment or value-initialization instead [-Wclass-memaccess]

  120 |         template <typename T> inline void clear_obj(T& obj) { memset(&obj, 0, sizeof(obj)); }

      |                                                               ~~~~~~^~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_global_selector_palette_helpers.h:27:16: note: ‘struct basisu::pixel_block’ declared here

   27 |         struct pixel_block

      |                ^~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h: In instantiation of ‘void basisu::clear_obj(T&) [with T = etc1_endpoint_palette_entry]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_backend.h:68:13:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h:120:69: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct basisu::etc1_endpoint_palette_entry’; use assignment or value-initialization instead [-Wclass-memaccess]

  120 |         template <typename T> inline void clear_obj(T& obj) { memset(&obj, 0, sizeof(obj)); }

      |                                                               ~~~~~~^~~~~~~~~~~~~~~~~~~~~~

In file included from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_comp.h:17:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_backend.h:55:16: note: ‘struct basisu::etc1_endpoint_palette_entry’ declared here

   55 |         struct etc1_endpoint_palette_entry

      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h: In instantiation of ‘void basisu::clear_obj(T&) [with T = basisu_backend_slice_desc]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_backend.h:120:13:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h:120:69: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct basisu::basisu_backend_slice_desc’; use assignment or value-initialization instead [-Wclass-memaccess]

  120 |         template <typename T> inline void clear_obj(T& obj) { memset(&obj, 0, sizeof(obj)); }

      |                                                               ~~~~~~^~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_backend.h:111:16: note: ‘struct basisu::basisu_backend_slice_desc’ declared here

  111 |         struct basisu_backend_slice_desc

      |                ^~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h: In instantiation of ‘void basisu::clear_obj(T&) [with T = basist::basis_file_header]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_basis_file.h:34:13:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h:120:69: warning: ‘void* memset(void*, int, size_t)’ clearing an object of type ‘struct basist::basis_file_header’ with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess]

  120 |         template <typename T> inline void clear_obj(T& obj) { memset(&obj, 0, sizeof(obj)); }

      |                                                               ~~~~~~^~~~~~~~~~~~~~~~~~~~~~

In file included from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_frontend.h:20:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_file_headers.h:95:16: note: ‘struct basist::basis_file_header’ declared here

   95 |         struct basis_file_header

      |                ^~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h: In instantiation of ‘basisu::vector<T>& basisu::vector<T>::operator=(const basisu::vector<T>&) [with T = std::__cxx11::basic_string<char>]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_comp.h:203:9:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:323:19: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘class std::__cxx11::basic_string<char>’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]

  323 |             memcpy(m_p, other.m_p, other.m_size * sizeof(T));

      |             ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

In file included from /usr/include/c++/12/string:53,

                 from /usr/include/c++/12/bits/locale_classes.h:40,

                 from /usr/include/c++/12/bits/ios_base.h:41,

                 from /usr/include/c++/12/streambuf:41,

                 from /usr/include/c++/12/bits/streambuf_iterator.h:35,

                 from /usr/include/c++/12/iterator:66,

                 from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h:60:

/usr/include/c++/12/bits/basic_string.h:85:11: note: ‘class std::__cxx11::basic_string<char>’ declared here

   85 |     class basic_string

      |           ^~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h: In instantiation of ‘basisu::vector<T>& basisu::vector<T>::operator=(const basisu::vector<T>&) [with T = basisu::image]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_comp.h:203:9:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:323:19: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘class basisu::image’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]

  323 |             memcpy(m_p, other.m_p, other.m_size * sizeof(T));

      |             ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:2344:15: note: ‘class basisu::image’ declared here

 2344 |         class image

      |               ^~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h: In instantiation of ‘basisu::vector<T>& basisu::vector<T>::operator=(const basisu::vector<T>&) [with T = basisu::vector<basisu::image>]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_comp.h:203:9:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:323:19: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘class basisu::vector<basisu::image>’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]

  323 |             memcpy(m_p, other.m_p, other.m_size * sizeof(T));

      |             ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:244:10: note: ‘class basisu::vector<basisu::image>’ declared here

  244 |    class vector : public rel_ops< vector<T> >

      |          ^~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h: In instantiation of ‘basisu::vector<T>& basisu::vector<T>::operator=(const basisu::vector<T>&) [with T = basist::ktx2_transcoder::key_value]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_comp.h:203:9:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:323:19: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘struct basist::ktx2_transcoder::key_value’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]

  323 |             memcpy(m_p, other.m_p, other.m_size * sizeof(T));

      |             ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_transcoder.h:844:24: note: ‘struct basist::ktx2_transcoder::key_value’ declared here

  844 |                 struct key_value

      |                        ^~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h: In instantiation of ‘basisu::vector<T>& basisu::vector<T>::operator=(const basisu::vector<T>&) [with T = basisu::vector<unsigned char>]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_comp.cpp:1876:34:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:323:19: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘class basisu::vector<unsigned char>’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]

  323 |             memcpy(m_p, other.m_p, other.m_size * sizeof(T));

      |             ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:244:10: note: ‘class basisu::vector<unsigned char>’ declared here

  244 |    class vector : public rel_ops< vector<T> >

      |          ^~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h: In instantiation of ‘void basisu::clear_obj(T&) [with T = basist::ktx2_etc1s_global_data_header]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_comp.cpp:1885:13:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h:120:69: warning: ‘void* memset(void*, int, size_t)’ clearing an object of type ‘struct basist::ktx2_etc1s_global_data_header’ with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess]

  120 |         template <typename T> inline void clear_obj(T& obj) { memset(&obj, 0, sizeof(obj)); }

      |                                                               ~~~~~~^~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_transcoder.h:592:16: note: ‘struct basist::ktx2_etc1s_global_data_header’ declared here

  592 |         struct ktx2_etc1s_global_data_header

      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h: In instantiation of ‘basisu::vector<T>::vector(const basisu::vector<T>&) [with T = basist::ktx2_transcoder::key_value]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_comp.cpp:1937:79:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:282:19: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘struct basist::ktx2_transcoder::key_value’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]

  282 |             memcpy(m_p, other.m_p, m_size * sizeof(T));

      |             ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_transcoder.h:844:24: note: ‘struct basist::ktx2_transcoder::key_value’ declared here

  844 |                 struct key_value

      |                        ^~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h: In instantiation of ‘void basisu::vector<T>::erase(uint32_t, uint32_t) [with T = basisu::vec<4, float>; uint32_t = unsigned int]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:727:15:   required from ‘void basisu::vector<T>::erase(T*, T*) [with T = basisu::vec<4, float>]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h:151:67:   required from ‘void basisu::clear_vector(T&) [with T = vector<vec<4, float> >]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:2747:16:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:680:20: warning: ‘void* memmove(void*, const void*, size_t)’ writing to an object of type ‘class basisu::vec<4, float>’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]

  680 |             memmove(pDst, pSrc, num_to_move * sizeof(T));

      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:239:15: note: ‘class basisu::vec<4, float>’ declared here

  239 |         class vec

      |               ^~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h: In instantiation of ‘basisu::vector<T>::vector(const basisu::vector<T>&) [with T = basisu::image]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:76:14:   required from ‘T* basisu::construct(T*, const U&) [with T = vector<image>; U = vector<image>]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:329:25:   required from ‘basisu::vector<T>& basisu::vector<T>::operator=(const basisu::vector<T>&) [with T = basisu::vector<basisu::image>]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_comp.h:203:9:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:282:19: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘class basisu::image’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]

  282 |             memcpy(m_p, other.m_p, m_size * sizeof(T));

      |             ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:2344:15: note: ‘class basisu::image’ declared here

 2344 |         class image

      |               ^~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h: In instantiation of ‘basisu::vector<T>::vector(const basisu::vector<T>&) [with T = basisu::gpu_image]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:1009:13:   required from ‘static void basisu::vector<T>::object_mover(void*, void*, uint32_t) [with T = basisu::vector<basisu::gpu_image>; uint32_t = unsigned int]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:1020:81:   required from ‘bool basisu::vector<T>::increase_capacity(uint32_t, bool, bool) [with T = basisu::vector<basisu::gpu_image>; uint32_t = unsigned int]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:535:13:   required from ‘void basisu::vector<T>::push_back(const T&) [with T = basisu::vector<basisu::gpu_image>]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_gpu_texture.h:128:14:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:282:19: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘class basisu::gpu_image’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]

  282 |             memcpy(m_p, other.m_p, m_size * sizeof(T));

      |             ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

In file included from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_frontend.h:18:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_gpu_texture.h:22:15: note: ‘class basisu::gpu_image’ declared here

   22 |         class gpu_image

      |               ^~~~~~~~~

[ 72%] Building CXX object libs/Box2D/CMakeFiles/box2d.dir/Dynamics/Contacts/b2ContactSolver.cpp.o

[ 72%] Building CXX object libs/Box2D/CMakeFiles/box2d.dir/Dynamics/Contacts/b2EdgeAndCircleContact.cpp.o

[ 73%] Building CXX object libs/basis_universal/CMakeFiles/basisu-encoder.dir/__/__/_deps/basis-src/encoder/basisu_enc.cpp.o

[ 74%] Building CXX object libs/Box2D/CMakeFiles/box2d.dir/Dynamics/Contacts/b2EdgeAndPolygonContact.cpp.o

[ 74%] Building CXX object libs/Box2D/CMakeFiles/box2d.dir/Dynamics/Contacts/b2PolygonAndCircleContact.cpp.o

[ 74%] Building CXX object libs/Box2D/CMakeFiles/box2d.dir/Dynamics/Contacts/b2PolygonContact.cpp.o

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.cpp: In function ‘bool basisu::load_tga(const char*, image&)’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.cpp:358:47: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const uint32_t’ {aka ‘const unsigned int’} [-Wsign-compare]

  358 |                         if ((w * h * n_chans) > MAX_32BIT_ALLOC_SIZE)

      |                             ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~

In file included from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h:65,

                 from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:16,

                 from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.cpp:15:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h: In instantiation of ‘basisu::vector<T>& basisu::vector<T>::operator=(const basisu::vector<T>&) [with T = basisu::vec<4, float>]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:2737:20:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:323:19: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘class basisu::vec<4, float>’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]

  323 |             memcpy(m_p, other.m_p, other.m_size * sizeof(T));

      |             ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:239:15: note: ‘class basisu::vec<4, float>’ declared here

  239 |         class vec

      |               ^~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h: In instantiation of ‘void basisu::clear_obj(T&) [with T = basist::etc1_global_palette_entry_modifier]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_global_selector_palette.h:73:21:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h:120:69: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘class basist::etc1_global_palette_entry_modifier’; use assignment or value-initialization instead [-Wclass-memaccess]

  120 |         template <typename T> inline void clear_obj(T& obj) { memset(&obj, 0, sizeof(obj)); }

      |                                                               ~~~~~~^~~~~~~~~~~~~~~~~~~~~~

In file included from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_transcoder.h:37,

                 from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.cpp:20:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_global_selector_palette.h:23:15: note: ‘class basist::etc1_global_palette_entry_modifier’ declared here

   23 |         class etc1_global_palette_entry_modifier

      |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h: In instantiation of ‘void basisu::clear_obj(T&) [with T = basist::etc1_selector_palette_entry]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_global_selector_palette.h:119:21:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h:120:69: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct basist::etc1_selector_palette_entry’; use assignment or value-initialization instead [-Wclass-memaccess]

  120 |         template <typename T> inline void clear_obj(T& obj) { memset(&obj, 0, sizeof(obj)); }

      |                                                               ~~~~~~^~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_global_selector_palette.h:110:16: note: ‘struct basist::etc1_selector_palette_entry’ declared here

  110 |         struct etc1_selector_palette_entry

      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h: In instantiation of ‘void basisu::vector<T>::erase(uint32_t, uint32_t) [with T = basisu::vec<4, float>; uint32_t = unsigned int]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:727:15:   required from ‘void basisu::vector<T>::erase(T*, T*) [with T = basisu::vec<4, float>]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h:151:67:   required from ‘void basisu::clear_vector(T&) [with T = vector<vec<4, float> >]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:2747:16:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:680:20: warning: ‘void* memmove(void*, const void*, size_t)’ writing to an object of type ‘class basisu::vec<4, float>’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]

  680 |             memmove(pDst, pSrc, num_to_move * sizeof(T));

      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:239:15: note: ‘class basisu::vec<4, float>’ declared here

  239 |         class vec

      |               ^~~

[ 75%] Building CXX object libs/Box2D/CMakeFiles/box2d.dir/Dynamics/Joints/b2DistanceJoint.cpp.o

[ 75%] Building CXX object libs/Box2D/CMakeFiles/box2d.dir/Dynamics/Joints/b2FrictionJoint.cpp.o

[ 75%] Building CXX object libs/basis_universal/CMakeFiles/basisu-encoder.dir/__/__/_deps/basis-src/encoder/basisu_etc.cpp.o

[ 75%] Building CXX object libs/Box2D/CMakeFiles/box2d.dir/Dynamics/Joints/b2GearJoint.cpp.o

[ 75%] Building CXX object libs/Box2D/CMakeFiles/box2d.dir/Dynamics/Joints/b2Joint.cpp.o

In file included from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h:65,

                 from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_etc.h:16,

                 from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_etc.cpp:15:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h: In instantiation of ‘basisu::vector<T>& basisu::vector<T>::operator=(const basisu::vector<T>&) [with T = basisu::vec<4, float>]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:2737:20:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:323:19: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘class basisu::vec<4, float>’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]

  323 |             memcpy(m_p, other.m_p, other.m_size * sizeof(T));

      |             ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

In file included from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_etc.h:17:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:239:15: note: ‘class basisu::vec<4, float>’ declared here

  239 |         class vec

      |               ^~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h: In instantiation of ‘void basisu::vector<T>::erase(uint32_t, uint32_t) [with T = basisu::vec<4, float>; uint32_t = unsigned int]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:727:15:   required from ‘void basisu::vector<T>::erase(T*, T*) [with T = basisu::vec<4, float>]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h:151:67:   required from ‘void basisu::clear_vector(T&) [with T = vector<vec<4, float> >]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:2747:16:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:680:20: warning: ‘void* memmove(void*, const void*, size_t)’ writing to an object of type ‘class basisu::vec<4, float>’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]

  680 |             memmove(pDst, pSrc, num_to_move * sizeof(T));

      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:239:15: note: ‘class basisu::vec<4, float>’ declared here

  239 |         class vec

      |               ^~~

[ 76%] Building CXX object libs/Box2D/CMakeFiles/box2d.dir/Dynamics/Joints/b2MotorJoint.cpp.o

[ 76%] Building CXX object libs/basis_universal/CMakeFiles/basisu-encoder.dir/__/__/_deps/basis-src/encoder/basisu_frontend.cpp.o

[ 76%] Building CXX object libs/Box2D/CMakeFiles/box2d.dir/Dynamics/Joints/b2MouseJoint.cpp.o

[ 76%] Building CXX object libs/Box2D/CMakeFiles/box2d.dir/Dynamics/Joints/b2PrismaticJoint.cpp.o

In file included from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h:65,

                 from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_frontend.cpp:20:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h: In instantiation of ‘basisu::vector<T>& basisu::vector<T>::operator=(const basisu::vector<T>&) [with T = basisu::vec<4, float>]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:2737:20:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:323:19: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘class basisu::vec<4, float>’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]

  323 |             memcpy(m_p, other.m_p, other.m_size * sizeof(T));

      |             ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

In file included from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_frontend.h:16,

                 from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_frontend.cpp:21:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:239:15: note: ‘class basisu::vec<4, float>’ declared here

  239 |         class vec

      |               ^~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h: In instantiation of ‘void basisu::clear_obj(T&) [with T = basist::etc1_global_palette_entry_modifier]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_global_selector_palette.h:73:21:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h:120:69: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘class basist::etc1_global_palette_entry_modifier’; use assignment or value-initialization instead [-Wclass-memaccess]

  120 |         template <typename T> inline void clear_obj(T& obj) { memset(&obj, 0, sizeof(obj)); }

      |                                                               ~~~~~~^~~~~~~~~~~~~~~~~~~~~~

In file included from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_global_selector_palette_helpers.h:19,

                 from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_frontend.h:19:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_global_selector_palette.h:23:15: note: ‘class basist::etc1_global_palette_entry_modifier’ declared here

   23 |         class etc1_global_palette_entry_modifier

      |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h: In instantiation of ‘void basisu::clear_obj(T&) [with T = basist::etc1_selector_palette_entry]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_global_selector_palette.h:119:21:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h:120:69: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct basist::etc1_selector_palette_entry’; use assignment or value-initialization instead [-Wclass-memaccess]

  120 |         template <typename T> inline void clear_obj(T& obj) { memset(&obj, 0, sizeof(obj)); }

      |                                                               ~~~~~~^~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_global_selector_palette.h:110:16: note: ‘struct basist::etc1_selector_palette_entry’ declared here

  110 |         struct etc1_selector_palette_entry

      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h: In instantiation of ‘void basisu::clear_obj(T&) [with T = pixel_block]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_global_selector_palette_helpers.h:37:27:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h:120:69: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct basisu::pixel_block’; use assignment or value-initialization instead [-Wclass-memaccess]

  120 |         template <typename T> inline void clear_obj(T& obj) { memset(&obj, 0, sizeof(obj)); }

      |                                                               ~~~~~~^~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_global_selector_palette_helpers.h:27:16: note: ‘struct basisu::pixel_block’ declared here

   27 |         struct pixel_block

      |                ^~~~~~~~~~~

[ 77%] Building CXX object libs/Box2D/CMakeFiles/box2d.dir/Dynamics/Joints/b2PulleyJoint.cpp.o

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h: In instantiation of ‘basisu::vector<T>& basisu::vector<T>::operator=(const basisu::vector<T>&) [with T = basisu::vector<unsigned int>]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_frontend.cpp:1575:25:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:323:19: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘struct basisu::vector<unsigned int>’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]

  323 |             memcpy(m_p, other.m_p, other.m_size * sizeof(T));

      |             ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:244:10: note: ‘struct basisu::vector<unsigned int>’ declared here

  244 |    class vector : public rel_ops< vector<T> >

      |          ^~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h: In instantiation of ‘basisu::vector<T>& basisu::vector<T>::operator=(const basisu::vector<T>&) [with T = basisu::basisu_frontend::endpoint_cluster_etc_params]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_frontend.cpp:2803:36:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:323:19: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘struct basisu::basisu_frontend::endpoint_cluster_etc_params’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]

  323 |             memcpy(m_p, other.m_p, other.m_size * sizeof(T));

      |             ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_frontend.h:207:24: note: ‘struct basisu::basisu_frontend::endpoint_cluster_etc_params’ declared here

  207 |                 struct endpoint_cluster_etc_params

      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h: In instantiation of ‘void basisu::vector<T>::erase(uint32_t, uint32_t) [with T = basisu::vec<4, float>; uint32_t = unsigned int]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:727:15:   required from ‘void basisu::vector<T>::erase(T*, T*) [with T = basisu::vec<4, float>]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h:151:67:   required from ‘void basisu::clear_vector(T&) [with T = vector<vec<4, float> >]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:2747:16:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:680:20: warning: ‘void* memmove(void*, const void*, size_t)’ writing to an object of type ‘class basisu::vec<4, float>’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]

  680 |             memmove(pDst, pSrc, num_to_move * sizeof(T));

      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:239:15: note: ‘class basisu::vec<4, float>’ declared here

  239 |         class vec

      |               ^~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h: In instantiation of ‘basisu::vector<T>::vector(const basisu::vector<T>&) [with T = basisu::gpu_image]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:1009:13:   required from ‘static void basisu::vector<T>::object_mover(void*, void*, uint32_t) [with T = basisu::vector<basisu::gpu_image>; uint32_t = unsigned int]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:1020:81:   required from ‘bool basisu::vector<T>::increase_capacity(uint32_t, bool, bool) [with T = basisu::vector<basisu::gpu_image>; uint32_t = unsigned int]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:535:13:   required from ‘void basisu::vector<T>::push_back(const T&) [with T = basisu::vector<basisu::gpu_image>]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_gpu_texture.h:128:14:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:282:19: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘class basisu::gpu_image’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]

  282 |             memcpy(m_p, other.m_p, m_size * sizeof(T));

      |             ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

In file included from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_frontend.h:18:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_gpu_texture.h:22:15: note: ‘class basisu::gpu_image’ declared here

   22 |         class gpu_image

      |               ^~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h: In instantiation of ‘basisu::vector<T>& basisu::vector<T>::operator=(const basisu::vector<T>&) [with T = basisu::tree_vector_quant<basisu::vec<6, float> >::tsvq_node]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:414:17:   required from ‘void basisu::vector<T>::reserve(size_t) [with T = basisu::tree_vector_quant<basisu::vec<6, float> >::tsvq_node; size_t = long unsigned int]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:1283:19:   required from ‘bool basisu::tree_vector_quant<TrainingVectorType>::generate(uint32_t) [with TrainingVectorType = basisu::vec<6, float>; uint32_t = unsigned int]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:1719:19:   required from ‘bool basisu::generate_hierarchical_codebook_threaded_internal(Quantizer&, uint32_t, uint32_t, vector<vector<unsigned int> >&, vector<vector<unsigned int> >&, uint32_t, bool, job_pool*) [with Quantizer = tree_vector_quant<vec<6, float> >; uint32_t = unsigned int]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:1895:65:   required from ‘bool basisu::generate_hierarchical_codebook_threaded(Quantizer&, uint32_t, uint32_t, vector<vector<unsigned int> >&, vector<vector<unsigned int> >&, uint32_t, job_pool*) [with Quantizer = tree_vector_quant<vec<6, float> >; uint32_t = unsigned int]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_frontend.cpp:894:56:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:323:19: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘class basisu::tree_vector_quant<basisu::vec<6, float> >::tsvq_node’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]

  323 |             memcpy(m_p, other.m_p, other.m_size * sizeof(T));

      |             ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:1322:23: note: ‘class basisu::tree_vector_quant<basisu::vec<6, float> >::tsvq_node’ declared here

 1322 |                 class tsvq_node

      |                       ^~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h: In instantiation of ‘basisu::vector<T>& basisu::vector<T>::operator=(const basisu::vector<T>&) [with T = basisu::tree_vector_quant<basisu::vec<16, float> >::tsvq_node]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:414:17:   required from ‘void basisu::vector<T>::reserve(size_t) [with T = basisu::tree_vector_quant<basisu::vec<16, float> >::tsvq_node; size_t = long unsigned int]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:1283:19:   required from ‘bool basisu::tree_vector_quant<TrainingVectorType>::generate(uint32_t) [with TrainingVectorType = basisu::vec<16, float>; uint32_t = unsigned int]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:1719:19:   required from ‘bool basisu::generate_hierarchical_codebook_threaded_internal(Quantizer&, uint32_t, uint32_t, vector<vector<unsigned int> >&, vector<vector<unsigned int> >&, uint32_t, bool, job_pool*) [with Quantizer = tree_vector_quant<vec<16, float> >; uint32_t = unsigned int]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:1895:65:   required from ‘bool basisu::generate_hierarchical_codebook_threaded(Quantizer&, uint32_t, uint32_t, vector<vector<unsigned int> >&, vector<vector<unsigned int> >&, uint32_t, job_pool*) [with Quantizer = tree_vector_quant<vec<16, float> >; uint32_t = unsigned int]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_frontend.cpp:1804:56:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:323:19: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘class basisu::tree_vector_quant<basisu::vec<16, float> >::tsvq_node’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]

  323 |             memcpy(m_p, other.m_p, other.m_size * sizeof(T));

      |             ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:1322:23: note: ‘class basisu::tree_vector_quant<basisu::vec<16, float> >::tsvq_node’ declared here

 1322 |                 class tsvq_node

      |                       ^~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h: In instantiation of ‘void basisu::vector<T>::erase(uint32_t, uint32_t) [with T = basisu::tree_vector_quant<basisu::vec<6, float> >::tsvq_node; uint32_t = unsigned int]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:727:15:   required from ‘void basisu::vector<T>::erase(T*, T*) [with T = basisu::tree_vector_quant<basisu::vec<6, float> >::tsvq_node]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h:151:67:   required from ‘void basisu::clear_vector(T&) [with T = vector<tree_vector_quant<vec<6, float> >::tsvq_node>]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:1282:16:   required from ‘bool basisu::tree_vector_quant<TrainingVectorType>::generate(uint32_t) [with TrainingVectorType = basisu::vec<6, float>; uint32_t = unsigned int]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:1719:19:   required from ‘bool basisu::generate_hierarchical_codebook_threaded_internal(Quantizer&, uint32_t, uint32_t, vector<vector<unsigned int> >&, vector<vector<unsigned int> >&, uint32_t, bool, job_pool*) [with Quantizer = tree_vector_quant<vec<6, float> >; uint32_t = unsigned int]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:1895:65:   required from ‘bool basisu::generate_hierarchical_codebook_threaded(Quantizer&, uint32_t, uint32_t, vector<vector<unsigned int> >&, vector<vector<unsigned int> >&, uint32_t, job_pool*) [with Quantizer = tree_vector_quant<vec<6, float> >; uint32_t = unsigned int]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_frontend.cpp:894:56:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:680:20: warning: ‘void* memmove(void*, const void*, size_t)’ writing to an object of type ‘class basisu::tree_vector_quant<basisu::vec<6, float> >::tsvq_node’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]

  680 |             memmove(pDst, pSrc, num_to_move * sizeof(T));

      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:1322:23: note: ‘class basisu::tree_vector_quant<basisu::vec<6, float> >::tsvq_node’ declared here

 1322 |                 class tsvq_node

      |                       ^~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h: In instantiation of ‘void basisu::vector<T>::erase(uint32_t, uint32_t) [with T = basisu::tree_vector_quant<basisu::vec<16, float> >::tsvq_node; uint32_t = unsigned int]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:727:15:   required from ‘void basisu::vector<T>::erase(T*, T*) [with T = basisu::tree_vector_quant<basisu::vec<16, float> >::tsvq_node]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h:151:67:   required from ‘void basisu::clear_vector(T&) [with T = vector<tree_vector_quant<vec<16, float> >::tsvq_node>]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:1282:16:   required from ‘bool basisu::tree_vector_quant<TrainingVectorType>::generate(uint32_t) [with TrainingVectorType = basisu::vec<16, float>; uint32_t = unsigned int]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:1719:19:   required from ‘bool basisu::generate_hierarchical_codebook_threaded_internal(Quantizer&, uint32_t, uint32_t, vector<vector<unsigned int> >&, vector<vector<unsigned int> >&, uint32_t, bool, job_pool*) [with Quantizer = tree_vector_quant<vec<16, float> >; uint32_t = unsigned int]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:1895:65:   required from ‘bool basisu::generate_hierarchical_codebook_threaded(Quantizer&, uint32_t, uint32_t, vector<vector<unsigned int> >&, vector<vector<unsigned int> >&, uint32_t, job_pool*) [with Quantizer = tree_vector_quant<vec<16, float> >; uint32_t = unsigned int]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_frontend.cpp:1804:56:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:680:20: warning: ‘void* memmove(void*, const void*, size_t)’ writing to an object of type ‘class basisu::tree_vector_quant<basisu::vec<16, float> >::tsvq_node’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]

  680 |             memmove(pDst, pSrc, num_to_move * sizeof(T));

      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:1322:23: note: ‘class basisu::tree_vector_quant<basisu::vec<16, float> >::tsvq_node’ declared here

 1322 |                 class tsvq_node

      |                       ^~~~~~~~~

[ 77%] Building CXX object libs/Box2D/CMakeFiles/box2d.dir/Dynamics/Joints/b2RevoluteJoint.cpp.o

[ 77%] Building CXX object libs/Box2D/CMakeFiles/box2d.dir/Dynamics/Joints/b2RopeJoint.cpp.o

[ 77%] Building CXX object libs/Box2D/CMakeFiles/box2d.dir/Dynamics/Joints/b2WeldJoint.cpp.o

[ 78%] Building CXX object libs/Box2D/CMakeFiles/box2d.dir/Dynamics/Joints/b2WheelJoint.cpp.o

[ 79%] Building CXX object libs/basis_universal/CMakeFiles/basisu-encoder.dir/__/__/_deps/basis-src/encoder/basisu_global_selector_palette_helpers.cpp.o

[ 79%] Building CXX object libs/Box2D/CMakeFiles/box2d.dir/Rope/b2Rope.cpp.o

[ 79%] Linking CXX static library libbox2d.a

[ 79%] Built target box2d

[ 79%] Building CXX object libs/basis_universal/CMakeFiles/basisu-encoder.dir/__/__/_deps/basis-src/encoder/basisu_gpu_texture.cpp.o

In file included from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h:65,

                 from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_global_selector_palette_helpers.h:17,

                 from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_global_selector_palette_helpers.cpp:15:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h: In instantiation of ‘basisu::vector<T>& basisu::vector<T>::operator=(const basisu::vector<T>&) [with T = basisu::vec<4, float>]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:2737:20:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:323:19: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘class basisu::vec<4, float>’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]

  323 |             memcpy(m_p, other.m_p, other.m_size * sizeof(T));

      |             ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

In file included from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_etc.h:17,

                 from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_global_selector_palette_helpers.h:18:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:239:15: note: ‘class basisu::vec<4, float>’ declared here

  239 |         class vec

      |               ^~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h: In instantiation of ‘void basisu::clear_obj(T&) [with T = basist::etc1_global_palette_entry_modifier]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_global_selector_palette.h:73:21:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h:120:69: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘class basist::etc1_global_palette_entry_modifier’; use assignment or value-initialization instead [-Wclass-memaccess]

  120 |         template <typename T> inline void clear_obj(T& obj) { memset(&obj, 0, sizeof(obj)); }

      |                                                               ~~~~~~^~~~~~~~~~~~~~~~~~~~~~

In file included from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_global_selector_palette_helpers.h:19:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_global_selector_palette.h:23:15: note: ‘class basist::etc1_global_palette_entry_modifier’ declared here

   23 |         class etc1_global_palette_entry_modifier

      |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h: In instantiation of ‘void basisu::clear_obj(T&) [with T = basist::etc1_selector_palette_entry]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_global_selector_palette.h:119:21:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h:120:69: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct basist::etc1_selector_palette_entry’; use assignment or value-initialization instead [-Wclass-memaccess]

  120 |         template <typename T> inline void clear_obj(T& obj) { memset(&obj, 0, sizeof(obj)); }

      |                                                               ~~~~~~^~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_global_selector_palette.h:110:16: note: ‘struct basist::etc1_selector_palette_entry’ declared here

  110 |         struct etc1_selector_palette_entry

      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h: In instantiation of ‘void basisu::clear_obj(T&) [with T = pixel_block]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_global_selector_palette_helpers.h:37:27:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h:120:69: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct basisu::pixel_block’; use assignment or value-initialization instead [-Wclass-memaccess]

  120 |         template <typename T> inline void clear_obj(T& obj) { memset(&obj, 0, sizeof(obj)); }

      |                                                               ~~~~~~^~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_global_selector_palette_helpers.h:27:16: note: ‘struct basisu::pixel_block’ declared here

   27 |         struct pixel_block

      |                ^~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h: In instantiation of ‘void basisu::vector<T>::erase(uint32_t, uint32_t) [with T = basisu::vec<4, float>; uint32_t = unsigned int]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:727:15:   required from ‘void basisu::vector<T>::erase(T*, T*) [with T = basisu::vec<4, float>]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h:151:67:   required from ‘void basisu::clear_vector(T&) [with T = vector<vec<4, float> >]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:2747:16:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:680:20: warning: ‘void* memmove(void*, const void*, size_t)’ writing to an object of type ‘class basisu::vec<4, float>’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]

  680 |             memmove(pDst, pSrc, num_to_move * sizeof(T));

      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:239:15: note: ‘class basisu::vec<4, float>’ declared here

  239 |         class vec

      |               ^~~

[ 79%] Building CXX object libs/basis_universal/CMakeFiles/basisu-encoder.dir/__/__/_deps/basis-src/encoder/basisu_pvrtc1_4.cpp.o

In file included from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_gpu_texture.cpp:17:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_pvrtc1_4.h: In member function ‘void basisu::pvrtc4_image::set_to_black()’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_pvrtc1_4.h:234:31: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct basisu::pvrtc4_block’; use assignment or value-initialization instead [-Wclass-memaccess]

  234 |                         memset(m_blocks.get_ptr(), 0, m_blocks.size_in_bytes());

      |                         ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_pvrtc1_4.h:28:16: note: ‘struct basisu::pvrtc4_block’ declared here

   28 |         struct pvrtc4_block

      |                ^~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_gpu_texture.cpp: In member function ‘bool basisu::gpu_image::unpack(basisu::image&) const’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_gpu_texture.cpp:1218:31: warning: ‘void* memcpy(void*, const void*, size_t)’ copying an object of non-trivial type ‘struct basisu::pvrtc4_block’ from an array of ‘const uint64_t’ {aka ‘const long unsigned int’} [-Wclass-memaccess]

 1218 |                         memcpy(&pi.get_blocks()[0], get_ptr(), get_size_in_bytes());

      |                         ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_pvrtc1_4.h:28:16: note: ‘struct basisu::pvrtc4_block’ declared here

   28 |         struct pvrtc4_block

      |                ^~~~~~~~~~~~

In file included from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h:65,

                 from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_gpu_texture.h:16,

                 from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_gpu_texture.cpp:15:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h: In instantiation of ‘basisu::vector<T>& basisu::vector<T>::operator=(const basisu::vector<T>&) [with T = basisu::vec<4, float>]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:2737:20:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:323:19: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘class basisu::vec<4, float>’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]

  323 |             memcpy(m_p, other.m_p, other.m_size * sizeof(T));

      |             ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

In file included from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_etc.h:17,

                 from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_gpu_texture.h:17:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:239:15: note: ‘class basisu::vec<4, float>’ declared here

  239 |         class vec

      |               ^~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h: In instantiation of ‘void basisu::clear_obj(T&) [with T = ktx_header]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_gpu_texture.cpp:1301:27:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h:120:69: warning: ‘void* memset(void*, int, size_t)’ clearing an object of type ‘struct basisu::ktx_header’ with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess]

  120 |         template <typename T> inline void clear_obj(T& obj) { memset(&obj, 0, sizeof(obj)); }

      |                                                               ~~~~~~^~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_gpu_texture.cpp:1284:16: note: ‘struct basisu::ktx_header’ declared here

 1284 |         struct ktx_header

      |                ^~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h: In instantiation of ‘void basisu::vector<T>::erase(uint32_t, uint32_t) [with T = basisu::vec<4, float>; uint32_t = unsigned int]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:727:15:   required from ‘void basisu::vector<T>::erase(T*, T*) [with T = basisu::vec<4, float>]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h:151:67:   required from ‘void basisu::clear_vector(T&) [with T = vector<vec<4, float> >]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:2747:16:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:680:20: warning: ‘void* memmove(void*, const void*, size_t)’ writing to an object of type ‘class basisu::vec<4, float>’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]

  680 |             memmove(pDst, pSrc, num_to_move * sizeof(T));

      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:239:15: note: ‘class basisu::vec<4, float>’ declared here

  239 |         class vec

      |               ^~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h: In instantiation of ‘basisu::vector<T>::vector(const basisu::vector<T>&) [with T = basisu::gpu_image]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:1009:13:   required from ‘static void basisu::vector<T>::object_mover(void*, void*, uint32_t) [with T = basisu::vector<basisu::gpu_image>; uint32_t = unsigned int]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:1020:81:   required from ‘bool basisu::vector<T>::increase_capacity(uint32_t, bool, bool) [with T = basisu::vector<basisu::gpu_image>; uint32_t = unsigned int]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:535:13:   required from ‘void basisu::vector<T>::push_back(const T&) [with T = basisu::vector<basisu::gpu_image>]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_gpu_texture.h:128:14:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:282:19: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘class basisu::gpu_image’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]

  282 |             memcpy(m_p, other.m_p, m_size * sizeof(T));

      |             ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_gpu_texture.h:22:15: note: ‘class basisu::gpu_image’ declared here

   22 |         class gpu_image

      |               ^~~~~~~~~

[ 79%] Building CXX object libs/basis_universal/CMakeFiles/basisu-encoder.dir/__/__/_deps/basis-src/encoder/basisu_resampler.cpp.o

In file included from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_pvrtc1_4.cpp:15:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_pvrtc1_4.h: In member function ‘void basisu::pvrtc4_image::set_to_black()’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_pvrtc1_4.h:234:31: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct basisu::pvrtc4_block’; use assignment or value-initialization instead [-Wclass-memaccess]

  234 |                         memset(m_blocks.get_ptr(), 0, m_blocks.size_in_bytes());

      |                         ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_pvrtc1_4.h:28:16: note: ‘struct basisu::pvrtc4_block’ declared here

   28 |         struct pvrtc4_block

      |                ^~~~~~~~~~~~

In file included from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h:65,

                 from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_gpu_texture.h:16,

                 from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_pvrtc1_4.h:16:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h: In instantiation of ‘basisu::vector<T>& basisu::vector<T>::operator=(const basisu::vector<T>&) [with T = basisu::vec<4, float>]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:2737:20:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:323:19: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘class basisu::vec<4, float>’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]

  323 |             memcpy(m_p, other.m_p, other.m_size * sizeof(T));

      |             ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

In file included from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_etc.h:17,

                 from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_gpu_texture.h:17:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:239:15: note: ‘class basisu::vec<4, float>’ declared here

  239 |         class vec

      |               ^~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h: In instantiation of ‘void basisu::vector<T>::erase(uint32_t, uint32_t) [with T = basisu::vec<4, float>; uint32_t = unsigned int]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:727:15:   required from ‘void basisu::vector<T>::erase(T*, T*) [with T = basisu::vec<4, float>]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h:151:67:   required from ‘void basisu::clear_vector(T&) [with T = vector<vec<4, float> >]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:2747:16:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:680:20: warning: ‘void* memmove(void*, const void*, size_t)’ writing to an object of type ‘class basisu::vec<4, float>’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]

  680 |             memmove(pDst, pSrc, num_to_move * sizeof(T));

      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:239:15: note: ‘class basisu::vec<4, float>’ declared here

  239 |         class vec

      |               ^~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h: In instantiation of ‘basisu::vector<T>::vector(const basisu::vector<T>&) [with T = basisu::gpu_image]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:1009:13:   required from ‘static void basisu::vector<T>::object_mover(void*, void*, uint32_t) [with T = basisu::vector<basisu::gpu_image>; uint32_t = unsigned int]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:1020:81:   required from ‘bool basisu::vector<T>::increase_capacity(uint32_t, bool, bool) [with T = basisu::vector<basisu::gpu_image>; uint32_t = unsigned int]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:535:13:   required from ‘void basisu::vector<T>::push_back(const T&) [with T = basisu::vector<basisu::gpu_image>]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_gpu_texture.h:128:14:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:282:19: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘class basisu::gpu_image’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]

  282 |             memcpy(m_p, other.m_p, m_size * sizeof(T));

      |             ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_gpu_texture.h:22:15: note: ‘class basisu::gpu_image’ declared here

   22 |         class gpu_image

      |               ^~~~~~~~~

[ 80%] Building CXX object libs/basis_universal/CMakeFiles/basisu-encoder.dir/__/__/_deps/basis-src/encoder/basisu_resample_filters.cpp.o

[ 80%] Building CXX object libs/basis_universal/CMakeFiles/basisu-encoder.dir/__/__/_deps/basis-src/encoder/basisu_ssim.cpp.o

[ 80%] Building CXX object libs/basis_universal/CMakeFiles/basisu-encoder.dir/__/__/_deps/basis-src/encoder/basisu_astc_decomp.cpp.o

In file included from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h:65,

                 from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:16,

                 from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_ssim.h:16,

                 from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_ssim.cpp:15:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h: In instantiation of ‘basisu::vector<T>& basisu::vector<T>::operator=(const basisu::vector<T>&) [with T = basisu::vec<4, float>]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:2737:20:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:323:19: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘class basisu::vec<4, float>’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]

  323 |             memcpy(m_p, other.m_p, other.m_size * sizeof(T));

      |             ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:239:15: note: ‘class basisu::vec<4, float>’ declared here

  239 |         class vec

      |               ^~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h: In instantiation of ‘void basisu::vector<T>::erase(uint32_t, uint32_t) [with T = basisu::vec<4, float>; uint32_t = unsigned int]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:727:15:   required from ‘void basisu::vector<T>::erase(T*, T*) [with T = basisu::vec<4, float>]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h:151:67:   required from ‘void basisu::clear_vector(T&) [with T = vector<vec<4, float> >]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:2747:16:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:680:20: warning: ‘void* memmove(void*, const void*, size_t)’ writing to an object of type ‘class basisu::vec<4, float>’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]

  680 |             memmove(pDst, pSrc, num_to_move * sizeof(T));

      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:239:15: note: ‘class basisu::vec<4, float>’ declared here

  239 |         class vec

      |               ^~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_astc_decomp.cpp: In function ‘void basisu_astc::astc::{anonymous}::decodeISETritBlock(ISEDecodedResult*, int, BitAccessStream&, int)’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_astc_decomp.cpp:695:41: warning: this statement may fall through [-Wimplicit-fallthrough=]

  695 |                 case 1: T23             = 0;

      |                         ~~~~~~~~~~~~~~~~^~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_astc_decomp.cpp:696:17: note: here

  696 |                 case 2: T4              = 0;

      |                 ^~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_astc_decomp.cpp:696:41: warning: this statement may fall through [-Wimplicit-fallthrough=]

  696 |                 case 2: T4              = 0;

      |                         ~~~~~~~~~~~~~~~~^~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_astc_decomp.cpp:697:17: note: here

  697 |                 case 3: T56             = 0;

      |                 ^~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_astc_decomp.cpp:697:41: warning: this statement may fall through [-Wimplicit-fallthrough=]

  697 |                 case 3: T56             = 0;

      |                         ~~~~~~~~~~~~~~~~^~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_astc_decomp.cpp:698:17: note: here

  698 |                 case 4: T7              = 0;

      |                 ^~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_astc_decomp.cpp: In function ‘void basisu_astc::astc::{anonymous}::decodeISEQuintBlock(ISEDecodedResult*, int, BitAccessStream&, int)’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_astc_decomp.cpp:744:41: warning: this statement may fall through [-Wimplicit-fallthrough=]

  744 |                 case 1: Q34             = 0;

      |                         ~~~~~~~~~~~~~~~~^~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_astc_decomp.cpp:745:17: note: here

  745 |                 case 2: Q56             = 0;

      |                 ^~~~

[ 81%] Building CXX object libs/basis_universal/CMakeFiles/basisu-encoder.dir/__/__/_deps/basis-src/encoder/basisu_uastc_enc.cpp.o

[ 81%] Building CXX object libs/basis_universal/CMakeFiles/basisu-encoder.dir/__/__/_deps/basis-src/encoder/basisu_bc7enc.cpp.o

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_uastc_enc.cpp: In function ‘void basisu::compute_bc1_hints(bool&, bool&, const uastc_encode_results&, const color_rgba (*)[4], const color_rgba (*)[4])’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_uastc_enc.cpp:2563:23: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct basist::unpacked_uastc_block’; use assignment or value-initialization instead [-Wclass-memaccess]

 2563 |                 memset(&ublock, 0, sizeof(ublock));

      |                 ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~

In file included from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_uastc_enc.h:18,

                 from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_uastc_enc.cpp:15:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_transcoder_uastc.h:215:16: note: ‘struct basist::unpacked_uastc_block’ declared here

  215 |         struct unpacked_uastc_block

      |                ^~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_uastc_enc.cpp: In function ‘void basisu::encode_uastc(const uint8_t*, basist::uastc_block&, uint32_t)’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_uastc_enc.cpp:3378:23: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct basist::unpacked_uastc_block’; use assignment or value-initialization instead [-Wclass-memaccess]

 3378 |                 memset(&unpacked_ublock, 0, sizeof(unpacked_ublock));

      |                 ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_transcoder_uastc.h:215:16: note: ‘struct basist::unpacked_uastc_block’ declared here

  215 |         struct unpacked_uastc_block

      |                ^~~~~~~~~~~~~~~~~~~~

In file included from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h:65,

                 from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:16,

                 from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_bc7enc.h:16,

                 from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_bc7enc.cpp:15:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h: In instantiation of ‘basisu::vector<T>& basisu::vector<T>::operator=(const basisu::vector<T>&) [with T = basisu::vec<4, float>]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:2737:20:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:323:19: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘class basisu::vec<4, float>’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]

  323 |             memcpy(m_p, other.m_p, other.m_size * sizeof(T));

      |             ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:239:15: note: ‘class basisu::vec<4, float>’ declared here

  239 |         class vec

      |               ^~~

In file included from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h:65,

                 from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_etc.h:16,

                 from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_uastc_enc.h:16:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h: In instantiation of ‘basisu::vector<T>& basisu::vector<T>::operator=(const basisu::vector<T>&) [with T = basisu::vec<4, float>]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:2737:20:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:323:19: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘class basisu::vec<4, float>’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]

  323 |             memcpy(m_p, other.m_p, other.m_size * sizeof(T));

      |             ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

In file included from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_etc.h:17:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:239:15: note: ‘class basisu::vec<4, float>’ declared here

  239 |         class vec

      |               ^~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h: In instantiation of ‘void basisu::vector<T>::erase(uint32_t, uint32_t) [with T = basisu::vec<4, float>; uint32_t = unsigned int]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:727:15:   required from ‘void basisu::vector<T>::erase(T*, T*) [with T = basisu::vec<4, float>]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h:151:67:   required from ‘void basisu::clear_vector(T&) [with T = vector<vec<4, float> >]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:2747:16:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:680:20: warning: ‘void* memmove(void*, const void*, size_t)’ writing to an object of type ‘class basisu::vec<4, float>’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]

  680 |             memmove(pDst, pSrc, num_to_move * sizeof(T));

      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:239:15: note: ‘class basisu::vec<4, float>’ declared here

  239 |         class vec

      |               ^~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h: In instantiation of ‘void basisu::vector<T>::erase(uint32_t, uint32_t) [with T = basisu::vec<4, float>; uint32_t = unsigned int]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:727:15:   required from ‘void basisu::vector<T>::erase(T*, T*) [with T = basisu::vec<4, float>]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h:151:67:   required from ‘void basisu::clear_vector(T&) [with T = vector<vec<4, float> >]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:2747:16:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:680:20: warning: ‘void* memmove(void*, const void*, size_t)’ writing to an object of type ‘class basisu::vec<4, float>’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]

  680 |             memmove(pDst, pSrc, num_to_move * sizeof(T));

      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:239:15: note: ‘class basisu::vec<4, float>’ declared here

  239 |         class vec

      |               ^~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h: In instantiation of ‘basisu::vector<T>::vector(const basisu::vector<T>&) [with T = basisu::gpu_image]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:1009:13:   required from ‘static void basisu::vector<T>::object_mover(void*, void*, uint32_t) [with T = basisu::vector<basisu::gpu_image>; uint32_t = unsigned int]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:1020:81:   required from ‘bool basisu::vector<T>::increase_capacity(uint32_t, bool, bool) [with T = basisu::vector<basisu::gpu_image>; uint32_t = unsigned int]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:535:13:   required from ‘void basisu::vector<T>::push_back(const T&) [with T = basisu::vector<basisu::gpu_image>]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_gpu_texture.h:128:14:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:282:19: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘class basisu::gpu_image’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]

  282 |             memcpy(m_p, other.m_p, m_size * sizeof(T));

      |             ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

In file included from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_uastc_enc.cpp:17:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_gpu_texture.h:22:15: note: ‘class basisu::gpu_image’ declared here

   22 |         class gpu_image

      |               ^~~~~~~~~

[ 81%] Building CXX object libs/basis_universal/CMakeFiles/basisu-encoder.dir/__/__/_deps/basis-src/encoder/lodepng.cpp.o

[ 81%] Building C object libs/basis_universal/CMakeFiles/basisu-encoder.dir/__/__/_deps/basis-src/encoder/apg_bmp.c.o

[ 82%] Building CXX object libs/basis_universal/CMakeFiles/basisu-encoder.dir/__/__/_deps/basis-src/encoder/jpgd.cpp.o

[ 82%] Building CXX object libs/basis_universal/CMakeFiles/basisu-encoder.dir/__/__/_deps/basis-src/encoder/basisu_kernels_sse.cpp.o

[ 82%] Building CXX object libs/basis_universal/CMakeFiles/basisu-encoder.dir/__/__/_deps/basis-src/transcoder/basisu_transcoder.cpp.o

In file included from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h:65,

                 from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:16,

                 from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_kernels_sse.cpp:15:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h: In instantiation of ‘basisu::vector<T>& basisu::vector<T>::operator=(const basisu::vector<T>&) [with T = basisu::vec<4, float>]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:2737:20:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:323:19: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘class basisu::vec<4, float>’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]

  323 |             memcpy(m_p, other.m_p, other.m_size * sizeof(T));

      |             ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:239:15: note: ‘class basisu::vec<4, float>’ declared here

  239 |         class vec

      |               ^~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h: In instantiation of ‘void basisu::vector<T>::erase(uint32_t, uint32_t) [with T = basisu::vec<4, float>; uint32_t = unsigned int]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:727:15:   required from ‘void basisu::vector<T>::erase(T*, T*) [with T = basisu::vec<4, float>]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu.h:151:67:   required from ‘void basisu::clear_vector(T&) [with T = vector<vec<4, float> >]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:2747:16:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/../transcoder/basisu_containers.h:680:20: warning: ‘void* memmove(void*, const void*, size_t)’ writing to an object of type ‘class basisu::vec<4, float>’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]

  680 |             memmove(pDst, pSrc, num_to_move * sizeof(T));

      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/encoder/basisu_enc.h:239:15: note: ‘class basisu::vec<4, float>’ declared here

  239 |         class vec

      |               ^~~

[ 83%] Building C object libs/basis_universal/CMakeFiles/basisu-encoder.dir/__/__/_deps/basis-src/zstd/zstd.c.o

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu_transcoder.cpp: In member function ‘void basist::ktx2_transcoder::clear()’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu_transcoder.cpp:16736:23: warning: ‘void* memset(void*, int, size_t)’ clearing an object of type ‘struct basist::ktx2_header’ with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess]

16736 |                 memset(&m_header, 0, sizeof(m_header));

      |                 ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

In file included from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu_transcoder.cpp:16:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu_transcoder.h:565:16: note: ‘struct basist::ktx2_header’ declared here

  565 |         struct ktx2_header

      |                ^~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu_transcoder.cpp:16740:23: warning: ‘void* memset(void*, int, size_t)’ clearing an object of type ‘struct basist::ktx2_etc1s_global_data_header’ with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess]

16740 |                 memset(&m_etc1s_header, 0, sizeof(m_etc1s_header));

      |                 ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu_transcoder.h:592:16: note: ‘struct basist::ktx2_etc1s_global_data_header’ declared here

  592 |         struct ktx2_etc1s_global_data_header

      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu_transcoder.cpp: In member function ‘bool basist::ktx2_transcoder::init(const void*, uint32_t)’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu_transcoder.cpp:16787:23: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘struct basist::ktx2_header’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]

16787 |                 memcpy(&m_header, pData, sizeof(m_header));

      |                 ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu_transcoder.h:565:16: note: ‘struct basist::ktx2_header’ declared here

  565 |         struct ktx2_header

      |                ^~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu_transcoder.cpp:16883:23: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘struct basist::ktx2_level_index’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]

16883 |                 memcpy(&m_levels[0], m_pData + sizeof(ktx2_header), level_index_size_in_bytes);

      |                 ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu_transcoder.h:585:16: note: ‘struct basist::ktx2_level_index’ declared here

  585 |         struct ktx2_level_index

      |                ^~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu_transcoder.cpp: In member function ‘bool basist::ktx2_transcoder::decompress_etc1s_global_data()’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu_transcoder.cpp:17394:23: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘struct basist::ktx2_etc1s_global_data_header’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]

17394 |                 memcpy(&m_etc1s_header, pSrc, sizeof(ktx2_etc1s_global_data_header));

      |                 ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu_transcoder.h:592:16: note: ‘struct basist::ktx2_etc1s_global_data_header’ declared here

  592 |         struct ktx2_etc1s_global_data_header

      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu_transcoder.cpp:17427:23: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘struct basist::ktx2_etc1s_image_desc’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]

17427 |                 memcpy(m_etc1s_image_descs.data(), pSrc, sizeof(ktx2_etc1s_image_desc) * image_count);

      |                 ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu_transcoder.h:602:16: note: ‘struct basist::ktx2_etc1s_image_desc’ declared here

  602 |         struct ktx2_etc1s_image_desc

      |                ^~~~~~~~~~~~~~~~~~~~~

In file included from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu_transcoder_internal.h:32,

                 from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu_transcoder.h:35:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu.h: In instantiation of ‘void basisu::clear_obj(T&) [with T = basist::etc1_global_palette_entry_modifier]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu_global_selector_palette.h:73:21:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu.h:120:69: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘class basist::etc1_global_palette_entry_modifier’; use assignment or value-initialization instead [-Wclass-memaccess]

  120 |         template <typename T> inline void clear_obj(T& obj) { memset(&obj, 0, sizeof(obj)); }

      |                                                               ~~~~~~^~~~~~~~~~~~~~~~~~~~~~

In file included from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu_transcoder.h:37:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu_global_selector_palette.h:23:15: note: ‘class basist::etc1_global_palette_entry_modifier’ declared here

   23 |         class etc1_global_palette_entry_modifier

      |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu.h: In instantiation of ‘void basisu::clear_obj(T&) [with T = basist::etc1_selector_palette_entry]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu_global_selector_palette.h:119:21:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu.h:120:69: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct basist::etc1_selector_palette_entry’; use assignment or value-initialization instead [-Wclass-memaccess]

  120 |         template <typename T> inline void clear_obj(T& obj) { memset(&obj, 0, sizeof(obj)); }

      |                                                               ~~~~~~^~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu_global_selector_palette.h:110:16: note: ‘struct basist::etc1_selector_palette_entry’ declared here

  110 |         struct etc1_selector_palette_entry

      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~

In file included from /data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu.h:65:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu_containers.h: In instantiation of ‘basisu::vector<T>& basisu::vector<T>::operator=(const basisu::vector<T>&) [with T = basist::ktx2_transcoder::key_value]’:

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu_containers.h:440:17:   required from ‘bool basisu::vector<T>::try_reserve(size_t) [with T = basist::ktx2_transcoder::key_value; size_t = long unsigned int]’

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu_transcoder.cpp:17500:32:   required from here

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu_containers.h:323:19: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘struct basist::ktx2_transcoder::key_value’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]

  323 |             memcpy(m_p, other.m_p, other.m_size * sizeof(T));

      |             ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/_build_native/_deps/basis-src/transcoder/basisu_transcoder.h:844:24: note: ‘struct basist::ktx2_transcoder::key_value’ declared here

  844 |                 struct key_value

      |                        ^~~~~~~~~

[ 84%] Building CXX object CMakeFiles/seriousproton_objects.dir/src/audio/source.cpp.o

[ 84%] Building CXX object CMakeFiles/seriousproton_objects.dir/src/audio/sound.cpp.o

[ 84%] Linking CXX static library libbasisu-encoder.a

[ 84%] Built target basisu-encoder

[ 84%] Building CXX object CMakeFiles/seriousproton_objects.dir/src/audio/music.cpp.o

[ 84%] Building CXX object CMakeFiles/seriousproton_objects.dir/src/clipboard.cpp.o

[ 85%] Building CXX object CMakeFiles/seriousproton_objects.dir/src/collisionable.cpp.o

[ 85%] Building CXX object CMakeFiles/seriousproton_objects.dir/src/engine.cpp.o

[ 85%] Building CXX object CMakeFiles/seriousproton_objects.dir/src/event.cpp.o

[ 86%] Building CXX object CMakeFiles/seriousproton_objects.dir/src/graphics/font.cpp.o

[ 86%] Building CXX object CMakeFiles/seriousproton_objects.dir/src/graphics/freetypefont.cpp.o

[ 86%] Building CXX object CMakeFiles/seriousproton_objects.dir/src/graphics/image.cpp.o

[ 86%] Building CXX object CMakeFiles/seriousproton_objects.dir/src/graphics/ktx2texture.cpp.o

[ 87%] Building CXX object CMakeFiles/seriousproton_objects.dir/src/graphics/renderTarget.cpp.o

[ 87%] Building CXX object CMakeFiles/seriousproton_objects.dir/src/graphics/texture.cpp.o

[ 87%] Building CXX object CMakeFiles/seriousproton_objects.dir/src/graphics/textureAtlas.cpp.o

[ 88%] Building CXX object CMakeFiles/seriousproton_objects.dir/src/graphics/renderTexture.cpp.o

[ 88%] Building CXX object CMakeFiles/seriousproton_objects.dir/src/graphics/shader.cpp.o

[ 88%] Building CXX object CMakeFiles/seriousproton_objects.dir/src/graphics/opengl.cpp.o

[ 88%] Building CXX object CMakeFiles/seriousproton_objects.dir/src/i18n.cpp.o

[ 89%] Building CXX object CMakeFiles/seriousproton_objects.dir/src/keyValueTree.cpp.o

[ 89%] Building CXX object CMakeFiles/seriousproton_objects.dir/src/logging.cpp.o

[ 89%] Building CXX object CMakeFiles/seriousproton_objects.dir/src/multiplayer.cpp.o

[ 90%] Building CXX object CMakeFiles/seriousproton_objects.dir/src/multiplayer_client.cpp.o

[ 90%] Building CXX object CMakeFiles/seriousproton_objects.dir/src/multiplayer_proxy.cpp.o

[ 90%] Building CXX object CMakeFiles/seriousproton_objects.dir/src/multiplayer_server.cpp.o

[ 90%] Building CXX object CMakeFiles/seriousproton_objects.dir/src/multiplayer_server_scanner.cpp.o

[ 91%] Building CXX object CMakeFiles/seriousproton_objects.dir/src/networkAudioStream.cpp.o

[ 91%] Building CXX object CMakeFiles/seriousproton_objects.dir/src/networkRecorder.cpp.o

[ 91%] Building CXX object CMakeFiles/seriousproton_objects.dir/src/P.cpp.o

[ 92%] Building CXX object CMakeFiles/seriousproton_objects.dir/src/postProcessManager.cpp.o

[ 92%] Building CXX object CMakeFiles/seriousproton_objects.dir/src/random.cpp.o

[ 92%] Building CXX object CMakeFiles/seriousproton_objects.dir/src/Renderable.cpp.o

[ 92%] Building CXX object CMakeFiles/seriousproton_objects.dir/src/resources.cpp.o

[ 93%] Building CXX object CMakeFiles/seriousproton_objects.dir/src/scriptInterface.cpp.o

[ 93%] Building CXX object CMakeFiles/seriousproton_objects.dir/src/scriptInterfaceMagic.cpp.o

[ 93%] Building CXX object CMakeFiles/seriousproton_objects.dir/src/shaderManager.cpp.o

[ 94%] Building CXX object CMakeFiles/seriousproton_objects.dir/src/soundManager.cpp.o

[ 94%] Building CXX object CMakeFiles/seriousproton_objects.dir/src/stringImproved.cpp.o

[ 94%] Building CXX object CMakeFiles/seriousproton_objects.dir/src/stringutil/base64.cpp.o

[ 95%] Building CXX object CMakeFiles/seriousproton_objects.dir/src/textureManager.cpp.o

[ 95%] Building CXX object CMakeFiles/seriousproton_objects.dir/src/stringutil/sha1.cpp.o

[ 95%] Building CXX object CMakeFiles/seriousproton_objects.dir/src/timer.cpp.o

[ 95%] Building CXX object CMakeFiles/seriousproton_objects.dir/src/tween.cpp.o

[ 96%] Building CXX object CMakeFiles/seriousproton_objects.dir/src/Updatable.cpp.o

[ 96%] Building CXX object CMakeFiles/seriousproton_objects.dir/src/windowManager.cpp.o

[ 96%] Building CXX object CMakeFiles/seriousproton_objects.dir/src/io/keybinding.cpp.o

[ 96%] Building CXX object CMakeFiles/seriousproton_objects.dir/src/io/keyValueTreeLoader.cpp.o

[ 97%] Building CXX object CMakeFiles/seriousproton_objects.dir/src/io/network/address.cpp.o

[ 97%] Building CXX object CMakeFiles/seriousproton_objects.dir/src/io/network/selector.cpp.o

[ 97%] Building CXX object CMakeFiles/seriousproton_objects.dir/src/io/network/socketBase.cpp.o

[ 98%] Building CXX object CMakeFiles/seriousproton_objects.dir/src/io/network/tcpListener.cpp.o

[ 98%] Building CXX object CMakeFiles/seriousproton_objects.dir/src/io/network/streamSocket.cpp.o

[ 98%] Building CXX object CMakeFiles/seriousproton_objects.dir/src/io/network/tcpSocket.cpp.o

[ 99%] Building CXX object CMakeFiles/seriousproton_objects.dir/src/io/network/udpSocket.cpp.o

[ 99%] Building CXX object CMakeFiles/seriousproton_objects.dir/src/io/http/request.cpp.o

[ 99%] Building CXX object CMakeFiles/seriousproton_objects.dir/src/io/http/server.cpp.o

[ 99%] Building CXX object CMakeFiles/seriousproton_objects.dir/src/io/http/websocket.cpp.o

[100%] Building CXX object CMakeFiles/seriousproton_objects.dir/src/ecs/entity.cpp.o

In file included from /data/tinyci_builds/daid/SeriousProton/src/ecs/component.h:3,

                 from /data/tinyci_builds/daid/SeriousProton/src/ecs/entity.h:6,

                 from /data/tinyci_builds/daid/SeriousProton/src/ecs/entity.cpp:1:

/data/tinyci_builds/daid/SeriousProton/src/container/sparseset.h:60:35: error: ‘size_t’ has not been declared

   60 |         Iterator(SparseSet& _set, size_t _dense_index) : set(_set), dense_index(_dense_index) {}

      |                                   ^~~~~~

/data/tinyci_builds/daid/SeriousProton/src/container/sparseset.h:70:9: error: ‘size_t’ does not name a type

   70 |         size_t dense_index;

      |         ^~~~~~

/data/tinyci_builds/daid/SeriousProton/src/container/sparseset.h:5:1: note: ‘size_t’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?

    4 | #include <vector>

  +++ |+#include <cstddef>

    5 | #include <limits>

/data/tinyci_builds/daid/SeriousProton/src/container/sparseset.h: In constructor ‘sp::SparseSet<T>::Iterator::Iterator(sp::SparseSet<T>&, int)’:

/data/tinyci_builds/daid/SeriousProton/src/container/sparseset.h:60:69: error: class ‘sp::SparseSet<T>::Iterator’ does not have any field named ‘dense_index’

   60 |         Iterator(SparseSet& _set, size_t _dense_index) : set(_set), dense_index(_dense_index) {}

      |                                                                     ^~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/src/container/sparseset.h: In member function ‘bool sp::SparseSet<T>::Iterator::operator!=(const sp::SparseSet<T>::Iterator&) const’:

/data/tinyci_builds/daid/SeriousProton/src/container/sparseset.h:62:63: error: ‘dense_index’ was not declared in this scope

   62 |         bool operator!=(const Iterator& other) const { return dense_index != other.dense_index; }

      |                                                               ^~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/src/container/sparseset.h: In member function ‘void sp::SparseSet<T>::Iterator::operator++()’:

/data/tinyci_builds/daid/SeriousProton/src/container/sparseset.h:63:29: error: ‘dense_index’ was not declared in this scope

   63 |         void operator++() { dense_index--; }

      |                             ^~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/src/container/sparseset.h: In member function ‘std::pair<unsigned int, T&> sp::SparseSet<T>::Iterator::operator*()’:

/data/tinyci_builds/daid/SeriousProton/src/container/sparseset.h:64:65: error: ‘dense_index’ was not declared in this scope

   64 |         std::pair<uint32_t, T&> operator*() { return {set.dense[dense_index], set.data[dense_index]}; }

      |                                                                 ^~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/src/container/sparseset.h: In member function ‘std::pair<unsigned int, const T&> sp::SparseSet<T>::Iterator::operator*() const’:

/data/tinyci_builds/daid/SeriousProton/src/container/sparseset.h:65:77: error: ‘dense_index’ was not declared in this scope

   65 |         std::pair<uint32_t, const T&> operator*() const { return {set.dense[dense_index], set.data[dense_index]}; }

      |                                                                             ^~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/src/container/sparseset.h: In member function ‘bool sp::SparseSet<T>::Iterator::atEnd()’:

/data/tinyci_builds/daid/SeriousProton/src/container/sparseset.h:67:31: error: ‘dense_index’ was not declared in this scope

   67 |         bool atEnd() { return dense_index == std::numeric_limits<size_t>::max(); }

      |                               ^~~~~~~~~~~

/data/tinyci_builds/daid/SeriousProton/src/container/sparseset.h:67:66: error: ‘size_t’ was not declared in this scope; did you mean ‘std::size_t’?

   67 |         bool atEnd() { return dense_index == std::numeric_limits<size_t>::max(); }

      |                                                                  ^~~~~~

      |                                                                  std::size_t

In file included from /usr/include/c++/12/limits:42,

                 from /data/tinyci_builds/daid/SeriousProton/src/ecs/entity.h:4:

/usr/include/x86_64-linux-gnu/c++/12/bits/c++config.h:298:33: note: ‘std::size_t’ declared here

  298 |   typedef __SIZE_TYPE__         size_t;

      |                                 ^~~~~~

/data/tinyci_builds/daid/SeriousProton/src/container/sparseset.h:67:72: error: template argument 1 is invalid

   67 |         bool atEnd() { return dense_index == std::numeric_limits<size_t>::max(); }

      |                                                                        ^

/data/tinyci_builds/daid/SeriousProton/src/container/sparseset.h: In member function ‘sp::SparseSet<T>::Iterator sp::SparseSet<T>::end()’:

/data/tinyci_builds/daid/SeriousProton/src/container/sparseset.h:74:65: error: ‘size_t’ was not declared in this scope; did you mean ‘std::size_t’?

   74 |     Iterator end() { return Iterator(*this, std::numeric_limits<size_t>::max()); }

      |                                                                 ^~~~~~

      |                                                                 std::size_t

/usr/include/x86_64-linux-gnu/c++/12/bits/c++config.h:298:33: note: ‘std::size_t’ declared here

  298 |   typedef __SIZE_TYPE__         size_t;

      |                                 ^~~~~~

/data/tinyci_builds/daid/SeriousProton/src/container/sparseset.h:74:71: error: template argument 1 is invalid

   74 |     Iterator end() { return Iterator(*this, std::numeric_limits<size_t>::max()); }

      |                                                                       ^

make[2]: *** [CMakeFiles/seriousproton_objects.dir/build.make:866: CMakeFiles/seriousproton_objects.dir/src/ecs/entity.cpp.o] Error 1

make[2]: *** Waiting for unfinished jobs....

make[1]: *** [CMakeFiles/Makefile2:238: CMakeFiles/seriousproton_objects.dir/all] Error 2

make: *** [Makefile:136: all] Error 2

Please sign in to comment.