Hi hackers,
While working on an extension, I found that simplehash.h is missing explicit casts in four places. Without these casts, compiling code including simplehash.h yields warnings if the code is compiled with -Wc++-compat.
PostgreSQL seems to mostly prefer omitting the explicit casts, however there are many places where an explicit cast is actually used. Among many others, see e.g.
bool.c:
state = (BoolAggState *) MemoryContextAlloc(agg_context, sizeof(BoolAggState));
domains.c:
my_extra = (DomainIOData *) MemoryContextAlloc(mcxt, sizeof(DomainIOData));
What about, while not being strictly necessary for PostgreSQL itself, also adding such casts to simplehash.h so that it can be used in code where -Wc++-compat is enabled?
Attached is a small patch that adds the aforementioned casts.
Thanks for your consideration! --
David Geier
(ServiceNow)