From 8ad26e6715841708bdbf89adc21f6ac80e481157 Mon Sep 17 00:00:00 2001 From: Pierre-Eric Pelloux-Prayer Date: Tue, 23 Mar 2021 10:40:43 +0100 Subject: [PATCH] r600/sb: Use assignments for resetting struct r600_sb::literal MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Avoids warning with newer GCC: ../src/gallium/drivers/r600/sb/sb_sched.cpp: In member function 'void r600_sb::literal_tracker::reset()': ../src/gallium/drivers/r600/sb/sb_sched.cpp:1953:26: error: 'void* memset(void*, int, size_t)' clearing an object of non-trivial type 'struct r600_sb::literal'; use assignment or value-initialization instead [-Werror=class-memaccess] 1953 | memset(lt, 0, sizeof(lt)); | ^ In file included from ../src/gallium/drivers/r600/sb/sb_sched.cpp:35: ../src/gallium/drivers/r600/sb/sb_bc.h:409:8: note: 'struct r600_sb::literal' declared here 409 | struct literal { | ^~~~~~~ [ Michel Dänzer: * Expanded commit log v2: * Clear all 4 members of lt[4] (Eric Anholt) ] Reviewed-by: Michel Dänzer Part-of: --- src/gallium/drivers/r600/sb/sb_sched.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/r600/sb/sb_sched.cpp b/src/gallium/drivers/r600/sb/sb_sched.cpp index fe887c84c70..2d5fbfdb2c9 100644 --- a/src/gallium/drivers/r600/sb/sb_sched.cpp +++ b/src/gallium/drivers/r600/sb/sb_sched.cpp @@ -1950,7 +1950,10 @@ void post_scheduler::release_src_vec(vvec& vv, bool src) { } void literal_tracker::reset() { - memset(lt, 0, sizeof(lt)); + lt[0].u = 0; + lt[1].u = 0; + lt[2].u = 0; + lt[3].u = 0; memset(uc, 0, sizeof(uc)); }