You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-07 12:30:27 +00:00
Core: Sidestep GCC false-positives
(cherry picked from commit acdb8667b5)
Adds some more fixes for 4.5.
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
This commit is contained in:
committed by
Rémi Verschelde
parent
6b017abaa4
commit
36e2050eea
@@ -2350,6 +2350,10 @@ void Image::initialize_data(const char **p_xpm) {
|
|||||||
} break;
|
} break;
|
||||||
case READING_PIXELS: {
|
case READING_PIXELS: {
|
||||||
int y = line - colormap_size - 1;
|
int y = line - colormap_size - 1;
|
||||||
|
#if defined(__GNUC__) && !defined(__clang__)
|
||||||
|
#pragma GCC diagnostic push
|
||||||
|
#pragma GCC diagnostic warning "-Wstringop-overflow=0"
|
||||||
|
#endif
|
||||||
for (int x = 0; x < size_width; x++) {
|
for (int x = 0; x < size_width; x++) {
|
||||||
char pixelstr[6] = { 0, 0, 0, 0, 0, 0 };
|
char pixelstr[6] = { 0, 0, 0, 0, 0, 0 };
|
||||||
for (int i = 0; i < pixelchars; i++) {
|
for (int i = 0; i < pixelchars; i++) {
|
||||||
@@ -2364,6 +2368,9 @@ void Image::initialize_data(const char **p_xpm) {
|
|||||||
}
|
}
|
||||||
_put_pixelb(x, y, pixel_size, data_write, pixel);
|
_put_pixelb(x, y, pixel_size, data_write, pixel);
|
||||||
}
|
}
|
||||||
|
#if defined(__GNUC__) && !defined(__clang__)
|
||||||
|
#pragma GCC diagnostic pop
|
||||||
|
#endif
|
||||||
|
|
||||||
if (y == (size_height - 1)) {
|
if (y == (size_height - 1)) {
|
||||||
status = DONE;
|
status = DONE;
|
||||||
|
|||||||
@@ -1938,7 +1938,8 @@ void TileMapLayer::set_tile_data(TileMapLayer::DataFormat p_format, const Vector
|
|||||||
for (int i = 0; i < c; i += offset) {
|
for (int i = 0; i < c; i += offset) {
|
||||||
const uint8_t *ptr = (const uint8_t *)&r[i];
|
const uint8_t *ptr = (const uint8_t *)&r[i];
|
||||||
uint8_t local[12];
|
uint8_t local[12];
|
||||||
for (int j = 0; j < ((p_format >= TileMapLayer::FORMAT_2) ? 12 : 8); j++) {
|
const int buffer_size = (p_format >= TileMapLayer::FORMAT_2) ? 12 : 8;
|
||||||
|
for (int j = 0; j < buffer_size; j++) {
|
||||||
local[j] = ptr[j];
|
local[j] = ptr[j];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -157,6 +157,7 @@ Node *SceneState::instantiate(GenEditState p_edit_state) const {
|
|||||||
const NodeData *nd = &nodes[0];
|
const NodeData *nd = &nodes[0];
|
||||||
|
|
||||||
Node **ret_nodes = (Node **)alloca(sizeof(Node *) * nc);
|
Node **ret_nodes = (Node **)alloca(sizeof(Node *) * nc);
|
||||||
|
ret_nodes[0] = nullptr; // Sidesteps "maybe uninitialized" false-positives on GCC.
|
||||||
|
|
||||||
bool gen_node_path_cache = p_edit_state != GEN_EDIT_STATE_DISABLED && node_path_cache.is_empty();
|
bool gen_node_path_cache = p_edit_state != GEN_EDIT_STATE_DISABLED && node_path_cache.is_empty();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user