Kaydet (Commit) 8f312bbe authored tarafından Vladimir Glazounov's avatar Vladimir Glazounov

INTEGRATION: CWS vgbugs04 (1.2.62); FILE MERGED

2006/07/04 10:37:14 vg 1.2.62.1: #137785# optimize makedepend
üst 325feda3
...@@ -34,11 +34,12 @@ void undefine( char *symbol, register struct inclist *file ); ...@@ -34,11 +34,12 @@ void undefine( char *symbol, register struct inclist *file );
extern char *directives[]; extern char *directives[];
extern struct inclist maininclist; extern struct inclist maininclist;
int find_includes(filep, file, file_red, recursion, failOK) int find_includes(filep, file, file_red, recursion, failOK, incCollection)
struct filepointer *filep; struct filepointer *filep;
struct inclist *file, *file_red; struct inclist *file, *file_red;
int recursion; int recursion;
boolean failOK; boolean failOK;
struct IncludesCollection* incCollection;
{ {
register char *line; register char *line;
register int type; register int type;
...@@ -49,7 +50,7 @@ int find_includes(filep, file, file_red, recursion, failOK) ...@@ -49,7 +50,7 @@ int find_includes(filep, file, file_red, recursion, failOK)
case IF: case IF:
doif: doif:
type = find_includes(filep, file, type = find_includes(filep, file,
file_red, recursion+1, failOK); file_red, recursion+1, failOK, incCollection);
while ((type == ELIF) || (type == ELIFFALSE) || while ((type == ELIF) || (type == ELIFFALSE) ||
(type == ELIFGUESSFALSE)) (type == ELIFGUESSFALSE))
type = gobble(filep, file, file_red); type = gobble(filep, file, file_red);
...@@ -66,7 +67,7 @@ int find_includes(filep, file, file_red, recursion, failOK) ...@@ -66,7 +67,7 @@ int find_includes(filep, file, file_red, recursion, failOK)
type = gobble(filep, file, file_red); type = gobble(filep, file, file_red);
if (type == ELSE) if (type == ELSE)
find_includes(filep, file, find_includes(filep, file,
file_red, recursion+1, recfailOK); file_red, recursion+1, recfailOK, incCollection);
else else
if (type == ELIF) if (type == ELIF)
goto doif; goto doif;
...@@ -83,7 +84,7 @@ int find_includes(filep, file, file_red, recursion, failOK) ...@@ -83,7 +84,7 @@ int find_includes(filep, file, file_red, recursion, failOK)
filep->f_line, line, filep->f_line, line,
file->i_file, file_red->i_file, ": doit")); file->i_file, file_red->i_file, ": doit"));
type = find_includes(filep, file, type = find_includes(filep, file,
file_red, recursion+1, failOK); file_red, recursion+1, failOK, incCollection);
while (type == ELIF || type == ELIFFALSE || type == ELIFGUESSFALSE) while (type == ELIF || type == ELIFFALSE || type == ELIFGUESSFALSE)
type = gobble(filep, file, file_red); type = gobble(filep, file, file_red);
if (type == ELSE) if (type == ELSE)
...@@ -97,7 +98,7 @@ int find_includes(filep, file, file_red, recursion, failOK) ...@@ -97,7 +98,7 @@ int find_includes(filep, file, file_red, recursion, failOK)
type = gobble(filep, file, file_red); type = gobble(filep, file, file_red);
if (type == ELSE) if (type == ELSE)
find_includes(filep, file, find_includes(filep, file,
file_red, recursion+1, failOK); file_red, recursion + 1, failOK, incCollection);
else if (type == ELIF) else if (type == ELIF)
goto doif; goto doif;
else if (type == ELIFFALSE || type == ELIFGUESSFALSE) else if (type == ELIFFALSE || type == ELIFGUESSFALSE)
...@@ -125,10 +126,10 @@ int find_includes(filep, file, file_red, recursion, failOK) ...@@ -125,10 +126,10 @@ int find_includes(filep, file, file_red, recursion, failOK)
undefine(line, file_red); undefine(line, file_red);
break; break;
case INCLUDE: case INCLUDE:
add_include(filep, file, file_red, line, FALSE, failOK); add_include(filep, file, file_red, line, FALSE, failOK, incCollection);
break; break;
case INCLUDEDOT: case INCLUDEDOT:
add_include(filep, file, file_red, line, TRUE, failOK); add_include(filep, file, file_red, line, TRUE, failOK, incCollection);
break; break;
case ERROR: case ERROR:
warning("%s: %d: %s\n", file_red->i_file, warning("%s: %d: %s\n", file_red->i_file,
......
...@@ -39,11 +39,12 @@ extern boolean printed; ...@@ -39,11 +39,12 @@ extern boolean printed;
extern boolean verbose; extern boolean verbose;
extern boolean show_where_not; extern boolean show_where_not;
void add_include(filep, file, file_red, include, dot, failOK) void add_include(filep, file, file_red, include, dot, failOK, incCollection)
struct filepointer *filep; struct filepointer *filep;
struct inclist *file, *file_red; struct inclist *file, *file_red;
char *include; char *include;
boolean dot; boolean dot;
struct IncludesCollection* incCollection;
{ {
register struct inclist *newfile; register struct inclist *newfile;
register struct filepointer *content; register struct filepointer *content;
...@@ -51,7 +52,7 @@ void add_include(filep, file, file_red, include, dot, failOK) ...@@ -51,7 +52,7 @@ void add_include(filep, file, file_red, include, dot, failOK)
/* /*
* First decide what the pathname of this include file really is. * First decide what the pathname of this include file really is.
*/ */
newfile = inc_path(file->i_file, include, dot); newfile = inc_path(file->i_file, include, dot, incCollection);
if (newfile == NULL) { if (newfile == NULL) {
if (failOK) if (failOK)
return; return;
...@@ -62,7 +63,7 @@ void add_include(filep, file, file_red, include, dot, failOK) ...@@ -62,7 +63,7 @@ void add_include(filep, file, file_red, include, dot, failOK)
warning("%s, line %d: ", file->i_file, filep->f_line); warning("%s, line %d: ", file->i_file, filep->f_line);
warning1("cannot find include file \"%s\"\n", include); warning1("cannot find include file \"%s\"\n", include);
show_where_not = TRUE; show_where_not = TRUE;
newfile = inc_path(file->i_file, include, dot); newfile = inc_path(file->i_file, include, dot, incCollection);
show_where_not = FALSE; show_where_not = FALSE;
} }
...@@ -76,7 +77,7 @@ void add_include(filep, file, file_red, include, dot, failOK) ...@@ -76,7 +77,7 @@ void add_include(filep, file, file_red, include, dot, failOK)
if (!newfile->i_searched) { if (!newfile->i_searched) {
newfile->i_searched = TRUE; newfile->i_searched = TRUE;
content = getfile(newfile->i_file); content = getfile(newfile->i_file);
find_includes(content, newfile, file_red, 0, failOK); find_includes(content, newfile, file_red, 0, failOK, incCollection);
freefile(content); freefile(content);
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment