diff options
author | Sam Steingold <sds@gnu.org> | 2001-08-21 17:10:22 +0000 |
---|---|---|
committer | Neil Booth <neil@gcc.gnu.org> | 2001-08-21 17:10:22 +0000 |
commit | c1a6a8dc2a4e41198a30f1301fea869829f3e4a5 (patch) | |
tree | 6b5c6057d1b2f370ac492761834bc106bbc308d6 | |
parent | b1c45ae429aa876cc41aa5a90fc4dc41dba43b90 (diff) | |
download | gcc-c1a6a8dc2a4e41198a30f1301fea869829f3e4a5.zip gcc-c1a6a8dc2a4e41198a30f1301fea869829f3e4a5.tar.gz gcc-c1a6a8dc2a4e41198a30f1301fea869829f3e4a5.tar.bz2 |
tradcpp.c (rescan): define obufp_before_macroname before RECACHE
* tradcpp.c (rescan): define obufp_before_macroname before RECACHE
(RECACHE): keep obufp_before_macroname up to date
From-SVN: r45082
-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; |