]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
lex.c: Call check_newline from lang_init always.
authorZack Weinberg <zack@rabi.phys.columbia.edu>
Thu, 29 Oct 1998 11:55:06 +0000 (11:55 +0000)
committerDave Brolley <brolley@gcc.gnu.org>
Thu, 29 Oct 1998 11:55:06 +0000 (06:55 -0500)
1998-10-28  Zack Weinberg  <zack@rabi.phys.columbia.edu>
* cp/lex.c: Call check_newline from lang_init always. After
calling cpp_start_read, set yy_cur and yy_lim to read from the
cpplib token buffer.

From-SVN: r23425

gcc/cp/ChangeLog
gcc/cp/lex.c

index 64fa422843560b9d5bbe5fecc3e798196066a9df..fd5706bef643951c65b2d6dd656555220f78dbd9 100644 (file)
@@ -8,6 +8,12 @@
        * Makefile.in (cc1plus): Put CXX_OBJS, and thence @extra_cxx_objs@,
        last.
 
+1998-10-28  Zack Weinberg  <zack@rabi.phys.columbia.edu>
+       
+       * cp/lex.c: Call check_newline from lang_init always.   After
+       calling cpp_start_read, set yy_cur and yy_lim to read from the
+       cpplib token buffer.
+
 1998-10-28  Jason Merrill  <jason@yorick.cygnus.com>
 
        * class.c (instantiate_type): Don't consider templates for a normal
index 30c70489abc56a88f3cb4837988fcb8b81a2c97c..5901c8a89fee0b0be1dfe7d8970583e31846e20e 100644 (file)
@@ -395,11 +395,14 @@ lang_init_options ()
 void
 lang_init ()
 {
-#if ! USE_CPPLIB
   /* the beginning of the file is a new line; check for # */
   /* With luck, we discover the real source file's name from that
      and put it in input_filename.  */
+#if ! USE_CPPLIB
   put_back (check_newline ());
+#else
+  check_newline ();
+  yy_cur--;
 #endif
   if (flag_gnu_xref) GNU_xref_begin (input_filename);
   init_repo (input_filename);
@@ -475,12 +478,15 @@ init_parse (filename)
 #endif
 
 #if USE_CPPLIB
-  yy_cur = "\n";
-  yy_lim = yy_cur + 1;
-
   parse_in.show_column = 1;
   if (! cpp_start_read (&parse_in, filename))
     abort ();
+
+  /* cpp_start_read always puts at least one line directive into the
+     token buffer.  We must arrange to read it out here. */
+  yy_cur = parse_in.token_buffer;
+  yy_lim = CPP_PWRITTEN (&parse_in);
+
 #else
   /* Open input file.  */
   if (filename == 0 || !strcmp (filename, "-"))