Re: ilist.h fails cpluspluscheck
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Peter Eisentraut <peter_e@gmx.net>
Cc: pgsql-hackers@postgresql.org
Date: 2012-11-27T06:14:27Z
Lists: pgsql-hackers
Peter Eisentraut <peter_e@gmx.net> writes: > In file included from ./src/include/utils/catcache.h:25:0, > from /tmp/cpluspluscheck.bt8VZr/test.cpp:3: > src/include/lib/ilist.h: In function dlist_node* dlist_head_node(dlist_head*): > src/include/lib/ilist.h:470:39: error: invalid conversion from void* to dlist_node* [-fpermissive] > Maybe some ifndef __cplusplus would help. Or maybe we need to recommend use of -fpermissive? If C++ thinks casting void * to something else is illegitimate, it's basically not going to cope with most things we might try to inline in Postgres. And I don't think that saying "you don't get to call these fundamental support functions from C++" is likely to fly, so just hiding the functions won't help much. regards, tom lane