aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Steingold <sds@gnu.org>2001-08-21 17:10:22 +0000
committerNeil Booth <neil@gcc.gnu.org>2001-08-21 17:10:22 +0000
commitc1a6a8dc2a4e41198a30f1301fea869829f3e4a5 (patch)
tree6b5c6057d1b2f370ac492761834bc106bbc308d6
parentb1c45ae429aa876cc41aa5a90fc4dc41dba43b90 (diff)
downloadgcc-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/ChangeLog5
-rw-r--r--gcc/tradcpp.c7
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;