tableam.h fails cpluspluscheck - Mailing list pgsql-hackers

From Tom Lane
Subject tableam.h fails cpluspluscheck
Date
Msg-id 53941.1559239260@sss.pgh.pa.us
Whole thread Raw
Responses Re: tableam.h fails cpluspluscheck  (Andres Freund <andres@anarazel.de>)
List pgsql-hackers
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.

            regards, tom lane



pgsql-hackers by date:

Previous
From: Alvaro Herrera
Date:
Subject: coverage additions
Next
From: Tom Lane
Date:
Subject: Re: coverage additions