gobject: Cast various inverted bitfield constants to unsigned

This fixes `-Wsign-conversion` warnings, though I’m not sure why the
compiler is emitting them. The signed/unsigned status of flag enum
members is not particularly well defined in the C standard (and even
less well understood by me), so just do what seems necessary to shut the
compiler up.

The benefits of enabling `-Wsign-conversion` across the codebase
hopefully outweighs this noise.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>

Helps: #3405
This commit is contained in:
Philip Withnall 2025-04-11 15:08:16 +01:00
parent 70ddc35340
commit 633e49c8d1
No known key found for this signature in database
GPG Key ID: C5C42CFB268637CA
6 changed files with 16 additions and 16 deletions

View File

@ -1250,7 +1250,7 @@ g_object_bind_property_full (gpointer source,
if ((flags & G_BINDING_INVERT_BOOLEAN) &&
(transform_to != NULL || transform_from != NULL))
{
flags &= ~G_BINDING_INVERT_BOOLEAN;
flags &= (unsigned) ~G_BINDING_INVERT_BOOLEAN;
}
pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (source), source_property);

View File

@ -948,7 +948,7 @@ g_object_base_class_init (GObjectClass *class)
GObjectClass *pclass = g_type_class_peek_parent (class);
/* Don't inherit HAS_DERIVED_CLASS flag from parent class */
class->flags &= ~CLASS_HAS_DERIVED_CLASS_FLAG;
class->flags &= (unsigned) ~CLASS_HAS_DERIVED_CLASS_FLAG;
if (pclass)
pclass->flags |= CLASS_HAS_DERIVED_CLASS_FLAG;

View File

@ -54,7 +54,7 @@
/* --- defines --- */
#define PARAM_FLOATING_FLAG 0x2
#define G_PARAM_USER_MASK (~0U << G_PARAM_USER_SHIFT)
#define G_PARAM_USER_MASK ((GParamFlags) (~0U << G_PARAM_USER_SHIFT))
#define PSPEC_APPLIES_TO_VALUE(pspec, value) (G_TYPE_CHECK_VALUE_TYPE ((value), G_PARAM_SPEC_VALUE_TYPE (pspec)))
/* --- prototypes --- */

View File

@ -775,7 +775,7 @@ param_string_validate (GParamSpec *pspec,
{
value->data[0].v_pointer = g_strdup (string);
string = value->data[0].v_pointer;
value->data[1].v_uint &= ~G_VALUE_NOCOPY_CONTENTS;
value->data[1].v_uint &= (unsigned) ~G_VALUE_NOCOPY_CONTENTS;
}
string[0] = sspec->substitutor;
n_changed++;
@ -789,7 +789,7 @@ param_string_validate (GParamSpec *pspec,
value->data[0].v_pointer = g_strdup (string);
s = (gchar*) value->data[0].v_pointer + (s - string);
string = value->data[0].v_pointer;
value->data[1].v_uint &= ~G_VALUE_NOCOPY_CONTENTS;
value->data[1].v_uint &= (unsigned) ~G_VALUE_NOCOPY_CONTENTS;
}
*s = sspec->substitutor;
n_changed++;
@ -800,14 +800,14 @@ param_string_validate (GParamSpec *pspec,
if (!(value->data[1].v_uint & G_VALUE_NOCOPY_CONTENTS))
g_free (value->data[0].v_pointer);
else
value->data[1].v_uint &= ~G_VALUE_NOCOPY_CONTENTS;
value->data[1].v_uint &= (unsigned) ~G_VALUE_NOCOPY_CONTENTS;
value->data[0].v_pointer = NULL;
n_changed++;
string = value->data[0].v_pointer;
}
if (sspec->ensure_non_null && !string)
{
value->data[1].v_uint &= ~G_VALUE_NOCOPY_CONTENTS;
value->data[1].v_uint &= (unsigned) ~G_VALUE_NOCOPY_CONTENTS;
value->data[0].v_pointer = g_strdup ("");
n_changed++;
string = value->data[0].v_pointer;

View File

@ -2808,7 +2808,7 @@ g_signal_handler_find (gpointer instance,
gulong handler_seq_no = 0;
g_return_val_if_fail (G_TYPE_CHECK_INSTANCE (instance), 0);
g_return_val_if_fail ((mask & ~G_SIGNAL_MATCH_MASK) == 0, 0);
g_return_val_if_fail ((mask & (unsigned) ~G_SIGNAL_MATCH_MASK) == 0, 0);
if (mask & G_SIGNAL_MATCH_MASK)
{
@ -2894,7 +2894,7 @@ g_signal_handlers_block_matched (gpointer instance,
guint n_handlers = 0;
g_return_val_if_fail (G_TYPE_CHECK_INSTANCE (instance), 0);
g_return_val_if_fail ((mask & ~G_SIGNAL_MATCH_MASK) == 0, 0);
g_return_val_if_fail ((mask & (unsigned) ~G_SIGNAL_MATCH_MASK) == 0, 0);
if (mask & (G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_CLOSURE | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA))
{
@ -2950,7 +2950,7 @@ g_signal_handlers_unblock_matched (gpointer instance,
guint n_handlers = 0;
g_return_val_if_fail (G_TYPE_CHECK_INSTANCE (instance), 0);
g_return_val_if_fail ((mask & ~G_SIGNAL_MATCH_MASK) == 0, 0);
g_return_val_if_fail ((mask & (unsigned) ~G_SIGNAL_MATCH_MASK) == 0, 0);
if (mask & (G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_CLOSURE | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA))
{
@ -3005,7 +3005,7 @@ g_signal_handlers_disconnect_matched (gpointer instance,
guint n_handlers = 0;
g_return_val_if_fail (G_TYPE_CHECK_INSTANCE (instance), 0);
g_return_val_if_fail ((mask & ~G_SIGNAL_MATCH_MASK) == 0, 0);
g_return_val_if_fail ((mask & (unsigned) ~G_SIGNAL_MATCH_MASK) == 0, 0);
if (mask & (G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_CLOSURE | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA))
{
@ -3240,7 +3240,7 @@ accumulate (GSignalInvocationHint *ihint,
continue_emission = accumulator->func (ihint, return_accu, handler_return, accumulator->data);
g_value_reset (handler_return);
ihint->run_type &= ~G_SIGNAL_ACCUMULATOR_FIRST_RUN;
ihint->run_type &= (unsigned) ~G_SIGNAL_ACCUMULATOR_FIRST_RUN;
return continue_emission;
}
@ -3929,7 +3929,7 @@ signal_emit_unlocked_R (SignalNode *node,
goto EMIT_RESTART;
}
emission.ihint.run_type &= ~G_SIGNAL_RUN_FIRST;
emission.ihint.run_type &= (unsigned) ~G_SIGNAL_RUN_FIRST;
emission.ihint.run_type |= G_SIGNAL_RUN_LAST;
if ((node->flags & G_SIGNAL_RUN_LAST) && class_closure)
@ -4003,7 +4003,7 @@ signal_emit_unlocked_R (SignalNode *node,
EMIT_CLEANUP:
emission.ihint.run_type &= ~G_SIGNAL_RUN_LAST;
emission.ihint.run_type &= (unsigned) ~G_SIGNAL_RUN_LAST;
emission.ihint.run_type |= G_SIGNAL_RUN_CLEANUP;
if ((node->flags & G_SIGNAL_RUN_CLEANUP) && class_closure)

View File

@ -3628,7 +3628,7 @@ type_add_flags_W (TypeNode *node,
{
guint dflags;
g_return_if_fail ((flags & ~TYPE_FLAG_MASK) == 0);
g_return_if_fail ((flags & (unsigned) ~TYPE_FLAG_MASK) == 0);
g_return_if_fail (node != NULL);
if ((flags & TYPE_FLAG_MASK) && node->is_classed && node->data && node->data->class.class)
@ -3725,7 +3725,7 @@ _g_type_test_flags (GType type,
node = lookup_type_node_I (type);
if (node)
{
if ((flags & ~NODE_FLAG_MASK) == 0)
if ((flags & (unsigned) ~NODE_FLAG_MASK) == 0)
{
if ((flags & G_TYPE_FLAG_CLASSED) && !node->is_classed)
return FALSE;