目前,当我编译我的扩展时,我得到,
warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
57 | uint32 n = fctx->n;
PostgreSQL 当前-Wdeclaration-after-statement
在编译期间使用。他们专门在pgxs
我的机器上的全局make文件中设置了这个选项,
/usr/lib/postgresql/13/lib/pgxs/src/Makefile.global
它与他们的CFLAGS
,
CFLAGS = -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Werror=vla -Wendif-labels -Wmissing-format-attribute -Wimplicit-fallthrough=3 -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -Wno-format-truncation -Wno-stringop-truncation -g -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -fno-omit-frame-pointer
无论如何要禁用-Wdeclaration-after-statement
还是每个 PostgreSQL 扩展作者都必须采用相同的约定?我可以在我的扩展程序中覆盖 CFLAGS 吗?