Commit 48fb792a by Brendan Kehoe

gcc.c (process_command): Only accept input files which exist and can be read...

        * gcc.c (process_command): Only accept input files which exist and
        can be read; prevent link phase if an input file was rejected.
        (error_count): Make into a static global variable.

From-SVN: r3249
parent 3dac0de5
...@@ -144,6 +144,10 @@ static int cross_compile = 1; ...@@ -144,6 +144,10 @@ static int cross_compile = 1;
static int cross_compile = 0; static int cross_compile = 0;
#endif #endif
/* The number of errors that have occurred; the link phase will not be
run if this is non-zero. */
static int error_count = 0;
/* This is the obstack which we use to allocate many strings. */ /* This is the obstack which we use to allocate many strings. */
static struct obstack obstack; static struct obstack obstack;
...@@ -2279,8 +2283,16 @@ process_command (argc, argv) ...@@ -2279,8 +2283,16 @@ process_command (argc, argv)
} }
else else
{ {
infiles[n_infiles].language = spec_lang; if (access (argv[i], R_OK) < 0)
infiles[n_infiles++].name = argv[i]; {
perror_with_name (argv[i]);
error_count++;
}
else
{
infiles[n_infiles].language = spec_lang;
infiles[n_infiles++].name = argv[i];
}
} }
} }
...@@ -3354,7 +3366,6 @@ main (argc, argv) ...@@ -3354,7 +3366,6 @@ main (argc, argv)
register int i; register int i;
int j; int j;
int value; int value;
int error_count = 0;
int linker_was_run = 0; int linker_was_run = 0;
char *explicit_link_files; char *explicit_link_files;
char *specs_file; char *specs_file;
......
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