OSDN Git Service

* config/xtensa/xtensa.c (xtensa_dbx_register_number): Change first
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2003-10-09  Bob Wilson  <bob.wilson@acm.org>
2
3         * config/xtensa/xtensa.c (xtensa_dbx_register_number): Change first
4         FP register number to 48 and MAC16 accumulator to 0x210.
5
6 2003-10-09  Nathanael Nerode  <neroden@gcc.gnu.org>
7
8         * config.gcc: Remove redundant thread_file setting clauses for
9         various *-*-linux* targets.
10
11 2003-10-09  Kazu Hirata  <kazu@cs.umass.edu>
12
13         * config/h8300/h8300.md (define_asm_attributes): New.
14
15 2003-10-09  Roger Sayle  <roger@eyesopen.com>
16
17         * optabs.c (prepare_float_lib_cmp): Always attach a REG_EQUAL note
18         to the comparison, as emit_libcall_block calls copy_rtx on equiv.
19
20 2003-10-09  Dorit Naishlos  <dorit@il.ibm.com>
21
22         * haifa-sched.c (ok_for_early_schedule): New function.
23         (early_queue_to_ready): New function. 
24         (schedule_block): Allow early removal of insns from Q.
25         (schedule_insn): Update INSN_TICK in case of premature
26         issue.
27         * common.opt (sched_stalled_insns): New flag.
28         (sched_stalled_insns_dep): New flag.
29         * flags.h: Same above flags.
30         * opts.c: Same as above.
31         * toplev.c: Same as above.
32         * target.h (targetm.sched.is_costly_dependence): New
33         hook.
34         * target-def.h: Same as above.
35         * config/rs6000/rs6000.h: (rs6000_sched_costly_dep):
36         Support new flag -msched-costly-dep.
37         (DEFAULT_SCHED_COSTLY_DEP): Define.
38         * config/rs6000/rs6000.c:       
39         (rs6000_is_costly_dependence): New function.
40         (is_load_insn, is_store_insn): New functions.
41         (is_load_insn1, is_store_insn1, is_mem_ref): New 
42         functions.
43         * doc/invoke.texi (-fsched-stalled-insns-dep)
44         (-fsched-stalled-insns, -msched-costly-dep): Document
45         options.
46         * doc/tm.texi (is_costly_dependence): Define new 
47         scheduler target hook.
48
49 2003-10-09  Jason Merrill  <jason@redhat.com>
50
51         PR c++/6392
52         * c-common.c (c_build_qualified_type): Look through arrays first.
53         (c_apply_type_quals_to_decl): Look through arrays.
54
55         * c-common.c (c_apply_type_quals_to_decl): Unset TREE_READONLY for
56         types with constructors.
57
58         * coverage.c (build_ctr_info_value): Use build_decl to make a
59         VAR_DECL.
60         (create_coverage): Likewise.
61
62         * stmt.c (resolve_asm_operand_names): Call check_unique_operand_names
63         here.
64         (expand_asm_operands): Not here.
65         (parse_input_constraint): No longer static.
66         * tree.h: Declare it.
67
68 2003-10-08  Kaz Kojima  <kkojima@gcc.gnu.org>
69
70         * config/sh/t-linux (SHLIB_LINK): Override to use a linker script
71         libgcc_s.so.
72         (SHLIB_INSTALL): Likewise.
73
74 2003-10-08  Nathanael Nerode  <neroden@gcc.gnu.org>
75
76         * doc/install.texi: Remove reference to removed 'pthreads' thread
77         option.
78
79 2003-10-08  Aldy Hernandez  <aldyh@redhat.com>
80
81         * config/rs6000/rs6000.md ("abssi2_isel"): Add early clobber to
82         operand 2.
83
84 2003-10-08  Nathanael Nerode  <neroden@gcc.gnu.org>
85
86         * config.gcc: Don't accept --enable-threads=pthreads.  Clean
87         up related case statements.
88         * configure.in: Don't accept --enable-threads=pthreads,
89         decosf1, mach, or os2 (none of which work anyway).  Alphabetize
90         supported thread files in case clause.
91         * configure: Regenerate.
92
93 2003-10-08  Geoffrey Keating  <geoffk@apple.com>
94
95         * function.c (pad_to_arg_alignment): Move 'boundary_in_bytes'
96         definition to above SPARC_STACK_BOUNDARY_HACK.
97
98 2003-10-08  Jason Merrill  <jason@redhat.com>
99
100         * c-pretty-print.c (pp_c_postfix_expression)
101         <COMPOUND_LITERAL_EXPR>: Fix thinko.
102
103 2003-10-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
104
105         * mklibgcc.in: Don't hide undefined or typeless symbols.
106
107 2003-10-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
108
109         PR optimization/12142
110         * cse.c (count_reg_usage): In a SET with a REG SET_DEST, count the
111         uses of the register in the SET_SRC.  Remove unnecessary argument.
112         * pa.c (legitimize_pic_address): Before reload, use a scratch register
113         for the intermediate result in loading the address of a SYMBOL_REF.
114         Set the MEM_NOTRAP_P flag for the MEM.  Add a REG_EQUAL to the insn
115         which loads the SYMBOL_REF address.
116
117 2003-10-08  Timo Kokkonen  <tjko@iki.fi>
118             Eric Botcazou  <ebotcazou@libertysurf.fr>
119
120         PR bootstrap/12490
121         * scan-decls.c (MAX_EXTERN_C_BRACES): New preprocessor constant
122         to define the size of the extern_C_braces array.  Set it to 200.
123         (scan_decls): Abort when extern_C_braces_length is out-of-bounds.
124
125 2003-10-08  Carlo Wood  <carlo@alinoe.com>
126
127         * Makefile.in (gengtype-lex.c): flex 2.5.4[a] doesn't understand
128         a space after the -o option.  flex 2.5.31 understands both, with
129         and without the space. Removed that space.
130
131 2003-10-08  Richard Sandiford  <rsandifo@redhat.com>
132
133         * config/mips/mips.c (mips_frame_info): Add cprestore_size field.
134         (compute_frame_size): Initialize it.  Remove the .cprestore slot
135         from args_size.
136         (mips_output_function_prologue): Simplify accordingly.
137         (mips_debugger_offset): Change the mips16 frame pointer offset from
138         current_function_outgoing_args to cfun->machine->frame.args_size.
139         (mips_initial_elimination_offset): Likewise.
140         (mips_expand_prologue): Likewise.
141         (mips_expand_epilogue): Likewise.
142
143 2003-10-08  Richard Sandiford  <rsandifo@redhat.com>
144
145         * config/mips/mips.h (EXTRA_CONSTRAINT): Add 'W' constraint.
146         (EXTRA_MEMORY_CONSTRAINT): Define.
147         (CAN_ELIMINATE): Remove lwu workaround.
148         * config/mips/mips.md (*zero_extendsidi2_mem): Enable for mips16 too.
149         Use a 'W' constraint for the source operand.
150
151 2003-10-08  Kazu Hirata  <kazu@cs.umass.edu>
152
153         * genopinit.c (main): Output code to declare undefined
154         variables.
155
156 2003-10-07  Kelley Cook  <kcook@gcc.gnu.org>
157
158         * gengtype-lex.l: Remove -Wtraditional cruft.
159         * Makefile.in (gengtype-lex.c): Likewise.
160
161 2003-10-07  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
162
163         * cfgloopmanip.c (fix_irreducible_loops): Initialize e correctly.
164
165 2003-10-07  Jason Merrill  <jason@redhat.com>
166
167         PR c++/12519
168         * c-semantics.c (genrtl_cleanup_stmt): Ignore the CLEANUP_DECL if
169         it isn't a decl.
170
171 2003-10-07  Alexandre Oliva  <aoliva@redhat.com>
172
173         * gcc.c (cpp_options): Only pass -fworking-directory for -g* if
174         not overridden.
175         Fixes PR bootstrap/12173.
176
177 2003-10-07  Zack Weinberg  <zack@codesourcery.com>
178
179         * errors.c: Don't include coretypes.h or tm.h.
180         (trim_filename): Use IS_DIR_SEPARATOR.
181         * Makefile.in: Update dependencies of errors.o and
182         $(BUILD_PREFIX_1)errors.o.
183
184 2003-10-07  Geoffrey Keating  <geoffk@apple.com>
185
186         * function.c (pad_to_arg_alignment): Take STACK_POINTER_OFFSET into
187         account when aligning arguments.
188         * calls.c (STACK_POINTER_OFFSET): Move default from here ...
189         * defaults.h (STACK_POINTER_OFFSET): ... to here.
190         * config/sparc/sparc.h (STACK_BOUNDARY): Add comment about how
191         it's wrong when TARGET_ARCH64 && TARGET_STACK_BIAS.
192         (SPARC_STACK_BOUNDARY_HACK): Define.
193         * config/rs6000/rs6000.c (function_arg): On non-SVR4 systems,
194         arrange for vector parameters to varargs functions to be passed
195         in both memory and GPRs when appropriate.
196         (rs6000_va_arg): Vector arguments passed in memory are 16-byte
197         aligned.
198
199         * hooks.c (hook_bool_tree_true): New.
200         (hook_rtx_tree_int_null): New.
201         (hook_rtx_rtx_null): Use NULL, not 0.
202         * hooks.h: Add 'extern' to everything.
203         (hook_bool_tree_true): New.
204         (hook_rtx_tree_int_null): New.
205         * targhooks.c (hook_bool_CUMULATIVE_ARGS_true): New.
206         * targhooks.h (hook_bool_CUMULATIVE_ARGS_true): New.
207         * config/rs6000/rs6000-protos.h (setup_incoming_varargs): Remove
208         prototype.
209         * config/rs6000/rs6000.c (rs6000_return_in_memory): New.
210         (setup_incoming_varargs): Prototype.
211         (TARGET_PROMOTE_FUNCTION_ARGS): Define.
212         (TARGET_PROMOTE_FUNCTION_RETURN): Define.
213         (TARGET_STRUCT_VALUE_RTX): Define.
214         (TARGET_RETURN_IN_MEMORY): Define.
215         (TARGET_SETUP_INCOMING_VARARGS): Define.
216         (TARGET_STRICT_ARGUMENT_NAMING): Define.
217         (TARGET_PRETEND_OUTGOING_VARARGS_NAMED): Define.
218         (init_cumulative_args): Use rs6000_return_in_memory.
219         (setup_incoming_varargs): Make 'static'.
220         * config/rs6000/rs6000.h (PROMOTE_FUNCTION_ARGS): Delete.
221         (PROMOTE_FUNCTION_RETURN): Delete.
222         (STRUCT_VALUE): Delete.
223         (RETURN_IN_MEMORY): Delete.
224         (SETUP_INCOMING_VARARGS): Delete.
225
226 2003-10-07  Gerald Pfeifer  <gerald@pfeifer.com>
227
228         * doc/invoke.texi (Warning Options): Simplify and clarify the
229         descriptions of -Wnonnull and -Winit-self.
230
231 2003-10-07  Richard Earnshaw  <rearnsha@arm.com>
232
233         * optabs.c (init_intraclass_conv_libfuncs): Fix order of array
234         indicees for floating-point conversersion libcalls.
235
236 2003-10-07  Nathanael Nerode  <neroden@gcc.gnu.org>
237
238         * Makefile.in: Add more comments separating large conceptually
239         separate sections.
240
241         * configure.in: Clean up thread file logic.
242         * configure: Regenerate.
243
244 2003-10-07  Danny Smith  <dannysmith@users.sourceforge.net>
245
246         * config/i386/cygming.h (READONLY_DATA_SECTION_ASM_OP): Define.
247         (switch_to_section): Handle in_readonly_data.
248         * config/i386/winnt.c (i386_pe_asm_named_section): Handle
249         readonly data.
250
251 2003-10-07  Richard Earnshaw  <rearnsha@arm.com>
252
253         * arm.md (cmpsi2_addneg): New ARM pattern. Add peephole2 to generate
254         it.
255         (cbranchne_decr1): New Thumb pattern.
256         * arm.c (arm_addimm_operand): New insn predicate.
257         * arm-protos.h: Add a prototype for it.
258         * arm.h (PREDICATE_CODES): Add it.
259
260 2003-10-07  Dorit Naishlos <dorit@il.ibm.com>
261
262         * sched-int.h (sched_info): New field
263         sched_max_insns_priority.
264         * sched-rgn.c (init_ready_list): Add invocations to
265         targetm.sched.adjust_priority.
266         (sched_max_insns_priority): Init new field.
267         * sched-ebb.c (sched_max_insns_priority): Init new field.
268         * haifa-sched.c (set_priorities): Set
269         sched_info->sched_max_insns_priority.
270         * config/rs6000/rs6000.h:
271         (rs6000_sched_restricted_insns_priority_str): Support new
272         flag -mprioritize-restricted-insns.
273         (DEFAULT_RESTRICTED_INSNS_PRIORITY): Define.
274         * config/rs6000/rs6000.c (is_dispatch_slot_restricted): New
275         function.
276         (rs6000_adjust_priority): Change priority of restricted
277         insns, using above new function and new flag.
278         * doc/invoke.texi (-mprioritize-restricted-insns): Document
279         new option.
280
281 2003-10-07  Zack Weinberg  <zack@codesourcery.com>
282
283         * expr.c (cmpstr_optab, cmpmem_optab): New.
284         * genopinit.c: Initialize them.
285         * optabs.h: Declare them.
286         * optabs.c (init_optabs): Clear them.
287         (prepare_cmp_insn):  Use cmpstr_optab and cmpmem_optab to find
288         block memory compare insns, not conditional chains.  Restructure
289         the fallback generation of a call to memcmp/bcmp for better
290         readability.
291
292 2003-10-07  Richard Sandiford  <rsandifo@redhat.com>
293
294         * config/mips/mips.c (MIPS_MAX_FIRST_STACK_STEP): New macro.
295         (mips_save_restore_fn): New typedef.
296         (mips_add_large_offset_to_sp, mips_emit_frame_related_store): Remove.
297         (mips_set_frame_expr, mips_frame_set): Move above prologue code.
298         (save_restore_insns): Remove, replacing with...
299         (mips_save_restore_reg, mips_for_each_saved_reg): ...these new fns.
300         (mips_save_reg, mips_restore_reg): New function.
301         (mips_expand_prologue, mips_expand_epilogue): Rework.
302         * config/mips/mips.h (MIPS_TEMP1_REGNUM, MIPS_TEMP2_REGNUM): Remove.
303         (MIPS_PROLOGUE_TEMP_REGNUM, MIPS_EPILOGUE_TEMP_REGNUM): New macros.
304         (MIPS_PROLOGUE_TEMP, MIPS_EPILOGUE_TEMP): New macros.
305
306 2003-10-07  Richard Sandiford  <rsandifo@redhat.com>
307
308         * config/mips/mips.c (mips_expand_prologue): Remove unused
309         traversal of function arguments.
310
311 2003-10-07  Richard Sandiford  <rsandifo@redhat.com>
312
313         * doc/invoke.texi: Remove documentation of -mentry.
314         * config/mips/mips.c (mips_entry_string, mips_entry): Remove.
315         (override_options, mips_save_reg_p): Remove handling.
316         (compute_frame_size, mips_output_function_prologue): Likewise.
317         (mips_expand_prologue, mips_expand_epilogue): Likewise.
318         * config/mips/mips.h (mips_entry_string): Remove declaration.
319         (TARGET_OPTIONS): Remove -mentry.
320         * config/mips/mips16.S: Remove mention of -mentry.
321
322 2003-10-06  Zack Weinberg  <zack@codesourcery.com>
323
324         * libfuncs.h (LTI_extendsfdf2, LTI_extendsfxf2, LTI_extendsftf2)
325         (LTI_extenddfxf2, LTI_extenddftf2, LTI_truncdfsf2, LTI_truncxfsf2)
326         (LTI_trunctfsf2, LTI_truncxfdf2, LTI_trunctfdf2, LTI_floatsisf)
327         (LTI_floatdisf, LTI_floattisf, LTI_floatsidf, LTI_floatdidf)
328         (LTI_floattidf, LTI_floatsixf, LTI_floatdixf, LTI_floattixf)
329         (LTI_floatsitf, LTI_floatditf, LTI_floattitf, LTI_fixsfsi, LTI_fixsfdi)
330         (LTI_fixsfti, LTI_fixdfsi, LTI_fixdfdi, LTI_fixdfti, LTI_fixxfsi)
331         (LTI_fixxfdi, LTI_fixxfti, LTI_fixtfsi, LTI_fixtfdi, LTI_fixtfti)
332         (LTI_fixunssfsi, LTI_fixunssfdi, LTI_fixunssfti, LTI_fixunsdfsi)
333         (LTI_fixunsdfdi, LTI_fixunsdfti, LTI_fixunsxfsi, LTI_fixunsxfdi)
334         (LTI_fixunsxfti, LTI_fixunstfsi, LTI_fixunstfdi, LTI_fixunstfti)
335         (extendsfdf2_libfunc, extendsfxf2_libfunc, extendsftf2_libfunc)
336         (extenddfxf2_libfunc, extenddftf2_libfunc, truncdfsf2_libfunc)
337         (truncxfsf2_libfunc, trunctfsf2_libfunc, truncxfdf2_libfunc)
338         (trunctfdf2_libfunc, floatsisf_libfunc, floatdisf_libfunc)
339         (floattisf_libfunc, floatsidf_libfunc, floatdidf_libfunc)
340         (floattidf_libfunc, floatsixf_libfunc, floatdixf_libfunc)
341         (floattixf_libfunc, floatsitf_libfunc, floatditf_libfunc)
342         (floattitf_libfunc, fixsfsi_libfunc, fixsfdi_libfunc, fixsfti_libfunc)
343         (fixdfsi_libfunc, fixdfdi_libfunc, fixdfti_libfunc, fixxfsi_libfunc)
344         (fixxfdi_libfunc, fixxfti_libfunc, fixtfsi_libfunc, fixtfdi_libfunc)
345         (fixtfti_libfunc, fixunssfsi_libfunc, fixunssfdi_libfunc)
346         (fixunssfti_libfunc, fixunsdfsi_libfunc, fixunsdfdi_libfunc)
347         (fixunsdfti_libfunc, fixunsxfsi_libfunc, fixunsxfdi_libfunc)
348         (fixunsxfti_libfunc, fixunstfsi_libfunc, fixunstfdi_libfunc)
349         (fixunstfti_libfunc): Delete.
350         * optabs.h (struct optab_handlers): Break out of struct optab.
351         (struct convert_optab, convert_optab, enum convert_optab_index,
352         convert_optab_table, sext_optab, zext_optab, trunc_optab,
353         sfix_optab, ufix_optab, sfixtrunc_optab, ufixtrunc_optab,
354         sfloat_optab, ufloat_optab): New.
355         (set_conv_libfunc): Prototype.
356         (GEN_FCN): Use C90 indirect call syntax, remove unnecessary cast.
357         (trunc_optab): Renamed btrunc_optab.
358         * builtins.c (expand_builtin_mathfn): Update to match.
359         * optabs.c (extendtab, fixtab, fixtrunctab, floattab): Delete.
360         (convert_optab_table, new_convert_optab, init_convert_optab)
361         (init_interclass_conv_libfuncs, init_intraclass_conv_libfuncs)
362         (set_conv_libfunc): New.
363         (can_extend_p, gen_extend_insn, can_fix_p, can_float_p)
364         (expand_float, expand_fix): Use new conversion optabs,
365         not old insn code tables or long chains of ifs.
366         (init_optabs): No need to clear old insn code tables.
367         Initialize the new optabs, not the old libfunc array entries.
368         Don't handle FIXUNS_TRUNC_LIKE_FIX_TRUNC here.
369         * genopinit.c: Initialize conversion optabs, not the
370         former insn code tables.  Remove unnecessary casts.
371         Handle FIXUNS_TRUNC_LIKE_FIX_TRUNC here.
372         * expr.c (convert_move): Remove redundant check that
373         to_real==from_real.  Use the conversion optabs instead
374         of long chains of tests of modes.  Move partial-integer-mode
375         interconversion above all integer conversion.  Do not recurse
376         on a value forced into a register in the original mode.
377
378         * config/gofast.h, config/frv/frv.c, config/ia64/ia64.c
379         * config/mips/mips.c, config/pa/pa.c, config/rs6000/rs6000.c
380         * config/sparc/sparc.c: Use set_conv_libfunc to adjust entries
381         in new conversion optabs; do not reference the old libfunc
382         array entries.  No need to include libfuncs.h.
383
384 2003-10-06  Roger Sayle  <roger@eyesopen.com>
385
386         * config/i386/i386.c (ix86_expand_setcc): Annotate the floating
387         point comparison sequence with a REG_EQUAL note that describes
388         the comparison's semantics.
389
390 2003-10-06  Roger Sayle  <roger@eyesopen.com>
391
392         * expr.c (expand_expr <COND_EXPR>): Handle the void type semantics
393         of COND_EXPR when expanding the "A op 0 ? FOO : A" optimizations.
394
395 2003-10-06  Roger Sayle  <roger@eyesopen.com>
396             Zack Weinberg  <zack@codesourcery.com>
397
398         * optabs.c (prepare_float_lib_cmp): Avoid searching for REG_RETVAL
399         instruction by using LCT_CONST and then calling emit_libcall_block
400         ourselves.
401
402 2003-10-06  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
403
404         PR optimization/11974
405         * optabs.c (expand_unop): Promote libcall outmode according to
406         hard_libcall_value.
407
408 2003-10-06  Zack Weinberg  <zack@codesourcery.com>
409
410         * real.h (REAL_MODE_FORMAT): New macro.
411         * c-cppbuiltin.c, optabs.c, real.c, config/alpha/alpha.c
412         * config/c4x/c4x.c, config/i370/i370.c, config/i386/freebsd.h
413         * config/i386/i386.c, config/i960/i960.c, config/ia64/ia64.c
414         * config/m68k/m68k.c, config/mips/mips.c, config/rs6000/rs6000.c
415         * config/vax/vax.c: Use REAL_MODE_FORMAT instead of referring
416         directly to real_format_for_mode array, wherever possible.
417
418 2003-10-06  Devang Patel  <dpatel@apple.com>
419
420         * dwarf2out.c (is_main_source): Remove variable.
421         (dwarf2out_start_source_file): Do not check is_main_source.
422         Do not reset is_main_source.
423         (dwarf2out_init): Do not initialize is_main_source.
424
425 2003-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
426
427         * fixinc/inclhack.def (stdio_va_list): Removed _ap fix.
428         (irix_stdio_va_list): Don't require leading printf, IRIX 6.5.21
429         introduced some multi-line prototypes.
430         * fixinc/fixincl.x: Regenerate.
431
432 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
433
434         * config/mips/mips.h (PREDICATE_CODES): Add stack_operand.
435         * config/mips/mips.c (stack_operand): New predicate.
436         * config/mips/mips.md: Use it for the destination of mips16 insns
437         that store $31.
438
439 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
440
441         * config/mips/mips.md (*lowsi): Renamed from lowsi.
442         (*lowdi): Likewise lowdi.
443         (*lowsi_mips16, *lowdi_mips16): New patterns.
444         * config/mips/mips.c (mips_const_insns, mips_output_move): Remove
445         mips16 CONSTANT_RELOC handling.
446         (mips_delegitimize_address): Adjust for new sdata representation.
447
448 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
449
450         * config/mips/mips.c (mips_arg_info): If MUST_PASS_IN_STACK,
451         skip any remaining register arguments.
452
453 2003-10-06  Ulrich Weigand  <uweigand@de.ibm.com>
454
455         * reload.c (find_reloads_subreg_address): Use correct offset for
456         paradoxical MEM subregs on big-endian targets.
457
458 2003-10-06  Andrew Haley  <aph@redhat.com>
459
460         * tree.c (get_callee_fndecl): Call
461         lang_hooks.lang_get_callee_fndecl.
462         * langhooks-def.h (LANG_HOOKS_GET_CALLEE_FNDECL): New.
463         (lhd_get_callee_fndecl): New.
464
465 2003-10-06  Andrew Pinski  <apinski@apple.com>
466
467         * config/darwin.c (machopic_non_lazy_ptr_name): Fix off by one
468         error in calculating the length of the string.
469         (machopic_stub_name): Likewise.
470
471 2003-10-06  Roger Sayle  <roger@eyesopen.com>
472
473         * optabs.c (prepare_float_lib_cmp):  Attach a REG_EQUAL note
474         describing the return value of the comparison libcall to the
475         REG_RETVAL instruction of the emitted sequence.
476
477 2003-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
478
479         PR optimization/12215
480         * cse.c (cse_set_around_loop): Emit the move at the beginning
481         of the next basic block for trapping sets.
482
483 2003-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
484
485         PR optimization/11637
486         * combine.c (adjust_for_new_dest): New function to adjust the
487         notes and LOG_LINKS when the dest of an insn has changed.
488         (try_combine): Use it when deleting the first insn of a two-insn
489         parallel or splitting a two-load parallel.
490
491 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
492
493         * config/mips/mips.c (mips_classify_constant): Only allow UNSPECs
494         if TARGET_EXPLICIT_RELOCS.
495
496 2003-10-06  Mark Mitchell  <mark@codesourcery.com>
497
498         PR bootstrap/12512
499         * Makefile.in (info): Use double-colon rules.
500         (dvi): Likewise.
501         (generated-manpages): Likewise.
502         * configure.in: Do not create lang.info, lang.dvi, or
503         lang.generated-manpages hooks.
504         * configure: Regenerated.
505         * objc/Make-lang.in (objc.info): Remove.
506         (objc.dvi): Remove.
507         (objc.generated-manpages): Remove.
508         * doc/sourcebuild.texi: Update description of info, dvi, and
509         generated-manpages hooks.
510
511 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
512
513         * config/mips/mips.md: Merge mips16 lw/srl pattern with its splitter.
514
515 2003-10-05  Andrew Pinski  <apinski@apple.com>
516
517         * config/darwin.c (machopic_non_lazy_ptr_name): Fix off by one
518         errors in memcpy destinations.
519         (machopic_stub_name): Likewise.
520
521 2003-10-05  Andrew Pinski <apinski@apple.com>
522
523         * config/darwin.c (machopic_non_lazy_ptr_name):
524         Change strcat to memcpy and add length together.
525         (machopic_stub_name): Likewise.
526
527 2003-10-05  Kaz Kojima  <kkojima@gcc.gnu.org>
528
529         * config/sh/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Handle new
530         signal trampoline codes.
531
532 2003-10-05  Chris Demetriou  <cgd@broadcom.com>
533
534         * config/mips/mips.md (*divsf3): Move description of
535         SB-1 F2 erratum from here to...
536         (divsf3): Here.  Disable if TARGET_FIX_SB1 is set and
537         flag_unsafe_math_optimizations is not.
538
539 2003-10-05  Aldy Hernandez  <aldyh@redhat.com>
540
541         * config/rs6000/linuxspe.h: Define TARGET_SPE_ABI, TARGET_SPE,
542         TARGET_E500, TARGET_ISEL, and TARGET_FPRS.
543
544 2003-10-05  Kazu Hirata  <kazu@cs.umass.edu>
545
546         * c-pretty-print.c: Fix comment typos.
547         * c-pretty-print.h: Likewise.
548         * calls.c: Likewise.
549         * cfgloopmanip.c: Likewise.
550         * cgraphunit.c: Likewise.
551         * cppfiles.c: Likewise.
552         * final.c: Likewise.
553         * function.c: Likewise.
554         * gcov-io.h: Likewise.
555         * gcse.c: Likewise.
556         * genoutput.c: Likewise.
557         * loop.c: Likewise.
558         * postreload.c: Likewise.
559         * reg-stack.c: Likewise.
560         * regmove.c: Likewise.
561         * sched-int.h: Likewise.
562         * sched-rgn.c: Likewise.
563         * simplify-rtx.c: Likewise.
564         * tree-inline.c: Likewise.
565         * config/m68hc11/m68hc11.h: Likewise.
566         * config/mmix/mmix.c: Likewise.
567         * config/mn10300/mn10300.md: Likewise.
568         * config/sh/sh.h: Likewise.
569
570 2003-10-05  Richard Henderson  <rth@redhat.com>
571
572         * tree-inline.c (remap_type): New.
573         (remap_decl): Use it.  Remap DECL_SIZE*.
574         (copy_body_r): Use it.
575         (walk_tree): Walk TREE_TYPE too.
576         (copy_tree_r): Don't walk subtrees of types.
577         * tree.c (variably_modified_type_p): Restructure.  Consider integer
578         types with non-const bounds variably modified.
579
580 2003-10-05  Kazu Hirata  <kazu@cs.umass.edu>
581
582         * doc/invoke.texi: Fix typos.
583
584 2003-10-05  Kazu Hirata  <kazu@cs.umass.edu>
585
586         * fold-const.c: Follow spelling conventions.
587         * function.c: Likewise.
588         * config/c4x/c4x.h: Likewise.
589         * config/c4x/c4x.md: Likewise.
590         * config/frv/frv.md: Likewise.
591         * config/rs6000/aix.h: Likewise.
592         * config/rs6000/linux64.h: Likewise.
593         * config/xtensa/xtensa.c: Likewise.
594
595 2003-10-05  Kazu Hirata  <kazu@cs.umass.edu>
596
597         * c-pretty-print.c: Fix comment formatting.
598         * cfglayout.c: Likewise.
599         * cfgloopanal.c: Likewise.
600         * cppcharset.c: Likewise.
601         * dbxout.c: Likewise.
602         * ggc-page.c: Likewise.
603         * ggc.h: Likewise.
604         * target.h: Likewise.
605
606 2003-10-04  Kelley Cook  <kelleycook@wideopenwest.com>
607
608         * gengtype-lex.l: Recognize typedef of functions without PARAMS macro.
609
610 2003-10-04  Nathanael Nerode  <neroden@gcc.gnu.org>
611
612         * config/v850/v850-c.c, config/v850/v850-protos.h, config/v850/v850.c:
613         Convert to ISO C90 function declarations and definitions.
614
615 2003-10-04  Zack Weinberg  <zack@codesourcery.com>
616
617         * libfuncs.h
618         (LTI_eqhf2, LTI_nehf2, LTI_gthf2, LTI_gehf2, LTI_lthf2)
619         (LTI_lehf2, LTI_unordhf2, LTI_eqsf2, LTI_nesf2, LTI_gtsf2)
620         (LTI_gesf2, LTI_ltsf2, LTI_lesf2, LTI_unordsf2, LTI_eqdf2)
621         (LTI_nedf2, LTI_gtdf2, LTI_gedf2, LTI_ltdf2, LTI_ledf2)
622         (LTI_unorddf2, LTI_eqxf2, LTI_nexf2, LTI_gtxf2, LTI_gexf2)
623         (LTI_ltxf2, LTI_lexf2, LTI_unordxf2, LTI_eqtf2, LTI_netf2)
624         (LTI_gttf2, LTI_getf2, LTI_lttf2, LTI_letf2, LTI_unordtf2)
625         (eqhf2_libfunc, nehf2_libfunc, gthf2_libfunc, gehf2_libfunc)
626         (lthf2_libfunc, lehf2_libfunc, unordhf2_libfunc, eqsf2_libfunc)
627         (nesf2_libfunc, gtsf2_libfunc, gesf2_libfunc, ltsf2_libfunc)
628         (lesf2_libfunc, unordsf2_libfunc eqdf2_libfunc, nedf2_libfunc)
629         (gtdf2_libfunc, gedf2_libfunc, ltdf2_libfunc, ledf2_libfunc)
630         (unorddf2_libfunc eqxf2_libfunc, nexf2_libfunc, gtxf2_libfunc)
631         (gexf2_libfunc, ltxf2_libfunc, lexf2_libfunc, unordxf2_libfunc
632         (eqtf2_libfunc, netf2_libfunc, gttf2_libfunc, getf2_libfunc)
633         (lttf2_libfunc, letf2_libfunc, unordtf2_libfunc):
634         Delete.
635         * optabs.h (OTI_eq, OTI_ne, OTI_gt, OTI_ge, OTI_lt, OTI_le)
636         (OTI_unord, eq_optab, ne_optab, gt_optab, ge_optab, lt_optab)
637         (le_optab, unord_optab): New.
638
639         * optabs.c (prepare_float_lib_cmp): Rewrite.  Get the libfuncs
640         from the code_to_optab table, not a giant switch; use
641         swap_condition; do widening only if a comparison function that
642         we can call exists in a wider mode, not if a cmp_optab insn or
643         libfunc exists in a wider mode; call protect_from_queue
644         exactly once on each operand.
645         (init_optabs): Initialize the new optabs, not the deleted libfuncs.
646
647         * config/gofast.h, config/ia64/ia64.c, config/mips/mips.c
648         * config/pa/pa.c, config/rs6000/rs6000.c, config/sparc/sparc.c:
649         Set floating point comparison libfuncs using set_optab_libfunc
650         on the appropriate optab.
651
652         * config/ia64/ia64.c (ia64_hpux_init_libfuncs): Fix typo.
653         * config/rs6000/rs6000.c (rs6000_init_libfuncs): Correct ABI
654         selector conditionals.
655
656 2003-10-04  Stephane Carrez  <stcarrez@nerim.fr>
657
658         * config/m68hc11/t-m68hc11-gas (MULTILIB_MATCHES): m68hcs12 is
659         identical to m68hc12 as far as libraries are concerned.
660
661 2003-10-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
662
663         PR c/12446
664         * c-typeck.c (convert_for_assignment): Issue an error for
665         array to pointer assignment after default conversion.
666         (digest_init): Likewise.
667
668 2003-10-04  Fariborz Jahanian  <fjahanian@apple.com>
669
670         * c-decl.c (duplicate_decls): retain DECL_COMMON of old declaration
671
672 2003-10-03  Gerald Pfeifer  <gerald@pfeifer.com>
673
674         * doc/extend.texi (Function Attributes): Fix title of GNU C
675         Preprocessor manual.
676         (C++ Extensions): Fix reference to "Predefined Macros" in the
677         GNU C Preprocessor manual.
678
679 2003-10-04  Richard Earnshaw  <reanrsha@arm.com>
680
681         * doc/extend.texi: Document how GCC estimates and relies on the size
682         of an asm.
683
684 2003-10-04  Richard Sandiford  <rsandifo@redhat.com>
685
686         * config/mips/mips.c (mips_pad_arg_upward): Pad floating-point
687         arguments downward for big-endian o64.
688
689 2003-10-03  Robert Bowdidge <bowdidge@apple.com>
690
691         * ggc-page.c (ggc_pch_write_object): Replace fseek() with fwrite() in
692         PCH generation, avoiding too-frequent flushes when writing to NFS
693         file system.
694
695 2003-10-03  Ziemowit Laski  <zlaski@apple.com>
696
697         * objc/objc-act.c (lookup_category): Mark as 'inline'.
698
699 2003-10-03  Alexander Malmberg  <alexander@malmberg.org>
700             Ziemowit Laski  <zlaski@apple.com>
701
702         * objc/objc-act.c (add_method_to_hash_list, lookup_category):
703         New functions.
704         (lookup_method_in_hash_lists): New parameter indicating whether
705         we are messaging 'Class' or 'id'.
706         (check_duplicates): Likewise; do not assume all methods will
707         be either class or instance methods.
708         (generate_category, finish_class): Use lookup_category().
709         (add_method): Use add_method_to_hash_list(); insert instance
710         methods of root classes into the global class method hash table.
711         (add_category): Use lookup_category(); avoid constructing
712         duplicate categories.
713         (really_start_method): Add method to corresponding @interface,
714         if not already there (and if the @interface exists).
715         (finish_message_expr, finish_objc): Adjust calls to
716         check_duplicates().
717
718 2003-10-03  Roger Sayle  <roger@eyesopen.com>
719
720         PR optimization/9325, PR java/6391
721         * fold-const.c (fold_convert): For floating point to integer
722         conversions, return the maximum/minimum representable integer
723         value if the real constant overflows the destination type.
724         * tree.c (real_value_from_int_cst): Allow the type to be NULL,
725         meaning don't truncate the result to a floating point mode.
726         Simplify the logic by calling real_from_integer directly.
727         * simplify-rtx.c (simplify_unary_operation):  Implement the
728         same semantics for folding floating point to integer conversions
729         in RTL.
730
731 2003-10-03  Chris Demetriou  <cgd@broadcom.com>
732
733         * config/mips/mips.c (mips_emit_prefetch): Restructure
734         to avoid use of arrays, handle indexed prefetch.
735         * config/mips/mips.h (ISA_HAS_FP4, ISA_HAS_PREFETCH): Update comments.
736         (ISA_HAS_PREFETCHX): New deffine.
737         * config/mips/mips.md ("type" attr): Add new "prefetchx" value,
738         update comments.
739         (prefetch_indexed_di, prefetch_indexed_si): New insns.
740
741 2003-10-03  Jeff Sturm  <jsturm@one-point.com>
742             Roger Sayle  <roger@eyesopen.com>
743
744         PR optimization/12289
745         * calls.c (emit_call_1): Pretend to have popped the arguments
746         to noreturn and longjmp functions instead of ignoring them.
747         (expand_call): Don't adjust stack_pointer_dela while
748         inhibit_defer_pop is set.
749
750 2003-10-03  Andreas Schwab  <schwab@suse.de>
751
752         PR bootstrap/12276
753         * configure.in: Check for libunwind on the host only if building
754         a native compiler.
755         * configure: Regenerated.
756
757 2003-10-03  Paolo Carlini  <pcarlini@unitus.it>
758
759         * unwind-pe.h (read_encoded_value_with_base): Constify u and
760         its inizialization cast.
761
762 2003-10-03  Richard Sandiford  <rsandifo@redhat.com>
763
764         PR target/12485
765         * config/mips/mips.c (mips_load_got): GOT accesses can't trap.
766
767 2003-10-02  Mark Mitchell  <mark@codesourcery.com>
768
769         PR optimization/12180
770         * tree-inline.c (inline_forbidden_p_1): Do not permit inlining of
771         functions containing calls to __builtin_next_arg.
772
773 2003-10-02  Chris Demetriou  <cgd@broadcom.com>
774
775         * config/mips/mips.c (mips_emit_prefetch): Use operand 3
776         in instructions being output.
777         * config/mips/mips.md (prefetch_si_address): Change third
778         operand's constraint letter to 'I'.
779         (prefetch_di_address): Likewise.
780         (prefetch_si, prefetch_di): Set third operand to const0_rtx.
781
782 2003-10-02  Zack Weinberg  <zack@codesourcery.com>
783
784         * system.h: Poison macros obsoleted by earlier patch.
785         * config/cris/cris.c: C90-ify a function definition.
786
787 2003-10-02  Josef Zlomek  <zlomekj@suse.cz>
788
789         PR/12292
790         * combine.c (make_field_assignment): Check whether rtx's code
791         is CONST_INT before using INTVAL.
792
793 2003-10-02  Josef Zlomek  <zlomekj@suse.cz>
794
795         * cgraph.c (cgraph_node): Use INSERT instead of 1 in
796         htab_find_slot_with_hash.
797         (cgraph_node_for_identifier): Use NO_INSERT.
798         (cgraph_remove_node): Use NO_INSERT.
799         (cgraph_varpool_node): Use INSERT.
800         (cgraph_varpool_node_for_identifier): Use NO_INSERT.
801
802 2003-10-02  Josef Zlomek  <zlomekj@suse.cz>
803
804         Waldek Hebisch <hebisch@math.uni.wroc.pl>
805         PR/12072
806         * varasm.c (compare_constant): Fix thinko.
807
808 2003-10-02  Richard Sandiford  <rsandifo@redhat.com>
809
810         * config/frv/frv.c (frv_issue_rate): New function.
811         (frv_pack_insns): Use it.
812         (TARGET_SCHED_ISSUE_RATE): Define.
813
814 2003-10-02  Steven Bosscher <s.bosscher@student.tudelft.nl>
815
816         * config/mcore/mcore.c: Convert to ISO C90 function declarations
817         and definitions.
818         * config/mcore/mcore.h: Likewise.
819         * config/mcore/mcore-protos.h: Likewise.
820
821 2003-10-02  Richard Sandiford  <rsandifo@redhat.com>
822
823         * config/frv/frv.c (frv_use_dfa_pipeline_interface): New function.
824         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define.
825
826 2003-10-01  Per Bothner  <pbothner@apple.com>
827
828         * c-lex.c (src_line):   Remove unneeded static variable.
829         (cb_line_change):  Set input_line directly, instead of src_line.
830         (get_non_padding_token):  We no longer need to compensate for the
831         "horrible things" the C++ front-end does with the current line number,
832
833         * cpplib.c (_cpp_pop_buffer):  Do generate a _cpp_do_file_change
834         callback even when popping the main file.
835         * c-lex.c (fe_file_change):  Handle a NULL new_map.
836         * fix-header.c (cb_file_change):  Likewise.
837         * c-ppoutput.c (pp_file_change):  Likewise.
838
839         * cppinit.c (cpp_read_main_file):  Split into two functions:
840         Distribute _cpp_stack_file call over the two functions.
841         (cpp_find_main_file):  New function.
842         Don't call _cpp_do_file_change even if working_directory flag set.
843         (cpp_push_main_file):  New function.
844         * cppfiles.c (_cpp_find_failed):  New helper function.
845         (find_file):  Made non-static and renamed to _cpp_find_file.
846         (_cpp_stack_file):  No longer needed.  But note the following.
847         (stack_file):  Made non-static and renamed to _cpp_stack_file.
848         * fix-header.c (cpp_read_main_file):  Replace cpp_read_main_file
849         call with calls to cpp_find_main_file and cpp_push_main_file.
850         (search_path_head):  If there is no current buffer, use main_file.
851         * cpphash.h:  Update function declarations.
852         * cpplib.h:  Update function declarations.
853
854         * c-opts.c (c_common_post_options):  Don't call cpp_find_main_file yet.
855         (c_common_parse_file):  No longer need to call cpp_read_main_file
856         when file_index > 0 (as in multi-file or server compiation).
857         (finish_options):  Change to <built-in> is an LC_ENTER, not LC_RENAME
858         as this now happens before cpp_push_main_file.
859         (push_command_line_include):  When done with options, pass LC_LEAVE
860         instead of LC_RENAME to cpp_change_file and finally cpp_push_main_file.
861         (fe_file_change):  Handle NULL new_map, and simplify.
862         * cpplex.c (_cpp_get_fresh_line):  Revert my no-longer-needed
863         08-28 change, since we're never called with a NULL buffer.
864         (_cpp_lex_direct):  Likewise.
865         * cpptrad.c (_cpp_read_logical_line_trad):  Likewise.
866         Return false if buffer is NULL at end.
867
868         * cpplex.c (_cpp_get_fresh_line):  Return value now just depends on
869         whether pfile->buffer is NULL after pop, ignoring return_at_eof.
870         * cpphash.h (struct cpp_buffer):  Remove unused return_at_eof field.
871         * cpplib.c (cpp_push_buffer):  Since we no longer set return_at_eof,
872         remove the unused return_at_eof parameter.
873         * cppfiles.c, cpplib.c, cppmacro.c, cpppch.c, fix-header.c:
874         Update callers of cpp_push_buffer.
875
876 2003-10-01  Zack Weinberg  <zack@codesourcery.com>
877
878         * target.h (init_libfuncs): New hook.
879         * target-def.h: Default TARGET_INIT_BUILTINS and
880         TARGET_INIT_LIBFUNCS to hook_void_void.  Add
881         TARGET_INIT_LIBFUNCS to TARGET_INITIALIZER.
882         * builtins.c (default_init_builtins): Delete.
883         * expr.h (default_init_builtins): Delete prototype.
884         * doc/tm.texi: Document TARGET_INIT_LIBFUNCS and US_SOFTWARE_GOFAST.
885         Tweak documentation of TARGET_FLOAT_LIB_COMPARE_RETURNS_BOOL.
886         Remove documentation of INIT_TARGET_OPTABS, MULSI3_LIBCALL,
887         DIVSI3_LIBCALL, UDIVSI3_LIBCALL, MODSI3_LIBCALL, UMODSI3_LIBCALL,
888         MULDI3_LIBCALL, DIVDI3_LIBCALL, UDIVDI3_LIBCALL, MODDI3_LIBCALL,
889         and UMODDI3_LIBCALL,
890
891         * Makefile.in (optabs.o): Depends on target.h.
892         * defaults.h: Provide default for FLOAT_LIB_COMPARE_RETURNS_BOOL.
893         * optabs.c: Include target.h.
894         (prepare_float_lib_cmp): No need for #ifdef around use of
895         FLOAT_LIB_COMPARE_RETURNS_BOOL.
896         (set_optab_libfunc): New function.
897         (init_optabs): Delete use of all *_LIBCALL defines.
898         Call targetm.init_libfuncs not INIT_TARGET_OPTABS.
899         * optabs.h: Prototype set_optab_libfunc.
900
901         * config.gcc: Remove all references to pa/long_double.h,
902         ia64/hpux_longdouble.h, and gofast.h.
903         (mips-*-*): When --enable-gofast, just add US_SOFTWARE_GOFAST
904         to tm_defines; don't set INIT_SUBTARGET_OPTABS or change tm_file.
905
906         * config/alpha/alpha.c, config/c4x/c4x.c, config/cris/cris.c
907         * config/frv/frv.c, config/h8300/h8300.c, config/i860/i860.c
908         * config/ia64/ia64.c, config/ip2k/ip2k.c, config/m68hc11/m68hc11.c
909         * config/mips/mips.c, config/pa/pa.c, config/rs6000/rs6000.c
910         * config/sparc/sparc.c, config/vax/vax.c:
911         Provide a definition for TARGET_INIT_LIBFUNCS.  Where
912         necessary, include optabs.h, libfuncs.h, and/or config/gofast.h.
913
914         * config/alpha/unicosmk.h, config/alpha/vms.h, config/c4x/c4x.h
915         * config/avr/avr.h, config/cris/cris.h, config/frv/frv.h
916         * config/h8300/h8300.h, config/i860/i860.h, config/ip2k/ip2k.h
917         * config/iq2000/iq2000.h, config/m68hc11/m68hc11.h, config/mips/mips.h
918         * config/rs6000/aix.h, config/rs6000/sysv4.h, config/sparc/elf.h
919         * config/sparc/lite.h, config/sparc/netbsd-elf.h, config/sparc/sol2.h
920         * config/sparc/sparc.h, config/v850/v850.h, config/vax/vax.h
921         * config/vax/elf.h: Don't define or use INIT_TARGET_OPTABS,
922         INIT_SUBTARGET_OPTABS, or any *_LIBCALL macros.
923
924         * config/ia64/hpux.h: Redefine INTEL_EXTENDED_IEEE_FORMAT to 0.
925         Set TARGET_INIT_LIBFUNCS and FLOAT_LIB_COMPARE_RETURNS_BOOL here.
926         * config/pa/pa-hpux.h: Define LONG_DOUBLE_TYPE_SIZE,
927         HPUX_LONG_DOUBLE_LIBRARY, and FLOAT_LIB_COMPARE_RETURNS_BOOL here.
928         * config/ia64/hpux_longdouble.h, config/pa/long_double.h: Delete.
929
930         * config/rs6000/xcoff.h: Don't define RS6000_ITRUNC nor RS6000_UITRUNC.
931         * config/sparc/sparc.h: Default SUN_CONVERSION_LIBFUNCS and
932         SUN_INTEGER_MULTIPLY_64 to 0.
933         * config/sparc/sol2.h: Redefine SUN_CONVERSION_LIBFUNCS and
934         SUN_INTEGER_MULTIPLY_64 to 1.
935         * config/sparc/elf.h: Redefine SUN_CONVERSION_LIBFUNCS and
936         SUN_INTEGER_MULTIPLY_64 to 0.
937         * config/sparc/lite.h, config/sparc/liteelf.h, config/sparc/sp86x-elf.h:
938         Define US_SOFTWARE_GOFAST.
939         * config/vax/vax.h: Default TARGET_ELF to 0.
940         * config/vax/elf.h: Redefine TARGET_ELF to 1.
941
942         * config/gofast.h: Don't define any macros here.  Provide one
943         static function, gofast_maybe_init_libfuncs, which does what
944         INIT_GOFAST_LIBFUNCS used to do but only if US_SOFTWARE_GOFAST
945         is already defined.  Do not clear negation libfuncs.  Do
946         not mess with HFmode, XFmode, or TFmode libfuncs.
947
948         * config/avr/avr.c (avr_init_once): #if 0 out; mark FIXME.
949
950 2003-10-01  Kelley Cook  <kelleycook@wideopenwest.com>
951
952         PR C/12466
953         * c-parse.in (parmlist_2): Mark declaration with an ellipsis as ISO C.
954
955 2003-10-01  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
956
957         * config/mips/xm-iris5.h: Remove, unnecessary.
958         * config.build (mips-sgi-irix5*): Remove.
959         (mips-sgi-irix6*o32): Likewise.
960         * config.gcc (mips-sgi-irix6*o32): Remove xm_file.
961         (mips-sgi-irix5cross64): Likewise.
962         (mips-sgi-irix5*): Likewise.
963         * config.host (mips-sgi-irix5*): Remove.
964         (mips-sgi-irix6*o32): Likewise.
965
966 2003-10-01  Zack Weinberg  <zack@codesourcery.com>
967
968         * dbxout.c (dbxout_fptype_value): Delete.
969         (dbxout_type): Emit R3 for all COMPLEX_TYPEs.
970
971 2003-10-01  Alexandre Oliva  <aoliva@redhat.com>
972
973         * output.h (compute_reloc_for_constant): Declare.
974         * varasm.c (compute_reloc_for_constant): Extract from...
975         (output_addressed_constants): ... here.  Adjust all callers.
976
977 2003-10-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
978
979         * aclocal.m4: Add hpux10* and hpux11.00 to /dev/zero blacklist.
980         * configure: Rebuilt.
981
982 2003-10-01  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
983
984         * fold-const.c (make_range): When handling unsigned, don't reverse
985         range if high bound is zero.
986
987 2003-09-30  Alexandre Oliva  <aoliva@redhat.com>
988
989         * config/frv/frv.h (PREDICATE_CODES): Added
990         condexec_si_media_operator, condexec_sf_add_operator and
991         condexec_sf_conv_operator.  Removed condexec_sf_binary_operator
992         and condexec_sf_unary_operator.
993
994 2003-10-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
995
996         * aclocal.m4: Add ultrix* to /dev/zero blacklist.
997         * configure: Rebuilt.
998
999 2003-10-01  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1000
1001         * except.h (MUST_USE_SJLJ_EXCEPTIONS): Revert 2003-09-23 change.
1002         Allow override.
1003         * doc/tm.texi (MUST_USE_SJLJ_EXCEPTIONS): Document.
1004
1005 2003-09-23  David S. Miller  <davem@redhat.com>
1006
1007         * config/sparc/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Undefine
1008         before redefining.
1009         * config/sparc/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Likewise.
1010
1011 2003-10-01  Steven Bosscher  <steven@gcc.gnu.org>
1012
1013         * config/cris/cris-protos.h, config/cris/cris.c: Convert to ISO
1014         C90 function declarations and definitions.
1015
1016 2003-10-01  Nathanael Nerode  <neroden@gcc.gnu.org>
1017
1018         * config.gcc (cris-*-linux*): Revert mistaken commit.
1019
1020 2003-10-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
1021
1022         PR optimization/11753
1023         * config/sparc/sparc.md (length attribute) [fcc branch]: Add 1 to
1024         the length in the non-V9 case.
1025
1026 2003-09-30  Richard Henderson  <rth@redhat.com>
1027
1028         * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes): Honor
1029         DWARF_ALT_FRAME_RETURN_COLUMN.
1030         * unwind-dw2.c (dwarf_reg_size_table): Expand by one.
1031         (_Unwind_GetGR, _Unwind_SetGR): Validate lookup column.
1032         (uw_frame_state_for): Return end-of-stack for null return address.
1033         * doc/tm.texi (DWARF_ALT_FRAME_RETURN_COLUMN): Add.
1034
1035         * config/alpha/alpha.c (alpha_sa_mask): Add r31 for eh_return.
1036         (alpha_expand_prologue): Store a zero for it.
1037         (alpha_expand_epilogue): Don't reload it.
1038         * config/alpha/alpha.h (DWARF_ALT_FRAME_RETURN_COLUMN): New.
1039         * config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Use column 64
1040         for the sigframe return address.
1041
1042 2003-09-30  Kelley Cook  <kelleycoook@wideopenwest.com>
1043
1044         * sdbout.c: Convert to ISO C90 prototypes.
1045         * objc/objc-act.c: Likewise.
1046
1047 2003-09-30  Kelley Cook  <kelleycoook@wideopenwest.com>
1048
1049         * config/i386/cygwin1.c: Convert to ISO C90 prototypes.
1050         * config/i386/winnt.c: Likewise.
1051         * config/i386/cygming.h: Likewise.
1052
1053 2003-09-30  Kazu Hirata  <kazu@cs.umass.edu>
1054
1055         * fold-const.c (fold): Fold (A & ~B) - (A & B) into
1056         (A ^ B) - B for any B.
1057
1058 2003-09-30  Nathanael Nerode  <neroden@gcc.gnu.org>
1059
1060         * config.gcc (arm*-*-kaos*, i[34567]86-*-kaos*, powerpc-*-kaos*,
1061         powerpcle-*-kaos*, strongarm-*-kaos*): Disable fixproto.
1062
1063 2003-09-30  Richard Earnshaw  <rearnsha@arm.com>
1064
1065         * arm/ieee754-sf.S: Tidy formatting.
1066
1067 2003-09-30  Nicolas Pitre  <nico@cam.org>
1068
1069         * arm/lib1funcs.asm (ARM_DIV_MOD_BODY): Split into ARM_DIV_BODY
1070         and ARM_MOD_BODY.
1071         (ARM_MOD_BODY): Rewritten. added clz insns for __ARM_ARCH__ >= 5.
1072         (ARM_DIV_BODY): Added clz insns for __ARM_ARCH__ >= 5,
1073         added better divisor alignment in the other case.
1074         (ARM_DIV2_ORDER): Added, finds the order of a single bit divisor.
1075         (__divsi3, __udivsi3, __modsi3, __umodsi3): rewritten using the
1076         macros above, add fast exits for divisor >= dividend, etc.
1077
1078 2003-09-30  Nicolas Pitre  <nico@cam.org>
1079
1080         * arm/ieee754-df.S: Split compilation of fixunsdfsi from
1081         L_fixdfsi target.
1082         * arm/t-arm-elf (LIB1ASMFUNCS): Add _fixunsdfsi.
1083
1084 2003-09-30  Nathanael Nerode  <neroden@gcc.gnu.org>
1085
1086         * config.gcc: Default use_fixproto to 'no'.
1087
1088 2003-09-30  Richard Sandiford  <rsandifo@redhat.com>
1089
1090         PR optimization/12345
1091         * config/mips/mips-protos.h (mips_restore_gp): Remove.
1092         (mips_gp_save_slot): Declare.
1093         * config/mips/mips.c (mips_restore_gp): Remove in favor of...
1094         (mips_gp_save_slot): ...this new function.
1095         * config/mips/mips.md (exception_receiver): Use mips_gp_save_slot
1096         and mips_output_move to generate the output template.
1097         (call_internal): Force splitting if TARGET_SPLIT_CALLS.  Don't emit
1098         a gp load after a noreturn call.  Load the gp using a move rather
1099         than an exception_receiver pattern.
1100         (call_value_internal, call_value_multiple_internal): Likewise.
1101         (call_split, call_value_split, call_value_multiple_split): Clobber $28.
1102
1103 2003-09-30  Carlo Wood  <carlo@alinoe.com>
1104
1105         PR debug/12319
1106         * cfglayout.c (insn_scope):  Use prologue_locator and
1107         epilogue_locator; return the outer function scope for
1108         pro- and epilogue insns.
1109
1110 2003-09-29  Zack Weinberg  <zack@codesourcery.com>
1111
1112         * objc/objc-act.c (encode_type): Encode INTEGER_TYPEs and
1113         REAL_TYPEs based on the bitsize of the type's mode, not the
1114         mode directly.
1115
1116 2003-09-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1117
1118         * dwarf2out.c (default_eh_frame_section): Split into ...
1119         (named_section_eh_frame_section, collect2_eh_frame_section): ... new
1120         functions.
1121         * output.h (named_section_eh_frame_section): Declare.
1122         (collect2_eh_frame_section): Likewise.
1123
1124 2003-09-29  Zack Weinberg  <zack@codesourcery.com>
1125
1126         * real.c (real_sqrt): Use get_canonical_qnan directly.
1127
1128         * dwarf2out.c (add_const_value_attribute): Use real_to_target.
1129
1130         * varasm.c (assemble_real): Use real_to_target directly,
1131         calculate the number of significant elements of the result
1132         array and write them out in a loop, instead of using a giant
1133         switch statement to pick the correct REAL_VALUE_TO_TARGET_*
1134         macro.
1135
1136 Mon Sep 29 22:59:05 CEST 2003  Jan Hubicka  <jh@suse.cz>
1137
1138         PR c++/12175
1139         * varasm.c (notice_global_symbol): Discard external symbols.
1140
1141         PR optimization/12286
1142         * gcov-io.c (gcov_read_words): Fix memmove call.
1143         * profile.c (compute_branch_probabilities): Add extra sanity checks.
1144
1145 2003-09-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1146
1147         * config.gcc (sparc-*-solaris2*): Handle Solaris 10 and up like
1148         Solaris 7-9.
1149
1150         * fixinc/inclhack.def (solaris_widec): Replace solaris2.[0-5]* by
1151         wildcards which explicitly match micro versions.
1152         * fixinc/fixincl.x: Regenerate.
1153
1154 2003-09-29  Kazu Hirata  <kazu@cs.umass.edu>
1155
1156         * fold-const.c (fold): Fold (A & ~B) - (A & B) into
1157         (A ^ B) - B, where B is any power of 2 minus 1.
1158
1159 Mon Sep 29 19:05:46 CEST 2003  Jan Hubicka  <jh@suse.cz>
1160
1161         * libgcov.c (gcov_exit): Fix two pastos.
1162
1163 2003-09-29  Kazu Hirata  <kazu@cs.umass.edu>
1164
1165         * config/h8300/h8300.md (*tst_extzv_1_n): Combine with the
1166         define_split immediately below to form define_insn_and_split.
1167
1168 2003-09-29  Kazu Hirata  <kazu@cs.umass.edu>
1169
1170         * config/h8300/h8300.md (*tstsi_variable_bit): New.
1171         (*tstsi_variable_bit_qi): Likewise.
1172
1173 2003-09-28  Phil Edwards  <phil@codesourcery.com>
1174
1175         * doc/cppopts.texi:  Use 'dashMP' instead of '-MP' as a cross-
1176         reference name.
1177
1178 2003-09-28  Richard Henderson  <rth@redhat.com>
1179
1180         * c-decl.c (duplicate_decls): Copy DECL_SOURCE_LOCATION, not
1181         file and line separately.
1182
1183 2003-09-28  Ulrich Weigand  <uweigand@de.ibm.com>
1184
1185         * config/s390/s390.md ("*adddi3_carry1_cc", "*adddi3_carry1_cconly",
1186         "*adddi3_carry2_cc", "*adddi3_carry2_cconly", "*subdi3_borrow_cc",
1187         "*subdi3_borrow_cconly"): New insns.
1188         ("*addsi3_sub", "*subsi3_sub"): Remove.
1189         ("*subdi3_cc", *subdi3_cconly"): Use only if TARGET_64BIT.
1190         ("*subsi3_cc"): Fix op_type attribute.
1191
1192 2003-09-28  Richard Henderson  <rth@redhat.com>
1193
1194         * stmt.c (expand_asm_operands): Take a location_t, instead of
1195         individual file and line.
1196         * c-typeck.c (c_expand_asm_operands): Likewise.
1197         * tree.h (expand_asm_operands): Update decl.
1198         * c-common.h (c_expand_asm_operands): Likewise.
1199         * c-semantics (genrtl_asm_stmt): Update call.
1200
1201 2003-09-28  Philip Blundell  <philb@gnu.org>
1202
1203         * config/arm/arm.c (legitimize_pic_address): Check
1204         SYMBOL_REF_LOCAL_P, not ENCODED_SHORT_CALL_ATTR_P.
1205         (arm_assemble_integer): Likewise.
1206
1207 2003-09-28  Steven Bosscher  <steven@gcc.gnu.org>
1208
1209         * config/pdp11/pdp11-protos.h, config/pdp11/pdp11.c,
1210         config/c4x/c4x-c.c, config/c4x/c4x-protos.h, config/c4x/c4x.c,
1211         config/c4x/c4x.h:
1212         Convert to ISO C90 function declarations and definitions.
1213
1214 2003-09-28  Steven Bosscher  <steven@gcc.gnu.org>
1215
1216         *  config/stormy16/stormy16.c, config/stormy16/stormy16-protos.h:
1217         Convert to ISO C90 function declarations and definitions.
1218
1219 2003-09-28  Richard Sandiford  <rsandifo@redhat.com>
1220
1221         * config/mips/mips.c (mips_constant_info): Add reloc field.
1222         (mips_classify_constant): Initialize it.  Always set SYMBOL to the
1223         underlying symbol, not to an unspec.
1224         (mips_delegitimize_address, print_operand): Clean up accordingly.
1225
1226 2003-09-28  Richard Sandiford  <rsandifo@redhat.com>
1227
1228         * config/mips/mips-protos.h (mips16_gp_pseudo_reg): Remove.
1229         * config/mips/mips.h (LEGITIMATE_CONSTANT_P): Remove orphaned comment.
1230         * config/mips/mips.c (mips_reloc_offset_ok_p): New function.
1231         (mips_classify_constant): Use it.
1232         (mips_splittable_symbol_p): Add an offset argument.
1233         (mips_classify_address): Adjust call accordingly.
1234         (mips_legitimize_symbol): Handle sdata references with LO_SUM rather
1235         than a relocation unspec.  Update call to mips_splittable_symbol_p.
1236         Generalize the code that copes with symbols + invalid offsets.
1237         (print_operand): Allow '%R' to be applied to small data addresses.
1238         (mips_reloc_string): Remove RELOC_GPREL16.
1239         (mips_sdata_pointer): Renamed from mips16_gp_pseudo_reg.  Return $gp
1240         for TARGET_EXPLICIT_RELOCS.  Return null if we can't use gp-relative
1241         relocation operators.
1242         * config/mips/mips.md (RELOC_GPREL16): Remove.  Shuffle other reloc
1243         constants accordingly.
1244
1245 2003-09-27  Roger Sayle  <roger@eyesopen.com>
1246
1247         * toplev.c (flag_evaluation_order): New global variable.
1248         * flags.h (flag_evaluation_order): Prototype here.
1249         * expr.c (expand_operands): If we need to preserve observable
1250         evaluation order, protect exp1 from clobbering exp0's result.
1251
1252 2003-09-28  Andreas Jaeger  <aj@suse.de>
1253
1254         * c-decl.c (finish_function): Convert definition to ISO C90.
1255         * ifcvt.c (mark_loop_exit_edges): Likewise.
1256         * ra-rewrite.c (emit_colors): Likewise.
1257
1258 2003-09-27  Nathanael Nerode  <neroden@gcc.gnu.org>
1259
1260         * config.gcc (alpha*-dec-osf[45]*): Disable fixproto.
1261         * config.gcc (arm*-*-uclinux*): Disable fixproto.
1262         * config.gcc (powerpc-*-eabispe*, powerpc-*-eabisimaltivec*,
1263         powerpc-*-eabialtivec*): Disable fixproto.
1264
1265 2003-09-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
1266
1267         PR optimization/12340
1268         * loop.h (struct induction): Document the new semantics
1269         of the 'same' field for bivs.
1270         * unroll.c (biv_total_increment): Don't count the same
1271         biv increment several times.
1272         (loop_iterations) [GENERAL_INDUCT]: Likewise.
1273
1274 2003-09-27  Graham Stott  <graham.stott@btinternet.com>
1275
1276         * unroll.c (loop_interations)[GT]: Add missing break.
1277
1278 2003-09-27  Kelley Cook  <kcook@gcc.gnu.org>
1279
1280         * config/chorus.h, config/darwin-c.c, config/darwin-protos.h,
1281         config/darwin.c, config/darwin.h, config/dbx.h, config/dbxcoff.h,
1282         config/dbxelf.h, config/elfos.h, config/fp-bit.h,
1283         config/freebsd-nthr.h, config/freebsd-spec.h, config/freebsd.h,
1284         config/freebsd3.h, config/freebsd4.h, config/freebsd5.h,
1285         config/freebsd6.h, config/netbsd-aout.h, config/netbsd-elf.h,
1286         config/netbsd.h, config/netware.h, config/openbsd-oldgas.h,
1287         config/openbsd.h, config/ptx4.h, config/alpha/alpha-protos.h,
1288         config/alpha/alpha.c, config/alpha/alpha.h, config/alpha/alpha.md,
1289         config/alpha/elf.h, config/alpha/ev4.md, config/alpha/ev5.md,
1290         config/alpha/ev6.md, config/alpha/freebsd.h, config/alpha/linux-elf.h,
1291         config/alpha/linux.h, config/alpha/netbsd.h, config/alpha/openbsd.h,
1292         config/alpha/osf.h, config/alpha/osf5.h, config/alpha/unicosmk.h,
1293         config/alpha/vms-cc.c, config/alpha/vms-crt0-64.c,
1294         config/alpha/vms-crt0.c, config/alpha/vms-dwarf2.asm,
1295         config/alpha/vms-dwarf2eh.asm, config/alpha/vms-ld.c,
1296         config/alpha/vms-psxcrt0-64.c, config/alpha/vms-psxcrt0.c,
1297         config/alpha/vms.h, config/alpha/vms64.h, config/alpha/vms_tramp.asm,
1298         config/alpha/xm-vms.h, config/arc/arc-modes.def,
1299         config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
1300         config/arc/arc.md, config/arc/initfini.c, config/arc/lib1funcs.asm,
1301         config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
1302         config/avr/avr.md, config/d30v/d30v-protos.h, config/d30v/d30v.h,
1303         config/d30v/d30v.md, config/fr30/fr30-protos.h, config/fr30/fr30.c,
1304         config/fr30/fr30.h, config/fr30/fr30.md, config/fr30/lib1funcs.asm,
1305         config/frv/cmovd.c, config/frv/cmovh.c, config/frv/cmovw.c,
1306         config/frv/frv-abi.h, config/frv/frv-asm.h, config/frv/frv-modes.def,
1307         config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
1308         config/frv/frv.md, config/frv/frvbegin.c, config/frv/frvend.c,
1309         config/frv/lib1funcs.asm, config/h8300/clzhi2.c, config/h8300/ctzhi2.c,
1310         config/h8300/parityhi2.c, config/h8300/popcounthi2.c,
1311         config/i370/i370-c.c, config/i370/i370-protos.h, config/i370/i370.c,
1312         config/i370/i370.h, config/i370/i370.md, config/i370/linux.h,
1313         config/i370/mvs.h, config/i370/oe.h, config/i386/darwin.h,
1314         config/i960/i960-c.c, config/i960/i960-coff.h,
1315         config/i960/i960-modes.def, config/i960/i960-protos.h,
1316         config/i960/i960.c, config/i960/i960.h, config/i960/i960.md,
1317         config/i960/rtems.h, config/ia64/elf.h, config/ia64/ia64.h,
1318         config/m32r/initfini.c, config/m32r/m32r-protos.h, config/m32r/m32r.c,
1319         config/m32r/m32r.h, config/m32r/m32r.md, config/m68hc11/larith.asm,
1320         config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
1321         config/m68hc11/m68hc11.h, config/m68hc11/m68hc11.md,
1322         config/m68hc11/m68hc12.h, config/m68k/coff.h, config/m68k/crti.s,
1323         config/m68k/crtn.s, config/m68k/hp320.h, config/m68k/hp320base.h,
1324         config/m68k/lb1sf68.asm, config/m68k/linux.h, config/m68k/m68020-elf.h,
1325         config/m68k/m68k-aout.h, config/m68k/m68k-none.h,
1326         config/m68k/m68k-protos.h, config/m68k/m68k.c, config/m68k/m68k.h,
1327         config/m68k/m68k.md, config/m68k/m68kelf.h, config/m68k/m68kv4.h,
1328         config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
1329         config/m68k/rtemself.h, config/m68k/sgs.h, config/mcore/lib1.asm,
1330         config/mcore/mcore-elf.h, config/mcore/mcore-pe.h,
1331         config/mcore/mcore-protos.h, config/mcore/mcore.c,
1332         config/mcore/mcore.md, config/mips/elf.h, config/mips/elf64.h,
1333         config/mips/elforion.h, config/mips/iris5.h, config/mips/iris6.h,
1334         config/mips/iris6gld.h, config/mips/irix6-libc-compat.c,
1335         config/mips/linux.h, config/mips/mips-protos.h, config/mips/mips.c,
1336         config/mips/mips.h, config/mips/mips.md, config/mips/netbsd.h,
1337         config/mips/openbsd.h, config/mips/r3900.h, config/mips/rtems.h,
1338         config/mips/vr.h, config/mn10300/linux.h,
1339         config/mn10300/mn10300-protos.h, config/mn10300/mn10300.c,
1340         config/mn10300/mn10300.h, config/mn10300/mn10300.md,
1341         config/ns32k/__unorddf2.c, config/ns32k/__unordsf2.c,
1342         config/ns32k/netbsd.h, config/ns32k/ns32k-protos.h,
1343         config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/ns32k/ns32k.md,
1344         config/pdp11/2bsd.h, config/pdp11/pdp11-modes.def,
1345         config/pdp11/pdp11-protos.h, config/pdp11/pdp11.c,
1346         config/pdp11/pdp11.h, config/pdp11/pdp11.md, config/rs6000/biarch64.h,
1347         config/rs6000/default64.h, config/sh/coff.h, config/sh/crt1.asm,
1348         config/sh/crti.asm, config/sh/crtn.asm, config/sh/elf.h,
1349         config/sh/embed-elf.h, config/sh/linux.h, config/sh/little.h,
1350         config/sh/netbsd-elf.h, config/sh/rtems.h, config/sh/rtemself.h,
1351         config/sh/sh-protos.h, config/sh/sh.c, config/sh/sh.h,
1352         config/sh/sh.md, config/sh/sh64.h, config/sh/shmedia.h,
1353         config/sh/sshmedia.h, config/sh/ushmedia.h, config/sparc/pbd.h,
1354         config/sparc/sparc.h, doc/install-old.texi, fixinc/fixinc.ptx,
1355         fixinc/fixinc.svr4: GNU CC -> GCC.
1356
1357 2003-09-26  Loren James Rittle  <ljrittle@acm.org>
1358
1359         * objc/objc-act.c (tm_p.h): Tweak order.
1360         * objc/Make-lang.in (objc/objc-act.o): Add $(TM_P_H).
1361
1362 2003-09-26  Nathanael Nerode  <neroden@gcc.gnu.org>
1363
1364         * config.gcc (hppa*64*-*-linux* | parisc*64*-*-linux*):
1365         Include t-slibgcc-elf-ver and t-linux in tmake_file.
1366         * config.gcc (hppa*64*-*-linux* | parisc*64-*-linux*):
1367         Disable fixproto.
1368         * config.gcc (i960-*-coff*, m68k-*-aout*, sparclite-*-coff*):
1369         Disable fixproto.
1370         * config.gcc (i[34567]86-*-solaris2*, sparc64-*-solaris2*,
1371         sparcv9-*-solaris2*, sparc-*-solaris2*): Disable fixproto.
1372
1373         * config/i386/unix.h: Remove (unused) DEFAULT_ASSEMBLER_DIALECT.
1374
1375 2003-09-26  Loren James Rittle  <ljrittle@acm.org>
1376
1377         * config/i386/i386.h (ix86_return_in_memory): Revert my last patch.
1378         * objc/objc-act.c (tm_p.h): Include.
1379
1380 2003-09-26  Per Bothner  <pbothner@apple.com>
1381
1382         * dbxout.c (dbxout_typedefs):  Output typedefs in forward order.
1383         No longer any need to reverse by recursion.
1384
1385 2003-09-26  Roger Sayle  <roger@eyesopen.com>
1386             Richard Henderson  <rth@redhat.com>
1387
1388         PR optimization/11741
1389         * gcse.c (pre_insert_copy_insn): Tweak the logic for finding the
1390         appropriate set to match that in hash_scan_insn.  Fall back to
1391         the original copy method, if we can't validate changing insn.
1392         (pre_delete): Only delete instructions that have a single_set,
1393         instead of aborting when we encounter an PARALLEL insn with more
1394         then one SET.
1395
1396 2003-09-26  Andreas Krebbel  <krebbel1@de.ibm.com>
1397
1398         * config/s390/s390.md ("builtin_setjmp_setup"): Insn deleted.
1399         ("builtin_longjmp"): Insn deleted.
1400         ("save_stack_nonlocal"): Save literal pool base pointer behind
1401         backchain and stack pointer.
1402         ("restore_stack_nonlocal"): Restore literal pool base pointer.
1403         * config/s390/s390.h (STACK_SAVEAREA_MODE): Double size of
1404         the stack save area for the nonlocal goto case.
1405
1406 2003-09-26  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1407
1408         PR bootstrap/12358
1409         * pa.c (output_bvb): Fix typo.
1410
1411 2003-09-26  Richard Sandiford  <rsandifo@redhat.com>
1412
1413         * expmed.c (store_bit_field): Don't search for an integer mode
1414         unless we need the result.
1415
1416 2003-09-26  Richard Sandiford  <rsandifo@redhat.com>
1417
1418         * expr.c (emit_move_insn_1): If there is no move pattern for the
1419         original mode, try using a pattern for the corresponding integer mode.
1420
1421 2003-09-26  Richard Sandiford  <rsandifo@redhat.com>
1422
1423         PR middle-end/9200
1424         * combine.c (if_then_else_cond): Tighten mode check.
1425
1426 2003-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
1427
1428         * cppcharset.c, cpphash.h: Rename 'struct strbuf' to
1429         'struct _cpp_strbuf'.
1430
1431         * config/i386/netbsd-elf.h, config/i386/netbsd64.h,
1432         config/i386/netware.h, config/i386/nto.h, config/i386/openbsd.h,
1433         config/i386/pentium.md, config/i386/pmmintrin.h, config/i386/ppro.md,
1434         config/i386/ptx4-i.h, config/i386/rtemself.h, config/i386/sco5.h,
1435         config/i386/sol2.h, config/i386/svr3gas.h, config/i386/sysv3.h,
1436         config/i386/sysv4-cpp.h, config/i386/sysv4.h, config/i386/sysv5.h,
1437         config/i386/unix.h, config/i386/uwin.h, config/i386/vsta.h,
1438         config/i386/xm-cygwin.h, config/i386/xm-djgpp.h,
1439         config/i386/xm-mingw32.h, config/i386/xmmintrin.h: Replace
1440         "GNU CC", "GNU compiler", and "GNU C-compiler" with "GCC".
1441         * config/i386/i386-aout.h, config/i386/i386-coff.h,
1442         config/i386/i386-interix.h, config/i386/i386-interix3.h,
1443         config/i386/i386-modes.def, config/i386/i386-protos.h,
1444         config/i386/i386.c, config/i386/i386.h, config/i386/i386.md,
1445         config/i386/i386elf.h, config/i386/k6.md, config/i386/kaos-i386.h,
1446         config/i386/linux-aout.h, config/i386/linux.h, config/i386/linux64.h,
1447         config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mingw32.h,
1448         config/i386/mmintrin.h, config/i386/moss.h: GNU CC -> GCC.
1449         "GNU compiler" -> GCC.
1450         * config/i386/att.h, config/i386/beos-elf.h, config/i386/biarch64.h,
1451         config/i386/bsd.h, config/i386/crtdll.h, config/i386/cygming.h,
1452         config/i386/cygwin.h, config/i386/cygwin1.c, config/i386/cygwin2.c,
1453         config/i386/darwin.h, config/i386/djgpp.h, config/i386/emmintrin.h,
1454         config/i386/freebsd-aout.h, config/i386/freebsd.h,
1455         config/i386/freebsd64.h, config/i386/gas.h: GNU CC -> GCC.
1456
1457 2003-09-25  Kelley Cook  <kelleycook@wideopenwest.com>
1458
1459         * cgraph.c (dump_cgraph):  Don't output newline before dump.  Add in
1460         "local" to the callgraph dump.  Output "after inlining" earlier.
1461         * cgraphunit.c: Fix dumpfile whitespace and commonize headers of the
1462         callgraph dumps.  Correct misspellings.
1463         (cgraph_decide_inlining):  Output number of insns before inlining.
1464         Output the calling function into which a function is inlined.
1465         (cgraph_decide_small_functions): Format dump file like always_inline.
1466
1467 2003-09-25  Loren James Rittle  <ljrittle@acm.org>
1468
1469         * config/i386/i386.h (ix86_return_in_memory): Add prototype.
1470
1471 2003-09-25  Ulrich Weigand  <uweigand@de.ibm.com>
1472
1473         * config/s390/s390.c (s390_emit_prologue): Simplify accesses to
1474         FPR slots in the save area.
1475         (s390_emit_epilogue): Likewise.
1476
1477 2003-09-25  Richard Sandiford  <rsandifo@redhat.com>
1478
1479         * cgraph.h (cgraph_remove_edge): Declare.
1480         * cgraph.c (cgraph_remove_edge): Make extern.
1481         * cgraphunit.c (cgraph_finalize_function): Call cgraph_remove_edge
1482         instead of cgraph_remove_call.
1483
1484 2003-09-25  Ulrich Weigand  <uweigand@de.ibm.com>
1485
1486         * objc/objc-act.c (gen_declaration_1): Fix printf format.
1487
1488 2003-09-25  Richard Earnshaw  <rearnsha@arm.com>
1489
1490         * arm.c (all_cores): arm710t, arm720t and arm740t are all based on the
1491         arm7tdmi core.
1492
1493 2003-09-25  Ziemowit Laski  <zlaski@apple.com>
1494
1495         * config/darwin-protos.h (objc_image_info_section):
1496         New prototype.
1497
1498 2003-09-25  Ziemowit Laski  <zlaski@apple.com>
1499
1500         * Makefile.in (stub-objc.o): Depend on $(GGC_H).
1501
1502 2003-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
1503
1504         * config.gcc: Get rid of more gratuitious 'x'es.  Actually allow
1505         tsc701 as a --with-cpu, --with-tune setting for sparc.
1506
1507 2003-09-25  Ziemowit Laski  <zlaski@apple.com>
1508
1509         * c-parse.in (objc_try_stmt): Do not specify a %type.
1510
1511 2003-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
1512
1513         * config.gcc: New 'widely ported system' clause for rtems.
1514         Set thread file there, not in individual clauses.
1515
1516 2003-09-25  Richard Sandiford  <rsandifo@redhat.com>
1517
1518         PR target/6222
1519         * config/mips/mips.c (mips_va_arg): Handle arguments that must be
1520         passed on the stack.
1521
1522 2003-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
1523
1524         * config.gcc (widely ported systems section): Mostly alphabetize
1525         by system.  Comment the case where we can't.
1526         * config.gcc (widely ported systems section): Reindent and clean up.
1527
1528         * config.gcc: Remove some unnecessary uses of 'x' in case statements.
1529         Actually allow ep9312 as an arm --with-arch setting.
1530
1531         * config.gcc (*-hpux11): Disable fixproto.
1532
1533 2003-09-24  Phil Edwards  <phil@codesourcery.com>
1534
1535         PR pch/12112
1536         * gcc/cppfiles.c (pch_open_file): Return based on combined
1537         result of all files.
1538         (validate_pch): Return validate flag for current file.
1539
1540 2003-09-24  Roger Sayle  <roger@eyesopen.com>
1541
1542         PR bootstrap/12358
1543         * fold-const.c (tree_swap_operands_p): Only reorder operands when
1544         one of the operands is constant.
1545
1546 2003-09-24  Ziemowit Laski  <zlaski@apple.com>
1547
1548         MERGE OF objc-improvements-branch into MAINLINE:
1549         * Makefile.in (C_OBJS): Add in stub-objc.o.
1550         (c-parse.y): Change sed demarcations to begin with '@@'.
1551         (stub-objc.o): New rule.
1552         * c-common.c (flag_nil_receivers, flag_objc_exceptions, flag_zero_link,
1553         flag_replace_objc_classes): New flags.
1554         * c-common.h (RID_AT_THROW, RID_AT_TRY, RID_AT_CATCH, RID_AT_FINALLY,
1555         RID_AT_SYNCHRONIZED): New keywords.
1556         (flag_nil_receivers, flag_objc_exceptions, flag_zero_link,
1557         flag_replace_objc_classes): New flags.
1558         (lookup_interface, is_class_name, objc_is_object_ptr, objc_check_decl,
1559         objc_comptypes, objc_message_selector, lookup_objc_ivar,
1560         get_current_scope, objc_mark_locals_volatile): New prototypes,
1561         some moved from c-tree.h.
1562         * c-decl.c (get_current_scope, objc_mark_locals_volatile): New functions.
1563         (finish_decl): Adjust where objc_check_decl() gets called.
1564         * c-lang.c (lookup_interface, is_class_name, objc_is_id,  objc_check_decl,
1565         objc_comptypes, objc_message_selector, lookup_objc_ivar): Remove stubs.
1566         * c-opts.c (c_common_handle_option): Add handling for  flag_nil_receivers,
1567         flag_objc_exceptions, flag_replace_objc_classes and flag_zero_link.
1568         * c-parse.in: Replace 'ifc' and 'end ifc' sed markers with '@@ifc' and
1569         '@@end_ifc', respectively.
1570         (AT_THROW, AT_TRY, AT_CATCH, AT_FINALLY, AT_SYNCHRONIZED): New %tokens.
1571         (objc_try_stmt, superclass, class_ivars, objc_try_catch-stmt,
1572         objc_finally_block): New rules.
1573         (component_decl_list2): Clean up semantic action for @defs construct.
1574         (component_decl, c99_block_start): Remove call to add_objc_decls().
1575         (poplevel): Add call to objc_clear_super_receiver().
1576         (stmt): Add rules for @throw, @try..@catch..@finally and @synchronized
1577         constructs.
1578         (classdef, methodprotolist): Clean up/simplify.
1579         (methodprotolist2): Eliminate.
1580         (methodproto): Call add_method() instead of add_class_method() and
1581         add_instance_method().
1582         (receiver): Add TYPENAME production.
1583         (reswords): Add "throw", "try", "catch", "finally" and "synchronized".
1584         (rid_to_yy): Add AT_THROW, AT_TRY, AT_CATCH, AT_FINALLY and
1585         AT_SYNCHRONIZED.
1586         * c-tree.h (lookup_interface, is_class_name, objc_is_id, objc_check_decl,
1587         objc_comptypes, objc_message_selector)
1588         * c-typeck.c (comptypes): In ObjC mode, call objc_comptypes() for
1589         struct and pointer types.
1590         (build_c_cast): Do not discard ObjC protocol qualifiers.
1591         (convert_for_assignment): Cache result of comp_target_types() instead
1592         of calling it more than once.
1593         * c.opt (fnext-runtime): Update description string.
1594         (fnil-receivers, fobjc-exceptions, freplace-objc-classes, fzero-link):
1595         New ObjC/ObjC++-specific flags.
1596         * function.h (GCC_FUNCTION_H): Header guard.
1597         * gengtype-lex.l: Teach lexer about new @@... sed demarcations.
1598         * stub-objc.c: New file, to be used to satisfy references to ObjC
1599         functions by the C and C++ front-ends.
1600         * config/darwin.c (_OBJC_IMAGE_INFO): New global metadata.
1601         * config/darwin.h (FUNCTION): Add in_objc_image_info.
1602         (SECTION_FUNCTION): Add objc_image_info_section.
1603         * doc/invoke.texi: Link to GCC web site for Objective-C information.
1604         (-fconstant-string-class): Update documentation.
1605         (-fno-nil-receivers, -fobjc-exceptions, -freplace-objc-classes,
1606         -fzero-link): New documentation.
1607         * objc/Make-lang.in (objc-parse.y): Change sed demarcations to begin
1608         with '@@'.
1609         * objc/lang-specs.h (@objective-c-header): Fix -E spec.
1610         * objc/objc/objc-act.c: Replace TYPE_NAME with OBJC_TYPE_NAME
1611         throughout; provide casts for return values from memory allocation
1612         functions (xmalloc, alloca, ggc_alloc, etc.).
1613         (OBJC_VOID_AT_END): New macro.
1614         (rtl.h): Do not #include any more.
1615         (STRING_OBJECT_GLOBAL_NAME): Replaced with STRING_OBJECT_GLOBAL_FORMAT.
1616         (TAG_MSGSEND_STRET, TAG_MSGSENDSUPER_STRET, TAG_MSGSEND_NONNIL,
1617         TAG_MSGSEND_NONNIL_STRET, TAG_EXCEPTIONEXTRACT, TAG_EXCEPTIONTRYENTER,
1618         TAG_EXCEPTIONTRYEXIT, TAG_EXCEPTIONMATCH, TAG_EXCEPTIONTHROW,
1619         TAG_SYNCENTER, TAG_SYNCEXIT): New NeXT runtime entry points.
1620         (struct val_stack, catch_count_stack, exc_binding_stack,  val_stack_push,
1621         val_stack_pop): New.
1622         (objc_check_decl): Fix precondition for error message, along with
1623         the message itself.
1624         (lookup_and_install_protocols): Remove nonexistent protocols from
1625         protocol list instead of returning error_mark_node.
1626         (create_builtin_decl): Use DECL_ARTIFICIAL only for VAR_DECLs.
1627         (setup_string_decl): Generalize to use STRING_OBJECT_GLOBAL_FORMAT.
1628         (synth_module_prologue): General clean-up; construct NeXT-specific
1629         runtime API prototypes if needed.
1630         (build_string_class_template): Remove.
1631         (check_string_class_template, string_layout_checked): New.
1632         (build_objc_string_object): Generalize to work with
1633         -fconstant-string-class.
1634         (build_objc_symtab_template): Fix layout for the NeXT runtime.
1635         (build_metadata_decl): New.
1636         (forward_declare_categories): Call build_metadata_decl() instead of
1637         create_builtin_decl() et al.
1638         (build_module_descriptor): Use OBJC_VOID_AT_END instead of
1639         void_list_node_1.
1640         (build_selector_reference_decl, build_class_reference_decl,
1641         build_objc_string_decl): Do not set TREE_READONLY.
1642         (get_proto_encoding): Do not call hack_method_prototype().
1643         (get_class_reference): Add failure mode for invalid class names;
1644         support -fzero-link; defer if in an ObjC++ template declaration.
1645         (objc_declare_alias, objc_declare_class): Fix up duplicate name
1646         lookup; check for global scope if in ObjC++.
1647         (is_class_name): Generalize to work with various tree nodes (TYPE_DECL,
1648         RECORD_TYPE, IDENTIFIER_NODE, etc.)
1649         (objc_is_id): Removed.
1650         (objc_is_object_ptr): New function.
1651         (get_class_ivars_from_name): New function, used for @defs construct.
1652         (get_class_ivars): Add option to return raw ivars; create a
1653         ClASS_OWN_IVARS list for each class as needed.
1654         (objc_enter_block, objc_exit_block, objc_declare_variable,
1655         objc_build_throw_stmt, val_stack_push, val_stack_pop,
1656         objc_build_try_enter_fragment, objc_build_extract_expr,
1657         objc_build_try_exit_fragment, objc_build_extract_fragment,
1658         objc_build_try_prologue, objc_build_try_epilogue,
1659         objc_build_catch_stmt, objc_build_catch_epilogue,
1660         objc_build_finally_prologue, objc_build_finally_epilogue,
1661         objc_build_try_catch_finally_stmt, objc_build_synchronized_prologue,
1662         objc_build_synchronized_epilogue, build_objc_exception_stuff):
1663         New functions.
1664         (_JBLEN): _setjmp jmpbuf size (needs to be made a target hook in
1665         the future).
1666         (build_private_template): Fix up calls to get_class_ivars().
1667         (offset_is_register, forwarding_offset): Remove.
1668         (objc_method_parm_type, objc_encoded_type_size): New functions.
1669         (encode_method_prototype): Simplify to no longer depend on
1670         back-end information.
1671         (build_tmp_function_decl_xxx, build_tmp_function_decl,
1672         hack_method_prototype): Removed.
1673         (generate_protocol_references): Remove calls to
1674         build_tmp_function_decl().
1675         (generate_protocols): Adjust calls to encode_method_prototype().
1676         (build_class_template): Generate sel_id' and 'gc_object_type' fields
1677         for the NeXT runtime.
1678         (synth_forward_declarations): Call build_metadata_decl().
1679         (check_ivars): Check that the number of ivars matches also.
1680         (build_super_template): Modify super_type directly; disable debugging
1681         output while generating decl.
1682         (build_ivar_list_initializer): Skip list elements that are not
1683         FIELD_DECLs.
1684         (ivar_list_length): New function.
1685         (generate_ivar_lists): Call ivar_list_length() instead of list_length()
1686         and encode_method_prototype() instead of encode_method_def().
1687         (build_shared_structure_initializer): Generate 'sel_id' field for
1688         the NeXT runtime.
1689         (generate_category): Do not set TREE_USED.
1690         (build_keyword_selector): Ditto; transform into a function argument
1691         chain.
1692         (get_arg_type_list): If there are no user-specified arguments, use
1693         '...'; use OBJC_VOID_AT_END.
1694         (check_duplicates): Add a parameter indicating whether methods or
1695         selectors are being checked.
1696         (receiver_is_class_object): Add parameters indicating whether
1697         receiver is 'self' or 'super'; robustify.
1698         (build_message_expr): Defer call to finish_message_expr() if
1699         inside an ObjC++ template.
1700         (lookup_method_in_hash_lists): New function.
1701         (finish_message_expr): Complete rewrite/fix.
1702         (build_objc_method_call): Ditto; factor out commonalities between
1703         the GNU and NeXT runtimes; acccommodate ..._stret and ...NonNil
1704         messenger variants on the NeXT.
1705         (lookup_instance_method_static, lookup_class_method_static):
1706         Fold into a single lookup_method_static() function with an
1707         additional parameter.
1708         (add_class_method, add_instance_method): Fold into a single
1709         add_method() function with an additional parameter.
1710         (add_category): Make duplicate categories a hard error in ObjC++.
1711         (add_instance_variable): Properly handle unnamed ivars, arrays of
1712         zero or no size and bitfields.  In ObjC++, check for nontrivial
1713         C++ class instances.
1714         (is_public): Allow C functions to access non-@public ivars, with
1715         a warning.
1716         (start_class): Move common initializations to
1717         synth_module_prologue(); check for global scope if in ObjC++.
1718         (continue_class): Fix calls to finish_struct().
1719         (objc_declare_protocols, start_protocol): Check for global scope
1720         if in ObjC++.
1721         (encode_pointer): Encode 'BOOL *' specially on the NeXT.
1722         (encode_aggregate_within): Rewrite to properly distinguish
1723         struct tags from typedefs in both ObjC and ObjC++.
1724         (encode_bitfield, encode_complete_bitfield): Remove.
1725         (encode_next_bitfield, encode_gnu_bitfield): New functions.
1726         (encode_field_decl): Call encode_next_bitfield() or
1727         encode_gnu_bitfield() as needed.
1728         (synth_self_and_ucmd_args): New function.
1729         (start_method_def): Use it.
1730         (objc_types_are_equivalent): New function.
1731         (comp_proto_with_proto): Use it instead of comptypes(), since
1732         we need symmetry.
1733         (really_start_method): Use lookup_method_static() instead of
1734         lookup_class_method_static() and lookup_instance_method_static();
1735         Emit 'extern "C"' if in ObjC++ mode.
1736         (add_objc_decls): Removed.
1737         (UOBJC_SUPER_scope): New variable.
1738         (get_super_receiver): Move construction of 'super' from
1739         add_objc_decls(); remove dependency on struct objc_class.
1740         (encode_method_def): Removed; encode_method_prototype() is
1741         used instead.
1742         (objc_clear_super_receiver): New function.
1743         (objc_expand_function_end): Do not do anything for ordinary
1744         C functions.
1745         (finish_method_def): Mark ObjC methods as un-inlinable.
1746         (gen_declaration_1): Emit widths of bitfields.
1747         (finish_objc): Call generate_objc_image_info() if needed;
1748         use check_duplicates() when checking for selector duplicates.
1749         (generate_objc_image_info): New function.
1750         * objc/objc-act.h (add_instance_method, add_class_method,
1751         get_class_ivars): Remove prototypes.
1752         (objc_build_throw_stmt, objc_build_try_catch_finally_stmt,
1753         objc_build_synchronized_prologue, objc_build_synchronized_epilogue,
1754         objc_build_catch_stmt, objc_build_catch_epilogue,
1755         objc_build_finally_prologue, objc_build_finally_epilogue,
1756         add_method, get_class_ivars_from_name): New prototypes.
1757         (CLASS_BINFO_ELTS, PROTOCOL_BINFO_ELTS): New.
1758         (TYPE_PROTOCOL_LIST): Robustify to distinguish from
1759         TRANSLATION_UNIT_DECLs.
1760         (OBJC_TYPE_NAME): New.
1761         (objc_tree_code): Ensure that either <c-tree.h> or <cp/cp-tree.h>
1762         got included.
1763         (IS_SUPER): Robustify.
1764         (umsg_stret_decl, umsg_super_stret_decl, umsg_nonnil_decl,
1765         umsg_nonnil_stret_decl, objc_storage_class, objc_exception_extract_decl,
1766         objc_exception_try_enter_decl, objc_exception_try_exit_decl,
1767         objc_exception_match_decl, objc_exception_throw_decl,
1768         objc_sync_enter_decl, objc_sync_exit_decl, objc_exception_data_template,
1769         objc_setjmp_decl, objc_stack_exception_data, objc_caught_exception,
1770         objc_rethrow_exception, objc_eval_once, objc_exception_block_stack,
1771         objc_catch_type): New ObjC/ObjC++ roots.
1772         * objc/objc-tree.def (MESSAGE_SEND_EXPR, CLASS_REFERENCE_EXPR): New
1773         ObjC/ObjC++ tree node codes.
1774
1775 2003-09-24  Alexandre Oliva  <aoliva@redhat.com>
1776
1777         * cpplib.c (do_pragma): Reintroduce cb_line_change call in the
1778         code path that calls a handler.
1779
1780 2003-09-24  Nathanael Nerode  <neroden@gcc.gnu.org>
1781
1782         * config.gcc (c4x-*, tic4x-*, d30v-*, mmix-knuth-mmixware):
1783         Disable fixproto.
1784
1785         * config.gcc: Clean up and reindent $with_cpu=yes|no clause and
1786         the section giving $with_cpu defaults by target.
1787
1788         * config.gcc (arm-*-coff*, armel-*-coff*, arm*-*-ecos-elf,
1789         arm*-*-elf, ep9312-*-elf, arm*-wince-pe*, arm*-*-pe*, arm*-*-pe*,
1790         rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*,
1791         rs6000-ibm-aix5.1.*, powerpc-ibm-aix5.1.*,
1792         rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*,
1793         i[34567]86-pc-msdosdjgpp*): Disable fixproto.
1794
1795 2003-09-24  David Edelsohn  <edelsohn@gnu.org>
1796
1797         * config/rs6000/rs6000.md (movti_power): Collapse case 1 and 2
1798         together.  Protect load string instruction with TARGET_STRING.
1799         (movti_string): Collapse case 1 and 2 together.
1800
1801 2003-09-24  Nathan Sidwell  <nathan@codesourcery.com>
1802
1803         * c-common.c (c_common_type_for_mode): Check for VOIDmode.
1804
1805 2003-09-24  Richard Earnshaw  <rearnsha@arm.com>
1806
1807         * arm.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Wrap in
1808         do...while(0)
1809
1810 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
1811
1812         * config.gcc: Move use_fixproto=no from generic vxworks clause to
1813         specific one.
1814
1815         * config.gcc (powerpc-*-gnu-gnualtivec*): Disable fixproto
1816         (accidentally missed in last pass).
1817
1818 2003-09-23  Andrew Pinski  <apinski@apple.com>
1819
1820         PR bootstrap/12383
1821         * configure: Regenerate.
1822
1823 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
1824
1825         * config.gcc (x86_64-*-freebsd*): Disable fixproto (accidentally
1826         missed in last pass).
1827
1828 2003-09-23  Alexandre Oliva  <aoliva@redhat.com>
1829
1830         * config/mn10300/mn10300.md (andsi3): Fix cut&pasto in 0xfffffffe
1831         constant.
1832
1833 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
1834
1835         * config.gcc: Move vax-*-vms* unsupported notice up with the rest.
1836
1837         * config.gcc (alpha64*-dec-*vms*, alpha*-dec-*vms*,
1838         powerpc-*-eabisim*, powerpc-*-eabi*, powerpcle-*-eabisim*,
1839         powerpcle-*-eabi*): Disable fixproto.
1840
1841         * config.gcc: Move use_fixproto=no from generic FreeBSD clause to
1842         specific FreeBSD clauses.
1843         * config.gcc: Move use_fixproto=no from generic NetBSD clause to
1844         specific NetBSD clauses.
1845         * config.gcc: Move use_fixproto=no from generic OpenBSD clause
1846         to specific OpenBSD clauses.
1847
1848 2003-09-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1849
1850         * pa.c (hppa_expand_prologue): Do pic register save in frame marker
1851         without adding a frame note.
1852         * pa.md (allocate_stack): Save pic register in new frame marker when
1853         generating pic code.
1854
1855 2003-09-23  Kelley Cook  <kelleycook@wideopenwest.com>
1856
1857         * cgraphunit.c (cgraph_expand_all_functions): Renamed from
1858         cgraph_expand_functions.
1859
1860 2003-09-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1861
1862         * Makefile.in (gnucompare*): Merge into ...
1863         (slowcompare*): ... here.
1864         (fastcompare*): New targets.
1865         * aclocal.m4 (gcc_AC_PROG_CMP_IGNORE_INITIAL): Add checks for
1866         other "fast" cmp programs.
1867         * configure: Regenerate.
1868
1869 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1870
1871         * targhooks.c: Include output.h.
1872         * Makefile.in (targhooks.o): Add output.h to dependency list.
1873
1874 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1875
1876         * config.host: Removed superfluous newline.
1877
1878 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
1879
1880         * config.gcc: Use ${target}, not $machine.
1881         * configure.in: Don't set $machine.
1882         * configure: Regenerate.
1883
1884 2003-09-23  Geoffrey Keating  <geoffk@apple.com>
1885
1886         * config/t-darwin (crt2.o): Add stmp-int-hdrs to dependencies.
1887
1888         * config/rs6000/rs6000.c (function_arg_pass_by_reference): Don't
1889         pass zero-size arrays by reference.
1890         (rs6000_va_arg): Likewise.
1891
1892 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
1893
1894         * config.gcc: Set use_fixproto=no in each specific *-gnu*
1895         configuration, rather than the generic one.
1896
1897 2003-09-23  Richard Henderson  <rth@redhat.com>
1898
1899         * tree-inline.c (remap_save_expr): Map new save_expr to identity
1900         rather than to error_mark_node.
1901
1902 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1903
1904         * configure.in (HAVE_GAS_SHF_MERGE): Always define to test result.
1905         Update description.
1906         * configure: Regenerate.
1907         * config.in: Likewise.
1908         * dwarf2out.c (DEBUG_STR_SECTION_FLAGS): Test for
1909         HAVE_GAS_SHF_MERGE value.
1910         * varasm.c (mergeable_string_section): Likewise.
1911         (mergeable_constant_section): Likewise.
1912
1913 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1914
1915         * except.h (MUST_USE_SJLJ_EXCEPTIONS): Test for DWARF2_UNWIND_INFO
1916         value.
1917
1918 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1919
1920         * target.h (struct gcc_target): New member external_libcall.
1921         * target-def.h (TARGET_ASM_EXTERNAL_LIBCALL): Provide default.
1922         (TARGET_ASM_OUT): Use it.
1923         * doc/tm.texi (TARGET_ASM_EXTERNAL_LIBCALL): Document.
1924         * targhooks.c: Convert to ISO C 90.
1925         (default_external_libcall): New function.
1926         * targhooks.h (default_external_libcall): Declare.
1927         * varasm.c (assemble_external_libcall): Use
1928         targetm.asm_out.external_libcall instead of
1929         ASM_OUTPUT_EXTERNAL_LIBCALL.
1930         * config/mips/mips-protos.h [TARGET_IRIX5 || TARGET_IRIX 6]
1931         (mips_output_external_libcall): Declare.
1932         * config/mips/mips.c (mips_output_external_libcall): Change
1933         definition guard.
1934         Change to match TARGET_ASM_EXTERNAL_LIBCALL.
1935         Only operate for O32 ABI.
1936         * config/mips/iris5.h (TARGET_ASM_EXTERNAL_LIBCALL): Define
1937         instead of ASM_OUTPUT_EXTERNAL_LIBCALL.
1938         * config/mips/iris6.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Don't undef,
1939         superceded by TARGET_ASM_EXTERNAL_LIBCALL.
1940
1941 2003-09-22  Nathnael Nerode  <neroden@gcc.gnu.org>
1942
1943         * config.gcc: Do per-target disabling of fixproto here in clauses,
1944         not in t- fragments.
1945         * configure.in: Adjust to set STMP_FIXPROTO correctly.
1946         * configure: Regenerate.
1947         * config/arm/t-semi, config/cris/t-cris, config/i386/t-beos,
1948         config/i386/t-cygming, config/i386/t-nto, config/ia64/t-hpux,
1949         t-freebsd, t-linux, t-netbsd, t-openbsd, t-rtems, t-vxworks,
1950         xtensa/t-xtensa: Remove setting of STMP_FIXPROTO.
1951         * config/i370/t-oe, config/i386/t-netware, config/pa/t-bsd,
1952         t-interix, t-linux-aout:  Delete files consisting only of
1953         setting of STMP_FIXPROTO.
1954
1955         * config.host: Allow unknown hosts (not targets).  Allow
1956         ns32k-*-netbsdelf* as a host (not a target).  Remove redundant
1957         empty clauses.  Remove useless obsolete-configuration clause.
1958         Prune unsupported configuration list.  Collapse identical
1959         clauses for closely related systems.  Rewrite comment for
1960         unsupported hosts list.  Reorganize a little.
1961
1962 2003-09-22  Richard Henderson  <rth@redhat.com>
1963
1964         * c-common.c (c_common_signed_or_unsigned_type): Examine mode,
1965         not precision.
1966
1967 2003-09-22  David Edelsohn  <edelsohn@gnu.org>
1968             Hartmut Penner  <hpenner@de.ibm.com>
1969             Segher Boessenkool  <boessen@de.ibm.com>
1970
1971         * config/rs6000/rs6000.c (altivec_in_gprs_p): Rename to ...
1972         (gpr_or_gpr_p): Test INT_REGNO_P and convert to boolean.
1973         (rs6000_split_altivec_in_gprs): Rename to ...
1974         (rs6000_split_multireg_move): Add support for update addressing.
1975         * config/rs6000/rs6000-protos.h: Same.
1976         * config/rs6000/altivec.md: Same.
1977         * config/rs6000/rs6000.md (movdi_internal32): Use new splitter for
1978         multiple GPRs.
1979         (movti): Remove TARGET_STRING || TARGET_POWERPC64 final condition.
1980         (movti_power): Use new splitter for multiple GPRs.
1981         (movti_string): Same.
1982         (movti_ppc64): Same.
1983
1984 2003-09-22  Bob Wilson  <bob.wilson@acm.org>
1985
1986         * config/xtensa/xtensa-protos.h: Convert to ISO C90.
1987         * config/xtensa/xtensa.c: Convert to ISO C90.  Minor formatting fixes.
1988
1989 2003-09-22  Alexandre Oliva  <aoliva@redhat.com>
1990
1991         * config/mn10300/mn10300.md: Revert 2003-09-17's patch.
1992         (andsi3): Set attr cc to set_zn when using shifts or adds.
1993
1994 2003-09-22  Bernardo Innocenti <bernie@develer.com>
1995
1996         * doc/contrib.texi: Add Peter Barada, Paul Dale and myself.
1997
1998 2003-09-22  Bernardo Innocenti  <bernie@develer.com>
1999
2000         * config/m68k/m68k.h (MASK_RTD, TARGET_RTD, RETURN_POPS_ARGS):
2001         Resurrect -mrtd option.
2002
2003 2003-09-21  Andrew Pinski  <pinskia@physics.uc.edu>
2004
2005         PR target/12281
2006         * config/darwin.c (machopic_validate_stub_or_non_lazy_ptr): Call
2007         mark_referenced instead of setting TREE_SYMBOL_REFERENCED.
2008
2009 2003-09-22  Olivier Hainque  <hainque@act-europe.fr>
2010
2011         PR target/9786
2012         * reg-stack.c (convert_regs_1): Purge possible dead eh edges
2013         after potential deletion of trapping insn. Avoids later ICE
2014         from call to fixup_abnormal_edges.
2015         (convert_regs_2): Stack the current block successors before
2016         processing this block, that is, before the potential deletion of
2017         dead edges by convert_regs_1, because these edges have been used
2018         to initialize the predecessors count.
2019
2020 2003-09-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
2021
2022         * real.c: Fix several nits in the head comment.
2023
2024 2003-09-21  Richard Henderson  <rth@redhat.com>
2025
2026         * tree.h c-aux-info.c, c-decl.c, c-parse.in, coverage.c, dbxout.c,
2027         diagnostic.c, dwarf2out.c, dwarfout.c, function.c, integrate.c,
2028         print-tree.c, stmt.c, toplev.c, tree-dump.c, tree-inline.c,
2029         tree-optimize.c, tree.c, tree.def, xcoffout.c, config/alpha/alpha.c,
2030         config/mips/mips.c, doc/c-tree.texi, objc/objc-act.c: Revert.
2031
2032 2003-09-21  Richard Henderson  <rth@redhat.com>
2033
2034         * tree.h (TREE_LOCUS): Rename from DECL_SOURCE_LOCATION; make const.
2035         (TREE_FILENAME, TREE_LINENO): Likewise.
2036         (set_tree_locus, copy_tree_locus, set_tree_file_line): New.
2037         (TREE_LOCUS_SET_P): New.
2038         * c-aux-info.c, c-decl.c, c-parse.in, coverage.c, dbxout.c,
2039         diagnostic.c, dwarf2out.c, dwarfout.c, function.c, integrate.c,
2040         print-tree.c, stmt.c, toplev.c, tree-dump.c, tree-inline.c,
2041         tree-optimize.c, tree.c, tree.def, xcoffout.c, config/alpha/alpha.c,
2042         config/mips/mips.c, doc/c-tree.texi, objc/objc-act.c: Update to match.
2043
2044 2003-09-21  Nathanael Nerode  <neroden@gcc.gnu.org>
2045
2046         * config/vax/vax-protos.h: Convert to ISO C90.
2047         * config/vax/vax.c: Convert to ISO C90.
2048
2049 2003-09-21  Graham Stott  <grahams@btinternet.com>
2050
2051        PR target/12353
2052        * config/i386/i386.md(ffs_no_cmove): Fix operand 2 constraint.
2053
2054 2003-09-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
2055
2056         PR target/12301
2057         * reorg.c (stop_search_p): Return 1 for insns that can
2058         throw internally.
2059
2060 2003-09-20  Richard Henderson  <rth@redhat.com>
2061
2062         * c-format.c (gcc_diag_char_table): Add %J.
2063         (gcc_cdiag_char_table, gcc_cxxdiag_char_table): Likewise.
2064         (check_format_types): Fix wanted_type name lookup.
2065         (init_dynamic_diag_info): Setup %J.
2066         * diagnostic.c (text_specifies_location): Implement %J.
2067         * c-common.c, c-decl.c, c-objc-common.c, c-pragma.c, calls.c,
2068         dwarfout.c, expr.c, function.c, stmt.c, stor-layout.c, toplev.c,
2069         tree-inline.c, tree-optimize.c, varasm.c, config/arm/pe.c,
2070         config/i386/winnt.c, config/ia64/ia64.c, config/mcore/mcore.c,
2071         config/v850/v850.c, objc/objc-act.c: Use %J in diagnostics.
2072
2073         * tree-inline.c: Include intl.h
2074         (inline_forbidden_p_1): Fix i18n of inline_forbidden_reason.
2075         * Makefile.in (tree-inline.o): Update.
2076
2077 2003-09-20  Roger Sayle  <roger@eyesopen.com>
2078
2079         * config/i386/i386.c (ix86_expand_carry_flag_compare): Fix
2080         transformation of a>=0 into (unsigned)a<0x80000000.
2081
2082 2003-09-20  Andrew Pinski <apinski@apple.com>
2083
2084         * config/darwin.c (machopic_select_rtx_section): Fix check for PIC code.
2085
2086 2003-09-20  Nathanael Nerode  <neroden@gcc.gnu.org>
2087
2088         * Makefile.in: Don't set (unused) DLLTOOL.
2089
2090         * config/arm/t-linux, config/arm/t-netbsd, config/arm-t-semi:
2091         Remove obsolete references to ENQUIRE.
2092
2093 2003-09-19  Nathanael Nerode  <neroden@gcc.gnu.org>
2094
2095         * configure.in: Remove --with-elf, which doesn't work.
2096         * configure: Regenerate.
2097         * config.gcc: Remove references to $elf, which does nothing.
2098
2099         * config/i386/xm-vsta.h: Remove xm-file believed useless.
2100         * config.build (i386-vsta): Remove reference to it.
2101         * config.host (i386-vsta): Remove reference to it.
2102
2103 2003-09-19  Phil Edwards  <phil@codesourcery.com>
2104
2105         * doc/install.texi:  Document the multiple testsuite options.
2106
2107 2003-09-19  Gerald Pfeifer  <gerald@pfeifer.com>
2108
2109         * doc/install.texi (Specific): Add the specific versions of GCC
2110         where support for FreeBSD 1, HP-UX version 9 and older, and AIX
2111         version 3 and older was discontinued.
2112
2113 2003-09-19      Joel Sherrill <joel@oarcorp.com>
2114
2115         * config/m68k/t-m68kbare, config/m68k/t-rtems: Change 68681 to
2116         68881.
2117
2118 2003-09-19  Bernardo Innocenti  <bernie@develer.com>
2119
2120         * config/m68k/m68k.h (TARGET_CPU_CPP_PREDEFINES): Add predefines
2121         for -m68030, -m68020-60 and -m68020-40.
2122         * config/m68k/m68k.h (TARGET_68030): New target flag.
2123         * config/m68k/m68k.h (MASK_RTD, TARGET_RTD, MASK_REGPARM,
2124         TARGET_REGPARM): Remove.
2125         * config/m68k/m68k.h: Regroup and renumber target flags.
2126         * config/m68k/m68k.h (TARGET_SWITCHES): Fix some tabulations.
2127         * config/m68k/m68k.h (RETURN_POPS_ARGS): Always evaluate to 0.
2128         * config/m68k/m68k.h (FUNCTION_ARG): Likewise.
2129         * config/m68k/m68k.h (FUNCTION_ARG_PARTIAL_NREGS): Likewise.
2130         * config/m68k/m68k-none.h: Use MASK_xxx values in M68K_CPU_xxx macros.
2131
2132 2003-09-19  Ralf Corsepius <corsepiu@faw.uni-ulm.de>
2133
2134         * config/m68k/t-rtems (m68k-*-rtems*): New.
2135         * config.gcc: Use config/m68k/t-rtems.
2136
2137 2003-09-19  Ralf Corsepius <corsepiu@faw.uni-ulm.de>
2138
2139         * config/mips/t-rtems: New.
2140         * config.gcc (mips*-*-rtems*): Use config/mips/t-rtems.
2141
2142 2003-09-19  Kelley Cook  <kelleycook@wideopenwest.com>
2143
2144         * cgraph.c: Fix typo in debugging output.
2145
2146 2003-09-19  T. Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
2147             Eric Botcazou <ebotcazou@libertysurf.fr>
2148
2149         PR target/12166
2150         * config/sparc/sol2-c1.asm (start): Set __Argv if GCRT1.
2151
2152 2003-09-18  Mike Stump  <mrs@apple.com>
2153
2154         * c-ppoutput.c (print):  Use fileline typedef for field 'line'.
2155         (print_line, maybe_print_line, cb_define, cb_undef, cb_include,
2156         cb_ident, cb_def_pragma):  Use fileline typedef.
2157         * cpphash.h (struct cpp_reader):  Likewise for field out.first_line.
2158
2159 2003-09-18  Danny Smith  <dannysmith@users.sourceforge.net>
2160
2161         * config/i386/winnt.c (gen_stdcall_suffix): Quit summation of
2162         total parm size if a parm has incomplete type.
2163         (gen_fastcall_suffix): Likewise.
2164
2165 2003-09-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2166
2167         * except.c (output_function_exception_table): Adjust last change
2168         to handle TYPE of INTEGER_CST.
2169
2170 2003-09-18  Mark Mitchell  <mark@codesourcery.com>
2171
2172         PR target/11184
2173         * builtins.c (expand_builtin_apply): Use convert_memory_address
2174         before returning the value.
2175
2176         * alias.c (find_base_value): Simplify use of
2177         convert_memory_address.
2178         (find_base_term): Likewise.
2179         * builtins.c (expand_builtin_stejmp_setup): Likewise.
2180         (expand_builtin_longjmp): Likewise.
2181         (expand_builtin_prefetch): Likewise.
2182         (get_memory_rtx): Likewise.
2183         (expand_builtin_return): Likewise.
2184         (expand_builtin_memcpy): Likewise.
2185         (expand_builtin_strncpy): Likewise.
2186         (expand_builtin_memset): Likewise.
2187         (expand_builtin_va_arg): Likewise.
2188         (expand_builtin_va_copy): Likewise.
2189         (expand_builtin_alloca): Likewise.
2190         * calls.c (expand_call): Likewise.
2191         * except.c (expand_builtin_extract_return_addr): Likewise.
2192         (expand_builtin_eh_return): Likewise.
2193         * explow.c (convert_memory_address): Define even when
2194         POINTER_EXTEND_UNSIGNED is not defined.  Do nothing if the address
2195         is already in the right mode.
2196         * explow.c (memory_address): Simplify use of convert_memory_address.
2197         (probe_stack_range): Likewise.
2198         * expmed.c (make_tree): Likewise.
2199         * expr.c (emit_block_move_in_libcall): Likewise.
2200         (expand_assignment): Likewise.
2201         (expand_expr): Likewise.
2202         * function.c (assign_parms): Likewise.
2203         (expand_function_end): Likewise.
2204         * integrate.c (copy_rtx_and_substitute): Likewise.
2205         * stmt.c (expand_computed_goto): Likewise.
2206
2207 2003-09-18  Roger Sayle  <roger@eyesopen.com>
2208
2209         * simplify-rtx.c (simplify_unary_operation): Only transform
2210         (not (eq X Y)) into (ne X Y) when mode is BImode or STORE_FLAG_VALUE
2211         is -1.  RTL "not" is a bit-wise not, "~", not a logical not "!".
2212
2213 2003-09-18  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2214
2215         PR target/11674
2216         * config/i386/i386.c (x86_emit_floatuns): Also handle SImode operand.
2217
2218 2003-09-18  Roger Sayle  <roger@eyesopen.com>
2219
2220         * tree.def (FFS_EXPR, CLZ_EXPR, CTZ_EXPR, POPCOUNT_EXPR,
2221         PARITY_EXPR): Delete unused tree codes.
2222         * c-common.c (c_common_truthvalue_conversion): Delete references
2223         to FFS_EXPR and POPCOUNT_EXPR.
2224         * c-pretty-print.c (pp_c_postfix_expression): Remove FFS_EXPR.
2225         (pp_c_expression): Likewise.
2226         * expr.c (expand_expr): Delete RTL expansion of FFS_EXPR, CLZ_EXPR,
2227         CTZ_EXPR, POPCOUNT_EXPR and PARITY_EXPR.
2228         * fold-const.c (tree_expr_nonnegative_p): Remove FFS_EXPR, CLZ_EXPR,
2229         CTZ_EXPR, POPCOUNT_EXPR and PARITY_EXPR.  Add support for calls to
2230         BUILT_IN_FFS, BUILT_IN_PARITY and BUILT_IN_POPCOUNT and their long
2231         and long long variants.
2232
2233 2003-09-18  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2234
2235         * c-pretty-print.h (pp_type_specifier_seq): Fix thinko.
2236         * c-pretty-print.c: Fix formatting.
2237         (pp_c_integer_constant): Append type annotation to literals.  Tidy.
2238         (pp_c_type_specifier): Tidy.
2239         (pp_c_compound_literal): New function.
2240         (pp_c_initializer): Simplify..
2241         (pp_c_initializer_list): Likewise.
2242         (pp_c_brace_enclosed_initializer_list): New function.
2243         (pp_c_postfix_expression): Simplify.
2244
2245 2003-09-17  Alexandre Oliva  <aoliva@redhat.com>
2246
2247         * config/mn10300/mn10300.md (andsi3, iorsi3, xorsi3,
2248         one_complsi2, bit-clear, bit-set, iorqi3): Make them set_zn.
2249
2250 2003-09-17  Richard Henderson  <rth@redhat.com>
2251
2252         * tree-optimize.c (tree_rest_of_compilation): Save and restore
2253         input_location.
2254
2255 2003-09-17  Daniel Jacobowitz  <drow@mvista.com>
2256
2257         * config/rs6000/sysv4.h (LIB_LINUX_SPEC): Give -lpthread before -lc.
2258
2259 2003-09-17  Richard Henderson  <rth@redhat.com>
2260
2261         * cfg.c (dump_flow_info): Skip register dump if reg_n_info null.
2262
2263 2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2264
2265         * configure.in (gcc_cv_ld_hidden): Don't test gnu_ld_flag.
2266         * configure: Regenerate.
2267
2268 2003-09-17  Mark Mitchell  <mark@codesourcery.com>
2269
2270         PR debug/12066
2271         * dbxout.c (dbxout_init): Use a langhook to find builtin types.
2272         * langhooks-def.h (lhd_return_null_tree_v): New function.
2273         (LANG_HOOKS_BUILTIN_TYPE_DECLS): New macro.
2274         (LANG_HOOKS_DECLS): Add it to the intializer.
2275         * langhooks.c (lhd_return_null_tree_v): New function.
2276         * langhooks.h (lang_hooks_for_decls): Add builtin_type_decls.
2277
2278 2003-09-17  Daniel Jacobowitz  <drow@mvista.com>
2279
2280         * configure.in: Quote gcc_config_arguments for configargs.h.
2281         * configure: Regenerated.
2282         * gccbug.in: Don't shell-expand gcc_config_arguments.
2283
2284 2003-09-17  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2285
2286         PR c++/11357
2287         * c-pretty-print.c (pp_c_floating_constant): Append
2288         type-annotation to floating constants.
2289
2290 2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2291
2292         * config/mips/iris5.h (TARGET_OS_CPP_BUILTINS): Define _LONGLONG.
2293         Define _ABIO32.
2294         Use it for _MIPS_SIM.
2295         * config/mips/iris6-o32.h (TARGET_OS_CPP_BUILTINS): Removed.
2296
2297         * config/mips/iris6-o32-as.h (SUBTARGET_ASM_OPTIMIZING_SPEC):
2298         Moved ...
2299         * config/mips/iris5.h (SUBTARGET_ASM_OPTIMIZING_SPEC): ... here,
2300         updating comment.
2301         Fixes PR target/10190.
2302
2303 2003-09-17  Daniel Jacobowitz  <drow@mvista.com>
2304
2305         * config/rs6000/sysv4.h (LIB_LINUX_SPEC): Make -pthread apply
2306         to shared libraries.
2307
2308 2003-09-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
2309
2310         PR optimization/11646
2311         * cfgrtl.c (purge_dead_edges) [JUMP_INSN]: Rematerialize the
2312         EDGE_ABNORMAL flag for EH edges.
2313         * toplev.c (rest_of_handle_cse): Delete unreachable blocks
2314         if dead edges were purged.
2315
2316 2003-09-16  Bernardo Innocenti  <bernie@develer.com>
2317
2318         * config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Add target predefines.
2319         * config/m68k/m68k-none.h (CPP_CPU_DEFAULT_SPEC): Kill all definitions.
2320         * config/m68k/m68k-none.h (CPP_FPU_SPEC): Remove.
2321         * config/m68k/m68k-none.h (CPP_SPEC): Likewise.
2322
2323 2003-09-16  Ian Lance Taylor  <ian@wasabisystems.com>
2324
2325         * cfgcleanup.c (label_is_jump_target_p): Correct use of table
2326         returned by tablejump_p.
2327
2328 2003-09-16  Joel Brobecker  <brobecker@gnat.com>
2329
2330         * dwarf2asm.c (dw2_asm_output_nstring): Add comment.
2331
2332 2003-09-16  Roger Sayle  <roger@eyesopen.com>
2333
2334         PR bootstrap/12269
2335         * simplify-rtx.c (simplify_gen_relational): Allow the cmp_mode
2336         argument to be VOIDmode, taking the mode of the comparison from
2337         the operands.  Only call simplify_relational_operation if we
2338         know the mode of the comparison.  Honor FLOAT_STORE_FLAG_VALUE
2339         if comparison has a floating point result.  Ensure that the
2340         result is always of the specified mode.
2341         (simplify_replace_rtx): Simplify call to simplify_gen_relational.
2342         (simplify_unary_operation): Ensure the correct mode and cmp_mode
2343         are always passed to simplify_gen_relational.  Simplify NOT of
2344         comparison operator in any mode, not just BImode.
2345         (simplify_ternary_operation): Correct tests on the return value
2346         of simplify_relational_operation to use const_true_rtx, not
2347         const1_rtx.  Abort if it ever returns a non-constant result.
2348
2349         * cfgloopanal.c (count_strange_loop_iterations): Use the function
2350         simplify_relational_operation, not simplify_gen_relational, if
2351         we're only interested in constant comparisons and will ignore
2352         non-constant results.
2353
2354 2003-09-16  Roger Sayle  <roger@eyesopen.com>
2355
2356         * fold-const.c (tree_swap_operands_p): New function to determine
2357         the prefered ordering of operands.
2358         (fold): Numerous clean-ups.  Use tree_swap_operands_p when swapping
2359         operands to commutative, comparison or ternary operators.  Replace
2360         uses of TREE_SET_CODE with recursive call to fold.  Remove duplicate
2361         transformation of A ? B : C into !A ? C : B.
2362
2363 2003-09-16  Jakub Jelinek  <jakub@redhat.com>
2364
2365         * config/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
2366         * config/alpha/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
2367         * config/arm/linux-elf.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
2368         * config/rs6000/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
2369         * config/rs6000/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
2370         * config/sh/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
2371         * config/sparc/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
2372         * config/sparc/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
2373
2374 2003-09-16  Jason Merrill  <jason@redhat.com>
2375             Jakub Jelinek  <jakub@redhat.com>
2376
2377         * c-common.c (handle_warn_unused_result_attribute): New function.
2378         (c_common_attribute_table): Add warn_unused_result.
2379         (c_expand_expr): Issue warning when result of inlined function
2380         with warn_unused_result attribute is ignored.
2381         * calls.c (expand_call): Issue warning when result of function
2382         with warn_unused_result attribute is ignored.
2383         * c-common.h (STMT_EXPR_WARN_UNUSED_RESULT): Define.
2384         * expr.c (expr_wfl_stack): Define.
2385         (expand_expr) <case EXPR_WITH_FILE_LOCATION>: If ignore,
2386         pass const0_rtx as target.  Chain locations into expr_wfl_stack.
2387         * tree-inline.c (expand_call_inline): Set STMT_EXPR_WARN_UNUSED_RESULT
2388         bit if inlined function has warn_unused_result attribute.
2389         * input.h (expr_wfl_stack): Declare.
2390         * doc/extend.texi: Document warn_unused_result attribute.
2391
2392 2003-09-15  Alexandre Oliva  <aoliva@redhat.com>
2393
2394         * cpplib.c (do_pragma): Remove unnecessary cb_line_change.
2395
2396 2003-09-15  Bob Wilson  <bob.wilson@acm.org>
2397
2398         * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Add
2399         ATTRIBUTE_UNUSED.
2400         (call_insn_operand): For PIC, don't allow a direct call to a
2401         function in a different section than the current one.
2402
2403 2003-09-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2404
2405         * doc/invoke.texi (Warning Options): Add missing hyphen before
2406         "Wimport".  Change "-Wno-endif-labels" to "-Wendif-labels".
2407         Move "-Wold-style-definition" to the C-only section.
2408         Fix the ordering of the warning options.
2409
2410 2003-09-15  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2411             Jeff Law  <law@redhat.com>
2412
2413         * gcse.c (remove_reachable_equiv_notes): New.
2414         replace_store_insn): Call it.  Update antic list.
2415         (store_killed_in_insn): Take REG_EQUAL notes into account.
2416         (build_store_vectors, delete_store): Add parameter to
2417         replace_store_insn call.
2418
2419 2003-09-15  Bob Wilson  <bob.wilson@acm.org>
2420
2421         * config/xtensa/xtensa.h (LEGITIMATE_PIC_OPERAND_P): Use
2422         SYMBOL_REF_LOCAL_P.
2423
2424 2003-09-15  Kazu Hirata  <kazu@cs.umass.edu>
2425
2426         * expr.h (DEFAULT_FUNCTION_ARG_PADDING): New.
2427         (FUNCTION_ARG_PADDING): Use DEFAULT_FUNCTION_ARG_PADDING.
2428         * config/ia64/ia64.c (ia64_hpux_function_arg_padding):
2429         Likewise.
2430         * config/m68hc11/m68hc11.c (m68hc11_function_arg_padding):
2431         Likewise.
2432         * config/rs6000/rs6000.c (function_arg_padding): Likewise.
2433         * config/sparc/sparc.c (function_arg_padding): Likewise.
2434
2435 2003-09-15  Vladimir Makarov  <vmakarov@redhat.com>
2436
2437         * haifa-sched.c (schedule_block): Use ready_remove_first instead
2438         of choose_ready for non-dfa insn scheduling.
2439
2440 2003-09-15  Andreas Jaeger  <aj@suse.de>
2441             Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2442
2443         * doc/invoke.texi (Warning Options): Describe -Wold-style-definition.
2444         * c-opts.c (c_common_handle_option): Handle OPT_Wold_style_definition.
2445         * c-parse.in: Warn about old-style parameter definition.
2446         * c-common.c: Define warn_old_style_defintion.
2447         * c-common.h: Declare it.
2448         * c.opt: Add Wold-style-defintion.
2449
2450 2003-09-15  Andreas Jaeger  <aj@suse.de>
2451
2452         * config/rs6000/altivec.h: Convert () prototypes to ISO C90.
2453         * config/rs6000/rs6000.c: Likewise.
2454
2455 2003-09-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2456
2457         PR optimization/10914
2458         * expr.h (get_condition, canonicalize_condition): Declaration changed.
2459         * cfgloopanal.c (simple_loop_exit_p): Add parameter to a get_condition
2460         and canonicalize_condition calls.
2461         * gcse.c (fis_get_condition, delete_null_pointer_checks_1,
2462         delete_null_pointer_checks): Ditto.
2463         * ifcvt.c (noce_get_alt_condition, noce_get_condition): Ditto.
2464         * predict.c (estimate_probability, expected_value_to_br_prob): Ditto.
2465         * loop.c (check_dbra_loop, get_condition_for_loop): Ditto.
2466         (canonicalize_condition, get_condition): Allow to return comparisons
2467         of cc mode registers.
2468         * loop-unswitch.c (may_unswitch_on_p, unswitch_single_loop): Allow
2469         cc mode registers comparison in condition.
2470
2471 2003-09-12  Mark Mitchell  <mark@codesourcery.com>
2472
2473         * coverage.c (create_coverage): Do not call pushlevel/poplevel.
2474         * langhooks-def.h (lhd_do_nothing_iii_return_null_tree): New
2475         function.
2476         * langhooks.c (lhd_do_nothing_iii_return_null_tree): Define it.
2477
2478 2003-09-14  Kazu Hirata  <kazu@cs.umass.edu>
2479
2480         * combine.c (simplify_comparison): Convert
2481         (ne (and (lshiftrt (xor X CST) Y) 1) 0) into
2482         (eq (and (lshiftrt X Y) 1) 0).
2483
2484 2003-09-14  Kazu Hirata  <kazu@cs.umass.edu>
2485
2486         * alias.c: Follow spelling conventions.
2487         * cpphash.h: Likewise.
2488         * fold-const.c: Likewise.
2489
2490 2003-09-14  Alexandre Oliva  <aoliva@redhat.com>
2491
2492         * c-ppoutput.c (cb_line_change): Revert 2003-08-04's change.
2493         * c-lex.c (cb_line_change): Skip line changing whenever
2494         c-ppoutput.c would.
2495
2496 2003-09-14  Steven Bosscher  <steven@gcc.gnu.org>
2497
2498         * ra.c: Convert to ISO C90 prototypes.
2499         * ra-build.c: Likewise.
2500         * ra-colorize.c: Likewise.
2501         * ra-debug.c: Likewise.
2502         * ra-rewrite.c: Likewise.
2503
2504 2003-09-14  Richard Sandiford  <rsandifo@redhat.com>
2505
2506         * Makefile.in (%.dvi): Remove excess $(docdir).
2507
2508 2003-09-14  Richard Sandiford  <rsandifo@redhat.com>
2509
2510         * function.c (STACK_BYTES): Move definition to head of file.
2511         (assign_parms): Don't pass current_function_pretend_args_size
2512         directly to SETUP_INCOMING_VARARGS.  For partial register arguments,
2513         round current_function_pretend_args_size up to STACK_BYTES.  Skip any
2514         excess before laying out the argument.
2515
2516 2003-09-14  Andreas Jaeger  <aj@suse.de>
2517
2518         * objc/objc-act.c: Convert to ISO C90 prototypes.
2519         * objc/objc-act.h: Likewise.
2520
2521 2003-09-14  Olaf Hering  <olh@suse.de>
2522
2523         * config/rs6000/rs6000.c: Fix typo: Remove extra ')'.
2524
2525 2003-09-13  Andrew Pinski <pinskia@physics.uc.edu>
2526
2527         PR target/12021
2528         * config/m68k/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Remove the asserts
2529         as they already are done in config/m68k/m68k.h.
2530         * config/m68k/netbsd.h (TARGET_OS_CPP_BUILTINS): Likewise
2531
2532         * config/rs6000/rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Remove.
2533         (machopic_output_stub): Only generate pic base symbols when using pic
2534         and generate them in the form L00000000$spb.
2535
2536 2003-09-13  Richard Henderson  <rth@redhat.com>
2537
2538         * cgraphunit.c (cgraph_assemble_pending_functions): Export.
2539         (cgraph_finalize_function): Revert TREE_ASM_WRITTEN check.
2540         * cgraph.h: Update.
2541
2542 2003-09-12  Dale Johannesen  <dalej@apple.com>
2543
2544         * config/rs6000/rs6000.c: Fix typos in previous.
2545
2546 2003-09-12  Ziemowit Laski  <zlaski@apple.com>
2547
2548         * pretty-print.c (pp_construct): Use xcalloc instead of xmalloc
2549         when allocating pp->buffer.
2550
2551 2003-09-12  Geoffrey Keating  <geoffk@apple.com>
2552
2553         * config/darwin.c (machopic_select_rtx_section): Use
2554         const_data_section for things that might require relocation.
2555
2556 2003-09-12  H.J. Lu  <hongjiu.lu@intel.com>
2557
2558         PR bootstrap/12264
2559         * tree-inline.c (inline_forbidden_p_1): Cast the 3rd arg to tree.
2560
2561 2003-09-12  Bob Wilson  <bob.wilson@acm.org>
2562
2563         * config/xtensa/elf.h (ASM_SPEC): Remove no-density option.  Reformat.
2564         * config/xtensa/linux.h (ASM_SPEC): Likewise.
2565         * config/xtensa/xtensa.h (TARGET_SWITCHES): Remove -mbig-endian,
2566         -mlittle-endian, -m[no-]density, -m[no-]abs, -m[no-]addx, -m[no-]mac16,
2567         -m[no-]mul16, -m[no-]mul32, -m[no-]nsa, -m[no-]minmax, -m[no-]sext,
2568         -m[no-]booleans, -mhard-float, -msoft-float, -m[no-]hard-float-div,
2569         -m[no-]hard-float-recip, -m[no-]hard-float-sqrt, and
2570         -m[no-]hard-float-rsqrt options.  Delete corresponding MASK_* macros
2571         and redefine corresponding TARGET_* macros with constants from the
2572         xtensa-config.h header.
2573         * doc/invoke.texi (Option Summary, Xtensa Options): Remove documention
2574         for the options listed above.
2575
2576 2003-09-12  Dale Johannesen  <dalej@apple.com>
2577
2578         * config/rs6000/rs6000-protos.h:  Use C90 prototypes.
2579         * config/rs6000/rs6000-c.c:  Ditto.
2580         * config/rs6000/rs6000.c:  Ditto.
2581         * config/rs6000/ sysv4.h:  Ditto.
2582
2583 2003-09-12  Chris Lattner <sabre@nondot.org>
2584
2585         * loop.c: Move comments describing BIV's and GIV's to top of file
2586
2587 2003-09-12  Roger Sayle  <roger@eyesopen.com>
2588
2589         PR optimization/8967
2590         * alias.c (write_dependence_p): Modify to take an additional constp
2591         argument that controls whether the UNCHANGING_RTX_P flags are used.
2592         (anti_dependence, output_dependence): Adjust write_dependence_p
2593         callers to pass this additional argument, to return the same result.
2594         (unchanging_anti_dependence): New variant of anti_dependence that
2595         ignores the UNCHANGING_RTX_P property on memory references.
2596         * rtl.h (unchaning_anti_dependence): Prototype here.
2597         * flow.c (init_propagate_block): Place fake constant mem writes on
2598         the mem_set_list so that dead writes to const variables are deleted.
2599         (insn_dead_p): Change anti_dependence to unchanging_anti_dependence.
2600         (mark_used_regs): Likewise.
2601
2602 2003-09-12  Richard Sandiford  <rsandifo@redhat.com>
2603
2604         * config/mcore/mcore-protos.h (mcore_r15_operand_p): Declare.
2605         (mcore_secondary_reload_class): Declare.
2606         (mcore_output_inline_const_forced): Remove.
2607         * config/mcore/mcore.md (movsi): Remove the code that forced
2608         non-inlineable constants into a register if the target was r15
2609         or the stack pointer.  Remove constant restrictions from the main
2610         define_insn.  Remove r <- I, r <- M and r <- N alternatives in favor
2611         of an r <- P alternative.  Remove fallback define_insn for reload.
2612         (movhi, movqi): Use gen_lowpart rather than gen_SUBREG.  Remove reload
2613         define_insn.  Use mcore_output_move in the remaining define_insn.
2614         Adjust condition and constraints in the way as for movsi.
2615         (movdi): Always split unacceptable constants into two.  Use
2616         simplify_gen_subreg instead of operand_subword{,_force}.
2617         * config/mcore/mcore.c (mcore_output_inline_const_forced): Remove.
2618         (mcore_output_move): Support HImode and QImode moves as well.
2619         (mcore_m15_operand_p): New function.
2620         (mcore_reload_class): Use it to detect cases where LRW_REGS are better.
2621         (mcore_secondary_reload_class): New function.
2622         * config/mcore/mcore.h (SECONDARY_RELOAD_CLASS): Redefine in
2623         terms of mcore_secondary_reload_class.
2624
2625 2003-09-11  Mike Stump  <mrs@apple.com>
2626
2627         * c-lex.c (fe_file_change): Don't transform to_line with SOURCE_LINE.
2628
2629 2003-09-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2630
2631         * builtins.c (fold_builtin_logarithm): if N can't be truncated to
2632         MODE exactly, then only convert logN(N) -> 1.0 if
2633         flag_unsafe_math_optimizations is set.
2634
2635         * builtins.c (builtin_dconsts_init, dconstpi, dconste,
2636         init_builtin_dconsts): Delete.
2637         * emit-rtl.c (dconstpi, dconste): Define.
2638         (init_emit_once): Initialize dconstpi & dconste.
2639         * real.h (dconstpi, dconste): Declare.
2640
2641 2003-09-11  Alexandre Oliva  <aoliva@redhat.com>
2642
2643         PR fortran/11522
2644         * dwarf2out.c (gen_inlined_subroutine_die): Emit abstract function
2645         for ultimate origin even if block is abstract.
2646
2647 2003-09-11  Roger Sayle  <roger@eyesopen.com>
2648
2649         * combine.c (combine_simplify_rtx): Move several NOT and NEG
2650         optimizations from here...
2651         * simplify-rtx.c (simplify_unary_operation): to here.  Recursively
2652         simplify expressions using simplify_gen_*ary instead of gen_rtx_*.
2653
2654 2003-09-11  Richard Henderson  <rth@redhat.com>
2655
2656         * cgraphunit.c (cgraph_finalize_function): Add nested arg.
2657         Tweek tests for function already generated.
2658         (cgraph_expand_function): Don't double announce in !unit-at-a-time.
2659         * cgraph.h (cgraph_finalize_function): Update for extra arg.
2660         * c-decl.c (finish_function): Likewise.
2661
2662 2003-09-10  Joe Buck  <jbuck@welsh-buck.org>
2663
2664         * c-decl.c (poplevel): Eliminate use of |= in function_body assignment.
2665
2666 2003-09-10  Jerry Quinn  <jlquinn@optonline.net>
2667
2668         * real.c: Update URL to VAX floating point docs.
2669         (decode_vax_d): Extract 8 exponent bits instead of 7.
2670
2671 2003-09-10  Ian Lance Taylor  <ian@wasabisystems.com>
2672
2673         * combine.c (force_to_mode): Set fuller_mask based only on mask,
2674         not op_mode.
2675
2676 2003-09-11  Jan Hubicka  <jh@suse.cz>
2677
2678         * c-objc-common.c (c_cannot_inline_tree_fn): Warn
2679         on why function is not inlinable; do not check
2680         the body.
2681         (inline_forbidden_p): Move to...
2682         * tree-inline.c (inline_forbidden_p_1): ... here; Add warnings;
2683         deal with alloca, longjmp.
2684         (inline_forbidden_p): New static function.
2685         (find_alloca_call_1, find_alloca_call, find_builtin_longjmp_call_1,
2686         find_builtin_longjmp_call): Kill.
2687
2688 2003-09-10  Richard Henderson  <rth@redhat.com>
2689
2690         * cgraph.h (struct cgraph_node): Rename lowered to analyzed.
2691         * cgraphunit.c: Update to match.
2692         (record_call_1): Rearrange.  Call lang hook for language nodes.
2693         (cgraph_analyze_function): Don't call lower_function.
2694         * langhooks.h (struct lang_hooks_for_callgraph): Replace
2695         lower_function with analyze_expr.
2696         * langhooks-def.h: Update to match.
2697         * langhooks.c (lhd_callgraph_analyze_expr): New.
2698
2699 2003-09-10  Martin Husemann  <martin@duskware.de>
2700
2701         PR target/11965
2702         * config/sparc/sparc.c (sparc_v8plus_shift): Protect against
2703         constants greater than 63.
2704         * config/sparc/sparc.md (ashlsi3, ashrsi3, lshrsi3): Protect
2705         against constants greater than 31.
2706         (*ashldi3_sp64, *ashrdi3_sp64, *lshrdi3_sp64): Protect against
2707         constants greater than 63.
2708
2709 2003-09-09  Richard Henderson  <rth@redhat.com>
2710
2711         * cgraphunit.c (cgraph_finalize_function): Remove unused argument.
2712         * cgraph.h (cgraph_finalize_function): Update.
2713         * c-decl.c (finish_function): Update.
2714
2715 2003-09-09  Devang Patel  <dpatel@apple.com>
2716
2717         * config/darwin.h (LINK_SPEC): Pass -nofixprebinding to linker.
2718         * doc/invoke.texi: Document new Darwin linker option -nofixprebinding.
2719
2720 2003-09-09  Eric Christopher  <echristo@redhat.com>
2721
2722         * configure.in: Change usage of 'head' to 'sed 1q'.
2723         * configure: Regenerate.
2724
2725 2003-09-09  Richard Henderson  <rth@redhat.com>
2726
2727         * except.c: Include cgraph.h.
2728         (output_function_exception_table): Invoke
2729         cgraph_varpool_mark_needed_node.
2730         * Makefile.in (except.o): Update.
2731
2732 2003-09-07  Kelley Cook  <kelleycook@wideopenwest.com>
2733
2734         * Makefile.in: Define REMAKEFLAGS for LANGUAGES & BOOT_CFLAGS
2735         and use it throughout.
2736
2737 2003-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2738
2739         * builtins.c (real_dconstp, fold_builtin_logarithm,
2740         fold_builtin_exponent): New, split out from fold_builtin.  Also
2741         generalize to add log2, log10, exp2 and exp10/pow10 equivalents.
2742         * emit-rtl.c (dconst3, dconst10, dconstthird): New.
2743         (init_emit_once): Initialize new dconsts, use ARRAY_SIZE in lieu
2744         of hardcoded array size.
2745         * fold-const.c (fold): Add cases for exp2, exp10 and pow10.
2746         (tree_expr_nonnegative_p): Likewise.
2747         * real.h (dconst3, dconst10, dconstthird): New.
2748
2749 2003-09-09  Jan Hubicka  <jh@suse.cz>
2750
2751         * cgraphunit.c (cgraph_finalize_function): Fix handling of extern
2752         inline functions.
2753         (cgraph_finalize_compilation_unit): Fix crash when dealing with lost
2754         DECL_SAVED_TREE.
2755
2756 2003-09-09  Roger Sayle  <roger@eyesopen.com>
2757
2758         * builtins.c (fold_builtin_cabs): Protect the complex argument
2759         against multiple evaluation when optimizing cabs* into sqrt*.
2760
2761 2003-09-09  Jan Hubicka  <jh@suse.cz>
2762
2763         * varasm.c (notice_global_symbol):  Properly deal with weak symbols.
2764
2765 2003-09-08  Kelley Cook <kelleycook@wideopenwest.com>
2766
2767         * Makefile.in: Revert yesterday's change.
2768
2769 2003-09-08  Bernardo Innocenti  <bernie@develer.com>
2770             Peter Barada <peter@baradas.org>
2771
2772         * config/m68k/coff.h (REGISTER_NAMES): Add fake register `argptr'
2773         * config/m68k/hp320.h (REGISTER_NAMES): Likewise.
2774         * config/m68k/linux.h (REGISTER_NAMES): Likewise.
2775         * config/m68k/m68kelf.h (REGISTER_NAMES): Likewise.
2776         * gcc/config/m68k/sgs.h (REGISTER_NAMES): Likewise.
2777         * config/m68k/m68k-protos.h (m68k_initial_elimination_offset): Add prototype.
2778         * config/m68k/m68k.c (m68k_frame): New struct, simular to ix86 back-end.
2779         (m68k_compute_frame_layout): New function.
2780         (m68k_initial_elimination_offset): New function.
2781         (m68k_output_function_prologue): ColdFire-specific movem handling.
2782         (m68k_output_function_epilogue): Likewise.
2783         * config/m68k/m68k.h (FIRST_PSEOUDO_REGISTER): Make room for argptr reg.
2784         (ARG_POINTER_REGNUM): Add new definition.
2785         (INITIAL_FRAME_POINTER_OFFSET): Remove macro.
2786         (ELIMINABLE_REGS): Define new macro, like in ix86 back-end.
2787         (CAN_ELIMINATE): Likewise.
2788         (INITIAL_ELIMINATION_OFFSET): Likewise.
2789
2790 2003-09-08  Bernardo Innocenti  <bernie@develer.com>
2791
2792         * config/m68k/m68k.c (m68k_output_function_prologue): Simplify
2793         by removing redundant variable cfa_store_offset.
2794
2795 2003-09-08  Mark Mitchell  <mark@codesourcery.com>
2796
2797         * langhooks-def.h (lhd_register_builtin_type): New function.
2798         (LANG_HOOKS_REGISTER_BUILTIN_TYPE): New macro.
2799         (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
2800         * langhooks.h (lang_hooks_for_types): Add register_builtin_type.
2801         * langhooks.c (lhd_register_builtin_type): New function.
2802         * c-common.h (c_register_builtin_type): Declare.
2803         * c-common.c (c_register_builtin_type): New function.
2804         * c-lang.c (LANG_HOOKS_REGISTER_BUILTIN_TYPE): Define to
2805         c_register_builtin_type.
2806         * config/ia64/hpux.h (TARGET_OS_CPP_BUILTINS): Remove __fpreg,
2807         __float80, and __float128 macros.
2808         * config/ia64/ia64.c (ia64_init_builtins): Create __fpreg,
2809         __float80, and __float128 types.
2810
2811 2003-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2812
2813         * builtin-types.def
2814         (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE,
2815         BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
2816         BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT_COMPLEX_FLOAT): New.
2817         * builtins.def (BUILT_IN_CACOS, BUILT_IN_CACOSF, BUILT_IN_CACOSH,
2818         BUILT_IN_CACOSHF, BUILT_IN_CACOSHL, BUILT_IN_CACOSL,
2819         BUILT_IN_CARG, BUILT_IN_CARGF, BUILT_IN_CARGL, BUILT_IN_CASIN,
2820         BUILT_IN_CASINF, BUILT_IN_CASINH, BUILT_IN_CASINHF,
2821         BUILT_IN_CASINHL, BUILT_IN_CASINL, BUILT_IN_CATAN,
2822         BUILT_IN_CATANF, BUILT_IN_CATANH, BUILT_IN_CATANHF,
2823         BUILT_IN_CATANHL, BUILT_IN_CATANL, BUILT_IN_CCOS, BUILT_IN_CCOSF,
2824         BUILT_IN_CCOSH, BUILT_IN_CCOSHF, BUILT_IN_CCOSHL, BUILT_IN_CCOSL,
2825         BUILT_IN_CEXP, BUILT_IN_CEXPF, BUILT_IN_CEXPL, BUILT_IN_CPOW,
2826         BUILT_IN_CPOWF, BUILT_IN_CPOWL, BUILT_IN_CPROJ, BUILT_IN_CPROJF,
2827         BUILT_IN_CPROJL, BUILT_IN_CSIN, BUILT_IN_CSINF, BUILT_IN_CSINH,
2828         BUILT_IN_CSINHF, BUILT_IN_CSINHL, BUILT_IN_CSINL, BUILT_IN_CSQRT,
2829         BUILT_IN_CSQRTF, BUILT_IN_CSQRTL, BUILT_IN_CTAN, BUILT_IN_CTANF,
2830         BUILT_IN_CTANH, BUILT_IN_CTANHF, BUILT_IN_CTANHL, BUILT_IN_CTANL):
2831         New.
2832         * doc/extend.texi: Document new builtins.
2833
2834 2003-09-09  Jan Hubicka  <jh@suse.cz>
2835
2836         * cgraph.c (cgraph_varpool_finalize_decl): Sanity check duplicated
2837         finalization.
2838         * cgraphunit.c (decide_is_fnction_needed): Avoid special case of nested
2839         functions, check for COMDAT.
2840         (cgraph_assemble_pending_functions): Break out from...
2841         (cgraph_finalize_function): ... here; allow redefinig of extern inline
2842         functions.
2843         (record_call_1): Record function references only in non-unit-at-a-time
2844         mode.
2845         (cgraph_analyze_function): Reset current_function_decl.
2846         (cgraph_finalize_compilation_unit):  Assemble pending functions.
2847
2848 2003-09-08  Mark Mitchell  <mark@codesourcery.com>
2849
2850         * mklibgcc.in (libcc.a): Depend on stmp-dirs.
2851         (libgov.a): Likewise.
2852         (libgcc_eh.a): Likewise.
2853
2854 2003-09-08  Roger Sayle  <roger@eyesopen.com>
2855
2856         * fold-const.c (operand_equal_p): Clarify documentation.
2857
2858 2003-09-08  Richard Henderson  <rth@redhat.com>
2859
2860         * c-decl.c (c_expand_body_1): Push and pop function context here.
2861         * tree-optimize.c (tree_rest_of_compilation): ... not here.  Take
2862         nested argument instead of computing nesting ourselves.
2863
2864 2003-09-08  Jakub Jelinek  <jakub@redhat.com>
2865
2866         * toplev.c (rest_of_handle_stack_regs): Call split_all_insns before
2867         regstack if optimizing but not scheduling after reload.
2868
2869 2003-09-08  Jakub Jelinek  <jakub@redhat.com>
2870
2871         * config/sparc/sparc.c (struct machine_function): New type.
2872         (TARGET_HAVE_TLS, TARGET_CANNOT_FORCE_CONST_MEM): Define.
2873         (sparc_override_options): Initialize init_machine_status.
2874         (tls_symbolic_operand, tgd_symbolic_operand, tld_symbolic_operand,
2875         tie_symbolic_operand, tle_symbolic_operand): New functions.
2876         (symbolic_operand): Disallow tls_symbolic_operand.
2877         (symbolic_memory_operand): Likewise.
2878         (tls_call_delay, sparc_cannot_force_const_mem, legitimate_constant_p,
2879         constant_address_p, legitimate_pic_operand_p, legitimate_address_p):
2880         New functions.
2881         (sparc_tls_symbol): New variable.
2882         (sparc_tls_get_addr, sparc_tls_got, legitimize_tls_address,
2883         legitimize_address): New functions.
2884         (print_operand): Handle %&.
2885         (sparc_init_machine_status, get_some_local_dynamic_name,
2886         get_some_local_dynamic_name_1): New functions.
2887         (sparc_output_dwarf_dtprel): New function.
2888         * config/sparc/sparc.h (CONSTANT_ADDRESS_P): Moved into
2889         constant_address_p.
2890         (LEGITIMATE_PIC_OPERAND_P): Moved into legitimate_pic_operand_p.
2891         (LEGITIMATE_CONSTANT_P): Moved into legitimate_constant_p.
2892         (GO_IF_LEGITIMATE_ADDRESS): Moved into legitimate_address_p.
2893         (LEGITIMIZE_ADDRESS): Moved into legitimize_address.
2894         (PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
2895         (TARGET_TLS, TARGET_SUN_TLS, TARGET_GNU_TLS): Define.
2896         (ASM_OUTPUT_DWARF_DTPREL): Define.
2897         (PREDICATE_CODES): Add tgd_symbolic_operand, tld_symbolic_operand,
2898         tie_symbolic_operand, tle_symbolic_operand.
2899         * config/sparc/sparc.md (UNSPEC_TLSGD, UNSPEC_TLSLDM, UNSPEC_TLSLDO,
2900         UNSPEC_TLSIE, UNSPEC_TLSLE, UNSPEC_TLSLD_BASE): New constants.
2901         (tls_call_delay): New attribute.
2902         (in_call_delay): Use it.
2903         (movqi, movhi, movsi, movdi): Call legitimize_tls_address if needed.
2904         (tgd_hi22, tgd_lo10, tgd_add32, tgd_add64, tgd_call32, tgd_call64,
2905         tldm_hi22, tldm_lo10, tldm_add32, tldm_add64, tldm_call32, tldm_call64,
2906         tldo_hix22, tldo_lox10, tldo_add32, tldo_add64, tie_hi22, tie_lo10,
2907         tie_ld32, tie_ld64, tie_add32, tie_add64, tle_hix22_sp32,
2908         tle_lox10_sp32, tle_hix22_sp64, tle_lox10_sp64): New insns.
2909         (tldo_ldub_sp32, tldo_ldub1_sp32, tldo_ldub2_sp32, tldo_ldsb1_sp32,
2910         tldo_ldsb2_sp32, tldo_ldub_sp64, tldo_ldub1_sp64, tldo_ldub2_sp64,
2911         tldo_ldub3_sp64, tldo_ldsb1_sp64, tldo_ldsb2_sp64, tldo_ldsb3_sp64,
2912         tldo_lduh_sp32, tldo_lduh1_sp32, tldo_ldsh1_sp32, tldo_lduh_sp64,
2913         tldo_lduh1_sp64, tldo_lduh2_sp64, tldo_ldsh1_sp64, tldo_ldsh2_sp64,
2914         tldo_lduw_sp32, tldo_lduw_sp64, tldo_lduw1_sp64, tldo_ldsw1_sp64,
2915         tldo_ldx_sp64, tldo_stb_sp32, tldo_stb_sp64, tldo_sth_sp32,
2916         tldo_sth_sp64, tldo_stw_sp32, tldo_stw_sp64, tldo_stx_sp64): New
2917         insns.
2918         * config/sparc/sparc-protos.h (legitimate_constant_p,
2919         constant_address_p, legitimate_pic_operand_p, legitimate_address_p,
2920         legitimize_tls_address, legitimize_address, tls_symbolic_operand,
2921         tls_call_delay, sparc_output_dwarf_dtprel): New prototypes.
2922         * config/sparc/linux.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Define.
2923         * config/sparc/linux64.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Likewise.
2924         * configure.in (sparc*-*-*): Add TLS check.
2925         * configure: Rebuilt.
2926
2927 2003-09-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
2928
2929         PR target/11689
2930         * config/i386/i386.c (memory_address_length): Fix computation when
2931         the base is esp or ebp.
2932
2933 2003-09-07  Mark Mitchell  <mark@codesourcery.com>
2934
2935         PR c++/11852
2936         * varasm.c (initializer_constant_valid_p): Correct logic for
2937         CONSTRUCTORs.
2938
2939 2003-09-07  Roger Sayle  <roger@eyesopen.com>
2940
2941         * expr.c (expand_operands): New function to expand an operand pair.
2942         (expand_expr): Call expand_operands whenever we need to expand both
2943         operands of a binary operator.
2944         (do_store_flag): Likewise for operands of comparison operations.
2945
2946 2003-09-07  Roger Sayle  <roger@eyesopen.com>
2947
2948         * combine.c (combine_simplify_rtx): Don't convert -(A*B) into
2949         (-A)*B if we care about sign-dependent rounding.
2950
2951 2003-09-07  Gabriel Dos Reis  <gcc@integrable-solutions.net>
2952
2953         * c-pretty-print.h (pp_c_left_brace): Declare.
2954         (pp_c_right_brace): Likewise.
2955         * c-pretty-print.c (pp_c_left_brace): Now a function
2956         (pp_c_right_brace): Likewise.
2957
2958 2003-09-07  Jan Hubicka  <jh@suse.cz>
2959
2960         * cfgcleanup.c (try_simplify_condjump): Fix again the preivous patch.
2961
2962 2003-09-07  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2963
2964         * diagnostic.c (warn_deprecated_use): Move to toplev.c
2965
2966 2003-09-07  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2967
2968         * langhooks.c (lhd_print_error_function): Move from diagnostic.c.
2969         * Makefile.in (langhooks.o): Depend on diagnostic.h
2970
2971 2003-09-06  James E Wilson  <wilson@tuliptree.org>
2972
2973         * loop.c (loop_regs_update): Delete else clause for PATTERN rtx and
2974         simplify.
2975
2976 2003-09-07  Kelley Cook  <kelleycook@wideopenwest.com>
2977
2978         * Makefile.in: Define $REMAKE to be $MAKE with LANGUAGES & BOOT_CFLAGS
2979         and use it throughout.
2980
2981 2003-09-07  Jan Hubicka  <jh@suse.cz>
2982
2983         * cfgcleanup.c (try_simplify_condjump): Fix my previous patch.
2984
2985         * toplev.c  (rest_of_decl_compilation):  Do not finalize external
2986         virables.
2987
2988         * cgraph.c (cgraph_mark_reachable_node): Only enqueue finalized
2989         functions.
2990         (cgraph_varpool_finalize_decl): Notice global symbol when needed.
2991
2992 2003-09-06  Jan Hubicka  <jh@suse.cz>
2993
2994         PR target/12070
2995         * calls.c (emit_library_call_value_1): Fix saving of BLKmode arguments.
2996
2997         PR opt/12082
2998         * cfgcleanup.c (try_simplify_condjump): Avoid unreachable code warning.
2999
3000 2003-09-06  Gabriel Dos Reis  <gdr@integrable-solutions.net>
3001
3002         * diagnostic.c (announce_function): Move to toplev.c.
3003
3004 2003-09-06  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3005
3006         * gcse.c (expr_equiv_p): Don't consider anything to be equal to
3007         volatile mem.
3008
3009 2003-09-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3010
3011         * ggc-common.c (init_ggc_heuristics): Don't use the heuristics
3012         when gc checking is enabled.
3013
3014 2003-09-06  Steven Bosscher  <steven@gcc.gnu.org>
3015
3016         PR c/9862
3017         * c-decl.c (c_expand_body_1): Move return warning from here...
3018         (finish_function): ...to here.
3019
3020 2003-09-05  Geoffrey Keating  <geoffk@apple.com>
3021
3022         * config/rs6000/darwin.h (PREFERRED_RELOAD_CLASS): Always return
3023         a subset of the input class.
3024
3025 2003-09-05  Kazu Hirata  <kazu@cs.umass.edu>
3026
3027         * config/i860/i860.c: Follow spelling conventions.
3028         * config/i860/i860.h: Likewise.
3029         * config/sh/sh.h: Likewise.
3030
3031 2003-09-05  Nitin Yewale  <NitinY@KPITCummins.com>
3032
3033         * config/h8300/h8300-protos.h: Declare h8300_hard_regno_rename_ok
3034         * config/h8300/h8300.h (HARD_REGNO_RENAME_OK): New.
3035         * config/h8300/h8300.c (h8300_hard_regno_rename_ok): New.
3036
3037 2003-09-05  Roger Sayle  <roger@eyesopen.com>
3038             Richard Henderson  <rth@redhat.com>
3039
3040         PR optimization/1823
3041         * expmed.c (expand_divmod <EXACT_DIV_EXPR>): Use an unsigned
3042         multiplication to implement division by constant integer.
3043
3044 2003-09-05  Jan Hubicka  <jh@suse.cz>
3045
3046         * opts.c (decode_options): Enable unit-at-a-time at -O2.
3047         * params.def (max-inline-insns-single): Set to 500
3048         (max-inline-insns-auto): Set to 150
3049         * invoke.texi (max-inline-insns-single, max-inline-insns-auto): Update.
3050
3051 2003-09-04  Richard Henderson  <rth@redhat.com>
3052
3053         * cgraph.c (cgraph_mark_reachable_node): Split out from ...
3054         (cgraph_mark_needed_node): Remove needed argument.
3055         * cgraph.h: Update to match.
3056         * cgraphunit.c (decide_is_function_needed): Split out from ...
3057         (cgraph_finalize_function): Reorg.  Avoid deferred_inline_function
3058         if we generated the function.
3059         (record_call_1): Update for cgraph_mark_reachable_node.
3060         * varasm.c (mark_referenced): Likewise.
3061         * objc/objc-act.c (mark_referenced_methods): Likewise.
3062
3063 2003-09-04  DJ Delorie  <dj@redhat.com>
3064
3065         * targhooks.c: Add comment explaining the migration process.
3066
3067 2003-09-04  Eric Christopher  <echristo@redhat.com>
3068
3069         * config/frv/t-frv: Fix path for frv-abi.h.
3070         * config/frv/frv-asm.h: Fix string concatenation.
3071
3072 2003-09-04  DJ Delorie  <dj@redhat.com>
3073
3074         * builtins.c (apply_args_size): Guard against a NULL cfun.
3075         (expand_builtin_apply_args_1): Likewise.
3076         (expand_builtin_apply): Likewise.
3077         Fixes PR bootstrap/12172.
3078
3079 2003-09-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3080
3081         * configure.in (gcc_cv_as_ix86_cmov_sun_syntax): Check if
3082         assembler supports Sun syntax for cmov.
3083         * configure: Regenerate.
3084         * config.in: Likewise.
3085         * config/i386/i386.c: Rename CMOV_SUN_AS_SYNTAX to
3086         HAVE_AS_IX86_CMOV_SUN_SYNTAX.
3087         * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Remove.
3088         Fixes PR target/12101.
3089
3090 2003-09-04  Matt Austern  <austern@apple.com>
3091
3092         * c-common.c (fname_as_string): Use lang_hooks.decl_printable_name
3093         with verbosity 0, instead of DECL_NAME, for human-readable string.
3094
3095 2003-09-04  Eric Christopher  <echristo@redhat.com>
3096
3097         * targhooks.c (default_return_in_memory): Allow
3098         unconverted ports.
3099
3100 2003-09-04  Eric Christopher  <echristo@redhat.com>
3101
3102         * targhooks.c (default_return_in_memory): Fix typo
3103         in last checkin.
3104
3105 2003-09-04  Eric Christopher  <echristo@redhat.com>
3106
3107         * targhooks.c (default_return_in_memory): Fix default
3108         definition.
3109
3110 2003-09-04  Bernardo Innocenti  <bernie@develer.com>
3111
3112         * config/m68k/m68k.c (m68k_coff_asm_named_section): Restore
3113         deleted function.
3114         * config/m68k/coff.h (M68K_TARGET_COFF): Add flag used to
3115         enable coff-only code in m68k.c.
3116
3117 2003-09-04  Nick Clifton  <nickc@redhat.com>
3118
3119         * config.gcc: Add v850e1 target.  Allow --with-cpu to accept
3120         v850e1.
3121         * config/v850/v850.h: Accept v850e1 as a default CPU.
3122         Accept -mv850e1 as a command line option.
3123         * doc/invoke.texi: Document new -mv850e1 command line switch.
3124         * config/v850/t-v850: Treat -mv850e1 as a multilib alias for
3125         -mv850e.
3126
3127 2003-09-04  Nick Clifton  <nickc@redhat.com>
3128
3129         * config.gcc (v850e-*-*): Use t-v850e makefile fragment.
3130         * config/v850/t-v850: Only produce one extra multilib - for
3131         the v850e.
3132         * config/v850/t-v850e: New file: Only produce one extra
3133         multilib - for the v850.
3134
3135 2003-09-04  Jakub Jelinek  <jakub@redhat.com>
3136
3137         * config/ia64/libgcc-ia64.ver: Export _Unwind_GetBSP@@GCC_3.3.2.
3138         * config/ia64/unwind-ia64.c (_Unwind_GetBSP): New function.
3139         * unwind.h (_Unwind_GetBSP): New prototype.
3140         * libgcc-std.ver: Add empty GCC_3.3.2 version.
3141         * mkmap-symver.awk: For symbol versions with no exported symbols,
3142         don't put anything into version script, just change all symbol
3143         versions which inherit from it to inherit from its ancestor.
3144
3145 2003-09-04  Eric Christopher  <echristo@redhat.com>
3146
3147         * config/mips/mips.c (mips_expand_prologue): Convert to
3148         calls.struct_value_rtx hook.
3149         (reg_or_const_float_1_operand): New.
3150         * config/mips/mips.h: Update Comments.
3151         (mips_arg): Add reg_or_const_float_1_operand.
3152         * config/mips/mips.md (divdf3); Convert to expander.
3153         (divsf3): Ditto.
3154         (*divdf3): New pattern.
3155         (*divsf3): Ditto.
3156
3157 2003-09-04  Jan Hubicka  <jh@suse.cz>
3158
3159         * toplev.c (wrapup_global_declarations): Fix final pass in
3160         unit-at-atime mode.
3161
3162 2003-09-04  Mark Mitchell  <mark@codesourcery.com>
3163
3164         * doc/extend.texi: Document removal of cast-as-lvalue extension in
3165         C++.
3166
3167 2003-09-04  Nicolas Roche  <roche@act-europe.fr>
3168
3169         * gcc.c (process_command): Fix typo.
3170
3171 2003-09-03  David O'Brien  <obrien@FreeBSD.org>
3172
3173         optimization/11980
3174         * config/i386/freebsd.h (SIZE_TYPE): Support TARGET_64BIT.
3175         (PTRDIFF_TYPE): Likewise.
3176         (WCHAR_TYPE_SIZE): Likewise.
3177
3178 2003-09-03  DJ Delorie  <dj@redhat.com>
3179
3180         * targhooks.c: New file.
3181         * targhooks.h: New file.
3182         * Makefile.in: Add targhooks.o support.
3183         (function.o): Depend on$(TARGET_H).
3184         (stmt.o): Likewise.
3185         (combine.o): Depend on $(TREE_H) and $(TARGET_H).
3186         * builtins.c (apply_args_size, expand_builtin_apply_args_1,
3187         expand_builtin_apply): Convert to calls.struct_value_rtx hook.
3188         (expand_builtin_saveregs): Convert to
3189         calls.expand_builtin_saveregs hook.
3190         * c-decl.c (start_decl): Handle new calls.promote_prototypes hook
3191         here, instead of ...
3192         (get_parm_info) ... here.
3193         (store_parm_decls_oldstyle): Convert to calls.promote_prototypes
3194         hook.
3195         (finish_function): Handle calls.promote_prototypes hook here too.
3196         * c-typeck.c (convert_arguments): Convert to
3197         calls.promote_prototypes hook.
3198         (c_convert_parm_for_inlining): Likewise.
3199         * calls.c (initialize_argument_information): Convert to
3200         calls.promote_function_args hook.
3201         (expand_call): Convert to calls.struct_value_rtx,
3202         calls.strict_argument_naming,
3203         calls.pretend_outgoing_varargs_named, and
3204         calls.promote_function_return hooks.  Pass fndecl to
3205         aggregate_value_p.  Initialize CUMULATIVE_ARGS before calling
3206         hooks, so they can use that.
3207         (emit_library_call_value_1): Likewise.
3208         * combine.c (setup_incoming_promotions): Convert to
3209         calls.promote_function_args hook.
3210         * emit-rtl.c: Convert to calls.struct_value_rtx hook.
3211         * expr.c (expand_assignment): Pass call to aggregate_value_p.
3212         (expand_expr): Likewise.
3213         * expr.h: Remove support for SETUP_INCOMING_VARARGS,
3214         STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
3215         RETURN_IN_MEMORY macro defaults.
3216         * final.c (profile_function): Convert to calls.struct_value_rtx
3217         hook.
3218         * function.c (aggregate_value_p): Accept function type tree as
3219         second parameter; try to deduce fntype from it.  Convert to
3220         calls.return_in_memory hook.
3221         (assign_parms): Convert to calls.setup_incoming_varargs,
3222         calls.strict_argument_naming, calls.promote_function_args,
3223         calls.pretend_outgoing_varargs_named hooks.  Pass fndecl to
3224         aggregate_value_p.
3225         (expand_function_start): Likewise.  Convert to
3226         calls.struct_value_rtx hook.
3227         (expand_function_end): Convert to calls.promote_function_return hook.
3228         (allocate_struct_function): Pass fndecl to aggregate_value_p.
3229         * hard-reg-set.h: Update comments to new hook names.
3230         * integrate.c (expand_inline_function): Pass fndecl to aggregate_value_p.
3231         * reg-stack.c (stack_result): Likewise.
3232         * rtl.h (struct_value_rtx, struct_value_incoming_rtx): Delete.
3233         * stmt.c (expand_value_return): Convert to
3234         calls.promote_function_return hook.
3235         * target-def.h: Add TARGET_PROMOTE_FUNCTION_ARGS,
3236         TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES,
3237         TARGET_STRUCT_VALUE_RTX, TARGET_RETURN_IN_MEMORY,
3238         TARGET_EXPAND_BUILTIN_SAVEREGS, TARGET_SETUP_INCOMING_VARARGS,
3239         TARGET_STRICT_ARGUMENT_NAMING,
3240         TARGET_PRETEND_OUTGOING_VARARGS_NAMED, and TARGET_CALLS.
3241         * target.h: Likewise.
3242         * tree.h (aggregate_value_p): Also takes a tree to deduce function
3243         attributes from (for target hooks).
3244         * doc/tm.texi (PROMOTE_FUNCTION_ARGS, PROMOTE_FUNCTION_RETURN,
3245         PROMOTE_PROTOTYPES, RETURN_IN_MEMORY, STRUCT_VALUE_REGNUM,
3246         STRUCT_VALUE, STRUCT_VALUE_INCOMING_REGNUM, STRUCT_VALUE_INCOMING,
3247         EXPAND_BUILTIN_SAVEREGS, SETUP_INCOMING_VARARGS,
3248         STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED): Convert
3249         to hooks.
3250
3251         * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Pass function
3252         to aggregate_value_p.
3253         * config/arm/arm.c (arm_init_cumulative_args,
3254         arm_output_mi_thunk): Likewise.
3255         * config/i386/i386.c (ix86_return_pops_args, x86_this_parameter):
3256         Likewise.
3257         * config/mips/mips.c (mips_save_reg_p, mips_expand_prologue,
3258         mips_can_use_return_insn): Likewise.
3259         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
3260         * config/s390/s390.c (s390_output_mi_thunk): Likewise.
3261         * config/sparc/sparc.c (sparc_output_mi_thunk): Pass function to
3262         aggregate_value_p.
3263         * config/story16/stormy16.c (xstormy16_asm_output_mi_thunk): Pass
3264         function to aggregate_value_p.
3265         * objc/objc-act.c (generate_struct_by_value_array): Pass NULL to
3266         aggregate_value_p.
3267
3268         * config/sh/sh-protos.h (sh_builtin_saveregs): Remove.
3269         (sh_attr_renesas_p, sh_cfun_attr_renesas_p, sh_function_arg,
3270         sh_function_arg_advance, sh_pass_in_reg_p): New.  * config/sh/sh.c
3271         (sh_handle_renesas_attribute, sh_promote_prototypes,
3272         sh_struct_value_rtx, sh_return_in_memory, sh_builtin_saveregs,
3273         sh_setup_incoming_varargs, sh_strict_argument_naming,
3274         sh_pretend_outgoing_varargs_named): New decls.
3275         (targetm): Add new hooks.
3276         (calc_live_regs): Save MACL and MACH if the function has the
3277         renesas attribute.
3278         (sh_expand_prologue): Support renesas attribute.
3279         (sh_builtin_saveregs): Make static.
3280         (sh_build_va_list): Support renesas attribute.
3281         (sh_va_start): Likewise.
3282         (sh_va_arg): Likewise.
3283         (sh_promote_prototypes): New.
3284         (sh_function_arg): New, moved from sh.h.  Support renesas
3285         attribute.
3286         (sh_function_arg_advance): Likewise.
3287         (sh_return_in_memory): Likewise.
3288         (sh_strict_argument_naming): Likewise.
3289         (sh_pretend_outgoing_varargs_named): Likewise.
3290         (sh_struct_value_rtx): New.
3291         (sh_attribute): Add renesas attribute.
3292         (sh_handle_renesas_attribute): New.
3293         (sh_attr_renesas_p, sh_cfun_attr_renesas_p): New.
3294         (sh_ms_bitfield_layout_p): Support renesas attribute also.
3295         (sh_output_mi_thunk): Pass function to aggregate_value_p.  *
3296         config/sh/sh.h (TARGET_SWITCHES): Add -mrenesas as an alias for
3297         -mhitachi.
3298         (STRUCT_VALUE_REGNUM, STRUCT_VALUE, RETURN_IN_MEMORY): Moved to
3299         target hooks.
3300         (sh_args): Add renesas_abi flag.
3301         (INIT_CUMULATIVE_ARGS): Set it.  Pass fndecl to aggregate_value_p.
3302         (FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Move to sh.c.
3303         (PASS_IN_REG_P): Support renesas attribute.  Pass DF and TF on the
3304         stack for the renesas abi.
3305         (STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
3306         SETUP_INCOMING_VARARGS, EXPAND_BUILTIN_SAVEREGS,
3307         PROMOTE_PROTOTYPES): Moved to sh.c.  * config/sh/sh.md (call): Set
3308         call cookie to indicate renesas calls.
3309
3310 2003-09-03  Mostafa Hagog  <mustafa@il.ibm.com>
3311
3312         * gcse.c (replace_one_set): New function.
3313         (pre_insert_copy_insn): Change the order of copying
3314         to make copy propagation discover additional PRE opportunities.
3315
3316 2003-09-03  Roger Sayle  <roger@eyesopen.com>
3317
3318         PR optimization/11700.
3319         * simplify-rtx.c (simplify_subreg): Check that the subreg offset
3320         of a hard register is representable before trying to simplify it
3321         using subreg_hard_regno.
3322
3323 2003-09-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3324
3325         * configure.in (gcc_cv_ld_hidden): Disable unless using GNU ld.
3326         * configure: Regenerate.
3327
3328 2003-09-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3329
3330         * intl.h (N_): Remove parentheses.
3331
3332 2003-09-03  Bernardo Innocenti  <bernie@develer.com>
3333
3334         * config.gcc (m68k-*-linux*): Remove definition of LINUX_DEFAULT_ELF.
3335         * config/i370/linux.h (LINUX_DEFAULT_ELF): Remove unconditional
3336         definition and code blocks compiled when not defined.
3337         * config/i386/linux.h (LINUX_DEFAULT_ELF): Likewise.
3338         * config/i386/linux64.h (LINUX_DEFAULT_ELF): Likewise.
3339         * config/sparc/linux.h: (LINUX_DEFAULT_ELF): Likewise.
3340         * config/sparc/linux64.h: (LINUX_DEFAULT_ELF): Likewise.
3341
3342 2003-09-03  Jeff Sturm  <jsturm@one-point.com>
3343
3344         * cgraphunit.c (visited_nodes): New static variable.
3345         (record_call_1): Use walk_tree with visited_nodes.
3346         (cgraph_create_edges): Use walk_tree with visited_nodes.
3347         Setup/teardown visited_nodes hashtable.
3348
3349 2003-09-03  Roger Sayle  <roger@eyesopen.com>
3350
3351         * toplev.c (flag_rounding_math): New global variable.
3352         (f_options): Add to the list of language independent options.
3353         * flags.h (flag_rounding_math): Prototype here.
3354         (HONOR_SIGN_DEPENDENT_ROUNDING): Use flag_rounding_math instead.
3355         * common.opt (frounding-math): New common command line option.
3356         * opts.c (common_handle_option): Handle OPT_frounding_math.
3357         (set_fast_math_flags): -ffast-math clears flag_rounding_math.
3358
3359         * doc/invoke.texi: Document this new command line option.
3360
3361 2003-09-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3362
3363         * config/sol2.h (NO_IMPLICIT_EXTERN_C): Update comment.
3364
3365 2003-09-03  Jan Hubicka  <jh@suse.cz>
3366
3367         * Makefile.in (c-objc-common.o): Kill gt-c-objc-common.h dependency.
3368         * c-decl.c (finish_function):  Kill arguments, always use cgraph path.
3369         * c-objc-common.c: Kill include of gt-c-objc-common.h
3370         (expand_deferred_fns, deffer_fn): Kill function.
3371         (deferred_fns): Kill variable.
3372         (finish_cdtor): Update finish_function call.
3373         (c_objc_common_finish_file): Always call cgraph code.
3374         * c-parse.c: Regenerate.
3375         * c-parse.y: Regenerate.
3376         * c-tree.h (finish_function): Update prototype.
3377         * objc-acct.c (build_module_descriptor, finish_method_def):
3378         Update call of finish_function.
3379         * cgraphunit.c (cgraph_default_inline_p, cgraph_analyze_function): Add
3380         forward prototype.
3381         (cgraph_finalize_function): In non-unit-at-a-time mode analyze the
3382         function and assemble it if needed.
3383         (cgraph_finalize_compilation_unit): Do nothing in non-unit-at-a-time
3384         mode.
3385         (cgraph_optimize): Likewise.
3386         (cgraph_expand_function): In non-unit-at-a-time mode keep function body
3387         even when it has no inline callees.
3388         * c-parse.in: Update calls to finish_function.
3389
3390 2003-09-03  Nick Clifton  <nickc@redhat.com>
3391
3392         * config/arm/arm.h: Handle TARGET_CPU_iwmmxt.
3393         Use #error to generate the message if TARGET_DEFAULT is not
3394         recognised.
3395
3396 2003-09-03  Richard Sandiford  <rsandifo@redhat.com>
3397
3398         * config/mips/mips.h (MASK_UNUSED1): Remove.
3399         (MASK_XGOT, TARGET_XGOT): Define.
3400         (TARGET_SWITCHES): Add an entry for -mxgot.
3401         (ASM_SPEC): Map -mxgot to -xgot.
3402         * config/mips/mips.c (mips_symbol_insns): Use TARGET_XGOT to decide
3403         whether we're using a big-GOT sequences.
3404         (mips_legitimize_const_move, mips_expand_call): Likewise.
3405         (override_options): Revert 2003-01-09 change.
3406         * doc/invoke.texi: Document -mxgot.
3407
3408 2003-09-02  Jason Merrill  <jason@redhat.com>
3409
3410         * config/sol2.h (NO_IMPLICIT_EXTERN_C): Define here.
3411         * config/sparc/sol2.h: Not here.
3412
3413 2003-09-02  Roger Sayle  <roger@eyesopen.com>
3414
3415         * expr.c (expand_expr): The code following both_summands performs
3416         the same task as simplify_gen_binary.  Replace all gotos to
3417         both_summands with a call to simplify_gen_binary and delete the
3418         now unused label.
3419
3420 2003-09-02  Jason Merrill  <jason@redhat.com>
3421
3422         PR c++/7327
3423         * config/sparc/sol2.h (NO_IMPLICIT_EXTERN_C): Define.
3424
3425 2003-09-02  Jeff Sturm  <jsturm@one-point.com>
3426
3427         * cgraphunit.c (record_call_1): Use walk_tree_without_duplicates.
3428         (cgraph_optimize_function): Set current_function_decl to the