On Thu, Apr 18, 2024 at 6:09 PM Japin Li <japinli@hotmail.com> wrote:
> /home/japin/postgres/build/../src/common/config_info.c:198:11: error: comparison of integer expressions of different
signedness:'int' and 'size_t' {aka 'long unsigned int'} [-Werror=sign-compare]
> 198 | Assert(i == *configdata_len);
Right, PostgreSQL doesn't compile cleanly with the "sign-compare"
warning. There have been a few threads about that, and someone might
want to think harder about it, but it's a different topic unrelated to
<stdint.h>.
> /home/japin/postgres/build/../src/include/lib/simplehash.h:1138:9: error: format '%llu' expects argument of type
'longlong unsigned int', but argument 4 has type 'uint64' {aka 'long unsigned int'} [-Werror=format=]
It seems my v1 patch's configure probe for INT64_FORMAT was broken.
In the v2 patch I tried not doing that probe at all, and instead
inviting <inttypes.h> into our world (that's the standardised way to
produce format strings, which has the slight complication that we are
intercepting printf calls...). I suspect that'll work better for you.