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]