cpplib.c (_cpp_pop_buffer): Do generate a _cpp_do_file_change callback even when...
authorPer Bothner <pbothner@apple.com>
Thu, 2 Oct 2003 07:30:34 +0000 (07:30 +0000)
committerPer Bothner <bothner@gcc.gnu.org>
Thu, 2 Oct 2003 07:30:34 +0000 (00:30 -0700)
* cpplib.c (_cpp_pop_buffer):  Do generate a _cpp_do_file_change
callback even when popping the main file.

* cpplib.c (cpp_push_buffer):  Since we no longer set return_at_eof,
remove the unused return_at_eof parameter.
* cppfiles.c, cpplib.c, cppmacro.c, cpppch.c, fix-header.c:
Update callers of cpp_push_buffer.

From-SVN: r72016

gcc/ChangeLog
gcc/cpplib.c
gcc/cppmacro.c
gcc/cpppch.c

index d31591a..a65f896 100644 (file)
@@ -5,6 +5,8 @@
        (get_non_padding_token):  We no longer need to compensate for the
        "horrible things" the C++ front-end does with the current line number,
 
+       * cpplib.c (_cpp_pop_buffer):  Do generate a _cpp_do_file_change
+       callback even when popping the main file.
        * c-lex.c (fe_file_change):  Handle a NULL new_map.
        * fix-header.c (cb_file_change):  Likewise.
        * c-ppoutput.c (pp_file_change):  Likewise.
 
        * cpplex.c (_cpp_get_fresh_line):  Return value now just depends on
        whether pfile->buffer is NULL after pop, ignoring return_at_eof.
+       * cpphash.h (struct cpp_buffer):  Remove unused return_at_eof field.
+       * cpplib.c (cpp_push_buffer):  Since we no longer set return_at_eof,
+       remove the unused return_at_eof parameter.
+       * cppfiles.c, cpplib.c, cppmacro.c, cpppch.c, fix-header.c:
+       Update callers of cpp_push_buffer.
 
 2003-10-01  Zack Weinberg  <zack@codesourcery.com>
 
index 5a92755..7fba1f3 100644 (file)
@@ -438,7 +438,7 @@ static void
 run_directive (cpp_reader *pfile, int dir_no, const char *buf, size_t count)
 {
   cpp_push_buffer (pfile, (const uchar *) buf, count,
-                  /* from_stage3 */ true, 1);
+                  /* from_stage3 */ true);
   /* Disgusting hack.  */
   if (dir_no == T_PRAGMA)
     pfile->buffer->file = pfile->buffer->prev->file;
@@ -1911,7 +1911,7 @@ cpp_set_callbacks (cpp_reader *pfile, cpp_callbacks *cb)
    is the responsibility of the caller.  */
 cpp_buffer *
 cpp_push_buffer (cpp_reader *pfile, const uchar *buffer, size_t len,
-                int from_stage3, int return_at_eof)
+                int from_stage3)
 {
   cpp_buffer *new = xobnew (&pfile->buffer_ob, cpp_buffer);
 
@@ -1922,7 +1922,6 @@ cpp_push_buffer (cpp_reader *pfile, const uchar *buffer, size_t len,
   new->rlimit = buffer + len;
   new->from_stage3 = from_stage3;
   new->prev = pfile->buffer;
-  new->return_at_eof = return_at_eof;
   new->need_line = true;
 
   pfile->buffer = new;
@@ -1960,9 +1959,7 @@ _cpp_pop_buffer (cpp_reader *pfile)
     {
       _cpp_pop_file_buffer (pfile, inc);
 
-      /* Don't generate a callback for popping the main file.  */
-      if (pfile->buffer)
-       _cpp_do_file_change (pfile, LC_LEAVE, 0, 0, 0);
+      _cpp_do_file_change (pfile, LC_LEAVE, 0, 0, 0);
     }
 }
 
index 045d4e3..43f688a 100644 (file)
@@ -270,7 +270,7 @@ builtin_macro (cpp_reader *pfile, cpp_hashnode *node)
   memcpy (nbuf, buf, len);
   nbuf[len]='\n';
 
-  cpp_push_buffer (pfile, (uchar *) nbuf, len, /* from_stage3 */ true, 1);
+  cpp_push_buffer (pfile, (uchar *) nbuf, len, /* from_stage3 */ true);
   _cpp_clean_line (pfile);
 
   /* Set pfile->cur_token as required by _cpp_lex_direct.  */
@@ -426,7 +426,7 @@ paste_tokens (cpp_reader *pfile, const cpp_token **plhs, const cpp_token *rhs)
   end = cpp_spell_token (pfile, rhs, end);
   *end = '\n';
 
-  cpp_push_buffer (pfile, buf, end - buf, /* from_stage3 */ true, 1);
+  cpp_push_buffer (pfile, buf, end - buf, /* from_stage3 */ true);
   _cpp_clean_line (pfile);
 
   /* Set pfile->cur_token as required by _cpp_lex_direct.  */
@@ -1136,10 +1136,6 @@ cpp_sys_macro_p (cpp_reader *pfile)
 void
 cpp_scan_nooutput (cpp_reader *pfile)
 {
-  /* Request a CPP_EOF token at the end of this file, rather than
-     transparently continuing with the including file.  */
-  pfile->buffer->return_at_eof = true;
-
   if (CPP_OPTION (pfile, traditional))
     while (_cpp_read_logical_line_trad (pfile))
       ;
index e1dc1d7..71c7aae 100644 (file)
@@ -686,8 +686,8 @@ cpp_read_state (cpp_reader *r, const char *name, FILE *f,
       else if (m.name_length != m.definition_length)
        {
          if (cpp_push_buffer (r, defn + m.name_length, 
-                              m.definition_length - m.name_length, 
-                              true, 1) != NULL)
+                              m.definition_length - m.name_length, true)
+             != NULL)
            {
              _cpp_clean_line (r);
              if (!_cpp_create_definition (r, h))