Re: tableam.h fails cpluspluscheck

Поиск
Список
Период
Сортировка
От Andres Freund
Тема Re: tableam.h fails cpluspluscheck
Дата
Msg-id 20190530204705.3xnmpuxd23tovbyb@alap3.anarazel.de
обсуждение исходный текст
Ответ на tableam.h fails cpluspluscheck  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: tableam.h fails cpluspluscheck  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
Hi,

On 2019-05-30 14:01:00 -0400, Tom Lane wrote:
> Using Apple's clang as c++ compiler:
> 
> In file included from /tmp/cpluspluscheck.KejiIw/test.cpp:3:
> ./src/include/access/tableam.h:144:16: error: typedef redefinition with different types ('void (*)(Relation,
HeapTuple,Datum *, bool *, bool, void *)' (aka 'void (*)(RelationData *, HeapTupleData *, unsigned long *, bool *,
bool,void *)') vs 'IndexBuildCallback')
 
> typedef void (*IndexBuildCallback) (Relation index,
>                ^
> ./src/include/access/tableam.h:36:8: note: previous definition is here
> struct IndexBuildCallback;
>        ^
> 
> (there are some cascading errors, but this is the important one)
> 
> Kinda looks like you can't get away with using "struct" on a forward
> declaration of something that is not actually a struct type.

Ugh. Odd that only C++ compilers complain. I just removed the typedef,
it's not needed anymore (it used to be neccessary before moving
IndexBuildCallback's definition to tableam.h - but was wrong then too,
just cpluspluscheck didn't notice).

Pushed the obvious fix.

Greetings,

Andres Freund



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Joe Conway
Дата:
Сообщение: Re: New committer: David Rowley
Следующее
От: Andres Freund
Дата:
Сообщение: Re: Ought to use heap_multi_insert() for pg_attribute/dependinsertions?