From 3a265431763860a5381416371d38e2d602cfdaaf Mon Sep 17 00:00:00 2001 From: Doug Evans Date: Wed, 17 Jan 1996 14:51:41 +0000 Subject: [PATCH] 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 --- gcc/gcc.c | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/gcc/gcc.c b/gcc/gcc.c index 613e9046b38..d905f5f5656 100644 --- a/gcc/gcc.c +++ b/gcc/gcc.c @@ -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. */ -- 2.30.2