diff options
author | Doug Evans <dje@gnu.org> | 1996-01-17 14:51:41 +0000 |
---|---|---|
committer | Doug Evans <dje@gnu.org> | 1996-01-17 14:51:41 +0000 |
commit | 3a265431763860a5381416371d38e2d602cfdaaf (patch) | |
tree | 0b145318e9393b43ec1c15fe8de0cef1fd1aff36 /gcc/gcc.c | |
parent | 5b65a74fb5a0d3048624f34e76ef57712436e3f7 (diff) | |
download | gcc-3a265431763860a5381416371d38e2d602cfdaaf.zip gcc-3a265431763860a5381416371d38e2d602cfdaaf.tar.gz gcc-3a265431763860a5381416371d38e2d602cfdaaf.tar.bz2 |
gcc.c (process_command): New local lang_n_files, and use it in test of -c with -o.
* gcc.c (process_command): New local lang_n_files, and use
it in test of -c with -o. Move test of -save-temps.
Test for trailing NUL in -c.
From-SVN: r11038
Diffstat (limited to 'gcc/gcc.c')
-rw-r--r-- | gcc/gcc.c | 24 |
1 files changed, 14 insertions, 10 deletions
@@ -2361,6 +2361,7 @@ process_command (argc, argv) int last_language_n_infiles; int have_c = 0; int have_o = 0; + int lang_n_infiles = 0; gcc_exec_prefix = getenv ("GCC_EXEC_PREFIX"); @@ -2615,6 +2616,11 @@ process_command (argc, argv) } else if (strncmp (argv[i], "-l", 2) == 0) n_infiles++; + else if (strcmp (argv[i], "-save-temps") == 0) + { + save_temps_flag = 1; + n_switches++; + } else if (argv[i][0] == '-' && argv[i][1] != 0) { register char *p = &argv[i][1]; @@ -2697,20 +2703,15 @@ process_command (argc, argv) warn_std_ptr = &warn_std; break; - case 's': - if (!strcmp (p, "save-temps")) + case 'c': + if (p[1] == 0) { - save_temps_flag = 1; + have_c = 1; n_switches++; break; } goto normal_switch; - case 'c': - have_c = 1; - n_switches++; - break; - case 'o': have_o = 1; goto normal_switch; @@ -2726,10 +2727,13 @@ process_command (argc, argv) } } else - n_infiles++; + { + n_infiles++; + lang_n_infiles++; + } } - if (have_c && have_o && n_infiles != 1) + if (have_c && have_o && lang_n_infiles > 1) fatal ("cannot specify -o with -c and multiple compilations"); /* Set up the search paths before we go looking for config files. */ |