From b2b3899af7f0704940958874763acd3b0999dae8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20K=C4=99pie=C5=84?= Date: Thu, 18 May 2023 15:12:23 +0200 Subject: [PATCH] Fix cmocka-related compiler warnings in ht_test MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit tests/isc/ht_test.c triggers the following compiler warnings when built against development versions of cmocka: In file included from ht_test.c:24: ht_test.c: In function ‘test_ht_full’: ht_test.c:69:45: warning: passing argument 2 of ‘_assert_ptr_equal’ makes pointer from integer without a cast [-Wint-conversion] 69 | assert_ptr_equal((void *)i, (uintptr_t)f); /usr/include/cmocka.h:1513:56: note: in definition of macro ‘assert_ptr_equal’ 1513 | #define assert_ptr_equal(a, b) _assert_ptr_equal((a), (b), __FILE__, __LINE__) | ^ /usr/include/cmocka.h:2907:36: note: expected ‘const void *’ but argument is of type ‘long unsigned int’ 2907 | const void *b, | ~~~~~~~~~~~~^ ht_test.c:164:45: warning: passing argument 2 of ‘_assert_ptr_equal’ makes pointer from integer without a cast [-Wint-conversion] 164 | assert_ptr_equal((void *)i, (uintptr_t)f); /usr/include/cmocka.h:1513:56: note: in definition of macro ‘assert_ptr_equal’ 1513 | #define assert_ptr_equal(a, b) _assert_ptr_equal((a), (b), __FILE__, __LINE__) | ^ /usr/include/cmocka.h:2907:36: note: expected ‘const void *’ but argument is of type ‘long unsigned int’ 2907 | const void *b, | ~~~~~~~~~~~~^ These are caused by a change to the definitions of pointer assert functions in cmocka's development branch [1]. Fix by casting the affected variables to (void *) instead of (uintptr_t). [1] https://git.cryptomilk.org/projects/cmocka.git/commit/?id=09621179af67535788a67957a910d9f17c975b45 (cherry picked from commit 8d36e68c7ae69ceab1d62ce70e95ecc930d746c4) --- tests/isc/ht_test.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/isc/ht_test.c b/tests/isc/ht_test.c index e656f03c84..89e18f37b5 100644 --- a/tests/isc/ht_test.c +++ b/tests/isc/ht_test.c @@ -66,7 +66,7 @@ test_ht_full(int bits, uintptr_t count) { strlcat((char *)key, " key of a raw hashtable!!", sizeof(key)); result = isc_ht_find(ht, key, 16, &f); assert_int_equal(result, ISC_R_SUCCESS); - assert_ptr_equal((void *)i, (uintptr_t)f); + assert_ptr_equal((void *)i, (void *)f); } for (i = 1; i < count; i++) { @@ -161,7 +161,7 @@ test_ht_full(int bits, uintptr_t count) { strlcat((char *)key, " KEY of a raw hashtable!!", sizeof(key)); result = isc_ht_find(ht, key, 16, &f); assert_int_equal(result, ISC_R_SUCCESS); - assert_ptr_equal((void *)i, (uintptr_t)f); + assert_ptr_equal((void *)i, (void *)f); } for (i = 1; i < count; i++) {