[glib/ebassi/gcc-12-fixes: 1/2] Fix array-bounds compiler warnings with GCC 12
- From: Emmanuele Bassi <ebassi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib/ebassi/gcc-12-fixes: 1/2] Fix array-bounds compiler warnings with GCC 12
- Date: Fri, 2 Sep 2022 12:00:23 +0000 (UTC)
commit 903c004b37d723972b07ecbdd880ae0d2c8b767d
Author: Emmanuele Bassi <ebassi gnome org>
Date: Fri Sep 2 12:46:57 2022 +0100
Fix array-bounds compiler warnings with GCC 12
GCC isn't smart enough to recognise that the assertion on the size of
N_PROPERTIES also affects the assertion on the GParamSpec array access,
so we need to coalesce the two checks into one to avoid an array-bounds
compiler warning.
gobject/tests/notify-init.c | 6 ++----
gobject/tests/notify-init2.c | 6 ++----
gobject/tests/properties.c | 6 ++----
3 files changed, 6 insertions(+), 12 deletions(-)
---
diff --git a/gobject/tests/notify-init.c b/gobject/tests/notify-init.c
index 99c628593b..17500cbe96 100644
--- a/gobject/tests/notify-init.c
+++ b/gobject/tests/notify-init.c
@@ -124,8 +124,7 @@ test_object_set_property (GObject *gobject,
TestObject *tobj = (TestObject *) gobject;
g_assert_cmpint (prop_id, !=, 0);
- g_assert_cmpint (prop_id, !=, N_PROPERTIES);
- g_assert (pspec == properties[prop_id]);
+ g_assert_true (prop_id < N_PROPERTIES && pspec == properties[prop_id]);
switch ((TestObjectProperty)prop_id)
{
@@ -159,8 +158,7 @@ test_object_get_property (GObject *gobject,
TestObject *tobj = (TestObject *) gobject;
g_assert_cmpint (prop_id, !=, 0);
- g_assert_cmpint (prop_id, !=, N_PROPERTIES);
- g_assert (pspec == properties[prop_id]);
+ g_assert_true (prop_id < N_PROPERTIES && pspec == properties[prop_id]);
switch ((TestObjectProperty)prop_id)
{
diff --git a/gobject/tests/notify-init2.c b/gobject/tests/notify-init2.c
index ab6677c1df..c3ebae002c 100644
--- a/gobject/tests/notify-init2.c
+++ b/gobject/tests/notify-init2.c
@@ -132,8 +132,7 @@ test_object_set_property (GObject *gobject,
TestObject *tobj = (TestObject *) gobject;
g_assert_cmpint (prop_id, !=, 0);
- g_assert_cmpint (prop_id, !=, N_PROPERTIES);
- g_assert (pspec == properties[prop_id]);
+ g_assert_true (prop_id < N_PROPERTIES && pspec == properties[prop_id]);
switch ((TestObjectProperty)prop_id)
{
@@ -167,8 +166,7 @@ test_object_get_property (GObject *gobject,
TestObject *tobj = (TestObject *) gobject;
g_assert_cmpint (prop_id, !=, 0);
- g_assert_cmpint (prop_id, !=, N_PROPERTIES);
- g_assert (pspec == properties[prop_id]);
+ g_assert_true (prop_id < N_PROPERTIES && pspec == properties[prop_id]);
switch ((TestObjectProperty)prop_id)
{
diff --git a/gobject/tests/properties.c b/gobject/tests/properties.c
index da467c2fee..e30a2705b8 100644
--- a/gobject/tests/properties.c
+++ b/gobject/tests/properties.c
@@ -104,8 +104,7 @@ test_object_set_property (GObject *gobject,
TestObject *tobj = (TestObject *) gobject;
g_assert_cmpint (prop_id, !=, 0);
- g_assert_cmpint (prop_id, !=, N_PROPERTIES);
- g_assert (pspec == properties[prop_id]);
+ g_assert_true (prop_id < N_PROPERTIES && pspec == properties[prop_id]);
switch (prop_id)
{
@@ -139,8 +138,7 @@ test_object_get_property (GObject *gobject,
TestObject *tobj = (TestObject *) gobject;
g_assert_cmpint (prop_id, !=, 0);
- g_assert_cmpint (prop_id, !=, N_PROPERTIES);
- g_assert (pspec == properties[prop_id]);
+ g_assert_true (prop_id < N_PROPERTIES && pspec == properties[prop_id]);
switch (prop_id)
{
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]