aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Christopher <echristo@apple.com>2006-03-22 22:29:22 +0000
committerEric Christopher <echristo@apple.com>2006-03-22 22:29:22 +0000
commit40c85e1d3de779b94389c293b861c806e7c5b722 (patch)
treef4e3ecf5d3f99bda7c3c63f6613cf65cce38edc8
parent73a3852a3cbcee057f1902d506dd92164d5f5162 (diff)
2006-03-22 Eric Christopher <echristo@apple.com>apple/gcc-5331
Radar 4473966 * config/darwin-driver.c (fnasm_seen): Remove. (do_nasm): Ditto. (main): Remove check for fnasm. Remove call. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/apple-local-200502-branch@112299 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog.apple-ppc87
-rw-r--r--gcc/config/darwin-driver.c185
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 <echristo@apple.com>
+
+ Radar 4473966
+ * config/darwin-driver.c (fnasm_seen): Remove.
+ (do_nasm): Ditto.
+ (main): Remove check for fnasm. Remove call.
+
2006-03-22 Geoffrey Keating <geoffk@apple.com>
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 <dpatel@apple.com>
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 <mrs@apple.com>
@@ -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 <stuart@apple.com>
Radar 4356747
@@ -268,7 +275,7 @@
* config/darwin-driver.c (main.c): Check --save-temps.
2006-02-09 Mike Stump <mrs@apple.com>
-
+
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 <mrs@apple.com>
Radar 4432782
@@ -337,12 +344,12 @@
2006-01-31 Devang Patel <dpatel@apple.com>
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 <geoffk@apple.com>
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 <mrs@apple.com>
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 <rakdver@gcc.gnu.org>
Dale Johannesen <dalej@apple.com>
@@ -573,7 +580,7 @@
Radar 4233898
* tree-chrec.c (chrec_fold_multiply_poly_poly): Associate chrecs
- correctly.
+ correctly.
2005-12-09 Stuart Hastings <stuart@apple.com>
@@ -598,7 +605,7 @@
2005-12-07 Devang Patel <dpatel@apple.com>
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 <dalej@apple.com>
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 <dalej@apple.com>
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 <dalej@apple.com>
Andrew Pinski <pinskia@physics.uc.edu>
@@ -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 <fjahanian@apple.com>
objc new meta-data definitions - part 1
-
+
* common.opt: Add new -fobjc-abi-version=n option.
2005-11-01 Evan Cheng <evan.cheng@apple.com>
@@ -873,7 +880,7 @@
* config/i386/i386.h (Unused): Fix gratuitous APPLE LOCAL change.
2005-10-31 Devang Patel <dpatel@apple.com>
-
+
Radar 4053179
Backport from Mainline.
2005-04-14 Richard Henderson <rth@redhat.com>
@@ -925,7 +932,7 @@
(ix86_rotrdi3): New pattern.
(rotldi3): Handle 32-bit mode.
(ix86_rotldi3): New pattern.
-
+
2005-10-19 Eric Christopher <echristo@apple.com>
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 <geoffk@apple.com>
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 <fjahanian@apple.com>
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 <geoffk@apple.com>
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 <dpatel@apple.com>
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 <dalej@apple.com>
@@ -1134,7 +1141,7 @@
2005-10-07 Evan Cheng <evan.cheng@apple.com>
- 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 <dpatel@apple.com>
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 <stuart@apple.com>
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 <fjahanian@apple.com>
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 <echristo@apple.com>
@@ -1549,7 +1556,7 @@
2005-08-24 Fariborz Jahanian <fjahanian@apple.com>
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 <echristo@apple.com>
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" "<blah>" is replaced by approriate "-mcpu=<blah>".
- 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" "<blah>" 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 <blah> options with appropriate "-mcpu=<blah>" OR
"-march=<blah>". 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<argc;i++) {
arg_array[i] = malloc (strlen (argv[i])+1);
strcpy (arg_array[i], argv[i]);
@@ -828,12 +800,12 @@ void read_args (int argc, char **argv)
}
/* Insert the argument before pos. */
-void insert_arg(int pos, char *arg_to_insert)
+void insert_arg(int pos, char *arg_to_insert)
{
int i;
char *newArg = malloc (strlen (arg_to_insert)+1);
strcpy(newArg, arg_to_insert);
-
+
if (arg_count == arg_array_size) {
/* expand array */
arg_array_size = arg_count + ARG_ARRAY_INCREMENT_SIZE;
@@ -846,7 +818,7 @@ void insert_arg(int pos, char *arg_to_insert)
arg_array[pos] = newArg;
arg_count++;
-
+
if (confirm_changes)
fprintf(stderr,"### Adding argument %s at position %d\n",arg_to_insert, pos);
}
@@ -875,7 +847,7 @@ void append_arg (char *str)
arg_array_size = arg_count + ARG_ARRAY_INCREMENT_SIZE;
arg_array = (char**) realloc (arg_array, arg_array_size);
}
-
+
arg_array[arg_count++] = new_arg;
}
@@ -887,7 +859,7 @@ void delete_arg(int pos) {
free (arg_array[pos]);
- for (i=pos; i < arg_count; i++)
+ for (i=pos; i < arg_count; i++)
arg_array[i] = arg_array[i+1];
arg_count--;
@@ -901,7 +873,7 @@ void replace_optimization_level (char *new_level) {
int optionFound = 0;
char *new_opt = malloc(strlen(new_opt)+3);
sprintf(new_opt, "-O%s",new_level);
-
+
for (i=0;i<arg_count;i++) {
if (strncmp(arg_array[i],"-O",2) == 0) {
@@ -910,7 +882,7 @@ void replace_optimization_level (char *new_level) {
break;
}
}
-
+
if (optionFound == 0)
/* No optimization level? Add it! */
append_arg (new_opt);
@@ -936,7 +908,7 @@ char *arg_string(char *str, int begin, int len) {
The search string can be a regular expression, but the replace string
must be a literal; the search must also be for a full argument, not for
a chain of arguments. The result will be treated as a single argument.
-
+
Return true if success, false if bad failure.
*/
@@ -949,10 +921,10 @@ bool search_and_replace (char *str) {
char *searchStr;
char *replaceStr;
- char *replacedStr;
+ char *replacedStr;
const int ERRSIZ = 512;
char errbuf[ERRSIZ];
-
+
if (str[0] != '/') {
return false;
@@ -962,7 +934,7 @@ bool search_and_replace (char *str) {
if (str[1 + searchLen] != '/')
return false;
-
+
replaceLen = strcspn(str+1+searchLen+1, "/\0");
if (str[1 + searchLen + 1 +replaceLen] != '/')
@@ -1011,13 +983,13 @@ int find_arg (char *str) {
return matchIndex;
}
-
+
void rewrite_command_line (char *override_options_line, int *argc, char ***argv){
int line_pos = 0;
-
+
read_args (*argc, *argv);
- if (override_options_line[0] == '#')
+ if (override_options_line[0] == '#')
{
confirm_changes = 0;
line_pos++;
@@ -1030,7 +1002,7 @@ void rewrite_command_line (char *override_options_line, int *argc, char ***argv)
/* Loop through all commands in the file */
- while (override_options_line[line_pos] != '\0')
+ while (override_options_line[line_pos] != '\0')
{
char first_char;
char *searchStr;
@@ -1044,7 +1016,7 @@ void rewrite_command_line (char *override_options_line, int *argc, char ***argv)
line_pos++;
continue;
}
-
+
/* The first non-space character is the command. */
first_char = override_options_line[line_pos];
line_pos++;
@@ -1074,7 +1046,7 @@ void rewrite_command_line (char *override_options_line, int *argc, char ***argv)
searchStr = arg_string(override_options_line, line_pos, arg_len);
if ((search_index = find_arg(searchStr)) != -1) {
if (search_index >= 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 <blah> is specified.
+ /* If -arch is not present OR Only one -arch <blah> 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");