diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index f430d58ad3d9f36e6e964b19b4e83011e22eac45..ab55f8fa7a1fa95a80a6475e04cbc8579e84aeb8 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,7 @@
+Sat Oct 30 22:42:50 1999  Stephen L Moshier <moshier@mediaone.net>
+
+	* lex.c (yylex): Accept 'f' in mantissa of hex float constant.
+
 1999-10-30  Mark Mitchell  <mark@codesourcery.com>
 
 	* decl.c (pop_cp_function_context): Don't call free on a NULL
diff --git a/gcc/cp/lex.c b/gcc/cp/lex.c
index b4d973ab6066548fe9634a0ca05312b73ca4b250..a672bd0b249f43d616478d29373cf9021a2895f8 100644
--- a/gcc/cp/lex.c
+++ b/gcc/cp/lex.c
@@ -3850,7 +3850,9 @@ real_yylex ()
 	       || (ISALNUM (c) && c != 'l' && c != 'L'
 		   && c != 'u' && c != 'U'
 		   && c != 'i' && c != 'I' && c != 'j' && c != 'J'
-		   && (floatflag == NOT_FLOAT || ((c != 'f') && (c != 'F')))))
+		   && (floatflag == NOT_FLOAT
+		       || ((base != 16) && (c != 'f') && (c != 'F'))
+		       || base == 16)))   
 	  {
 	    if (c == '.')
 	      {