From 03489816e9a71ad297bec22c35e1261e443ede2c Mon Sep 17 00:00:00 2001 From: echristo Date: Wed, 22 Mar 2006 22:29:22 +0000 Subject: 2006-03-22 Eric Christopher Radar 4473966 * config/darwin-driver.c (fnasm_seen): Remove. (do_nasm): Ditto. (main): Remove check for fnasm. Remove call. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/apple-local-200502-branch@112299 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog.apple-ppc | 87 +++++++++++---------- gcc/config/darwin-driver.c | 185 ++++++++++++++++++--------------------------- 2 files changed, 122 insertions(+), 150 deletions(-) diff --git a/gcc/ChangeLog.apple-ppc b/gcc/ChangeLog.apple-ppc index ba9eaa84558..32e6293b2a5 100644 --- a/gcc/ChangeLog.apple-ppc +++ b/gcc/ChangeLog.apple-ppc @@ -1,3 +1,10 @@ +2006-03-22 Eric Christopher + + Radar 4473966 + * config/darwin-driver.c (fnasm_seen): Remove. + (do_nasm): Ditto. + (main): Remove check for fnasm. Remove call. + 2006-03-22 Geoffrey Keating Radar 4484188 @@ -9,7 +16,7 @@ Radar 4255172 * config/rs6000/darwin.h (PEG_ALIGN_FOR_MAC68K): Move to here from config/darwin.h. Don't test TARGET_ALTIVEC. - * config/darwin.h [RS6000_VECTOR_ALIGNMENT] (PEG_ALIGN_FOR_MAC68K): + * config/darwin.h [RS6000_VECTOR_ALIGNMENT] (PEG_ALIGN_FOR_MAC68K): Move this definition to config/rs6000/darwin.h. * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Don't define Altivec PIM macros unless -faltivec. @@ -28,9 +35,9 @@ 2006-03-15 Devang Patel Radar 4479522 - * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Do not - enable Altivec by default when deployment target is Mac OSX 10.5 - or higher. + * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Do not + enable Altivec by default when deployment target is Mac OSX 10.5 + or higher. 2006-03-13 Mike Stump @@ -108,7 +115,7 @@ (marked APPLE LOCAL "4356747 stack realign") * gcc/rtl.h (gen_tmp_stack_mem): Declare. Fix up previous ChangeLog entry. - + 2006-02-27 Stuart Hastings Radar 4356747 @@ -268,7 +275,7 @@ * config/darwin-driver.c (main.c): Check --save-temps. 2006-02-09 Mike Stump - + Radar 4399388 * config/i386/i386.c (cw_canonicalize_bracket_1): Add. (cw_canonicalize_bracket): Improve. @@ -296,7 +303,7 @@ Radar 4407059 * c-lex.c (c_lex_with_flags): Only recognize "offset" when doing x86 assembly. - + 2006-02-03 Mike Stump Radar 4432782 @@ -337,12 +344,12 @@ 2006-01-31 Devang Patel Radar 4382844 - * tree-data-ref.c (analyze_array, init_data_ref, + * tree-data-ref.c (analyze_array, init_data_ref, find_data_references_in_loop): Set DR_TYPE. * tree-data-ref.h (data_ref_type): New. (struct data_reference): New member, data reference type. (DR_TYPE): New. - * tree-vect-analyze.c (record_ptr_differ_p, + * tree-vect-analyze.c (record_ptr_differ_p, vect_base_object_differ_p): New. (vect_base_addr_differ_p): Check base objects. @@ -399,7 +406,7 @@ functions. (expand_function_start): We don't need DECL_RTL for asm functions. (expand_function_end): Use a naked return for asm functions. - (expand_function_end): + (expand_function_end): * gimple-low.c (lower_function_body): Don't generate a return; for asm functions. * tree-inline.c (inline_forbidden_p): Don't inline asm functions on ppc. @@ -425,7 +432,7 @@ Pass to ASM_OUTPUT_DWARF_OFFSET. * doc/tm.texi (SDB and DWARF): Add extra parameter to ASM_OUTPUT_DWARF_OFFSET. Use @var to indicate metavariables. - + 2006-01-13 Geoffrey Keating Radar 4386531 @@ -548,9 +555,9 @@ Radar 4261575 - * config/i386/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Set default value + * config/i386/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Set default value for darwin_constant_cfstrings - + 2005-12-09 Mike Stump Radar 4371551 @@ -559,7 +566,7 @@ * c-typeck.c (build_array_ref): Also handle exprs with no type. * config/i386/i386.c (cw_canonicalize_bracket): Add support for more complex offsets. - + 2005-12-09 Zdenek Dvorak Dale Johannesen @@ -573,7 +580,7 @@ Radar 4233898 * tree-chrec.c (chrec_fold_multiply_poly_poly): Associate chrecs - correctly. + correctly. 2005-12-09 Stuart Hastings @@ -598,7 +605,7 @@ 2005-12-07 Devang Patel Radar 4333194 - * tree-vect-analyze.c (vect_compute_data_ref_alignment): Check + * tree-vect-analyze.c (vect_compute_data_ref_alignment): Check misalignment where natural alignment is not reachable using loop peeling. @@ -629,7 +636,7 @@ * langhooks-def.h: Revert Radar 4133801 changes. * langhooks.c: Likewise. * langhooks.h: Likewise. - + 2005-12-07 Dale Johannesen Radar 4349512 @@ -668,7 +675,7 @@ * config/i386/i386.c (cw_canonicalize_bracket): to here. Add more canonicalizations. (cw_is_offset): Add offsets built with PLUS_EXPR and MINUS_EXPR. - + 2005-12-01 Dale Johannesen Radar 4350099 @@ -693,7 +700,7 @@ * doc/invoke.texi (C Dialect Options): Likewise. * config/darwin.h (LINK_COMMAND_SPEC): Pass -allow_stack_execute when nested functions are on. - + 2005-11-30 Dale Johannesen Andrew Pinski @@ -836,26 +843,26 @@ standard_sse_constant_opcode. (*movv4sf_internal) Use standard_sse_constant_opcode. (*movv2df_internal) Use standard_sse_constant_opcode. - (sse_movlhps) Replace vector_move_operand with + (sse_movlhps) Replace vector_move_operand with nonimmediate_or_0_operand. - (*sse_concatv2sf) Replace vector_move_operand with + (*sse_concatv2sf) Replace vector_move_operand with nonimmediate_or_0_operand. - (*vec_setv4sf_0) Replace vector_move_operand with + (*vec_setv4sf_0) Replace vector_move_operand with nonimmediate_or_0_operand. - (sse2_loadlpd) Replace vector_move_operand with + (sse2_loadlpd) Replace vector_move_operand with nonimmediate_or_0_operand. - (*vec_concatv2df) Replace vector_move_operand with + (*vec_concatv2df) Replace vector_move_operand with nonimmediate_or_0_operand. (sse2_loadld) Replace vector_move_operand with nonimmediate_or_0_operand. - (*vec_concatv2di) Replace vector_move_operand with + (*vec_concatv2di) Replace vector_move_operand with nonimmediate_or_0_operand. * testsuite/gcc.apple/4283414.c: New. 2005-11-01 Fariborz Jahanian objc new meta-data definitions - part 1 - + * common.opt: Add new -fobjc-abi-version=n option. 2005-11-01 Evan Cheng @@ -873,7 +880,7 @@ * config/i386/i386.h (Unused): Fix gratuitous APPLE LOCAL change. 2005-10-31 Devang Patel - + Radar 4053179 Backport from Mainline. 2005-04-14 Richard Henderson @@ -925,7 +932,7 @@ (ix86_rotrdi3): New pattern. (rotldi3): Handle 32-bit mode. (ix86_rotldi3): New pattern. - + 2005-10-19 Eric Christopher Radar 3907496 @@ -942,7 +949,7 @@ * c-parse.in (objc_quals): Build objc qualifier list same way as gcc-3.3 - + 2005-10-11 Geoffrey Keating Radar 4271575 @@ -952,7 +959,7 @@ as empty. * config/darwin.h (STARTFILE_SPEC): Use %(darwin_crt2) to possibly link in crt2.o. - + 2005-10-12 Fariborz Jahanian Radar 4291785 @@ -977,7 +984,7 @@ * stub-objc.c (objc_check_global_decl): New stub. * c-decl.c (start_decl): Check for redeclaration of class name. * c-parse.in (after_type_declarator): Recognize CLASSNAME. - + 2005-10-17 Geoffrey Keating Radar 4122763 @@ -1031,7 +1038,7 @@ * dbxout.c (struct typeinf): New member, q_type_number. (struct qualified_typeinf): New. (q_typevec, q_typevec_len, q_type_number); New. - (dbxout_reusable_type, dbxout_note_q_type, + (dbxout_reusable_type, dbxout_note_q_type, dbxout_next_q_type_number): New. (dbxout_init): Initialize q_typevec. (dbxout_type_index): Check reusable type. @@ -1103,7 +1110,7 @@ 2005-10-12 Devang Patel Radar 4278903 - * gcc.c (invoke_as): Process ASM_SPEC when -fsave-repository + * gcc.c (invoke_as): Process ASM_SPEC when -fsave-repository is seen. 2005-10-11 Dale Johannesen @@ -1134,7 +1141,7 @@ 2005-10-07 Evan Cheng - Radar 4109832 + Radar 4109832 * config/i386/xmmintrin.h (_MM_TRANSPOSE4_PS): Rewrite using high/low moves and unpack to speed up. @@ -1142,7 +1149,7 @@ Radar 4205103 * config/i386/i386.c (ix86_value_regno): Moved APPLE LOCAL marker. - + 2005-10-06 Devang Patel Radar 4257091 @@ -1351,7 +1358,7 @@ (CW_SEE_NO_OFFSET): Add. * doc/extend.texi (Asm Blocks and Functions): Update for x86. * tree-cfg.c (set_bb_for_stmt): Handle label rewritting anywhere in opcode. - + 2005-09-22 Stuart Hastings Radar 4231761 @@ -1435,7 +1442,7 @@ to do actual work. (dbxout_partial_type, dbxout_complete_type, dbxout_type_xref, dbxout_pointer_type, dbxout_void_type, dbxout_integer_type, - dbxout_real_type, dbxout_char_type, dbxout_complex_type, + dbxout_real_type, dbxout_char_type, dbxout_complex_type, dbxout_file_type, dbxout_function_type, dbxout_reference_type, dbxout_next_type_number, dbxout_cross_ref_type_p, dbxout_type_with_name, dbxout_queue_type, dbxout_free_type_queue): New. @@ -1506,9 +1513,9 @@ 2005-08-30 Fariborz Jahanian Radar 4235138 - * c-common.c (print_cw_asm_operand): Generate tree for nested + * c-common.c (print_cw_asm_operand): Generate tree for nested member operand. - * c-typeck.c (cw_asm_c_build_component_ref): Build component ref + * c-typeck.c (cw_asm_c_build_component_ref): Build component ref for nested member operand. 2005-08-29 Eric Christopher @@ -1549,7 +1556,7 @@ 2005-08-24 Fariborz Jahanian Radar 4211430 - * stmt.c (expand_asm_operands): Make static entry symbol + * stmt.c (expand_asm_operands): Make static entry symbol local and not extern. 2005-08-23 Eric Christopher diff --git a/gcc/config/darwin-driver.c b/gcc/config/darwin-driver.c index e8b5b4196dd..56bd3c5b4e5 100644 --- a/gcc/config/darwin-driver.c +++ b/gcc/config/darwin-driver.c @@ -1,6 +1,6 @@ /* APPLE LOCAL file driver driver */ /* Darwin driver program that handles -arch commands and invokes - appropriate compiler driver. + appropriate compiler driver. Copyright (C) 2004, 2005 Free Software Foundation, Inc. This file is part of GCC. @@ -36,7 +36,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA #include "stdbool.h" /* Hack!. Pay the price for including darwin.h. */ -typedef int tree; +typedef int tree; #define GTY(x) /* nothing */ /* Include darwin.h for SWITCH_TAKES_ARG and WORD_SWIATCH_TAKES_ARG. */ @@ -63,12 +63,11 @@ char *curr_dir; /* Use if -o flag is absent. */ const char *final_output = "a.out"; -/* Variabless to track presence and/or absence of important command +/* Variabless to track presence and/or absence of important command line options. */ int compile_only_request = 0; int asm_output_request = 0; int dash_capital_m_seen = 0; -int fnasm_seen = 0; int preprocessed_output_request = 0; int ima_is_used = 0; int dash_dynamiclib_seen = 0; @@ -127,7 +126,7 @@ int new_argc; /* Argument list for 'lipo'. */ const char **lipo_argv; -/* Info about the sub process. Need one subprocess for each arch plus +/* Info about the sub process. Need one subprocess for each arch plus additional one for 'lipo'. */ struct command { @@ -167,7 +166,7 @@ static int add_arch_options (int, const char **, int); static int remove_arch_options (const char**, int); static void add_arch (const char *); -/* Find arch name for the given input string. If input name is NULL then local +/* Find arch name for the given input string. If input name is NULL then local arch name is used. */ static const char * @@ -202,7 +201,7 @@ get_arch_name (const char *name) else all_info++; } - + return all_info->name; } @@ -253,8 +252,8 @@ delete_out_files (void) struct stat st; int i = 0; - for (i = 0, temp = out_files[i]; - temp && i < total_argc * MAX_ARCHES; + for (i = 0, temp = out_files[i]; + temp && i < total_argc * MAX_ARCHES; temp = out_files[++i]) if (stat (temp, &st) >= 0 && S_ISREG (st.st_mode)) unlink (temp); @@ -310,7 +309,7 @@ debug_command_line (const char **debug_argv, int debug_argc) fprintf (stderr,"%s: arg count = %d\n", progname, debug_argc); for (i = 0; debug_argv[i]; i++) - fprintf (stderr,"%s: arg [%d] %s\n", progname, i, debug_argv[i]); + fprintf (stderr,"%s: arg [%d] %s\n", progname, i, debug_argv[i]); } #endif @@ -361,18 +360,18 @@ initialize (void) to compiler driver: Each "-arch" "" is replaced by approriate "-mcpu=". - That leaves one additional arg space available. + That leaves one additional arg space available. Note that only one -m* is supplied to each compiler driver. Which means, extra "-arch" "" are removed from the original command - line. But lets not count how many additional slots are available. + line. But lets not count how many additional slots are available. Driver driver may need to specify temp. output file name, say "-o" "foobar". That needs two extra argments. Sometimes linker wants one additional "-Wl,-arch_multiple". - Sometimes linker wants to see "-final_output" "outputname". + Sometimes linker wants to see "-final_output" "outputname". In the end, we may need five extra arguments, plus one extra space for the NULL terminator. */ @@ -391,7 +390,7 @@ initialize (void) if (!lipo_argv) abort (); - /* Need separate out_files for each arch, max is MAX_ARCHES. + /* Need separate out_files for each arch, max is MAX_ARCHES. Need separate out_files for each input file. */ out_files = (const char **) malloc ((total_argc * MAX_ARCHES) * sizeof (const char *)); @@ -424,8 +423,8 @@ final_cleanup (void) free (lipo_argv); free (out_files); - for (i = 0, next = in_files; - i < num_infiles && next; + for (i = 0, next = in_files; + i < num_infiles && next; i++) { next = in_files->next; @@ -468,7 +467,7 @@ static int do_lipo (int start_outfile_index, const char *out_file) { int i, j, pid; - char *errmsg_fmt, *errmsg_arg; + char *errmsg_fmt, *errmsg_arg; /* Populate lipo arguments. */ lipo_argv[0] = "lipo"; @@ -487,7 +486,7 @@ do_lipo (int start_outfile_index, const char *out_file) #ifdef DEBUG debug_command_line (lipo_argv, j); #endif - + if (verbose_flag) { for (i = 0; lipo_argv[i]; i++) @@ -495,11 +494,11 @@ do_lipo (int start_outfile_index, const char *out_file) fprintf (stderr, "\n"); } pid = pexecute (lipo_argv[0], (char *const *)lipo_argv, progname, NULL, &errmsg_fmt, - &errmsg_arg, PEXECUTE_SEARCH | PEXECUTE_LAST); - + &errmsg_arg, PEXECUTE_SEARCH | PEXECUTE_LAST); + if (pid == -1) pfatal_pexecute (errmsg_fmt, errmsg_arg); - + return do_wait (pid, lipo_argv[0]); } @@ -508,10 +507,10 @@ do_lipo (int start_outfile_index, const char *out_file) static int do_compile (const char **current_argv, int current_argc) { - char *errmsg_fmt, *errmsg_arg; + char *errmsg_fmt, *errmsg_arg; int index = 0; int ret = 0; - + int dash_o_index = current_argc; int of_index = current_argc + 1; int argc_count = current_argc + 2; @@ -521,7 +520,7 @@ do_compile (const char **current_argv, int current_argc) int additional_arch_options = 0; current_argv[0] = get_driver_name (get_arch_name (arches[index])); - + /* setup output file. */ out_files[num_outfiles] = make_temp_file (".out"); current_argv[dash_o_index] = "-o"; @@ -532,7 +531,7 @@ do_compile (const char **current_argv, int current_argc) before removing this option. */ additional_arch_options = add_arch_options (index, current_argv, argc_count); argc_count += additional_arch_options; - + commands[index].prog = current_argv[0]; commands[index].argv = current_argv; @@ -541,16 +540,16 @@ do_compile (const char **current_argv, int current_argc) #ifdef DEBUG debug_command_line (current_argv, argc_count); #endif - commands[index].pid = pexecute (current_argv[0], - (char *const *)current_argv, - progname, NULL, + commands[index].pid = pexecute (current_argv[0], + (char *const *)current_argv, + progname, NULL, &errmsg_fmt, - &errmsg_arg, + &errmsg_arg, PEXECUTE_SEARCH | PEXECUTE_LAST); - + if (commands[index].pid == -1) pfatal_pexecute (errmsg_fmt, errmsg_arg); - + /* Remove the last arch option added in the current_argv list. */ if (additional_arch_options) argc_count -= remove_arch_options (current_argv, argc_count); @@ -580,14 +579,14 @@ do_compile_separately (void) if (num_infiles == 1 || ima_is_used) abort (); - /* Total number of arguments in separate compiler invocation is : - total number of original arguments - total no input files + one input + /* Total number of arguments in separate compiler invocation is : + total number of original arguments - total no input files + one input file + "-o" + output file . */ new_new_argv = (const char **) malloc ((new_argc - num_infiles + 4) * sizeof (const char *)); if (!new_new_argv) abort (); - for (current_ifn = in_files; current_ifn && current_ifn->name; + for (current_ifn = in_files; current_ifn && current_ifn->name; current_ifn = current_ifn->next) { struct input_filename *ifn = in_files; @@ -603,18 +602,18 @@ do_compile_separately (void) if (!strcmp (new_argv[i], current_ifn->name)) { - /* If it is current input file name then add it in the new + /* If it is current input file name then add it in the new list. */ new_new_argv[new_new_argc++] = new_argv[i]; } - /* This input file can not appear in + /* This input file can not appear in again on the command line so next time look for next input file. */ ifn = ifn->next; } else { - /* This argument is not a input file name. Add it into new + /* This argument is not a input file name. Add it into new list. */ new_new_argv[new_new_argc++] = new_argv[i]; } @@ -632,40 +631,13 @@ do_lipo_separately (void) { int ifn_index; struct input_filename *ifn; - for (ifn_index = 0, ifn = in_files; - ifn_index < num_infiles && ifn && ifn->name; + for (ifn_index = 0, ifn = in_files; + ifn_index < num_infiles && ifn && ifn->name; ifn_index++, ifn = ifn->next) do_lipo (ifn_index * num_arches, strip_path_and_suffix (ifn->name, ".o")); } -/* Invoke 'nasm' */ -static int -do_nasm () -{ - int pid; - char *errmsg_fmt, *errmsg_arg; - - /* We're explicitly setting all of the arguments here and - ignoring any additional that come in via the command line - since XCode passes gcc and gas command line options and these - can conflict with nasm's command line options. */ - new_argv[0] = "nasm"; - new_argv[1] = "-f macho"; - new_argv[2] = in_files->name; - new_argv[3] = "-o"; - new_argv[4] = output_filename; - new_argv[5] = NULL; - - pid = pexecute (new_argv[0], (char *const *)new_argv, progname, NULL, - &errmsg_fmt, &errmsg_arg, PEXECUTE_SEARCH | PEXECUTE_LAST); - - if (pid == -1) - pfatal_pexecute (errmsg_fmt, errmsg_arg); - - return do_wait (pid, new_argv[0]); -} - /* Replace -arch options with appropriate "-mcpu=" OR "-march=". INDEX is the index in arches[] table. */ @@ -734,7 +706,7 @@ remove_arch_options (const char **current_argv, int arch_index) #ifdef DEBUG debug_command_line (current_argv, arch_index); #endif - + return 1; } @@ -758,13 +730,13 @@ add_arch (const char *new_arch) /* Rewrite the command line as requested in the QA_OVERRIDE_GCC3_OPTIONS environment variable -- used for testing the compiler, working around bugs - in the Apple build environment, etc. + in the Apple build environment, etc. The override string is made up of a set of space-separated clauses. The first letter of each clause describes what's to be done: +string Add string as a new argument (at the end of the command line). Multi-word command lines can be added with +x +y - s/x/y/ substitute x for y in the command line. X must be an entire + s/x/y/ substitute x for y in the command line. X must be an entire argument, and can be a regular expression as accepted by the POSIX regexp code. Y will be substituted as a single argument, and will not have regexp replacements added in. @@ -791,7 +763,7 @@ add_arch (const char *new_arch) particular change to stop, but additional changes in the environment variable to be applied. - Key details: + Key details: * we always want to be able to adjust optimization levels for testing * adding options is a common task * substitution and deletion are less common. @@ -813,14 +785,14 @@ const int ARG_ARRAY_INCREMENT_SIZE = 8; responsible for allocation and deallocation of all objects in the array */ -void read_args (int argc, char **argv) +void read_args (int argc, char **argv) { int i; arg_array_size = argc+10; arg_count = argc; arg_array = (char**) malloc(sizeof(char*)*arg_array_size); - + for (i=0;i= arg_count -1) { - if (confirm_changes) + if (confirm_changes) fprintf(stderr,"Not enough arguments to do X\n"); } else { delete_arg(search_index); /* Delete the matching argument */ @@ -1125,7 +1097,7 @@ main (int argc, const char **argv) { size_t i; int l, pid, ret, argv_0_len, prog_len; - char *errmsg_fmt, *errmsg_arg; + char *errmsg_fmt, *errmsg_arg; char *override_option_str = NULL; total_argc = argc; argv_0_len = strlen (argv[0]); @@ -1153,7 +1125,7 @@ main (int argc, const char **argv) #endif /* Before we get too far, rewrite the command line with any requested overrides */ - if ((override_option_str = getenv ("QA_OVERRIDE_GCC3_OPTIONS")) != NULL) + if ((override_option_str = getenv ("QA_OVERRIDE_GCC3_OPTIONS")) != NULL) rewrite_command_line(override_option_str, &argc, (char***)&argv); @@ -1196,11 +1168,7 @@ main (int argc, const char **argv) { new_argv[new_argc++] = argv[i]; dash_dynamiclib_seen = 1; - } - else if (!strcmp (argv[i], "-fnasm")) - { - fnasm_seen = 1; - } + } else if (!strcmp (argv[i], "-v")) { new_argv[new_argc++] = argv[i]; @@ -1277,7 +1245,7 @@ main (int argc, const char **argv) dash_capital_m_seen = 1; /* Now copy this flag's arguments, if any, appropriately. */ - if ((SWITCH_TAKES_ARG (c) > (p[1] != 0)) + if ((SWITCH_TAKES_ARG (c) > (p[1] != 0)) || WORD_SWITCH_TAKES_ARG (p)) { int j = 0; @@ -1298,7 +1266,7 @@ main (int argc, const char **argv) j++; } } - + } else { @@ -1324,20 +1292,17 @@ main (int argc, const char **argv) fatal ("no input files"); #endif - if (fnasm_seen) - return do_nasm (); - if (num_arches > 1) { - if (preprocessed_output_request + if (preprocessed_output_request || save_temps_seen - || asm_output_request + || asm_output_request || dash_capital_m_seen) fatal ("-E, -S, -save-temps and -M options are not allowed with multiple -arch flags"); } - /* If -arch is not present OR Only one -arch is specified. + /* If -arch is not present OR Only one -arch is specified. Invoke appropriate compiler driver. FAT build is not required in this - case. */ + case. */ if (num_arches == 0 || num_arches == 1) { @@ -1367,14 +1332,14 @@ main (int argc, const char **argv) /* Add the NULL. */ new_argv[new_argc] = NULL; - + #ifdef DEBUG debug_command_line (new_argv, new_argc); #endif - pid = pexecute (new_argv[0], (char *const *)new_argv, progname, NULL, - &errmsg_fmt, &errmsg_arg, PEXECUTE_SEARCH | PEXECUTE_LAST); - + pid = pexecute (new_argv[0], (char *const *)new_argv, progname, NULL, + &errmsg_fmt, &errmsg_arg, PEXECUTE_SEARCH | PEXECUTE_LAST); + if (pid == -1) pfatal_pexecute (errmsg_fmt, errmsg_arg); @@ -1400,7 +1365,7 @@ main (int argc, const char **argv) { const char *out_file; - /* Create output file name based on + /* Create output file name based on input filename, if required. */ if (compile_only_request && !output_filename && num_infiles == 1) out_file = strip_path_and_suffix (in_files->name, ".o"); -- cgit v1.2.3