From b6e0f0b0d70c365fff695b2819d7effa54aaa7a6 Mon Sep 17 00:00:00 2001 From: "Kaveh R. Ghazi" Date: Mon, 30 May 2005 00:04:09 +0000 Subject: [PATCH] * ansidecl.h: Add ATTRIBUTE_FPTR_PRINTF. From-SVN: r100334 --- include/ChangeLog | 4 ++++ include/ansidecl.h | 16 ++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/include/ChangeLog b/include/ChangeLog index 0eb2b090d15..bac0eb3d224 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,7 @@ +2005-05-29 Kaveh R. Ghazi + + * ansidecl.h: Add ATTRIBUTE_FPTR_PRINTF. + 2005-05-28 Eli Zaretskii * libiberty.h: (snprintf) [!HAVE_DECL_SNPRINTF]: Declare if diff --git a/include/ansidecl.h b/include/ansidecl.h index 380e7b35114..439431182dc 100644 --- a/include/ansidecl.h +++ b/include/ansidecl.h @@ -312,6 +312,22 @@ So instead we use the macro below and test it against specific values. */ #define ATTRIBUTE_PRINTF_5 ATTRIBUTE_PRINTF(5, 6) #endif /* ATTRIBUTE_PRINTF */ +/* Use ATTRIBUTE_FPTR_PRINTF when the format attribute is to be set on + a function pointer. Format attributes were allowed on function + pointers as of gcc 3.1. */ +#ifndef ATTRIBUTE_FPTR_PRINTF +# if (GCC_VERSION >= 3001) +# define ATTRIBUTE_FPTR_PRINTF(m, n) ATTRIBUTE_PRINTF(m, n) +# else +# define ATTRIBUTE_FPTR_PRINTF(m, n) +# endif /* GNUC >= 3.1 */ +# define ATTRIBUTE_FPTR_PRINTF_1 ATTRIBUTE_FPTR_PRINTF(1, 2) +# define ATTRIBUTE_FPTR_PRINTF_2 ATTRIBUTE_FPTR_PRINTF(2, 3) +# define ATTRIBUTE_FPTR_PRINTF_3 ATTRIBUTE_FPTR_PRINTF(3, 4) +# define ATTRIBUTE_FPTR_PRINTF_4 ATTRIBUTE_FPTR_PRINTF(4, 5) +# define ATTRIBUTE_FPTR_PRINTF_5 ATTRIBUTE_FPTR_PRINTF(5, 6) +#endif /* ATTRIBUTE_FPTR_PRINTF */ + /* Use ATTRIBUTE_NULL_PRINTF when the format specifier may be NULL. A NULL format specifier was allowed as of gcc 3.3. */ #ifndef ATTRIBUTE_NULL_PRINTF