Commit 14553b75 by Richard Stallman

(process_command): Don't check whether file `-' exists.

From-SVN: r5066
parent 1c66daf5
...@@ -2508,11 +2508,13 @@ process_command (argc, argv) ...@@ -2508,11 +2508,13 @@ process_command (argc, argv)
switches[n_switches].part1 = p; switches[n_switches].part1 = p;
/* Deal with option arguments in separate argv elements. */ /* Deal with option arguments in separate argv elements. */
if ((SWITCH_TAKES_ARG (c) > (p[1] != 0)) if ((SWITCH_TAKES_ARG (c) > (p[1] != 0))
|| WORD_SWITCH_TAKES_ARG (p)) { || WORD_SWITCH_TAKES_ARG (p))
{
int j = 0; int j = 0;
int n_args = WORD_SWITCH_TAKES_ARG (p); int n_args = WORD_SWITCH_TAKES_ARG (p);
if (n_args == 0) { if (n_args == 0)
{
/* Count only the option arguments in separate argv elements. */ /* Count only the option arguments in separate argv elements. */
n_args = SWITCH_TAKES_ARG (c) - (p[1] != 0); n_args = SWITCH_TAKES_ARG (c) - (p[1] != 0);
} }
...@@ -2524,7 +2526,9 @@ process_command (argc, argv) ...@@ -2524,7 +2526,9 @@ process_command (argc, argv)
switches[n_switches].args[j++] = argv[++i]; switches[n_switches].args[j++] = argv[++i];
/* Null-terminate the vector. */ /* Null-terminate the vector. */
switches[n_switches].args[j] = 0; switches[n_switches].args[j] = 0;
} else if (*switches_need_spaces != 0 && (c == 'o' || c == 'L')) { }
else if (*switches_need_spaces != 0 && (c == 'o' || c == 'L'))
{
/* On some systems, ld cannot handle -o or -L without space. /* On some systems, ld cannot handle -o or -L without space.
So split the -o or -L from its argument. */ So split the -o or -L from its argument. */
switches[n_switches].part1 = (c == 'o' ? "o" : "L"); switches[n_switches].part1 = (c == 'o' ? "o" : "L");
...@@ -2532,7 +2536,8 @@ process_command (argc, argv) ...@@ -2532,7 +2536,8 @@ process_command (argc, argv)
switches[n_switches].args[0] = xmalloc (strlen (p)); switches[n_switches].args[0] = xmalloc (strlen (p));
strcpy (switches[n_switches].args[0], &p[1]); strcpy (switches[n_switches].args[0], &p[1]);
switches[n_switches].args[1] = 0; switches[n_switches].args[1] = 0;
} else }
else
switches[n_switches].args = 0; switches[n_switches].args = 0;
switches[n_switches].valid = 0; switches[n_switches].valid = 0;
/* This is always valid, since gcc.c itself understands it. */ /* This is always valid, since gcc.c itself understands it. */
...@@ -2543,6 +2548,7 @@ process_command (argc, argv) ...@@ -2543,6 +2548,7 @@ process_command (argc, argv)
else else
{ {
if ((argv[i][0] != '-' || argv[i][1] != 'l') if ((argv[i][0] != '-' || argv[i][1] != 'l')
&& strcmp (argv[i], "-")
&& access (argv[i], R_OK) < 0) && access (argv[i], R_OK) < 0)
{ {
perror_with_name (argv[i]); perror_with_name (argv[i]);
......
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