On Tue, Jan 19, 2021 at 9:53 AM Michael Paquier <mich...@paquier.xyz> wrote: > > Hi all, > > The following functions in ilist.h and bufpage.h use some arguments > only in assertions: > - dlist_next_node > - dlist_prev_node > - slist_has_next > - slist_next_node > - PageValidateSpecialPointer > > Without PG_USED_FOR_ASSERTS_ONLY, this can lead to compilation > warnings when not using assertions, and one example of that is > plpgsql_check.
For the record, that's due to that extra flags in the Makefile: override CFLAGS += -I$(top_builddir)/src/pl/plpgsql/src -Wall I think that we're still far from being able to get a clean output using -Wall on postgres itself, so I don't know how much we can promise to external code, but fixing those may be a good step. > We don't have examples on HEAD where > PG_USED_FOR_ASSERTS_ONLY is used on arguments, but that looks to work > properly with gcc. Yeah I don't see any explicit mention on that on gcc manual. For the record it also work as expected using clang, and the attached patch remove all warnings when compiling plpgsql_check.