Merge pull request #63906 from Faless/fix/4.x_warnings
This commit is contained in:
commit
57aac04480
|
@ -1187,7 +1187,7 @@ Input::JoyEvent Input::_get_mapped_axis_event(const JoyDeviceMapping &mapping, J
|
|||
return event;
|
||||
}
|
||||
|
||||
void Input::_get_mapped_hat_events(const JoyDeviceMapping &mapping, HatDir p_hat, JoyEvent r_events[]) {
|
||||
void Input::_get_mapped_hat_events(const JoyDeviceMapping &mapping, HatDir p_hat, JoyEvent r_events[(size_t)HatDir::MAX]) {
|
||||
for (int i = 0; i < mapping.bindings.size(); i++) {
|
||||
const JoyBinding binding = mapping.bindings[i];
|
||||
if (binding.inputType == TYPE_HAT && binding.input.hat.hat == p_hat) {
|
||||
|
|
|
@ -36,6 +36,7 @@
|
|||
|
||||
#include <stddef.h>
|
||||
#include <new>
|
||||
#include <type_traits>
|
||||
|
||||
#ifndef PAD_ALIGN
|
||||
#define PAD_ALIGN 16 //must always be greater than this at much
|
||||
|
@ -104,7 +105,7 @@ void memdelete(T *p_class) {
|
|||
if (!predelete_handler(p_class)) {
|
||||
return; // doesn't want to be deleted
|
||||
}
|
||||
if (!__has_trivial_destructor(T)) {
|
||||
if (!std::is_trivially_destructible<T>::value) {
|
||||
p_class->~T();
|
||||
}
|
||||
|
||||
|
@ -116,7 +117,7 @@ void memdelete_allocator(T *p_class) {
|
|||
if (!predelete_handler(p_class)) {
|
||||
return; // doesn't want to be deleted
|
||||
}
|
||||
if (!__has_trivial_destructor(T)) {
|
||||
if (!std::is_trivially_destructible<T>::value) {
|
||||
p_class->~T();
|
||||
}
|
||||
|
||||
|
@ -146,7 +147,7 @@ T *memnew_arr_template(size_t p_elements) {
|
|||
ERR_FAIL_COND_V(!mem, failptr);
|
||||
*(mem - 1) = p_elements;
|
||||
|
||||
if (!__has_trivial_constructor(T)) {
|
||||
if (!std::is_trivially_constructible<T>::value) {
|
||||
T *elems = (T *)mem;
|
||||
|
||||
/* call operator new */
|
||||
|
@ -173,7 +174,7 @@ template <typename T>
|
|||
void memdelete_arr(T *p_class) {
|
||||
uint64_t *ptr = (uint64_t *)p_class;
|
||||
|
||||
if (!__has_trivial_destructor(T)) {
|
||||
if (!std::is_trivially_destructible<T>::value) {
|
||||
uint64_t elem_count = *(ptr - 1);
|
||||
|
||||
for (uint64_t i = 0; i < elem_count; i++) {
|
||||
|
|
|
@ -36,6 +36,7 @@
|
|||
#include "core/templates/safe_refcount.h"
|
||||
|
||||
#include <string.h>
|
||||
#include <type_traits>
|
||||
|
||||
template <class T>
|
||||
class Vector;
|
||||
|
@ -205,7 +206,7 @@ void CowData<T>::_unref(void *p_data) {
|
|||
}
|
||||
// clean up
|
||||
|
||||
if (!__has_trivial_destructor(T)) {
|
||||
if (!std::is_trivially_destructible<T>::value) {
|
||||
uint32_t *count = _get_size();
|
||||
T *data = (T *)(count + 1);
|
||||
|
||||
|
@ -240,7 +241,7 @@ uint32_t CowData<T>::_copy_on_write() {
|
|||
T *_data = (T *)(mem_new);
|
||||
|
||||
// initialize new elements
|
||||
if (__has_trivial_copy(T)) {
|
||||
if (std::is_trivially_copyable<T>::value) {
|
||||
memcpy(mem_new, _ptr, current_size * sizeof(T));
|
||||
|
||||
} else {
|
||||
|
@ -304,7 +305,7 @@ Error CowData<T>::resize(int p_size) {
|
|||
|
||||
// construct the newly created elements
|
||||
|
||||
if (!__has_trivial_constructor(T)) {
|
||||
if (!std::is_trivially_constructible<T>::value) {
|
||||
for (int i = *_get_size(); i < p_size; i++) {
|
||||
memnew_placement(&_ptr[i], T);
|
||||
}
|
||||
|
@ -315,7 +316,7 @@ Error CowData<T>::resize(int p_size) {
|
|||
*_get_size() = p_size;
|
||||
|
||||
} else if (p_size < current_size) {
|
||||
if (!__has_trivial_destructor(T)) {
|
||||
if (!std::is_trivially_destructible<T>::value) {
|
||||
// deinitialize no longer needed elements
|
||||
for (uint32_t i = p_size; i < *_get_size(); i++) {
|
||||
T *t = &_ptr[i];
|
||||
|
|
|
@ -37,6 +37,7 @@
|
|||
#include "core/templates/vector.h"
|
||||
|
||||
#include <initializer_list>
|
||||
#include <type_traits>
|
||||
|
||||
// If tight, it grows strictly as much as needed.
|
||||
// Otherwise, it grows exponentially (the default and what you want in most cases).
|
||||
|
@ -67,7 +68,7 @@ public:
|
|||
CRASH_COND_MSG(!data, "Out of memory");
|
||||
}
|
||||
|
||||
if (!__has_trivial_constructor(T) && !force_trivial) {
|
||||
if (!std::is_trivially_constructible<T>::value && !force_trivial) {
|
||||
memnew_placement(&data[count++], T(p_elem));
|
||||
} else {
|
||||
data[count++] = p_elem;
|
||||
|
@ -80,7 +81,7 @@ public:
|
|||
for (U i = p_index; i < count; i++) {
|
||||
data[i] = data[i + 1];
|
||||
}
|
||||
if (!__has_trivial_destructor(T) && !force_trivial) {
|
||||
if (!std::is_trivially_destructible<T>::value && !force_trivial) {
|
||||
data[count].~T();
|
||||
}
|
||||
}
|
||||
|
@ -93,7 +94,7 @@ public:
|
|||
if (count > p_index) {
|
||||
data[p_index] = data[count];
|
||||
}
|
||||
if (!__has_trivial_destructor(T) && !force_trivial) {
|
||||
if (!std::is_trivially_destructible<T>::value && !force_trivial) {
|
||||
data[count].~T();
|
||||
}
|
||||
}
|
||||
|
@ -134,7 +135,7 @@ public:
|
|||
_FORCE_INLINE_ U size() const { return count; }
|
||||
void resize(U p_size) {
|
||||
if (p_size < count) {
|
||||
if (!__has_trivial_destructor(T) && !force_trivial) {
|
||||
if (!std::is_trivially_destructible<T>::value && !force_trivial) {
|
||||
for (U i = p_size; i < count; i++) {
|
||||
data[i].~T();
|
||||
}
|
||||
|
@ -151,7 +152,7 @@ public:
|
|||
data = (T *)memrealloc(data, capacity * sizeof(T));
|
||||
CRASH_COND_MSG(!data, "Out of memory");
|
||||
}
|
||||
if (!__has_trivial_constructor(T) && !force_trivial) {
|
||||
if (!std::is_trivially_constructible<T>::value && !force_trivial) {
|
||||
for (U i = count; i < p_size; i++) {
|
||||
memnew_placement(&data[i], T);
|
||||
}
|
||||
|
|
|
@ -35,6 +35,8 @@
|
|||
#include "core/os/spin_lock.h"
|
||||
#include "core/typedefs.h"
|
||||
|
||||
#include <type_traits>
|
||||
|
||||
// PagedArray is used mainly for filling a very large array from multiple threads efficiently and without causing major fragmentation
|
||||
|
||||
// PageArrayPool manages central page allocation in a thread safe matter
|
||||
|
@ -197,7 +199,7 @@ public:
|
|||
uint32_t page = count >> page_size_shift;
|
||||
uint32_t offset = count & page_size_mask;
|
||||
|
||||
if (!__has_trivial_constructor(T)) {
|
||||
if (!std::is_trivially_constructible<T>::value) {
|
||||
memnew_placement(&page_data[page][offset], T(p_value));
|
||||
} else {
|
||||
page_data[page][offset] = p_value;
|
||||
|
@ -209,7 +211,7 @@ public:
|
|||
_FORCE_INLINE_ void pop_back() {
|
||||
ERR_FAIL_COND(count == 0);
|
||||
|
||||
if (!__has_trivial_destructor(T)) {
|
||||
if (!std::is_trivially_destructible<T>::value) {
|
||||
uint32_t page = (count - 1) >> page_size_shift;
|
||||
uint32_t offset = (count - 1) & page_size_mask;
|
||||
page_data[page][offset].~T();
|
||||
|
@ -226,7 +228,7 @@ public:
|
|||
|
||||
void clear() {
|
||||
//destruct if needed
|
||||
if (!__has_trivial_destructor(T)) {
|
||||
if (!std::is_trivially_destructible<T>::value) {
|
||||
for (uint64_t i = 0; i < count; i++) {
|
||||
uint32_t page = i >> page_size_shift;
|
||||
uint32_t offset = i & page_size_mask;
|
||||
|
@ -309,13 +311,13 @@ public:
|
|||
uint32_t to_copy = MIN(page_size - new_remainder, remainder);
|
||||
|
||||
for (uint32_t i = 0; i < to_copy; i++) {
|
||||
if (!__has_trivial_constructor(T)) {
|
||||
if (!std::is_trivially_constructible<T>::value) {
|
||||
memnew_placement(&dst_page[i + new_remainder], T(remainder_page[i + remainder - to_copy]));
|
||||
} else {
|
||||
dst_page[i + new_remainder] = remainder_page[i + remainder - to_copy];
|
||||
}
|
||||
|
||||
if (!__has_trivial_destructor(T)) {
|
||||
if (!std::is_trivially_destructible<T>::value) {
|
||||
remainder_page[i + remainder - to_copy].~T();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -729,7 +729,7 @@ void CSGBrushOperation::MeshMerge::mark_inside_faces() {
|
|||
}
|
||||
}
|
||||
|
||||
void CSGBrushOperation::MeshMerge::add_face(const Vector3 p_points[], const Vector2 p_uvs[], bool p_smooth, bool p_invert, const Ref<Material> &p_material, bool p_from_b) {
|
||||
void CSGBrushOperation::MeshMerge::add_face(const Vector3 p_points[3], const Vector2 p_uvs[3], bool p_smooth, bool p_invert, const Ref<Material> &p_material, bool p_from_b) {
|
||||
int indices[3];
|
||||
for (int i = 0; i < 3; i++) {
|
||||
VertexKey vk;
|
||||
|
|
|
@ -183,7 +183,7 @@ class LightmapperRD : public Lightmapper {
|
|||
}
|
||||
};
|
||||
|
||||
void _plot_triangle_into_triangle_index_list(int p_size, const Vector3i &p_ofs, const AABB &p_bounds, const Vector3 p_points[], uint32_t p_triangle_index, LocalVector<TriangleSort> &triangles, uint32_t p_grid_size);
|
||||
void _plot_triangle_into_triangle_index_list(int p_size, const Vector3i &p_ofs, const AABB &p_bounds, const Vector3 p_points[3], uint32_t p_triangle_index, LocalVector<TriangleSort> &triangles, uint32_t p_grid_size);
|
||||
|
||||
struct RasterPushConstant {
|
||||
float atlas_size[2] = {};
|
||||
|
|
Loading…
Reference in New Issue