summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane2016-03-19 14:59:20 +0000
committerTom Lane2016-03-19 14:59:20 +0000
commitb46d9beb658af7eb4e2a08dfa34206a117c9654f (patch)
tree572c9a905d7c873b38af2affe4beda8a57f57c42
parent9a83564c58b7f6363141a8f1d0c87c89a5ebab5d (diff)
With ancient gcc, skip pg_attribute_printf() on function pointer.
Buildfarm results show that the ability to attach pg_attribute_printf decoration to a function pointer appeared somewhere between gcc 2.95.3 and gcc 4.0.1. Guess that it was there in 4.0.
-rw-r--r--src/bin/psql/psqlscan.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/bin/psql/psqlscan.h b/src/bin/psql/psqlscan.h
index d515ce34f23..4ff321866fc 100644
--- a/src/bin/psql/psqlscan.h
+++ b/src/bin/psql/psqlscan.h
@@ -32,7 +32,12 @@ typedef struct PsqlScanCallbacks
/* This pointer can be NULL if no variable substitution is wanted */
char *(*get_variable) (const char *varname, bool escape, bool as_ident);
/* Print an error message someplace appropriate */
+ /* (very old gcc versions don't support attributes on function pointers) */
+#if defined(__GNUC__) && __GNUC__ < 4
+ void (*write_error) (const char *fmt,...);
+#else
void (*write_error) (const char *fmt,...) pg_attribute_printf(1, 2);
+#endif
} PsqlScanCallbacks;