From d3db4f5cf8700d029b08b8d8789a2bbdc75a19f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Janiszewski?= Date: Tue, 18 Feb 2020 00:00:19 +0100 Subject: [PATCH] Fix GCC10 warnings (#10703) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The warnings reported were: ``` ../src/openrct2/peep/GuestPathfinding.cpp: In function ‘Direction peep_pathfind_choose_direction(TileCoordsXYZ, Peep*)’: ../src/openrct2/peep/GuestPathfinding.cpp:1371:81: error: ‘void* memset(void*, int, size_t)’ writing to an object of non-trivial type ‘struct’; use assignment instead [-Werror=class-memaccess] 1371 | std::memset(_peepPathFindHistory, 0xFF, sizeof(_peepPathFindHistory)); | ^ ../src/openrct2/peep/GuestPathfinding.cpp:35:1: note: ‘struct’ declared here 35 | { | ^ ../src/openrct2/world/Sprite.cpp: In function ‘void reset_sprite_list()’: ../src/openrct2/world/Sprite.cpp:152:52: error: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘union rct_sprite’; use assignment or value-initialization instead [-Werror=class-memaccess] 152 | std::memset(_spriteList, 0, sizeof(_spriteList)); | ^ In file included from ../src/openrct2/world/Sprite.cpp:10: ../src/openrct2/world/Sprite.h:117:7: note: ‘union rct_sprite’ declared here 117 | union rct_sprite | ^~~~~~~~~~ ``` --- src/openrct2/peep/GuestPathfinding.cpp | 2 +- src/openrct2/world/Sprite.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/openrct2/peep/GuestPathfinding.cpp b/src/openrct2/peep/GuestPathfinding.cpp index 425a8dde75..a842bb5f58 100644 --- a/src/openrct2/peep/GuestPathfinding.cpp +++ b/src/openrct2/peep/GuestPathfinding.cpp @@ -1368,7 +1368,7 @@ Direction peep_pathfind_choose_direction(TileCoordsXYZ loc, Peep* peep) _peepPathFindNumJunctions = _peepPathFindMaxJunctions; // Initialise _peepPathFindHistory. - std::memset(_peepPathFindHistory, 0xFF, sizeof(_peepPathFindHistory)); + std::memset(static_cast(_peepPathFindHistory), 0xFF, sizeof(_peepPathFindHistory)); /* The pathfinding will only use elements * 1.._peepPathFindMaxJunctions, so the starting point diff --git a/src/openrct2/world/Sprite.cpp b/src/openrct2/world/Sprite.cpp index 1e54f68640..6c8810280e 100644 --- a/src/openrct2/world/Sprite.cpp +++ b/src/openrct2/world/Sprite.cpp @@ -149,7 +149,7 @@ void invalidate_sprite_2(SpriteBase* sprite) void reset_sprite_list() { gSavedAge = 0; - std::memset(_spriteList, 0, sizeof(_spriteList)); + std::memset(static_cast(_spriteList), 0, sizeof(_spriteList)); for (int32_t i = 0; i < SPRITE_LIST_COUNT; i++) {