driver: Do not warn about ineffective `-x' option if no inputs were given

Fix an issue with the GCC driver and the `-x' option where a warning is
issued in an invocation like:

$ riscv64-linux-gnu-gcc -print-multi-directory -x c++
riscv64-linux-gnu-gcc: warning: '-x c++' after last input file has no effect
lib64/lp64d
$ 

where no inputs were given and hence the use of `-x' is irrelevant.
The statement printed is also untrue as the `-x' does not come after the
last input file given that none was given.  Do not print it then if no
inputs were supplied.

	* gcc.c (process_command): Only warn about an ineffective `-x'
	option if any input files have actually been supplied.

From-SVN: r278872
This commit is contained in:
Maciej W. Rozycki 2019-11-30 11:10:50 +00:00 committed by Maciej W. Rozycki
parent bd661b0f25
commit 7a4f45d7e6
2 changed files with 6 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2019-11-30 Maciej W. Rozycki <macro@wdc.com>
* gcc.c (process_command): Only warn about an ineffective `-x'
option if any input files have actually been supplied.
2019-11-30 Maciej W. Rozycki <macro@wdc.com>
* doc/install.texi (Options specification): Remove the list of

View File

@ -4741,7 +4741,7 @@ process_command (unsigned int decoded_options_count,
/* More prefixes are enabled in main, after we read the specs file
and determine whether this is cross-compilation or not. */
if (n_infiles == last_language_n_infiles && spec_lang != 0)
if (n_infiles != 0 && n_infiles == last_language_n_infiles && spec_lang != 0)
warning (0, "%<-x %s%> after last input file has no effect", spec_lang);
/* Synthesize -fcompare-debug flag from the GCC_COMPARE_DEBUG