On Thu, Apr 18, 2024 at 6:09 PM Japin Li <[email protected]> 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 'long long 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.