[Mesa-dev] [PATCH mesa 3/6] r600: silence paranoid compiler's -Wclass-memaccess

Eric Engestrom eric.engestrom at intel.com
Fri Sep 21 13:50:38 UTC 2018


Signed-off-by: Eric Engestrom <eric.engestrom at intel.com>
---
 src/gallium/drivers/r600/sb/sb_expr.cpp          | 10 +++++-----
 src/gallium/drivers/r600/sb/sb_if_conversion.cpp |  4 ++--
 src/gallium/drivers/r600/sb/sb_ir.h              |  2 +-
 src/gallium/drivers/r600/sb/sb_peephole.cpp      |  4 ++--
 4 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/src/gallium/drivers/r600/sb/sb_expr.cpp b/src/gallium/drivers/r600/sb/sb_expr.cpp
index 05674ff24b88eaaae523..d30fb736c669a0f33df4 100644
--- a/src/gallium/drivers/r600/sb/sb_expr.cpp
+++ b/src/gallium/drivers/r600/sb/sb_expr.cpp
@@ -719,7 +719,7 @@ bool expr_handler::fold_assoc(alu_node *n) {
 			n->src[0] = n->src[2];
 			n->bc.src[0] = n->bc.src[2];
 			n->src[1] = sh.get_const_value(cr);
-			memset(&n->bc.src[1], 0, sizeof(bc_alu_src));
+			memset(static_cast<void*>(&n->bc.src[1]), 0, sizeof(bc_alu_src));
 
 			n->src.resize(2);
 			n->bc.set_op(ALU_OP2_ADD);
@@ -729,7 +729,7 @@ bool expr_handler::fold_assoc(alu_node *n) {
 		n->bc.src[0] = a->bc.src[last_arg];
 		n->bc.src[0].neg ^= cur_neg;
 		n->src[1] = sh.get_const_value(cr);
-		memset(&n->bc.src[1], 0, sizeof(bc_alu_src));
+		memset(static_cast<void*>(&n->bc.src[1]), 0, sizeof(bc_alu_src));
 	}
 
 	return false;
@@ -770,7 +770,7 @@ bool expr_handler::fold_alu_op2(alu_node& n) {
 			case ALU_OP2_ADD:  // (ADD x, x) => (MUL x, 2)
 				if (!sh.safe_math) {
 					n.src[1] = sh.get_const_value(2.0f);
-					memset(&n.bc.src[1], 0, sizeof(bc_alu_src));
+					memset(static_cast<void*>(&n.bc.src[1]), 0, sizeof(bc_alu_src));
 					n.bc.set_op(ALU_OP2_MUL);
 					return fold_alu_op2(n);
 				}
@@ -1070,7 +1070,7 @@ bool expr_handler::fold_alu_op3(alu_node& n) {
 				}
 
 				n.src[1] = t;
-				memset(&n.bc.src[1], 0, sizeof(bc_alu_src));
+				memset(static_cast<void*>(&n.bc.src[1]), 0, sizeof(bc_alu_src));
 
 				n.src.resize(2);
 
@@ -1101,7 +1101,7 @@ bool expr_handler::fold_alu_op3(alu_node& n) {
 				dv = cv0.f * cv1.f;
 				n.bc.set_op(ALU_OP2_ADD);
 				n.src[0] = sh.get_const_value(dv);
-				memset(&n.bc.src[0], 0, sizeof(bc_alu_src));
+				memset(static_cast<void*>(&n.bc.src[0]), 0, sizeof(bc_alu_src));
 				n.src[1] = n.src[2];
 				n.bc.src[1] = n.bc.src[2];
 				n.src.resize(2);
diff --git a/src/gallium/drivers/r600/sb/sb_if_conversion.cpp b/src/gallium/drivers/r600/sb/sb_if_conversion.cpp
index 017153434fcaaf6e500f..a5813625f920c59ba230 100644
--- a/src/gallium/drivers/r600/sb/sb_if_conversion.cpp
+++ b/src/gallium/drivers/r600/sb/sb_if_conversion.cpp
@@ -99,8 +99,8 @@ void if_conversion::convert_kill_instructions(region_node *r,
 			a->src[0] = cnd;
 			a->src[1] = sh.get_const_value(0);
 			// clear modifiers
-			memset(&a->bc.src[0], 0, sizeof(bc_alu_src));
-			memset(&a->bc.src[1], 0, sizeof(bc_alu_src));
+			memset(static_cast<void*>(&a->bc.src[0]), 0, sizeof(bc_alu_src));
+			memset(static_cast<void*>(&a->bc.src[1]), 0, sizeof(bc_alu_src));
 		} else {
 			// kill with constant 'false' condition, this shouldn't happen
 			// but remove it anyway
diff --git a/src/gallium/drivers/r600/sb/sb_ir.h b/src/gallium/drivers/r600/sb/sb_ir.h
index c7a94fcb930ecd9d9570..4435cbca83013819496b 100644
--- a/src/gallium/drivers/r600/sb/sb_ir.h
+++ b/src/gallium/drivers/r600/sb/sb_ir.h
@@ -1012,7 +1012,7 @@ class cf_node : public container_node {
 
 class alu_node : public node {
 protected:
-	alu_node() : node(NT_OP, NST_ALU_INST) { memset(&bc, 0, sizeof(bc_alu)); };
+	alu_node() : node(NT_OP, NST_ALU_INST) { memset(static_cast<void*>(&bc), 0, sizeof(bc_alu)); };
 public:
 	bc_alu bc;
 
diff --git a/src/gallium/drivers/r600/sb/sb_peephole.cpp b/src/gallium/drivers/r600/sb/sb_peephole.cpp
index 4390a8f525c87749e2d4..8bbbfa7b1a1f24368cd0 100644
--- a/src/gallium/drivers/r600/sb/sb_peephole.cpp
+++ b/src/gallium/drivers/r600/sb/sb_peephole.cpp
@@ -131,8 +131,8 @@ void peephole::optimize_cc_op2(alu_node* a) {
 		std::swap(a->src[0],a->src[1]);
 		swapped = true;
 		// clear modifiers
-		memset(&a->bc.src[0], 0, sizeof(bc_alu_src));
-		memset(&a->bc.src[1], 0, sizeof(bc_alu_src));
+		memset(static_cast<void*>(&a->bc.src[0]), 0, sizeof(bc_alu_src));
+		memset(static_cast<void*>(&a->bc.src[1]), 0, sizeof(bc_alu_src));
 	}
 
 	if (swapped || (a->src[1]->is_const() &&
-- 
Cheers,
  Eric



More information about the mesa-dev mailing list