diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 6744f7320bfa7add54322f2248c1b62aca62df92..703695c0901cb7e9cdf5e28eb3be47e2005d268f 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,7 @@
+Thu Aug 21 22:25:46 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+	* lex.c (real_yylex): Don't use getc directly.
+
 Wed Aug 20 17:25:08 1997  Jason Merrill  <jason@yorick.cygnus.com>
 
 	* call.c (is_subseq): Don't try to be clever.
diff --git a/gcc/cp/lex.c b/gcc/cp/lex.c
index b2b0c504d284cfe8c8149cb8d46ad24542a69f7a..23c448c69bb4b0bdb2fb0cad796507d3a67dc2e7 100644
--- a/gcc/cp/lex.c
+++ b/gcc/cp/lex.c
@@ -3141,7 +3141,7 @@ real_yylex ()
 		  p = extend_token_buffer (p);
 
 		*p++ = c;
-		c = getc (finput);
+		c = getch ();
 	      }
 
 	    if (linemode && c == '\n')
@@ -3652,7 +3652,7 @@ real_yylex ()
 		      p = extend_token_buffer (p);
 		    *p++ = c;
 		    *p = 0;
-		    c = getc (finput);
+		    c = getch ();
 		  }
 
 		/* The second argument, machine_mode, of REAL_VALUE_ATOF
@@ -3760,7 +3760,7 @@ real_yylex ()
 		if (p >= token_buffer + maxtoken - 3)
 		  p = extend_token_buffer (p);
 		*p++ = c;
-		c = getc (finput);
+		c = getch ();
 	      }
 
 	    /* If the constant is not long long and it won't fit in an