From 513ff52e81675f26ceb91e8301019546439d73c9 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Mon, 7 May 2018 13:44:09 -0400 Subject: [PATCH] Suppress compiler warnings when building with --enable-dtrace. Most versions of "dtrace -h" drop const qualifiers from the declarations of probe functions (though macOS gets it right). This causes compiler warnings when we pass in pointers to const. Repair by extending our existing post-processing of the probes.h file. To do so, assume that all "char *" arguments should be "const char *"; that seems reasonably safe. Thomas Munro Discussion: https://postgr.es/m/CAEepm=2j1pWSruQJqJ91ZDzD8w9ZZDsM4j2C6x75C-VryWg-_w@mail.gmail.com --- src/backend/utils/Makefile | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/backend/utils/Makefile b/src/backend/utils/Makefile index 966e3bc2ed..e797539d09 100644 --- a/src/backend/utils/Makefile +++ b/src/backend/utils/Makefile @@ -49,10 +49,15 @@ ifneq ($(enable_dtrace), yes) probes.h: Gen_dummy_probes.sed endif +# We editorialize on dtrace's output to the extent of changing the macro +# names (from POSTGRESQL_foo to TRACE_POSTGRESQL_foo) and changing any +# "char *" arguments to "const char *". probes.h: probes.d ifeq ($(enable_dtrace), yes) $(DTRACE) -C -h -s $< -o $@.tmp - sed -e 's/POSTGRESQL_/TRACE_POSTGRESQL_/g' $@.tmp >$@ + sed -e 's/POSTGRESQL_/TRACE_POSTGRESQL_/g' \ + -e 's/( *char \*/(const char */g' \ + -e 's/, *char \*/, const char */g' $@.tmp >$@ rm $@.tmp else sed -f $(srcdir)/Gen_dummy_probes.sed $< >$@