postgres.git / summary / log / commit / refs
commit b46d9beb658af7eb4e2a08dfa34206a117c9654f
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: Sat Mar 19 14:59:20 2016 +0000
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.
src/bin/psql/psqlscan.h | 5 +++++
1 file changed, 5 insertions(+)
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;
[parent: 9a83564c58b7]