Commit 34dd3838 by Richard Kenner

(SWITCH_TAKES_ARG): Add `x'.

(process_command): -Wl, -Xlinker, and -lm values always go to linker
even if -x was specified.

From-SVN: r9035
parent 56c98e5b
...@@ -535,7 +535,7 @@ static char *multilib_select = MULTILIB_SELECT; ...@@ -535,7 +535,7 @@ static char *multilib_select = MULTILIB_SELECT;
#define SWITCH_TAKES_ARG(CHAR) \ #define SWITCH_TAKES_ARG(CHAR) \
((CHAR) == 'D' || (CHAR) == 'U' || (CHAR) == 'o' \ ((CHAR) == 'D' || (CHAR) == 'U' || (CHAR) == 'o' \
|| (CHAR) == 'e' || (CHAR) == 'T' || (CHAR) == 'u' \ || (CHAR) == 'e' || (CHAR) == 'T' || (CHAR) == 'u' \
|| (CHAR) == 'I' || (CHAR) == 'm' \ || (CHAR) == 'I' || (CHAR) == 'm' || (CHAR) == 'x' \
|| (CHAR) == 'L' || (CHAR) == 'A') || (CHAR) == 'L' || (CHAR) == 'A')
#endif #endif
...@@ -2884,23 +2884,23 @@ process_command (argc, argv) ...@@ -2884,23 +2884,23 @@ process_command (argc, argv)
for (j = 4; argv[i][j]; j++) for (j = 4; argv[i][j]; j++)
if (argv[i][j] == ',') if (argv[i][j] == ',')
{ {
infiles[n_infiles].language = spec_lang; infiles[n_infiles].language = 0;
infiles[n_infiles++].name infiles[n_infiles++].name
= save_string (argv[i] + prev, j - prev); = save_string (argv[i] + prev, j - prev);
prev = j + 1; prev = j + 1;
} }
/* Record the part after the last comma. */ /* Record the part after the last comma. */
infiles[n_infiles].language = spec_lang; infiles[n_infiles].language = 0;
infiles[n_infiles++].name = argv[i] + prev; infiles[n_infiles++].name = argv[i] + prev;
} }
else if (strcmp (argv[i], "-Xlinker") == 0) else if (strcmp (argv[i], "-Xlinker") == 0)
{ {
infiles[n_infiles].language = spec_lang; infiles[n_infiles].language = 0;
infiles[n_infiles++].name = argv[++i]; infiles[n_infiles++].name = argv[++i];
} }
else if (strncmp (argv[i], "-l", 2) == 0) else if (strncmp (argv[i], "-l", 2) == 0)
{ {
infiles[n_infiles].language = spec_lang; infiles[n_infiles].language = 0;
infiles[n_infiles++].name = argv[i]; infiles[n_infiles++].name = argv[i];
} }
else if (argv[i][0] == '-' && argv[i][1] != 0) else if (argv[i][0] == '-' && argv[i][1] != 0)
...@@ -2924,9 +2924,9 @@ process_command (argc, argv) ...@@ -2924,9 +2924,9 @@ process_command (argc, argv)
else else
spec_lang = p + 1; spec_lang = p + 1;
if (! strcmp (spec_lang, "none")) if (! strcmp (spec_lang, "none"))
/* Suppress the warning if -xnone comes after the last input file, /* Suppress the warning if -xnone comes after the last input
because alternate command interfaces like g++ might find it file, because alternate command interfaces like g++ might
useful to place -xnone after each input file. */ find it useful to place -xnone after each input file. */
spec_lang = 0; spec_lang = 0;
else else
last_language_n_infiles = n_infiles; last_language_n_infiles = n_infiles;
......
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