Re: ilist.h fails cpluspluscheck - Mailing list pgsql-hackers

From Tom Lane
Subject Re: ilist.h fails cpluspluscheck
Date
Msg-id 28960.1353996867@sss.pgh.pa.us
Whole thread Raw
In response to ilist.h fails cpluspluscheck  (Peter Eisentraut <peter_e@gmx.net>)
Responses Re: ilist.h fails cpluspluscheck  (Andres Freund <andres@2ndquadrant.com>)
List 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



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Re: Problem Observed in behavior of Create Index Concurrently and Hot Update
Next
From: Heikki Linnakangas
Date:
Subject: Re: Plugging fd leaks (was Re: Switching timeline over streaming replication)