diff options
author | Nathan Sidwell <nathan@acm.org> | 2021-01-19 11:43:15 -0800 |
---|---|---|
committer | Nathan Sidwell <nathan@acm.org> | 2021-01-22 04:56:11 -0800 |
commit | 4804de453e7f5f90dd5e64114abbd272f9e8f62d (patch) | |
tree | 02574e3afc415618ac937401e062ac98753d0960 /gcc/gcc.c | |
parent | 8bad25eb56bd16f3482f856a75b1c1ae5cfe1c4f (diff) | |
download | gcc-4804de453e7f5f90dd5e64114abbd272f9e8f62d.zip gcc-4804de453e7f5f90dd5e64114abbd272f9e8f62d.tar.gz gcc-4804de453e7f5f90dd5e64114abbd272f9e8f62d.tar.bz2 |
driver: do not check file existence here [PR 98452]
The driver checks whether OPT_SPECIAL_input_file options are readable.
There's no need, the compiler proper will do that anyway.
gcc/
* gcc.c (process_command): Don't check OPT_SPECIAL_input_file
existence here.
Diffstat (limited to 'gcc/gcc.c')
-rw-r--r-- | gcc/gcc.c | 36 |
1 files changed, 2 insertions, 34 deletions
@@ -4811,44 +4811,12 @@ process_command (unsigned int decoded_options_count, if (decoded_options[j].opt_index == OPT_SPECIAL_input_file) { const char *arg = decoded_options[j].arg; - const char *p = strrchr (arg, '@'); - char *fname; - long offset; - int consumed; + #ifdef HAVE_TARGET_OBJECT_SUFFIX arg = convert_filename (arg, 0, access (arg, F_OK)); #endif - /* For LTO static archive support we handle input file - specifications that are composed of a filename and - an offset like FNAME@OFFSET. */ - if (p - && p != arg - && sscanf (p, "@%li%n", &offset, &consumed) >= 1 - && strlen (p) == (unsigned int)consumed) - { - fname = (char *)xmalloc (p - arg + 1); - memcpy (fname, arg, p - arg); - fname[p - arg] = '\0'; - /* Only accept non-stdin and existing FNAME parts, otherwise - try with the full name. */ - if (strcmp (fname, "-") == 0 || access (fname, F_OK) < 0) - { - free (fname); - fname = xstrdup (arg); - } - } - else - fname = xstrdup (arg); - - if (strcmp (fname, "-") != 0 && access (fname, F_OK) < 0) - { - bool resp = fname[0] == '@' && access (fname + 1, F_OK) < 0; - error ("%s: %m", fname + resp); - } - else - add_infile (arg, spec_lang); + add_infile (arg, spec_lang); - free (fname); continue; } |