r600 driver code generates lots of compiler warnings
Most of the compiler warnings in my local Mesa builds are from r600 driver code, see below. Fixing these would also go a long way towards enabling -Werror
in the meson-gallium
CI job, which would prevent new warnings from creeping into Gallium driver code.
Click to expand warnings
../src/gallium/drivers/r600/radeon_uvd.c:518:25: warning: ‘get_h265_msg’ defined but not used [-Wunused-function]
518 | static struct ruvd_h265 get_h265_msg(struct ruvd_decoder *dec, struct pipe_video_buffer *target,
| ^~~~~~~~~~~~
../src/gallium/drivers/r600/radeon_uvd.c:245:17: warning: ‘calc_ctx_size_h265_main10’ defined but not used [-Wunused-function]
245 | static unsigned calc_ctx_size_h265_main10(struct ruvd_decoder *dec, struct pipe_h265_picture_desc *pic)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
../src/gallium/drivers/r600/radeon_uvd.c:228:17: warning: ‘calc_ctx_size_h265_main’ defined but not used [-Wunused-function]
228 | static unsigned calc_ctx_size_h265_main(struct ruvd_decoder *dec)
| ^~~~~~~~~~~~~~~~~~~~~~~
[1361/1754] Compiling C object 'src/gallium/drivers/r600/45f68e3@@r600@sta/r600_pipe_common.c.o'
../src/gallium/drivers/r600/r600_pipe_common.c: In function ‘r600_get_paramf’:
../src/gallium/drivers/r600/r600_pipe_common.c:815:29: warning: unused variable ‘rscreen’ [-Wunused-variable]
815 | struct r600_common_screen *rscreen = (struct r600_common_screen *)pscreen;
| ^~~~~~~
[1364/1754] Compiling C object 'src/gallium/drivers/r600/45f68e3@@r600@sta/r600_texture.c.o'
../src/gallium/drivers/r600/r600_texture.c: In function ‘r600_clear_texture’:
../src/gallium/drivers/r600/r600_texture.c:1619:40: warning: unused variable ‘desc’ [-Wunused-variable]
1619 | const struct util_format_description *desc =
| ^~~~
[1458/1754] Compiling C++ object 'src/gallium/drivers/r600/45f68e3@@r600@sta/sb_sb_def_use.cpp.o'
In file included from ../src/gallium/drivers/r600/sb/sb_shader.h:34,
from ../src/gallium/drivers/r600/sb/sb_def_use.cpp:27:
../src/gallium/drivers/r600/sb/sb_ir.h: In constructor ‘r600_sb::alu_node::alu_node()’:
../src/gallium/drivers/r600/sb/sb_ir.h:1015:72: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct r600_sb::bc_alu’; use assignment or value-initialization instead [-Wclass-memaccess]
1015 | alu_node() : node(NT_OP, NST_ALU_INST) { memset(&bc, 0, sizeof(bc_alu)); }
| ^
In file included from ../src/gallium/drivers/r600/sb/sb_ir.h:36,
from ../src/gallium/drivers/r600/sb/sb_shader.h:34,
from ../src/gallium/drivers/r600/sb/sb_def_use.cpp:27:
../src/gallium/drivers/r600/sb/sb_bc.h:500:8: note: ‘struct r600_sb::bc_alu’ declared here
500 | struct bc_alu {
| ^~~~~~
[1459/1754] Compiling C++ object 'src/gallium/drivers/r600/45f68e3@@r600@sta/sb_sb_dce_cleanup.cpp.o'
In file included from ../src/gallium/drivers/r600/sb/sb_shader.h:34,
from ../src/gallium/drivers/r600/sb/sb_dce_cleanup.cpp:27:
../src/gallium/drivers/r600/sb/sb_ir.h: In constructor ‘r600_sb::alu_node::alu_node()’:
../src/gallium/drivers/r600/sb/sb_ir.h:1015:72: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct r600_sb::bc_alu’; use assignment or value-initialization instead [-Wclass-memaccess]
1015 | alu_node() : node(NT_OP, NST_ALU_INST) { memset(&bc, 0, sizeof(bc_alu)); }
| ^
In file included from ../src/gallium/drivers/r600/sb/sb_ir.h:36,
from ../src/gallium/drivers/r600/sb/sb_shader.h:34,
from ../src/gallium/drivers/r600/sb/sb_dce_cleanup.cpp:27:
../src/gallium/drivers/r600/sb/sb_bc.h:500:8: note: ‘struct r600_sb::bc_alu’ declared here
500 | struct bc_alu {
| ^~~~~~
[1461/1754] Compiling C++ object 'src/gallium/drivers/r600/45f68e3@@r600@sta/sb_sb_bc_finalize.cpp.o'
In file included from ../src/gallium/drivers/r600/sb/sb_shader.h:34,
from ../src/gallium/drivers/r600/sb/sb_bc_finalize.cpp:36:
../src/gallium/drivers/r600/sb/sb_ir.h: In constructor ‘r600_sb::alu_node::alu_node()’:
../src/gallium/drivers/r600/sb/sb_ir.h:1015:72: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct r600_sb::bc_alu’; use assignment or value-initialization instead [-Wclass-memaccess]
1015 | alu_node() : node(NT_OP, NST_ALU_INST) { memset(&bc, 0, sizeof(bc_alu)); }
| ^
In file included from ../src/gallium/drivers/r600/sb/sb_bc_finalize.cpp:35:
../src/gallium/drivers/r600/sb/sb_bc.h:500:8: note: ‘struct r600_sb::bc_alu’ declared here
500 | struct bc_alu {
| ^~~~~~
[1462/1754] Compiling C++ object 'src/gallium/drivers/r600/45f68e3@@r600@sta/sb_sb_bc_builder.cpp.o'
In file included from ../src/gallium/drivers/r600/sb/sb_shader.h:34,
from ../src/gallium/drivers/r600/sb/sb_bc_builder.cpp:28:
../src/gallium/drivers/r600/sb/sb_ir.h: In constructor ‘r600_sb::alu_node::alu_node()’:
../src/gallium/drivers/r600/sb/sb_ir.h:1015:72: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct r600_sb::bc_alu’; use assignment or value-initialization instead [-Wclass-memaccess]
1015 | alu_node() : node(NT_OP, NST_ALU_INST) { memset(&bc, 0, sizeof(bc_alu)); }
| ^
In file included from ../src/gallium/drivers/r600/sb/sb_bc_builder.cpp:27:
../src/gallium/drivers/r600/sb/sb_bc.h:500:8: note: ‘struct r600_sb::bc_alu’ declared here
500 | struct bc_alu {
| ^~~~~~
[1463/1754] Compiling C++ object 'src/gallium/drivers/r600/45f68e3@@r600@sta/sb_sb_dump.cpp.o'
In file included from ../src/gallium/drivers/r600/sb/sb_shader.h:34,
from ../src/gallium/drivers/r600/sb/sb_dump.cpp:27:
../src/gallium/drivers/r600/sb/sb_ir.h: In constructor ‘r600_sb::alu_node::alu_node()’:
../src/gallium/drivers/r600/sb/sb_ir.h:1015:72: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct r600_sb::bc_alu’; use assignment or value-initialization instead [-Wclass-memaccess]
1015 | alu_node() : node(NT_OP, NST_ALU_INST) { memset(&bc, 0, sizeof(bc_alu)); }
| ^
In file included from ../src/gallium/drivers/r600/sb/sb_ir.h:36,
from ../src/gallium/drivers/r600/sb/sb_shader.h:34,
from ../src/gallium/drivers/r600/sb/sb_dump.cpp:27:
../src/gallium/drivers/r600/sb/sb_bc.h:500:8: note: ‘struct r600_sb::bc_alu’ declared here
500 | struct bc_alu {
| ^~~~~~
[1464/1754] Compiling C++ object 'src/gallium/drivers/r600/45f68e3@@r600@sta/sb_sb_gvn.cpp.o'
In file included from ../src/gallium/drivers/r600/sb/sb_shader.h:34,
from ../src/gallium/drivers/r600/sb/sb_gvn.cpp:35:
../src/gallium/drivers/r600/sb/sb_ir.h: In constructor ‘r600_sb::alu_node::alu_node()’:
../src/gallium/drivers/r600/sb/sb_ir.h:1015:72: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct r600_sb::bc_alu’; use assignment or value-initialization instead [-Wclass-memaccess]
1015 | alu_node() : node(NT_OP, NST_ALU_INST) { memset(&bc, 0, sizeof(bc_alu)); }
| ^
In file included from ../src/gallium/drivers/r600/sb/sb_ir.h:36,
from ../src/gallium/drivers/r600/sb/sb_shader.h:34,
from ../src/gallium/drivers/r600/sb/sb_gvn.cpp:35:
../src/gallium/drivers/r600/sb/sb_bc.h:500:8: note: ‘struct r600_sb::bc_alu’ declared here
500 | struct bc_alu {
| ^~~~~~
[1466/1754] Compiling C++ object 'src/gallium/drivers/r600/45f68e3@@r600@sta/sb_sb_bc_parser.cpp.o'
In file included from ../src/gallium/drivers/r600/sb/sb_shader.h:34,
from ../src/gallium/drivers/r600/sb/sb_bc_parser.cpp:42:
../src/gallium/drivers/r600/sb/sb_ir.h: In constructor ‘r600_sb::alu_node::alu_node()’:
../src/gallium/drivers/r600/sb/sb_ir.h:1015:72: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct r600_sb::bc_alu’; use assignment or value-initialization instead [-Wclass-memaccess]
1015 | alu_node() : node(NT_OP, NST_ALU_INST) { memset(&bc, 0, sizeof(bc_alu)); }
| ^
In file included from ../src/gallium/drivers/r600/sb/sb_bc_parser.cpp:41:
../src/gallium/drivers/r600/sb/sb_bc.h:500:8: note: ‘struct r600_sb::bc_alu’ declared here
500 | struct bc_alu {
| ^~~~~~
[1467/1754] Compiling C++ object 'src/gallium/drivers/r600/45f68e3@@r600@sta/sb_sb_if_conversion.cpp.o'
In file included from ../src/gallium/drivers/r600/sb/sb_shader.h:34,
from ../src/gallium/drivers/r600/sb/sb_if_conversion.cpp:35:
../src/gallium/drivers/r600/sb/sb_ir.h: In constructor ‘r600_sb::alu_node::alu_node()’:
../src/gallium/drivers/r600/sb/sb_ir.h:1015:72: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct r600_sb::bc_alu’; use assignment or value-initialization instead [-Wclass-memaccess]
1015 | alu_node() : node(NT_OP, NST_ALU_INST) { memset(&bc, 0, sizeof(bc_alu)); }
| ^
In file included from ../src/gallium/drivers/r600/sb/sb_ir.h:36,
from ../src/gallium/drivers/r600/sb/sb_shader.h:34,
from ../src/gallium/drivers/r600/sb/sb_if_conversion.cpp:35:
../src/gallium/drivers/r600/sb/sb_bc.h:500:8: note: ‘struct r600_sb::bc_alu’ declared here
500 | struct bc_alu {
| ^~~~~~
../src/gallium/drivers/r600/sb/sb_if_conversion.cpp: In member function ‘void r600_sb::if_conversion::convert_kill_instructions(r600_sb::region_node*, r600_sb::value*, bool, r600_sb::container_node*)’:
../src/gallium/drivers/r600/sb/sb_if_conversion.cpp:102:47: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct r600_sb::bc_alu_src’; use assignment or value-initialization instead [-Wclass-memaccess]
102 | memset(&a->bc.src[0], 0, sizeof(bc_alu_src));
| ^
In file included from ../src/gallium/drivers/r600/sb/sb_ir.h:36,
from ../src/gallium/drivers/r600/sb/sb_shader.h:34,
from ../src/gallium/drivers/r600/sb/sb_if_conversion.cpp:35:
../src/gallium/drivers/r600/sb/sb_bc.h:491:8: note: ‘struct r600_sb::bc_alu_src’ declared here
491 | struct bc_alu_src {
| ^~~~~~~~~~
../src/gallium/drivers/r600/sb/sb_if_conversion.cpp:103:47: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct r600_sb::bc_alu_src’; use assignment or value-initialization instead [-Wclass-memaccess]
103 | memset(&a->bc.src[1], 0, sizeof(bc_alu_src));
| ^
In file included from ../src/gallium/drivers/r600/sb/sb_ir.h:36,
from ../src/gallium/drivers/r600/sb/sb_shader.h:34,
from ../src/gallium/drivers/r600/sb/sb_if_conversion.cpp:35:
../src/gallium/drivers/r600/sb/sb_bc.h:491:8: note: ‘struct r600_sb::bc_alu_src’ declared here
491 | struct bc_alu_src {
| ^~~~~~~~~~
[1468/1754] Compiling C++ object 'src/gallium/drivers/r600/45f68e3@@r600@sta/sb_sb_bc_dump.cpp.o'
In file included from ../src/gallium/drivers/r600/sb/sb_shader.h:34,
from ../src/gallium/drivers/r600/sb/sb_bc_dump.cpp:28:
../src/gallium/drivers/r600/sb/sb_ir.h: In constructor ‘r600_sb::alu_node::alu_node()’:
../src/gallium/drivers/r600/sb/sb_ir.h:1015:72: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct r600_sb::bc_alu’; use assignment or value-initialization instead [-Wclass-memaccess]
1015 | alu_node() : node(NT_OP, NST_ALU_INST) { memset(&bc, 0, sizeof(bc_alu)); }
| ^
In file included from ../src/gallium/drivers/r600/sb/sb_bc_dump.cpp:27:
../src/gallium/drivers/r600/sb/sb_bc.h:500:8: note: ‘struct r600_sb::bc_alu’ declared here
500 | struct bc_alu {
| ^~~~~~
[1469/1754] Compiling C++ object 'src/gallium/drivers/r600/45f68e3@@r600@sta/sb_sb_expr.cpp.o'
In file included from ../src/gallium/drivers/r600/sb/sb_shader.h:34,
from ../src/gallium/drivers/r600/sb/sb_expr.cpp:29:
../src/gallium/drivers/r600/sb/sb_ir.h: In constructor ‘r600_sb::alu_node::alu_node()’:
../src/gallium/drivers/r600/sb/sb_ir.h:1015:72: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct r600_sb::bc_alu’; use assignment or value-initialization instead [-Wclass-memaccess]
1015 | alu_node() : node(NT_OP, NST_ALU_INST) { memset(&bc, 0, sizeof(bc_alu)); }
| ^
In file included from ../src/gallium/drivers/r600/sb/sb_ir.h:36,
from ../src/gallium/drivers/r600/sb/sb_shader.h:34,
from ../src/gallium/drivers/r600/sb/sb_expr.cpp:29:
../src/gallium/drivers/r600/sb/sb_bc.h:500:8: note: ‘struct r600_sb::bc_alu’ declared here
500 | struct bc_alu {
| ^~~~~~
../src/gallium/drivers/r600/sb/sb_expr.cpp: In member function ‘bool r600_sb::expr_handler::fold_assoc(r600_sb::alu_node*)’:
../src/gallium/drivers/r600/sb/sb_expr.cpp:722:47: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct r600_sb::bc_alu_src’; use assignment or value-initialization instead [-Wclass-memaccess]
722 | memset(&n->bc.src[1], 0, sizeof(bc_alu_src));
| ^
In file included from ../src/gallium/drivers/r600/sb/sb_ir.h:36,
from ../src/gallium/drivers/r600/sb/sb_shader.h:34,
from ../src/gallium/drivers/r600/sb/sb_expr.cpp:29:
../src/gallium/drivers/r600/sb/sb_bc.h:491:8: note: ‘struct r600_sb::bc_alu_src’ declared here
491 | struct bc_alu_src {
| ^~~~~~~~~~
../src/gallium/drivers/r600/sb/sb_expr.cpp:732:46: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct r600_sb::bc_alu_src’; use assignment or value-initialization instead [-Wclass-memaccess]
732 | memset(&n->bc.src[1], 0, sizeof(bc_alu_src));
| ^
In file included from ../src/gallium/drivers/r600/sb/sb_ir.h:36,
from ../src/gallium/drivers/r600/sb/sb_shader.h:34,
from ../src/gallium/drivers/r600/sb/sb_expr.cpp:29:
../src/gallium/drivers/r600/sb/sb_bc.h:491:8: note: ‘struct r600_sb::bc_alu_src’ declared here
491 | struct bc_alu_src {
| ^~~~~~~~~~
../src/gallium/drivers/r600/sb/sb_expr.cpp: In member function ‘bool r600_sb::expr_handler::fold_alu_op2(r600_sb::alu_node&)’:
../src/gallium/drivers/r600/sb/sb_expr.cpp:773:48: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct r600_sb::bc_alu_src’; use assignment or value-initialization instead [-Wclass-memaccess]
773 | memset(&n.bc.src[1], 0, sizeof(bc_alu_src));
| ^
In file included from ../src/gallium/drivers/r600/sb/sb_ir.h:36,
from ../src/gallium/drivers/r600/sb/sb_shader.h:34,
from ../src/gallium/drivers/r600/sb/sb_expr.cpp:29:
../src/gallium/drivers/r600/sb/sb_bc.h:491:8: note: ‘struct r600_sb::bc_alu_src’ declared here
491 | struct bc_alu_src {
| ^~~~~~~~~~
../src/gallium/drivers/r600/sb/sb_expr.cpp: In member function ‘bool r600_sb::expr_handler::fold_alu_op3(r600_sb::alu_node&)’:
../src/gallium/drivers/r600/sb/sb_expr.cpp:1073:47: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct r600_sb::bc_alu_src’; use assignment or value-initialization instead [-Wclass-memaccess]
1073 | memset(&n.bc.src[1], 0, sizeof(bc_alu_src));
| ^
In file included from ../src/gallium/drivers/r600/sb/sb_ir.h:36,
from ../src/gallium/drivers/r600/sb/sb_shader.h:34,
from ../src/gallium/drivers/r600/sb/sb_expr.cpp:29:
../src/gallium/drivers/r600/sb/sb_bc.h:491:8: note: ‘struct r600_sb::bc_alu_src’ declared here
491 | struct bc_alu_src {
| ^~~~~~~~~~
../src/gallium/drivers/r600/sb/sb_expr.cpp:1104:47: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct r600_sb::bc_alu_src’; use assignment or value-initialization instead [-Wclass-memaccess]
1104 | memset(&n.bc.src[0], 0, sizeof(bc_alu_src));
| ^
In file included from ../src/gallium/drivers/r600/sb/sb_ir.h:36,
from ../src/gallium/drivers/r600/sb/sb_shader.h:34,
from ../src/gallium/drivers/r600/sb/sb_expr.cpp:29:
../src/gallium/drivers/r600/sb/sb_bc.h:491:8: note: ‘struct r600_sb::bc_alu_src’ declared here
491 | struct bc_alu_src {
| ^~~~~~~~~~
[1470/1754] Compiling C++ object 'src/gallium/drivers/r600/45f68e3@@r600@sta/sb_sb_pass.cpp.o'
In file included from ../src/gallium/drivers/r600/sb/sb_shader.h:34,
from ../src/gallium/drivers/r600/sb/sb_pass.cpp:27:
../src/gallium/drivers/r600/sb/sb_ir.h: In constructor ‘r600_sb::alu_node::alu_node()’:
../src/gallium/drivers/r600/sb/sb_ir.h:1015:72: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct r600_sb::bc_alu’; use assignment or value-initialization instead [-Wclass-memaccess]
1015 | alu_node() : node(NT_OP, NST_ALU_INST) { memset(&bc, 0, sizeof(bc_alu)); }
| ^
In file included from ../src/gallium/drivers/r600/sb/sb_ir.h:36,
from ../src/gallium/drivers/r600/sb/sb_shader.h:34,
from ../src/gallium/drivers/r600/sb/sb_pass.cpp:27:
../src/gallium/drivers/r600/sb/sb_bc.h:500:8: note: ‘struct r600_sb::bc_alu’ declared here
500 | struct bc_alu {
| ^~~~~~
[1471/1754] Compiling C++ object 'src/gallium/drivers/r600/45f68e3@@r600@sta/sb_sb_gcm.cpp.o'
In file included from ../src/gallium/drivers/r600/sb/sb_shader.h:34,
from ../src/gallium/drivers/r600/sb/sb_gcm.cpp:38:
../src/gallium/drivers/r600/sb/sb_ir.h: In constructor ‘r600_sb::alu_node::alu_node()’:
../src/gallium/drivers/r600/sb/sb_ir.h:1015:72: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct r600_sb::bc_alu’; use assignment or value-initialization instead [-Wclass-memaccess]
1015 | alu_node() : node(NT_OP, NST_ALU_INST) { memset(&bc, 0, sizeof(bc_alu)); }
| ^
In file included from ../src/gallium/drivers/r600/sb/sb_gcm.cpp:37:
../src/gallium/drivers/r600/sb/sb_bc.h:500:8: note: ‘struct r600_sb::bc_alu’ declared here
500 | struct bc_alu {
| ^~~~~~
[1472/1754] Compiling C++ object 'src/gallium/drivers/r600/45f68e3@@r600@sta/sb_sb_liveness.cpp.o'
In file included from ../src/gallium/drivers/r600/sb/sb_shader.h:34,
from ../src/gallium/drivers/r600/sb/sb_liveness.cpp:27:
../src/gallium/drivers/r600/sb/sb_ir.h: In constructor ‘r600_sb::alu_node::alu_node()’:
../src/gallium/drivers/r600/sb/sb_ir.h:1015:72: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct r600_sb::bc_alu’; use assignment or value-initialization instead [-Wclass-memaccess]
1015 | alu_node() : node(NT_OP, NST_ALU_INST) { memset(&bc, 0, sizeof(bc_alu)); }
| ^
In file included from ../src/gallium/drivers/r600/sb/sb_ir.h:36,
from ../src/gallium/drivers/r600/sb/sb_shader.h:34,
from ../src/gallium/drivers/r600/sb/sb_liveness.cpp:27:
../src/gallium/drivers/r600/sb/sb_bc.h:500:8: note: ‘struct r600_sb::bc_alu’ declared here
500 | struct bc_alu {
| ^~~~~~
[1473/1754] Compiling C++ object 'src/gallium/drivers/r600/45f68e3@@r600@sta/sb_sb_peephole.cpp.o'
In file included from ../src/gallium/drivers/r600/sb/sb_shader.h:34,
from ../src/gallium/drivers/r600/sb/sb_peephole.cpp:35:
../src/gallium/drivers/r600/sb/sb_ir.h: In constructor ‘r600_sb::alu_node::alu_node()’:
../src/gallium/drivers/r600/sb/sb_ir.h:1015:72: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct r600_sb::bc_alu’; use assignment or value-initialization instead [-Wclass-memaccess]
1015 | alu_node() : node(NT_OP, NST_ALU_INST) { memset(&bc, 0, sizeof(bc_alu)); }
| ^
In file included from ../src/gallium/drivers/r600/sb/sb_ir.h:36,
from ../src/gallium/drivers/r600/sb/sb_shader.h:34,
from ../src/gallium/drivers/r600/sb/sb_peephole.cpp:35:
../src/gallium/drivers/r600/sb/sb_bc.h:500:8: note: ‘struct r600_sb::bc_alu’ declared here
500 | struct bc_alu {
| ^~~~~~
../src/gallium/drivers/r600/sb/sb_peephole.cpp: In member function ‘void r600_sb::peephole::optimize_cc_op2(r600_sb::alu_node*)’:
../src/gallium/drivers/r600/sb/sb_peephole.cpp:134:46: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct r600_sb::bc_alu_src’; use assignment or value-initialization instead [-Wclass-memaccess]
134 | memset(&a->bc.src[0], 0, sizeof(bc_alu_src));
| ^
In file included from ../src/gallium/drivers/r600/sb/sb_ir.h:36,
from ../src/gallium/drivers/r600/sb/sb_shader.h:34,
from ../src/gallium/drivers/r600/sb/sb_peephole.cpp:35:
../src/gallium/drivers/r600/sb/sb_bc.h:491:8: note: ‘struct r600_sb::bc_alu_src’ declared here
491 | struct bc_alu_src {
| ^~~~~~~~~~
../src/gallium/drivers/r600/sb/sb_peephole.cpp:135:46: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct r600_sb::bc_alu_src’; use assignment or value-initialization instead [-Wclass-memaccess]
135 | memset(&a->bc.src[1], 0, sizeof(bc_alu_src));
| ^
In file included from ../src/gallium/drivers/r600/sb/sb_ir.h:36,
from ../src/gallium/drivers/r600/sb/sb_shader.h:34,
from ../src/gallium/drivers/r600/sb/sb_peephole.cpp:35:
../src/gallium/drivers/r600/sb/sb_bc.h:491:8: note: ‘struct r600_sb::bc_alu_src’ declared here
491 | struct bc_alu_src {
| ^~~~~~~~~~
[1474/1754] Compiling C++ object 'src/gallium/drivers/r600/45f68e3@@r600@sta/sb_sb_core.cpp.o'
In file included from ../src/gallium/drivers/r600/sb/sb_shader.h:34,
from ../src/gallium/drivers/r600/sb/sb_core.cpp:39:
../src/gallium/drivers/r600/sb/sb_ir.h: In constructor ‘r600_sb::alu_node::alu_node()’:
../src/gallium/drivers/r600/sb/sb_ir.h:1015:72: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct r600_sb::bc_alu’; use assignment or value-initialization instead [-Wclass-memaccess]
1015 | alu_node() : node(NT_OP, NST_ALU_INST) { memset(&bc, 0, sizeof(bc_alu)); }
| ^
In file included from ../src/gallium/drivers/r600/sb/sb_core.cpp:38:
../src/gallium/drivers/r600/sb/sb_bc.h:500:8: note: ‘struct r600_sb::bc_alu’ declared here
500 | struct bc_alu {
| ^~~~~~
[1476/1754] Compiling C++ object 'src/gallium/drivers/r600/45f68e3@@r600@sta/sb_sb_psi_ops.cpp.o'
In file included from ../src/gallium/drivers/r600/sb/sb_shader.h:34,
from ../src/gallium/drivers/r600/sb/sb_psi_ops.cpp:27:
../src/gallium/drivers/r600/sb/sb_ir.h: In constructor ‘r600_sb::alu_node::alu_node()’:
../src/gallium/drivers/r600/sb/sb_ir.h:1015:72: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct r600_sb::bc_alu’; use assignment or value-initialization instead [-Wclass-memaccess]
1015 | alu_node() : node(NT_OP, NST_ALU_INST) { memset(&bc, 0, sizeof(bc_alu)); }
| ^
In file included from ../src/gallium/drivers/r600/sb/sb_ir.h:36,
from ../src/gallium/drivers/r600/sb/sb_shader.h:34,
from ../src/gallium/drivers/r600/sb/sb_psi_ops.cpp:27:
../src/gallium/drivers/r600/sb/sb_bc.h:500:8: note: ‘struct r600_sb::bc_alu’ declared here
500 | struct bc_alu {
| ^~~~~~
[1478/1754] Compiling C++ object 'src/gallium/drivers/r600/45f68e3@@r600@sta/sb_sb_ir.cpp.o'
In file included from ../src/gallium/drivers/r600/sb/sb_shader.h:34,
from ../src/gallium/drivers/r600/sb/sb_ir.cpp:28:
../src/gallium/drivers/r600/sb/sb_ir.h: In constructor ‘r600_sb::alu_node::alu_node()’:
../src/gallium/drivers/r600/sb/sb_ir.h:1015:72: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct r600_sb::bc_alu’; use assignment or value-initialization instead [-Wclass-memaccess]
1015 | alu_node() : node(NT_OP, NST_ALU_INST) { memset(&bc, 0, sizeof(bc_alu)); }
| ^
In file included from ../src/gallium/drivers/r600/sb/sb_ir.cpp:27:
../src/gallium/drivers/r600/sb/sb_bc.h:500:8: note: ‘struct r600_sb::bc_alu’ declared here
500 | struct bc_alu {
| ^~~~~~
[1479/1754] Compiling C++ object 'src/gallium/drivers/r600/45f68e3@@r600@sta/sb_sb_ra_checker.cpp.o'
In file included from ../src/gallium/drivers/r600/sb/sb_shader.h:34,
from ../src/gallium/drivers/r600/sb/sb_ra_checker.cpp:27:
../src/gallium/drivers/r600/sb/sb_ir.h: In constructor ‘r600_sb::alu_node::alu_node()’:
../src/gallium/drivers/r600/sb/sb_ir.h:1015:72: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct r600_sb::bc_alu’; use assignment or value-initialization instead [-Wclass-memaccess]
1015 | alu_node() : node(NT_OP, NST_ALU_INST) { memset(&bc, 0, sizeof(bc_alu)); }
| ^
In file included from ../src/gallium/drivers/r600/sb/sb_ir.h:36,
from ../src/gallium/drivers/r600/sb/sb_shader.h:34,
from ../src/gallium/drivers/r600/sb/sb_ra_checker.cpp:27:
../src/gallium/drivers/r600/sb/sb_bc.h:500:8: note: ‘struct r600_sb::bc_alu’ declared here
500 | struct bc_alu {
| ^~~~~~
[1481/1754] Compiling C++ object 'src/gallium/drivers/r600/45f68e3@@r600@sta/sb_sb_ra_coalesce.cpp.o'
In file included from ../src/gallium/drivers/r600/sb/sb_shader.h:34,
from ../src/gallium/drivers/r600/sb/sb_ra_coalesce.cpp:35:
../src/gallium/drivers/r600/sb/sb_ir.h: In constructor ‘r600_sb::alu_node::alu_node()’:
../src/gallium/drivers/r600/sb/sb_ir.h:1015:72: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct r600_sb::bc_alu’; use assignment or value-initialization instead [-Wclass-memaccess]
1015 | alu_node() : node(NT_OP, NST_ALU_INST) { memset(&bc, 0, sizeof(bc_alu)); }
| ^
In file included from ../src/gallium/drivers/r600/sb/sb_ir.h:36,
from ../src/gallium/drivers/r600/sb/sb_shader.h:34,
from ../src/gallium/drivers/r600/sb/sb_ra_coalesce.cpp:35:
../src/gallium/drivers/r600/sb/sb_bc.h:500:8: note: ‘struct r600_sb::bc_alu’ declared here
500 | struct bc_alu {
| ^~~~~~
[1482/1754] Compiling C++ object 'src/gallium/drivers/r600/45f68e3@@r600@sta/sb_sb_ra_init.cpp.o'
In file included from ../src/gallium/drivers/r600/sb/sb_shader.h:34,
from ../src/gallium/drivers/r600/sb/sb_ra_init.cpp:38:
../src/gallium/drivers/r600/sb/sb_ir.h: In constructor ‘r600_sb::alu_node::alu_node()’:
../src/gallium/drivers/r600/sb/sb_ir.h:1015:72: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct r600_sb::bc_alu’; use assignment or value-initialization instead [-Wclass-memaccess]
1015 | alu_node() : node(NT_OP, NST_ALU_INST) { memset(&bc, 0, sizeof(bc_alu)); }
| ^
In file included from ../src/gallium/drivers/r600/sb/sb_ra_init.cpp:37:
../src/gallium/drivers/r600/sb/sb_bc.h:500:8: note: ‘struct r600_sb::bc_alu’ declared here
500 | struct bc_alu {
| ^~~~~~
[1484/1754] Compiling C++ object 'src/gallium/drivers/r600/45f68e3@@r600@sta/sb_sb_valtable.cpp.o'
In file included from ../src/gallium/drivers/r600/sb/sb_shader.h:34,
from ../src/gallium/drivers/r600/sb/sb_valtable.cpp:37:
../src/gallium/drivers/r600/sb/sb_ir.h: In constructor ‘r600_sb::alu_node::alu_node()’:
../src/gallium/drivers/r600/sb/sb_ir.h:1015:72: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct r600_sb::bc_alu’; use assignment or value-initialization instead [-Wclass-memaccess]
1015 | alu_node() : node(NT_OP, NST_ALU_INST) { memset(&bc, 0, sizeof(bc_alu)); }
| ^
In file included from ../src/gallium/drivers/r600/sb/sb_ir.h:36,
from ../src/gallium/drivers/r600/sb/sb_shader.h:34,
from ../src/gallium/drivers/r600/sb/sb_valtable.cpp:37:
../src/gallium/drivers/r600/sb/sb_bc.h:500:8: note: ‘struct r600_sb::bc_alu’ declared here
500 | struct bc_alu {
| ^~~~~~
[1487/1754] Compiling C++ object 'src/gallium/drivers/r600/45f68e3@@r600@sta/sb_sb_ssa_builder.cpp.o'
In file included from ../src/gallium/drivers/r600/sb/sb_shader.h:34,
from ../src/gallium/drivers/r600/sb/sb_ssa_builder.cpp:30:
../src/gallium/drivers/r600/sb/sb_ir.h: In constructor ‘r600_sb::alu_node::alu_node()’:
../src/gallium/drivers/r600/sb/sb_ir.h:1015:72: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct r600_sb::bc_alu’; use assignment or value-initialization instead [-Wclass-memaccess]
1015 | alu_node() : node(NT_OP, NST_ALU_INST) { memset(&bc, 0, sizeof(bc_alu)); }
| ^
In file included from ../src/gallium/drivers/r600/sb/sb_ir.h:36,
from ../src/gallium/drivers/r600/sb/sb_shader.h:34,
from ../src/gallium/drivers/r600/sb/sb_ssa_builder.cpp:30:
../src/gallium/drivers/r600/sb/sb_bc.h:500:8: note: ‘struct r600_sb::bc_alu’ declared here
500 | struct bc_alu {
| ^~~~~~
[1488/1754] Compiling C++ object 'src/gallium/drivers/r600/45f68e3@@r600@sta/sb_sb_shader.cpp.o'
In file included from ../src/gallium/drivers/r600/sb/sb_shader.h:34,
from ../src/gallium/drivers/r600/sb/sb_shader.cpp:28:
../src/gallium/drivers/r600/sb/sb_ir.h: In constructor ‘r600_sb::alu_node::alu_node()’:
../src/gallium/drivers/r600/sb/sb_ir.h:1015:72: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct r600_sb::bc_alu’; use assignment or value-initialization instead [-Wclass-memaccess]
1015 | alu_node() : node(NT_OP, NST_ALU_INST) { memset(&bc, 0, sizeof(bc_alu)); }
| ^
In file included from ../src/gallium/drivers/r600/sb/sb_shader.cpp:27:
../src/gallium/drivers/r600/sb/sb_bc.h:500:8: note: ‘struct r600_sb::bc_alu’ declared here
500 | struct bc_alu {
| ^~~~~~
[1499/1754] Compiling C++ object 'src/gallium/drivers/r600/45f68e3@@r600@sta/sb_sb_sched.cpp.o'
In file included from ../src/gallium/drivers/r600/sb/sb_shader.h:34,
from ../src/gallium/drivers/r600/sb/sb_sched.cpp:36:
../src/gallium/drivers/r600/sb/sb_ir.h: In constructor ‘r600_sb::alu_node::alu_node()’:
../src/gallium/drivers/r600/sb/sb_ir.h:1015:72: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct r600_sb::bc_alu’; use assignment or value-initialization instead [-Wclass-memaccess]
1015 | alu_node() : node(NT_OP, NST_ALU_INST) { memset(&bc, 0, sizeof(bc_alu)); }
| ^
In file included from ../src/gallium/drivers/r600/sb/sb_sched.cpp:35:
../src/gallium/drivers/r600/sb/sb_bc.h:500:8: note: ‘struct r600_sb::bc_alu’ declared here
500 | struct bc_alu {
| ^~~~~~
/cc @gerddie