On Thu Oct 19 04:33:35 2017, stephen wrote: > FreeBSD 11 (i386) and also Ubuntu 12.04 (32 bit): > > After configuring BIND with --enable-developer (and --disable-atomic > to overcome the issue identified in #46324), "make" failed with: > > ht_test.c: In function 'test_ht_full': > ht_test.c:63:36: error: cast to pointer from integer of different size > [-Werror=int-to-pointer-cast] > result = isc_ht_add(ht, key, 16, (void *) i); > ^ > In file included from /home/stephen/bind9/unit/atf/include/atf- > c.h:34:0, > from ht_test.c:13: > ht_test.c:74:21: error: cast from pointer to integer of different size > [-Werror=pointer-to-int-cast] > ATF_REQUIRE_EQ(i, (isc_int64_t) f); > ^ > /home/stephen/bind9/unit/atf/include/atf-c/macros.h:136:15: note: in > definition of macro 'ATF_REQUIRE_MSG' > if (!(x)) \ > ^ > > ... and several other similar errors in the same file. > > True, --enable-developer promotes warnings to errors and the unit > tests can be built without this flag. However, the test appears to be > assuming a particular pointer size. The tests assume the test values can be converted to a pointer and back which they can be. A proper static analyser can determine this. Casting though uintptr_t should fix this.