Mesa (master): r600/radeonsi: silence zero-length-bounds gcc warnings
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Wed Jul 8 03:41:53 UTC 2020
Module: Mesa
Branch: master
Commit: 4686a956212ac8e9b7be1b6a10672cb606095f8f
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4686a956212ac8e9b7be1b6a10672cb606095f8f
Author: Timothy Arceri <tarceri at itsqueeze.com>
Date: Fri Jul 3 12:06:09 2020 +1000
r600/radeonsi: silence zero-length-bounds gcc warnings
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5766>
---
src/gallium/drivers/r600/r600_pipe_common.h | 4 ++--
src/gallium/drivers/radeonsi/si_pipe.h | 5 +++--
src/gallium/drivers/radeonsi/si_state.h | 8 ++++----
3 files changed, 9 insertions(+), 8 deletions(-)
diff --git a/src/gallium/drivers/r600/r600_pipe_common.h b/src/gallium/drivers/r600/r600_pipe_common.h
index 2ecd03845e6..8accf7eae98 100644
--- a/src/gallium/drivers/r600/r600_pipe_common.h
+++ b/src/gallium/drivers/r600/r600_pipe_common.h
@@ -289,7 +289,7 @@ struct r600_mmio_counter {
};
union r600_mmio_counters {
- struct {
+ struct r600_mmio_counters_named {
/* For global GPU load including SDMA. */
struct r600_mmio_counter gpu;
@@ -320,7 +320,7 @@ union r600_mmio_counters {
struct r600_mmio_counter cp_dma;
struct r600_mmio_counter scratch_ram;
} named;
- unsigned array[0];
+ unsigned array[sizeof(struct r600_mmio_counters_named) / sizeof(unsigned)];
};
struct r600_memory_object {
diff --git a/src/gallium/drivers/radeonsi/si_pipe.h b/src/gallium/drivers/radeonsi/si_pipe.h
index 467538c76cd..14b29db9b85 100644
--- a/src/gallium/drivers/radeonsi/si_pipe.h
+++ b/src/gallium/drivers/radeonsi/si_pipe.h
@@ -432,7 +432,7 @@ struct si_mmio_counter {
};
union si_mmio_counters {
- struct {
+ struct si_mmio_counters_named {
/* For global GPU load including SDMA. */
struct si_mmio_counter gpu;
@@ -463,7 +463,8 @@ union si_mmio_counters {
struct si_mmio_counter cp_dma;
struct si_mmio_counter scratch_ram;
} named;
- unsigned array[0];
+
+ unsigned array[sizeof(struct si_mmio_counters_named) / sizeof(unsigned)];
};
struct si_memory_object {
diff --git a/src/gallium/drivers/radeonsi/si_state.h b/src/gallium/drivers/radeonsi/si_state.h
index a45b18c827c..ab655498a1d 100644
--- a/src/gallium/drivers/radeonsi/si_state.h
+++ b/src/gallium/drivers/radeonsi/si_state.h
@@ -176,7 +176,7 @@ struct si_vertex_elements {
};
union si_state {
- struct {
+ struct si_state_named {
struct si_state_blend *blend;
struct si_state_rasterizer *rasterizer;
struct si_state_dsa *dsa;
@@ -189,7 +189,7 @@ union si_state {
struct si_pm4_state *vs;
struct si_pm4_state *ps;
} named;
- struct si_pm4_state *array[0];
+ struct si_pm4_state *array[sizeof(struct si_state_named) / sizeof(struct si_pm4_state *)];
};
#define SI_STATE_IDX(name) (offsetof(union si_state, named.name) / sizeof(struct si_pm4_state *))
@@ -203,7 +203,7 @@ static inline unsigned si_states_that_always_roll_context(void)
}
union si_state_atoms {
- struct {
+ struct si_atoms_s {
/* The order matters. */
struct si_atom render_cond;
struct si_atom streamout_begin;
@@ -228,7 +228,7 @@ union si_state_atoms {
struct si_atom window_rectangles;
struct si_atom shader_query;
} s;
- struct si_atom array[0];
+ struct si_atom array[sizeof(struct si_atoms_s) / sizeof(struct si_atom)];
};
#define SI_ATOM_BIT(name) (1 << (offsetof(union si_state_atoms, s.name) / sizeof(struct si_atom)))
More information about the mesa-commit
mailing list