diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog
index bb1111107868adb1b86741b64f2be05214ed770e..e2cbeb4741ee2bb2975bd52dbe3bc6b6f5ac8886 100644
--- a/libiberty/ChangeLog
+++ b/libiberty/ChangeLog
@@ -1,3 +1,8 @@
+2005-07-12  Ben Elliston  <bje@au.ibm.com>
+
+	* floatformat.c (floatformat_to_double): Add a comment about a
+	potential source of warnings when compiling this file.
+
 2005-07-12  Ben Elliston  <bje@au.ibm.com>
 
 	* pexecute.c (pexecute): Cast string litrals to char *.
diff --git a/libiberty/floatformat.c b/libiberty/floatformat.c
index 41000f459e4833330d6ddc74a9a76abf0298cf3c..e466f53a7abb99f44d956f2d0e7cfaff8a1dbfad 100644
--- a/libiberty/floatformat.c
+++ b/libiberty/floatformat.c
@@ -306,6 +306,13 @@ floatformat_to_double (const struct floatformat *fmt,
 	  mant_bits_left -= mant_bits;
 	}
 
+      /* On certain systems (such as GNU/Linux), the use of the
+	 INFINITY macro below may generate a warning that can not be
+	 silenced due to a bug in GCC (PR preprocessor/11931).  The
+	 preprocessor fails to recognise the __extension__ keyword in
+	 conjunction with the GNU/C99 extension for hexadecimal
+	 floating point constants and will issue a warning when
+	 compiling with -pedantic.  */
       if (nan)
 	dto = NAN;
       else