Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 352a24a

Browse files
committed
Generate fmgr prototypes automatically
Gen_fmgrtab.pl creates a new file fmgrprotos.h, which contains prototypes for all functions registered in pg_proc.h. This avoids having to manually maintain these prototypes across a random variety of header files. It also automatically enforces a correct function signature, and since there are warnings about missing prototypes, it will detect functions that are defined but not registered in pg_proc.h (or otherwise used). Reviewed-by: Pavel Stehule <[email protected]>
1 parent 323b96a commit 352a24a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

98 files changed

+125
-2899
lines changed

contrib/btree_gist/btree_bit.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
#include "btree_gist.h"
77
#include "btree_utils_var.h"
8+
#include "utils/builtins.h"
89
#include "utils/bytea.h"
910
#include "utils/varbit.h"
1011

contrib/btree_gist/btree_bytea.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
#include "btree_gist.h"
77
#include "btree_utils_var.h"
8+
#include "utils/builtins.h"
89
#include "utils/bytea.h"
910

1011

contrib/btree_gist/btree_date.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
#include "btree_gist.h"
77
#include "btree_utils_num.h"
8+
#include "utils/builtins.h"
89
#include "utils/date.h"
910

1011
typedef struct

contrib/btree_gist/btree_interval.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
#include "btree_gist.h"
77
#include "btree_utils_num.h"
8+
#include "utils/builtins.h"
89
#include "utils/timestamp.h"
910

1011
typedef struct

contrib/btree_gist/btree_time.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
#include "btree_gist.h"
77
#include "btree_utils_num.h"
8+
#include "utils/builtins.h"
89
#include "utils/date.h"
910
#include "utils/timestamp.h"
1011

contrib/intarray/_int_selfuncs.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
#include "catalog/pg_operator.h"
2020
#include "catalog/pg_statistic.h"
2121
#include "catalog/pg_type.h"
22+
#include "utils/builtins.h"
2223
#include "utils/selfuncs.h"
2324
#include "utils/syscache.h"
2425
#include "utils/lsyscache.h"

contrib/lo/lo.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
#include "commands/trigger.h"
1111
#include "executor/spi.h"
12-
#include "libpq/be-fsstubs.h"
12+
#include "utils/builtins.h"
1313
#include "utils/rel.h"
1414

1515
PG_MODULE_MAGIC;

contrib/spi/moddatetime.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ OH, me, I'm Terry Mackintosh <[email protected]>
1919
#include "catalog/pg_type.h"
2020
#include "executor/spi.h"
2121
#include "commands/trigger.h"
22+
#include "utils/builtins.h"
2223
#include "utils/rel.h"
23-
#include "utils/timestamp.h"
2424

2525
PG_MODULE_MAGIC;
2626

src/backend/Makefile

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -139,8 +139,8 @@ storage/lmgr/lwlocknames.h: storage/lmgr/generate-lwlocknames.pl storage/lmgr/lw
139139
utils/errcodes.h: utils/generate-errcodes.pl utils/errcodes.txt
140140
$(MAKE) -C utils errcodes.h
141141

142-
utils/fmgroids.h: utils/Gen_fmgrtab.pl catalog/Catalog.pm $(top_srcdir)/src/include/catalog/pg_proc.h
143-
$(MAKE) -C utils fmgroids.h
142+
utils/fmgroids.h utils/fmgrprotos.h: utils/Gen_fmgrtab.pl catalog/Catalog.pm $(top_srcdir)/src/include/catalog/pg_proc.h
143+
$(MAKE) -C utils $(notdir $@)
144144

145145
utils/probes.h: utils/probes.d
146146
$(MAKE) -C utils probes.h
@@ -166,7 +166,7 @@ submake-schemapg:
166166

167167
.PHONY: generated-headers
168168

169-
generated-headers: $(top_builddir)/src/include/parser/gram.h $(top_builddir)/src/include/catalog/schemapg.h $(top_builddir)/src/include/storage/lwlocknames.h $(top_builddir)/src/include/utils/errcodes.h $(top_builddir)/src/include/utils/fmgroids.h $(top_builddir)/src/include/utils/probes.h
169+
generated-headers: $(top_builddir)/src/include/parser/gram.h $(top_builddir)/src/include/catalog/schemapg.h $(top_builddir)/src/include/storage/lwlocknames.h $(top_builddir)/src/include/utils/errcodes.h $(top_builddir)/src/include/utils/fmgroids.h $(top_builddir)/src/include/utils/fmgrprotos.h $(top_builddir)/src/include/utils/probes.h
170170

171171
$(top_builddir)/src/include/parser/gram.h: parser/gram.h
172172
prereqdir=`cd '$(dir $<)' >/dev/null && pwd` && \
@@ -193,6 +193,11 @@ $(top_builddir)/src/include/utils/fmgroids.h: utils/fmgroids.h
193193
cd '$(dir $@)' && rm -f $(notdir $@) && \
194194
$(LN_S) "$$prereqdir/$(notdir $<)" .
195195

196+
$(top_builddir)/src/include/utils/fmgrprotos.h: utils/fmgrprotos.h
197+
prereqdir=`cd '$(dir $<)' >/dev/null && pwd` && \
198+
cd '$(dir $@)' && rm -f $(notdir $@) && \
199+
$(LN_S) "$$prereqdir/$(notdir $<)" .
200+
196201
$(top_builddir)/src/include/utils/probes.h: utils/probes.h
197202
cd '$(dir $@)' && rm -f $(notdir $@) && \
198203
$(LN_S) "../../../$(subdir)/utils/probes.h" .
@@ -211,7 +216,7 @@ distprep:
211216
$(MAKE) -C catalog schemapg.h postgres.bki postgres.description postgres.shdescription
212217
$(MAKE) -C replication repl_gram.c repl_scanner.c syncrep_gram.c syncrep_scanner.c
213218
$(MAKE) -C storage/lmgr lwlocknames.h
214-
$(MAKE) -C utils fmgrtab.c fmgroids.h errcodes.h
219+
$(MAKE) -C utils fmgrtab.c fmgroids.h fmgrprotos.h errcodes.h
215220
$(MAKE) -C utils/misc guc-file.c
216221
$(MAKE) -C utils/sort qsort_tuple.c
217222

@@ -303,6 +308,7 @@ clean:
303308
$(top_builddir)/src/include/catalog/schemapg.h \
304309
$(top_builddir)/src/include/storage/lwlocknames.h \
305310
$(top_builddir)/src/include/utils/fmgroids.h \
311+
$(top_builddir)/src/include/utils/fmgrprotos.h \
306312
$(top_builddir)/src/include/utils/probes.h
307313
ifeq ($(PORTNAME), cygwin)
308314
rm -f postgres.dll libpostgres.a
@@ -331,6 +337,7 @@ maintainer-clean: distclean
331337
storage/lmgr/lwlocknames.c \
332338
storage/lmgr/lwlocknames.h \
333339
utils/fmgroids.h \
340+
utils/fmgrprotos.h \
334341
utils/fmgrtab.c \
335342
utils/errcodes.h \
336343
utils/misc/guc-file.c \

src/backend/access/brin/brin.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
#include "pgstat.h"
2929
#include "storage/bufmgr.h"
3030
#include "storage/freespace.h"
31+
#include "utils/builtins.h"
3132
#include "utils/index_selfuncs.h"
3233
#include "utils/memutils.h"
3334
#include "utils/rel.h"

0 commit comments

Comments
 (0)