diff --git a/glib/tests/utils.c b/glib/tests/utils.c index da97a92e2..6068cd9be 100644 --- a/glib/tests/utils.c +++ b/glib/tests/utils.c @@ -312,10 +312,18 @@ test_basic_bits (void) { guint naive_bit_storage_i = naive_bit_storage (i); + /* Test the g_bit_*() implementations against the compiler builtins (if + * available), and against a slow-but-correct ‘naive’ implementation. + * They should all agree. + * + * The macro and function versions of the g_bit_*() functions are tested, + * hence one call with the function name in brackets (to avoid it being + * expanded as a macro). */ #if TEST_BUILTINS g_assert_cmpint (naive_bit_storage_i, ==, builtin_bit_storage (i)); #endif g_assert_cmpint (naive_bit_storage_i, ==, g_bit_storage (i)); + g_assert_cmpint (naive_bit_storage_i, ==, (g_bit_storage) (i)); for (nth_bit = -3; nth_bit <= 2 + GLIB_SIZEOF_LONG * 8; nth_bit++) { @@ -330,6 +338,8 @@ test_basic_bits (void) #endif g_assert_cmpint (naive_bit_nth_lsf_i_nth_bit, ==, g_bit_nth_lsf (i, nth_bit)); + g_assert_cmpint (naive_bit_nth_lsf_i_nth_bit, ==, + (g_bit_nth_lsf) (i, nth_bit)); #if TEST_BUILTINS g_assert_cmpint (naive_bit_nth_msf_i_nth_bit, ==, @@ -337,6 +347,8 @@ test_basic_bits (void) #endif g_assert_cmpint (naive_bit_nth_msf_i_nth_bit, ==, g_bit_nth_msf (i, nth_bit)); + g_assert_cmpint (naive_bit_nth_msf_i_nth_bit, ==, + (g_bit_nth_msf) (i, nth_bit)); } } }