diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/tradcpp.c | 7 |
2 files changed, 11 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 95536d9..77de236 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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. diff --git a/gcc/tradcpp.c b/gcc/tradcpp.c index 46b7e99..7d5e110 100644 --- a/gcc/tradcpp.c +++ b/gcc/tradcpp.c @@ -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; |