From 3ad29bc42341aff072fdd45a8c4438395e201d60 Mon Sep 17 00:00:00 2001 From: zack Date: Sat, 22 Jan 2000 04:18:41 +0000 Subject: [PATCH] * cpphash.c (change_newlines): Delete function. (struct argdata): Delete 'newlines' and 'use_count' fields. (macroexpand): Remove code referencing those fields. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31559 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 6 +++++ gcc/cpphash.c | 77 ++++------------------------------------------------------- 2 files changed, 10 insertions(+), 73 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 13bd549..f355935 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2000-01-21 Zack Weinberg + + * cpphash.c (change_newlines): Delete function. + (struct argdata): Delete 'newlines' and 'use_count' fields. + (macroexpand): Remove code referencing those fields. + 2000-01-22 Michael Hayes * loop.c (loops_info): New variable. diff --git a/gcc/cpphash.c b/gcc/cpphash.c index 76ee8bf..8a0c887 100644 --- a/gcc/cpphash.c +++ b/gcc/cpphash.c @@ -30,7 +30,6 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. static int comp_def_part PARAMS ((int, U_CHAR *, int, U_CHAR *, int, int)); -static int change_newlines PARAMS ((U_CHAR *, int)); static void push_macro_expansion PARAMS ((cpp_reader *, U_CHAR *, int, HASHNODE *)); static int unsafe_chars PARAMS ((int, int)); @@ -74,10 +73,7 @@ static DEFINITION *collect_expansion PARAMS ((cpp_reader *, U_CHAR *, U_CHAR *, `expanded' points to the argument's macro-expansion (its length is `expand_length'). `stringified_length' is the length the argument would have - if stringified. - `use_count' is the number of times this macro arg is substituted - into the macro. If the actual use count exceeds 10, - the value stored is 10. */ + if stringified. */ /* raw and expanded are relative to ARG_BASE */ #define ARG_BASE ((pfile)->token_buffer) @@ -88,8 +84,6 @@ struct argdata long raw, expanded, stringified; int raw_length, expand_length; int stringified_length; - char newlines; - char use_count; }; @@ -313,7 +307,7 @@ collect_expansion (pfile, buf, limit, nargs, arglist) Leading and trailing whitespace chars need 2 bytes each. Each other input char may or may not need 1 byte, so this is an upper bound. The extra 5 are for invented - leading and trailing newline-marker and final null. */ + leading and trailing escape-marker and final null. */ maxsize = (sizeof (DEFINITION) + (limit - p) + 5); defn = (DEFINITION *) xcalloc (1, maxsize); @@ -833,52 +827,6 @@ done: return token; } -/* Turn newlines to spaces in the string of length LENGTH at START, - except inside of string constants. - The string is copied into itself with its beginning staying fixed. */ - -static int -change_newlines (start, length) - U_CHAR *start; - int length; -{ - register U_CHAR *ibp; - register U_CHAR *obp; - register U_CHAR *limit; - register int c; - - ibp = start; - limit = start + length; - obp = start; - - while (ibp < limit) - { - *obp++ = c = *ibp++; - switch (c) - { - - case '\'': - case '\"': - /* Notice and skip strings, so that we don't - delete newlines in them. */ - { - int quotec = c; - while (ibp < limit) - { - *obp++ = c = *ibp++; - if (c == quotec) - break; - if (c == '\n' && quotec == '\'') - break; - } - } - break; - } - } - - return obp - start; -} - static struct tm * timestamp (pfile) @@ -1096,7 +1044,6 @@ macroexpand (pfile, hp) args[i].raw = args[i].expanded = 0; args[i].raw_length = 0; args[i].expand_length = args[i].stringified_length = -1; - args[i].use_count = 0; } /* Parse all the macro args that are supplied. I counts them. @@ -1119,7 +1066,6 @@ macroexpand (pfile, hp) args[i].raw = CPP_WRITTEN (pfile); token = macarg (pfile, rest_args); args[i].raw_length = CPP_WRITTEN (pfile) - args[i].raw; - args[i].newlines = 0; /* FIXME */ } else token = macarg (pfile, 0); @@ -1281,7 +1227,7 @@ macroexpand (pfile, hp) xbuf_len += args[ap->argno].stringified_length; } else if (ap->raw_before || ap->raw_after || CPP_TRADITIONAL (pfile)) - /* Add 4 for two newline-space markers to prevent + /* Add 4 for two \r-space markers to prevent token concatenation. */ xbuf_len += args[ap->argno].raw_length + 4; else @@ -1299,12 +1245,10 @@ macroexpand (pfile, hp) = CPP_WRITTEN (pfile) - args[ap->argno].expanded; } - /* Add 4 for two newline-space markers to prevent + /* Add 4 for two \r-space markers to prevent token concatenation. */ xbuf_len += args[ap->argno].expand_length + 4; } - if (args[ap->argno].use_count < 10) - args[ap->argno].use_count++; } xbuf = (U_CHAR *) xmalloc (xbuf_len + 1); @@ -1416,19 +1360,6 @@ macroexpand (pfile, hp) xbuf[totlen++] = '\r'; xbuf[totlen++] = ' '; } - - /* If a macro argument with newlines is used multiple times, - then only expand the newlines once. This avoids creating - output lines which don't correspond to any input line, - which confuses gdb and gcov. */ - if (arg->use_count > 1 && arg->newlines > 0) - { - /* Don't bother doing change_newlines for subsequent - uses of arg. */ - arg->use_count = 1; - arg->expand_length - = change_newlines (expanded, arg->expand_length); - } } if (totlen > xbuf_len) -- 2.7.4