diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog
index 747e45adc72ee538154d042786ef4638af1649ba..312cb9899efdc1ba7c4dc28bcb97183bcf8784ce 100644
--- a/libcpp/ChangeLog
+++ b/libcpp/ChangeLog
@@ -1,3 +1,9 @@
+2005-11-14  Gerald Pfeifer  <gerald@pfeifer.com>
+            Ian Lance Taylor  <ian@airs.com>
+
+	* include/cpplib.h (struct cpp_callbacks): Annotate error with
+	ATTRIBUTE_FPTR_PRINTF(3,0) instead of ATTRIBUTE_PRINTF(3,0).
+
 2005-11-09  Per Bothner  <per@bothner.com>
 	    Uros Bizjak  <uros@kss-loka.si>
 	
diff --git a/libcpp/include/cpplib.h b/libcpp/include/cpplib.h
index adae96b35605b7acc4d2322a31d1b345d7da5fa8..9ec022f6dfc61e73703c9efb02c4f83da94c3d8e 100644
--- a/libcpp/include/cpplib.h
+++ b/libcpp/include/cpplib.h
@@ -474,7 +474,7 @@ struct cpp_callbacks
   /* 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.  */