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.
This commit is contained in:
Tom Lane 2016-03-19 10:59:20 -04:00
parent 9a83564c58
commit b46d9beb65

View File

@ -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;