On Fri, Oct 14, 2016 at 10:14 AM, Albe Laurenz <laurenz.a...@wien.gv.at> wrote: > Tom Lane wrote: >>> Well, the buildfarm doesn't like that even a little bit. It seems that >>> the MSVC compiler does not like seeing both "extern Datum foo(...)" and >>> "extern PGDLLEXPORT Datum foo(...)", so anything that had an extern in >>> a .h file is failing. There is also quite a bit of phase-of-the-moon >>> behavior in here, because in some cases some functions are raising errors >>> and others that look entirely the same are not. >> >> I take back the latter comment --- I was comparing HEAD source code >> against errors reported on back branches, and at least some of the >> discrepancies are explained by additions/removals of separate "extern" >> declarations. But still, if we want to do this we're going to need to >> put PGDLLEXPORT in every V1 function extern declaration. We might be >> able to remove some of the externs as unnecessary instead, but any way >> you slice it it's going to be messy. >> >> For the moment I've reverted the change. > > Sorry for having caused the inconvenience. > > Actually I would say that the correct solution is to remove the function > declarations from all the header files in contrib, since from commit e7128e8d > on the functions are declared by PG_FUNCTION_INFO_V1 anyway, right?
Right. Why isn't that already the case? Commit e7128e8d seems to have tried. Did it just miss a bunch of cases? -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-hackers mailing list (email@example.com) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers