On 2020-06-30 21:38, Tom Lane wrote:
In any case, I think the issue here is what is the escape hatch for saying
that "I know this cast is okay, don't warn about it, thanks".  Treating
"void (*) (void)" as special for that purpose is nothing more nor less
than a kluge, so another compiler might do it differently.  Given the
POSIX restriction, I think we could reasonably use "void *" instead.

I think gcc had to pick some escape hatch that is valid also outside of POSIX, so they just had to pick something. If we're disregarding support for these Harvard architecture type things, then we might as well use void * for easier notation.

Btw., one of the hunks in my patch was in PL/Python. I have found an equivalent change in the core Python code, which does make use of void (*) (void): https://github.com/python/cpython/commit/62be74290aca

--
Peter Eisentraut              http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services


Reply via email to