This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Small change to libcpp
- From: Kean Johnston <jkj at sco dot com>
- To: gcc-patches at gcc dot gnu dot org
- Cc: jsm at polyomino dot org dot uk, mark at codesourcery dot com
- Date: Tue, 15 Nov 2005 16:19:18 -0800
- Subject: Small change to libcpp
- Reply-to: jkj at sco dot com
All,
I meant to send this to the list but replied only to Gerald
Pfeifer by mistake. Attached is a patch to the 4.0 branch
that fixes the bootstrapping with gcc < 3.1 issue. This is
the same patch that was made to HEAD but ansidecl.h needs
patching too.
Kean
Index: libcpp/include/cpplib.h
===================================================================
--- libcpp/include/cpplib.h (revision 107030)
+++ libcpp/include/cpplib.h (working copy)
@@ -454,7 +454,7 @@
/* Called to emit a diagnostic if client_diagnostic option is true.
This callback receives the translated message. */
void (*error) (cpp_reader *, int, const char *, va_list *)
- ATTRIBUTE_PRINTF(3,0);
+ ATTRIBUTE_FPTR_PRINTF(3,0);
};
/* Chain of directories to look for include files in. */
Index: include/ansidecl.h
===================================================================
--- include/ansidecl.h (revision 107029)
+++ include/ansidecl.h (working copy)
@@ -312,6 +312,22 @@
#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