From 48fb792a91a6b0850d723dc87bcc18eeab7ac3f5 Mon Sep 17 00:00:00 2001 From: Brendan Kehoe Date: Thu, 14 Jan 1993 19:19:25 -0500 Subject: 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 --- gcc/gcc.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'gcc') diff --git a/gcc/gcc.c b/gcc/gcc.c index c15ff42..30a0d32 100644 --- a/gcc/gcc.c +++ b/gcc/gcc.c @@ -144,6 +144,10 @@ static int cross_compile = 1; static int cross_compile = 0; #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. */ static struct obstack obstack; @@ -2279,8 +2283,16 @@ process_command (argc, argv) } else { - infiles[n_infiles].language = spec_lang; - infiles[n_infiles++].name = argv[i]; + if (access (argv[i], R_OK) < 0) + { + 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) register int i; int j; int value; - int error_count = 0; int linker_was_run = 0; char *explicit_link_files; char *specs_file; -- cgit v1.1