* tradcpp.c (rescan): define obufp_before_macroname before RECACHE
authorneil <neil@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 21 Aug 2001 17:10:22 +0000 (17:10 +0000)
committerneil <neil@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 21 Aug 2001 17:10:22 +0000 (17:10 +0000)
(RECACHE): keep obufp_before_macroname up to date

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45082 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/tradcpp.c

index 95536d9..77de236 100644 (file)
@@ -1,3 +1,8 @@
+2001-08-21  Sam Steingold  <sds@gnu.org>
+
+       * tradcpp.c (rescan): define obufp_before_macroname before RECACHE
+       (RECACHE): keep obufp_before_macroname up to date
+
 2001-08-21  Zack Weinberg  <zackw@panix.com>
 
        * stmt.c: Don't include insn-codes.h.
index 46b7e99..7d5e110 100644 (file)
@@ -1220,6 +1220,9 @@ rescan (op, output_marks)
   /* Record position of last `real' newline.  */
   U_CHAR *beg_of_line;
 
+  /* This has to be a global bacause of RECACHE.  */
+  U_CHAR *obufp_before_macroname = NULL;
+
 /* Pop the innermost input stack level, assuming it is a macro expansion.  */
 
 #define POPMACRO \
@@ -1237,6 +1240,7 @@ do { ip = &instack[indepth];              \
      op->bufp = obp;                   \
      check_expand (op, limit - ibp);   \
      beg_of_line = 0;                  \
+     obufp_before_macroname += op->bufp - obp;  \
      obp = op->bufp; } while (0)
 
   if (no_output && instack[indepth].fname != 0)
@@ -1647,7 +1651,8 @@ randomchar:
             hp = hp->next) {
 
          if (hp->length == ident_length) {
-           U_CHAR *obufp_before_macroname;
+           /* obufp_before_macroname is used only in this block,
+               but it has to be global because of RECACHE.  */
            int op_lineno_before_macroname;
            register int i = ident_length;
            register U_CHAR *p = hp->name;