OSDN Git Service

4af2b9288dc2b93216dc4fbe3d1d84c3ec006156
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2003-11-27  Randolph Chung  <tausq@debian.org>
2             John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3
4         * pa.c (hppa_profile_hook): Split gen_call_profiler into separate 
5         insns.  Use the regular call expander for the call to the profiler.
6         * pa.md (call_profiler): Delete.
7         (load_offset_label_address): New insn to load the address of the
8         current function for the profiler.
9         (lcla1, lcla2): New insns to output a code label and load its address.
10
11 2003-11-27  Kazu Hirata  <kazu@cs.umass.edu>
12
13         * final.c (final_scan_insn): Remove commented-out code.
14
15 2003-11-27  Nathanael Nerode  <neroden@gcc.gnu.org>
16
17         * doc/install.texi: Remove ADAC reference and make accurate.
18
19 2003-11-27  Kazu Hirata  <kazu@cs.umass.edu>
20
21         * config/h8300/h8300.h (FUNCTION_VALUE): Use R0_REG.
22         (FUNCTION_VALUE_REGNO_P): Likewise.
23         * config/h8300/h8300.md: Define R0_REG.
24
25 2003-11-27  Kazu Hirata  <kazu@cs.umass.edu>
26
27         * config/h8300/h8300.c: Fix formatting.
28         * config/h8300/h8300.md: Likewise.
29
30 2003-11-27  Kazu Hirata  <kazu@cs.umass.edu>
31
32         * config/h8300/h8300.h (ELIMINABLE_REGS): Update a comment.
33
34 2003-11-27  Kazu Hirata  <kazu@cs.umass.edu>
35
36         * config/h8300/h8300.md: Give names to anonymous insns.
37
38 2003-11-27  Kazu Hirata  <kazu@cs.umass.edu>
39
40         * config/h8300/h8300.md (extendqisi2): Remove constraints.
41
42 2003-11-27  Gunther Nikl  <gni@gecko.de>
43
44         * doc/tm.texi (SYSROOT_HEADERS_SUFFIX_SPEC): Fix typo.
45
46 2003-11-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
47
48         PR optimization/13041
49         * final.c (frame_pointer_needed): Fix comment.
50         * reload1.c (reload): Decrease alignment of the frame
51         pointer if it was used for register allocation.
52
53 2003-11-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
54
55         PR target/12900
56         * reg-stack (move_for_stack_reg): New prototype.  Return
57         whether a control flow insn was deleted.
58         (subst_stack_regs_pat): Likewise, using the information provided
59         by move_for_stack_reg.
60         (subst_stack_regs): Likewise, using the information provided
61         by subst_stack_regs_pat.
62         (convert_regs_1): Record whether a control flow insn was deleted,
63         using the information provided by subst_stack_regs.  Purge dead
64         edges only if a control flow insn was deleted.
65
66 2003-11-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
67
68         PR middle-end/8028
69         PR middle-end/9890
70         PR middle-end/11151
71         PR middle-end/12210
72         PR middle-end/12503
73         PR middle-end/12692
74         * builtins.c (expand_builtin_apply): Use virtual_outgoing_args_rtx
75         as the base address to copy the memory arguments to.
76
77 2003-11-26  Danny Smith  <dannysmith@users.sourceforge.net>
78
79         * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Declare
80         function aliases as functions.
81
82 2003-11-26  Nathanael Nerode  <neroden@gcc.gnu.org>
83
84         * aclocal.m4 (gcc_AC_PROG_GNAT): Rewrite to account for removal
85         of ADAC.
86         * configure: Regenerate.
87
88         * Makefile.in: Remove references to ADAC.
89
90         * configure.in: Remove check for whether ${ADAC} accepts -Wno-long-long.
91         * configure: Regenerate.
92
93 2003-11-26  Eric Botcazou  <ebotcazou@libertysurf.fr>
94             Olivier Hainque  <hainque@act-europe.fr>
95
96         PR target/6466
97         * config/sparc/sparc-protos.h (compute_frame_size): New prototype.
98         (sparc_flat_compute_frame_size): Likewise.
99         (sparc_flat_save_restore): Move prototype...
100         * config/sparc/sparc.c (sparc_flat_save_restore): ...here.
101         (save_regs): New prototype.
102         (build_big_number): Likewise.
103         (apparent_fsize): Change type to HOST_WIDE_INT.
104         (actual_fsize): Likewise.
105         (frame_base_offset): Likewise.
106         (build_big_number): Add support for HOST_BITS_PER_WIDE_INT == 64.
107         Change string descriptor to HOST_WIDE_INT_PRINT_DEC.
108         [TARGET_ARCH64]: Use the sequence of sparc_emit_set_const64_longway
109         to load a 64-bit constant.
110         (sparc_nonflat_function_prologue): Change string descriptor to
111         HOST_WIDE_INT_PRINT_DEC.  Change offset type to HOST_WIDE_INT.
112         (output_restore_regs): Change offset type to HOST_WIDE_INT.
113         (sparc_nonflat_function_epilogue): Change string descriptor to
114         HOST_WIDE_INT_PRINT_DEC.  Use build_big_number.
115         (output_sibcall): Change size type to HOST_WIDE_INT.  Use
116         build_big_number.  Change string descriptor to HOST_WIDE_INT_PRINT_DEC.
117         (sparc_frame_info): Change types for several components.
118         (sparc_flat_compute_frame_size): Update types according to previous
119         change.
120         (sparc_flat_function_prologue): Change string descriptor to
121         HOST_WIDE_INT_PRINT_DEC.  Change offset type to int.  Use
122         build_big_number.
123         (sparc_flat_function_epilogue): Change offset type to int.
124         Rename 'size1' into 'reg_offset1'.  Change string descriptor to
125         HOST_WIDE_INT_PRINT_DEC.  Use build_big_number.  Change big number
126         limit to 4096 instead of 4095.
127
128         * config/sparc/sparc.c (mems_ok_for_ldd_peep): Change offset type to
129         HOST_WIDE_INT.
130
131 2003-11-24  Waldek Hebisch <hebisch@math.uni.wroc.pl>
132
133         * function.c: Make outer_function-chain external.
134         * function.h: Likewise.
135
136 2003-11-24  Richard Sandiford  <rsandifo@redhat.com>
137
138         * config.gcc (mips-sgi-irix6*): Add t-iris6gld to tmake_file when
139         using GNU ld.
140         * config/mips/iris6.h (IRIX6_STARTFILE_SPEC): New, taking the
141         whole of the previous STARTFILE_SPEC except crtbegin.o%s.
142         (IRIX6_ENDFILE_SPEC): Likewise ENDFILE_SPEC and crtend.o%s.
143         (STARTFILE_SPEC, ENDFILE_SPEC): Define in terms of the above.
144         (SUBTARGET_EXTRA_SPECS): Define.
145         * config/mips/iris6gld.h (LINK_SPEC): Change -init function
146         to __gcc_init and -fini function to __gcc_fini.
147         (STARTFILE_SPEC): Redefine, including irix6-crti.o before crtbegin.o.
148         (ENDFILE_SPEC): Likewise, including irix6-crtn.o after crtend.o.
149         (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP): Define.
150         * config/mips/t-iris6gld,
151         * config/mips/irix6-crti.asm,
152         * config/mips/irix6-crtn.asm: New files.
153
154 2003-11-24  Eric Christopher  <echristo@redhat.com>
155
156         PR C/13014
157         * c-decl.c (c_in_iteration_stmt, c_in_case_stmt): New.
158         (start_function): Use.
159         (c_push_function_context): Ditto.
160         (c-pop_function_context): Ditto.
161         (language_function): Move...
162         * c-tree.h: ... here. Add x_in_iteration_stmt, and
163         x_in_case_stmt.
164         * c-parse.in (do_stmt_start, select_or_iter_stmt, stmt): Use
165         c_in_iteration_stmt, c_in_case_stmt for parser state. Move
166         check for valid break or continue statment here...
167         * c-semantics.c (genrtl_break_stmt, genrtl_continue_stmt): From
168         here. Change original errors to abort.
169
170 2003-11-24  Jan Hubicka  <jh@suse.cz>
171
172         * fold-const.c (fold):  Do not return early when optimizing COMPONENT_REF
173         and constant.
174
175 2003-11-24  Kazu Hirata  <kazu@cs.umass.edu>
176
177         * config/h8300/h8300.md (tablejump_h8300): Change to
178         *tablejump_h8300.
179         (tablejump_h8300h): Change to *tablejump_h8300hs_advanced.
180         (tablejump_normal_mode): Change to *tablejump_h8300hs_normal.
181         (indirect_jump_h8300): Change to *indirect_jump_h8300.
182         (indirect_jump_h8300h): Change to
183         *indirect_jump_h8300hs_advanced.
184         (indirect_jump_normal_mode): Change to
185         *indirect_jump_h8300hs_normal.
186
187 2003-11-24  Kazu Hirata  <kazu@cs.umass.edu>
188
189         * config/h8300/h8300.md: Remove constraints from expanders.
190
191 2003-11-24  Kazu Hirata  <kazu@cs.umass.edu>
192
193         * config/h8300/h8300.md: (stm_h8300s_2): Change the name to
194         stm_h8300s_2_advanced.
195         (stm_h8300s_2_normal): New.
196         (stm_h8300s_2): Likewise.
197         (stm_h8300s_3): Change the name to stm_h8300s_3_advanced.
198         (stm_h8300s_3_normal): New.
199         (stm_h8300s_3): Likewise.
200         (stm_h8300s_4): Change the name to stm_h8300s_4_advanced.
201         (stm_h8300s_4_normal): New.
202         (stm_h8300s_4): Likewise.
203         (ldm_h8300s_2): Change the name to ldm_h8300s_2_advanced.
204         (ldm_h8300s_2_normal): New.
205         (ldm_h8300s_2): Likewise.
206         (ldm_h8300s_3): Change the name to ldm_h8300s_3_advanced.
207         (ldm_h8300s_3_normal): New.
208         (ldm_h8300s_3): Likewise.
209         (ldm_h8300s_4): Change the name to ldm_h8300s_4_advanced.
210         (ldm_h8300s_4_normal): New.
211         (ldm_h8300s_4): Likewise.
212         (two peephole2's): Enable only with !TARGET_NORMAL_MODE.
213         (two peephole2's): New.
214
215 2003-11-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
216
217         * genattrtab.c (simplify_cond): Update indices correctly.
218         (attr_alt_subset_p, attr_alt_subset_of_compl_p, attr_alt_intersection,
219         attr_alt_union, attr_alt_complement, attr_alt_bit_p, mk_attr_alt): New.
220         (check_attr_test, encode_units_mask, compute_alternative_mask,
221         make_alternative_compare, simplify_and_tree,
222         attr_rtx_cost, simplify_test_exp, gen_attr,
223         write_test_expr, walk_attr_value): Handle EQ_ATTR_ALT.
224         * rtl.def (EQ_ATTR_ALT): New.
225
226 2003-11-23  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
227
228         * genattrtab.c (strcmp_check, DEF_ATTR_STRING): New macros.
229         (length_str, delay_type_str, delay_1_0_str, num_delay_slots_str):
230         New variables.
231         (main): Initialize them.
232         (find_attr): Canonicalize the attribute name string.
233         (attr_rtx_1, copy_boolean, expand_delays, gen_unit): Always canonicalize
234         string arguments.
235         (attr_printf, attr_eq): Use DEF_ATTR_STRING.
236         (check_attr_test, check_attr_value, make_length_attrs,
237         write_length_unit_log, simplify_by_exploding, gen_attr,
238         write_test_expr, write_attr_value, write_eligible_delay,
239         write_complex_function, make_internal_attr,
240         write_const_num_delay_slots): Changed due to change of type of
241         find_attr.
242         (fill_attr, evaluate_eq_attr, simplify_and_tree,
243         attr_rtx_cost, simplify_by_exploding, walk_attr_value): Use
244         strcmp_check.
245
246 2003-11-23  Kazu Hirata  <kazu@cs.umass.edu>
247
248         PR target/13122
249         * config/h8300/h8300.c (push): Call push_h8300hs_normal in
250         normal mode.
251         (pop): Call pop_h8300hs_normal in normal mode.
252         * config/h8300/h8300.md: Likewise.
253         (pushqi1_h8300hs_normal): New.
254         (pushqi1): Call pushqi1_h8300hs_normal in normal mode.
255         (pushhi1_h8300hs_normal): New.
256         (pushhi1): Call pushhi1_h8300hs_normal in normal mode.
257         (push_h8300hs_normal): New.
258         (pop_h8300hs_normal): Likewise.
259
260 2003-11-23  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
261
262         * genattrtab.c (count_sub_rtxs): Removed.
263
264 2003-11-23  Richard Earnshaw  <rearnsha@arm.com>
265
266         * recog.c (preprocess_constraints): Only zero those elements of
267         recog_op_alt that are needed for this insn.
268         * arm.c (note_invalid_constants): A function can't contain invalid
269         constants if it has no constraints.
270
271 2003-11-22  Jan Hubicka  <jh@suse.cz>
272
273         * i386.c (classify_argument): Pass __float128 in memory.
274         (ix86_return_in_memory): Likewise.
275         (ix86_libcall_value): Likewsie.
276
277 2003-11-22  Kazu Hirata  <kazu@cs.umass.edu>
278
279         * config/h8300/h8300.c (dosize): Convert to ISO-C.
280
281 2003-11-22  J"orn Rennecke <joern.rennecke@superh.com>
282
283         * flow.c (update_life_info): Amend comment about when a register
284         can become dead.
285
286 2003-11-21  Kelley Cook  <kcook@gcc.gnu.org>
287
288         * doc/.cvsignore: Delete.
289
290 2003-11-21  Daniel Berlin  <dberlin@dberlin.org>
291             David Edelsohn  <edelsohn@gnu.org>
292
293         * dwarf2out.c (add_location_or_const_value_attribute): Add support
294         for PARALLEL.
295
296 2003-11-21  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
297
298         * config/mips/t-iris6 (CRTSTUFF_T_CFLAGS): Add -Wno-error.
299         (TARGET_LIBGCC2_CFLAGS): Define.
300
301         * crtstuff.c [HAS_INIT_SECTION] (__do_global_dtors): Declare.
302         (__do_global_ctors): Likewise.
303
304 2003-11-21  Mark Wielaard  <mark@klomp.org>
305
306         * doc/invoke.texi (-O2): Doesn't enable -fweb.
307
308 2003-11-21  Kazu Hirata  <kazu@cs.umass.edu>
309
310         * doc/invoke.texi: Mention dV and dZ.
311
312 2003-11-21  Kazu Hirata  <kazu@cs.umass.edu>
313
314         * doc/invoke.texi: Update dump file names.
315         Remove de, dW, and dX.
316
317 2003-11-20  James E Wilson  <wilson@specifixinc.com>
318
319         PR c/13133
320         * reload1.c (reload): Delete special handling for setjmp.
321
322 2003-11-21  Andreas Tobler  <a.tobler@schweiz.ch>
323
324         * mklibgcc.in: Evaluate shlib_slibdir_qual during link
325         step too.
326         * config/t-slibgcc-darwin: Adjust install path.
327         * config/rs6000/t-darwin: Revert multilib matches since
328         it is not used on darwin.
329
330 2003-11-20  Richard Henderson  <rth@redhat.com>
331
332         * ssa.c, ssa-dce.c, ssa-ccp.c: Remove files.
333         * Makefile.in (OBJS-common, GTFILES): Don't reference them.
334         (gtype-desc.o, toplev.o, flow.o): Remove ssa.h.
335         (ssa.o, ssa-dce.o, ssa-ccp.o): Remove.
336         * flow.c: Don't include ssa.h.
337         (set_phi_alternative_reg): Remove.
338         (calculate_global_regs_live): Don't call it.
339         (mark_used_regs): Don't handle PHI.
340         * gengtype.c (open_base_files): Don't reference ssa.h.
341         * rtl.def (PHI): Remove.
342         * timevar.def (TV_TO_SSA, TV_SSA_CCP, TV_SSA_DCE, TV_FROM_SSA): Kill.
343         * common.opt: Remove -fssa, -fssa-ccp, -fssa-dce.
344         * opts.c (common_handle_option): Likewise.
345         * toplev.c (f_options): Likewise.
346         (DFI_ssa, DFI_ssa_ccp, DFI_ssa_dce, DFI_ussa): Remove.
347         (dump_file): Update to match.
348         (flag_ssa, flag_ssa_ccp, flag_ssa_dce): Remove.
349         (rest_of_handle_ssa): Remove.
350         (rest_of_compilation): Don't call it.
351         * toplev.h (flag_ssa, flag_ssa_dce, flag_ssa_ccp): Remove.
352         * doc/invoke.texi: Remove -fssa, -fssa-ccp, -fssa-dce.
353         * doc/passes.texi (SSA optimizations): Remove.
354
355 2003-11-20  Bob Wilson  <bob.wilson@acm.org>
356
357         * configure.in: Add xtensa-*-* targets to test for dwarf2 debug_line.
358         * configure: Regenerate.
359
360 2003-11-20  Kelley Cook  <kcook@gcc.gnu.org>
361
362         * Makefile.in (Makefile): Pass along CONFIG_SHELL.
363
364 2003-11-20 David Mosberger  <davidm@hpl.hp.com>
365
366         * config/t-libunwind (LIB2ADDEH): Add unwind-c.c.
367         (SHLIB_LC): Define.
368         * unwind-libunwind.c (_Unwind_GetCFA): Implement.
369         (_Unwind_GetBSP) [UNW_TARGET_IA64]: New function.
370
371 2003-11-20  Fariborz Jahanian  <fjahanian@apple.com>
372             David Edelsohn  <edelsohn@gnu.org>
373
374         * calls.c (expand_call): Allocate new temp in pass1.
375         (store_one_arg): If PARALLEL, calculate excess using mode size of
376         rtvec elt.
377         * expr.c (emit_push_insn): If PARALLEL, calculate offset using
378         mode size of rtvec elt.
379         * function.c (assign_parms): Use parm in register, if available.
380
381 2003-11-20  Kazu Hirata  <kazu@cs.umass.edu>
382
383         * config/h8300/lib1funcs.asm (MOVP): Remove.
384         (ADDP): Likewise.
385         (CMPP): Likewise.
386
387 2003-11-20  Richard Earnshaw  <rearnsha@arm.com>
388
389         * arm.c (use_return_insn): New argument, SIBLING.  Support returning
390         with a single instruction if the stack has been decremented by 4
391         and we have a frame pointer.  Update all callers.
392         (output_return_instruction): Likewise.
393         (arm_output_epilogue): Change argument to SIBLING.  Calculate
394         really_return from the new argument.  Update all callers.
395         * arm.h (USE_RETURN_INSN): Pass NULL for the sibling.
396         * arm.md (sibcall_epilogue): Call use_return_insn directly, and
397         pass the sibling call.
398         * arm-protos.h (use_return_insn, arm_output_epilogue): Update
399         prototypes.
400
401 2003-11-20  Joseph S. Myers  <jsm@polyomino.org.uk>
402
403         * Makefile.in (extraclean): Delete.
404         * configure.in (target_list): Remove extraclean.
405         * configure: Regenerate.
406         * doc/makefile.texi, doc/sourcebuild.texi: Update.
407         * objc/Make-lang.in (objc.extraclean): Delete.
408
409 2003-11-20  Joseph S. Myers  <jsm@polyomino.org.uk>
410
411         * Makefile.in (lang_checks): Add.
412         (check-c++, check-f77, check-java, check-g++, check-g77,
413         check-objc): Remove hardcoded targets.
414         * doc/sourcebuild.texi: Document testsuite hooks.
415         * objc/Make-lang.in (check-objc, lang_checks): Add.
416
417 2003-11-19  Scott Snyder  <snyder@fnal.gov>
418
419         PR target/13131
420         * dwarf2out.c (gen_array_type_die): DW_AT_declaration should be a
421         flag, not a constant.
422
423 2003-11-19  Kelley Cook  <kcook@gcc.gnu.org>
424
425         * config/arc/arc-protos.h: Update to C90 prototypes.
426         * config/arc/arc.c: Likewise.
427         * config/arc/initfini.c: Likewise.
428
429 2003-11-19  Andreas Krebbel  <krebbel1@de.ibm.com>
430
431         * stmt.c (expand_goto): Memory clobbers added.
432
433 2003-11-19  Andreas Krebbel  <krebbel1@de.ibm.com>
434
435         * reload.c (find_reloads): Added missing type casts.
436
437 2003-11-19  James E Wilson  <wilson@specifixinc.com>
438
439         * combine.c (sets_function_arg_p): Delete unused function.
440
441 2003-11-19  Eric Christopher  <echristo@redhat.com>
442
443         * reload1.c (reload): Revert 2 previous checkins.
444
445 2003-11-19  Nathanael Nerode  <neroden@gcc.gnu.org>
446
447         * cpptrad.c (_cpp_scan_out_logical_line): Improve test for
448         whether directive begins at the beginning of a line.
449
450 2003-11-19  Richard Sandiford  <rsandifo@redhat.com>
451
452         * config/frv/frv.c (frv_init_libfuncs): Correct ufix_optab entries.
453
454 2003-11-19  Gerald Pfeifer  <gp@suse.de>
455
456         * doc/install.texi (Specific): Remove information on old versions
457         of glibc versus old versions of GCC.
458
459 2003-11-19  Richard SAndiford  <rsandifo@redhat.com>
460
461         * emit-rtl.c (gen_lowpart): Don't force MEMs into a register unless
462         the register lowpart is a TRULY_NOOP_TRUNCATION.
463
464 2003-11-19  Richard Henderson  <rth@redhat.com>
465
466         * config/i386/i386.c (print_reg): Handle QI and HI modes for
467         non Q regs.
468
469 2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
470
471         * config/config.gcc (powerpc-*-darwin*): Add libgcc build
472         specification file.
473         * config/t-slibgcc-darwin: New file, libgcc build specification.
474         * config/t-darwin: Add libgcc2 flag -fPIC.
475         * config/rs6000/t-darwin: Multilib matches float.
476         * libgcc-darwin.ver: New file, contains libgcc symbols.
477
478 2003-11-18  Nathanael Nerode  <neroden@gcc.gnu.org>
479
480         * config/ns32k/ns32k.h: Remove obsolete comment.
481
482 2003-11-18  Roger Sayle  <roger@eyesopen.com>
483
484         PR middle-end/11821
485         * config/arm/arm.c (arm_rtx_costs_1): Improve estimate of the code
486         size for calls to libgcc's div & mod subroutines when using -Os.
487
488 2003-11-18  Jan Hubicka  <jh@suse.cz>
489
490         * cgraph.c (change_decl_assembler_name): Avoid bogus warnings.
491
492 2003-11-18  Marc Espie  <espie@openbsd.org>
493
494         * config/rs6000/sysv4.h: OpenBSD hooks.
495
496 2003-11-18  Richard Henderson  <rth@redhat.com>
497
498         * expr.c (expand_expr): Don't look through constant arrays if
499         they don't bind locally.
500
501 2003-11-17  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
502
503         * expr.c (convert_move): Use GET_MODE_PRECISION instead of bitsize
504         when seeing if truncation or extension.
505
506 2003-11-17  Eric Christopher  <echristo@redhat.com>
507
508         * reload1.c (reload): Fix previous change.
509
510 2003-11-17  Scott Snyder  <snyder@fnal.gov>
511
512         PR debug/11325
513         * dwarf2out.c (struct die_struct): Add die_definition field.
514         (add_AT_specification): New.
515         (gen_subprogram_die, gen_variable_die,
516         gen_struct_or_union_type_die): Use it.
517         (prune_unused_types_mark): If we're marking a forward declaration,
518         also mark the full definition, if it exists.
519
520 2003-11-16  Nick Clifton  <nickc@redhat.com>
521
522         * config/stormy16/stormy16.h (BUILD_VA_LIST_TYPE): Delete.
523         * config/stormy16/stormy16-protos.h (xstormy16_build_va_list):
524         Remove prototype.
525         * config/stormy16/stormy16.c (xstormy16_build_va_list): Rename
526         to xstormy16_build_builtin_va_list and make static.
527         (TARGET_BUILD_BUILTIN_VA_LIST): Define.
528
529 2003-11-16  Kazu Hirata  <kazu@cs.umass.edu>
530
531         * config/h8300/h8300-protos.h: Add the prototype for
532         same_cmp_following_p.
533         * config/h8300/h8300.c (same_cmp_following_p): New.
534         * config/h8300/h8300.md (peephole2): Use it.
535
536 2003-11-16  Kazu Hirata  <kazu@cs.umass.edu>
537
538         * config/h8300/h8300.md: Don't use REGNO when its operand is
539         not guaranteed to be a REG.
540
541 2003-11-16  Richard Sandiford  <rsandifo@redhat.com>
542
543         * Makefile.in (expr.o): Depend on $(TARGET_H).
544         * target.h (return_in_msb): New target hook.
545         * target-def.h (TARGET_RETURN_IN_MSB): New macro.
546         (TARGET_CALLS): Include it.
547         * calls.c (shift_returned_value): New function.
548         (expand_call): Use it.
549         * expr.c: Include target.h.
550         (copy_blkmode_from_reg): Check targetm.calls.return_in_msb when
551         deciding what padding is needed.  Change the name of the local
552         padding variable from big_endian_correction to padding_correction.
553         * stmt.c (shift_return_value): New function.
554         (expand_return): Use it.  Adjust memory->register copy in the same
555         way as copy_blkmode_from_reg.  Only change the return register's
556         mode if it was originally BLKmode.
557         * doc/tm.texi (TARGET_RETURN_IN_MSB): Document.
558         * config/mips/mips.c (TARGET_RETURN_IN_MSB): Define.
559         (mips_fpr_return_fields): New, split out from mips_function_value.
560         (mips_return_in_msb, mips_return_fpr_pair): New functions.
561         (mips_function_value): Rework to use the functions above.
562         * config/mips/irix6-libc-compat.c: Delete.
563         * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Undefine.
564
565 2003-11-16  Kazu Hirata  <kazu@cs.umass.edu>
566
567         * doc/install.texi (--enable-checking): Update valgrind's URL.
568
569 2003-11-16  Kazu Hirata  <kazu@cs.umass.edu>
570
571         * config/h8300/h8300.md: Fix warnings by replacing -2147483648
572         with -2147483647 - 1.
573
574 2003-11-16  Gerald Pfeifer  <gerald@pfeifer.com>
575
576         Fix links in online manuals.
577         * doc/invoke.texi (H8/300 Options): @xref to ld, not ld.info.
578         (Precompiled Headers): @pxref to cpp, not cpp.info.
579
580 2003-11-16  Jason Merrill  <jason@redhat.com>
581
582         * Makefile.in, objc/Make-lang.in (objc.tags): Create TAGS.sub
583         files in each directory and TAGS files that include them for each
584         front end.
585
586 2003-11-15  Kazu Hirata  <kazu@cs.umass.edu>
587
588         * config/h8300/lib1funcs.asm (divnorm): Store the sign in bit
589         3 of S2L.
590         (modnorm): Likewise.
591         (exitdiv): Look at bit 3 of S2L only.
592
593 2003-11-15  Kazu Hirata  <kazu@cs.umass.edu>
594
595         * config/h8300/h8300.h (DO_GLOBAL_CTORS_BODY): Fix warnings.
596         (DO_GLOBAL_DTORS_BODY): Likewise.
597
598 2003-11-15  Joseph S. Myers  <jsm@polyomino.org.uk>
599
600         * doc/install.texi (Prerequisites): Refine documentation of
601         autoconf, automake and perl requirements.  Document required
602         gettext version.
603
604 <2003-11-14  Jason Merrill  <jason@redhat.com>
605
606         * function.c (assign_parms): Use TREE_TYPE to determine the real
607         type of the argument object.
608
609 2003-11-14  Kazu Hirata  <kazu@cs.umass.edu>
610
611         * config/h8300/lib1funcs.asm (___udivsi3): Peel off the first
612         iteration.
613
614 2003-11-14  Fariborz Jahanian <fjahanian@apple.com>
615
616         * config/rs6000/rs6000.c (rs6000_move_block_from_reg):
617           New routine to save vararg registers on stack. Support for
618           -mpowerpc64 in mixed mode.
619
620 2003-11-14  Bernardo Innocenti  <bernie@develer.com>
621
622         * config/m68k/m68k.c: Use C statements instead of #ifdef's when testing
623         for MOTOROLA versus MIT syntax.  Improves readability and provides
624         better compile-time error checking for both code paths.
625
626 2003-11-14  Kelley Cook  <kcook@gcc.gnu.org>
627
628         * config/frv/frv-protos.h: Update for C90.
629         * config/frv/frv.h: Likewise.
630         * config/frv/frvbegin.c: Likewise.
631         * config/frv/frv.c: Likewise.
632         (frv_adjust_field_align): Delete unused variable.
633
634 2003-11-14  Geoffrey Keating  <geoffk@apple.com>
635
636         * config/rs6000/rs6000.md: Add 'DEFAULT_ABI == ABI_DARWIN'
637         to each place where TARGET_LONG_DOUBLE_128 is used with
638         DEFAULT_ABI == ABI_AIX.
639
640         * cppfiles.c (_cpp_find_file): Make 'one or more PCH files were found'
641         message comply with GNU standards.
642
643 2003-11-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
644
645         PR/6552
646         * function.c (struct epi_info): New field const_equiv.
647         (update_epilogue_consts): New function.
648         (keep_stack_depressed): Clear new field and verify scratch register
649         doesn't have it set.
650         Call new function via note_stores.
651         (handle_epilogue_set): Allow setting SP equiv reg in different mode.
652         Allow PLUS where second operand is register known set to constant.
653         (emit_equiv_load): Write load using proper mode if source different.
654         * config/mips/mips.md (return_internal): Put (return) first.
655
656 2003-11-14  Kazu Hirata  <kazu@cs.umass.edu>
657
658         * config/h8300/lib1funcs.asm (___udivsi3): Add a comment.
659
660 2003-11-14  Kazu Hirata  <kazu@cs.umass.edu>
661
662         * config/h8300/lib1funcs.asm (modsi3): Don't save unused
663         registers.
664         (divsi3): Likewise.
665         (reti): Don't restore unused registers.
666
667 2003-11-14  Nick Clifton  <nickc@redhat.com>
668
669         * config/fr30/fr30.c: Include toplev.h
670
671 2003-11-14  Richard Earnshaw  <rearnsha@arm.com>
672
673         * except.c (sjlj_emit_function_enter): Mark internal label as LOCAL.
674
675 2003-11-14  Richard Earnshaw  <rearnsha@arm.com>
676
677         * arm.c (arm_emit_vector_const, arm_output_load_gr): Use ISO C
678         function definition syntax.
679
680 2003-11-14  Eric Christopher  <echristo@redhat.com>
681
682         * reload1.c (reload): Revert previous patch. Make
683         check for assignment into reg_equiv_address stricter.
684
685 2003-11-14  Arnaud Charlet  <charlet@act-europe.fr>
686
687         * Makefile.in (POSTSTAGE1_FLAGS_TO_PASS): Pass ADAFLAGS.
688
689 2003-11-14  Richard Sandiford  <rsandifo@redhat.com>
690
691         * config/frv/frv.c (frv_in_small_data_p): Return false for unknown
692         section names.
693
694 2003-11-14  Jason Merrill  <jason@redhat.com>
695
696         PR middle-end/12526
697         * tree.c (build): A CALL_EXPR has side-effects if its arguments do.
698         * calls.c (call_expr_flags): New fn.
699         * tree.h: Declare it.
700
701 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
702
703         * config/h8300/lib1funcs.asm (__udivsi3): Remove.
704         (divmodsi3): Change the name to ___udivsi3.
705         Update all callers.
706
707 2003-11-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
708
709         * libgcc2.c (__negdi2, __addvsi3, __addvdi3, __subvsi3, __subvdi3,
710         __mulvsi3, __negvsi2, __negvdi2, __mulvdi3, __lshrdi3, __ashldi3,
711         __ashrdi3, __ffsDI2, __muldi3, __clzDI2, __ctzDI2, __parityDI2,
712         __udivmoddi4, __divdi3, __moddi3, __cmpdi2, __ucmpdi2,
713         __fixunstfDI, __fixunsxfDI, __fixunsdfDI, __fixunssfDI,
714         __floatdixf, __floatditf, __floatdidf, __floatdisf, __gcc_bcmp):
715         Const-ify and/or initialize automatic variables at declaration.
716
717 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
718
719         * config/h8300/lib1funcs.asm (divmodsi4): Replace all the uses
720         of er4 with er3.  Adjust all callers.
721
722 2003-11-13  Andrew Pinski <apinski@apple.com>
723
724         * config/darwin.c (machopic_output_possible_stub_label):
725         Allow stub symbol be not defined when outputting possible
726         stub label.
727
728 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
729
730         * config/h8300/lib1funcs.asm (___udivsi3): Jump to reti
731         instead of exitdiv.
732         (___umodsi3): Likewise.
733         (exitdiv): Do not restore any register.
734         (reti): Restore registers.
735
736 2003-11-13  Steven Bosscher  <stevenb@suse.de>
737
738         * tree-inline.c (walk_tree): Handle PLACEHOLDER_EXPR.
739
740 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
741
742         * config/h8300/lib1funcs.asm: Fix comment typos.
743
744 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
745
746         * config/h8300/lib1funcs.asm (udivsi3): Don't save/restore
747         unused registers.  Don't jump to exitdiv.
748         (umodsi3): Likewise.
749
750 2003-11-13  Mark Mitchell  <mark@codesourcery.com>
751             Kean Johnston <jkj@sco.com>
752
753         PR c/13029
754         * toplev.c (check_global_declarations): Do not warn about unused
755         static consts.
756
757 2003-11-13  Pavel Pisa  <pisa@cmp.felk.cvut.cz>
758             Kazu Hirata  <kazu@cs.umass.edu>
759
760         * config/h8300/lib1funcs.asm (DenHighNonZero): Optimize using
761         the approximate quotient method.
762
763 2003-11-13  Richard Earnshaw  <rearnsha@arm.com>
764
765         * combine.c (distribute_notes): When re-distributing the notes from
766         an insn we are about to delete, ensure we can't end up with a cyclic
767         list of notes.
768
769 2003-11-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
770
771         PR optimization/12926
772         * expr.c (expand_assignment) [COMPONENT_REF]: Don't put
773         the UNCHANGING_RTX_P flag on memory references to read-only
774         components that are not addressable.
775
776 2003-11-12  Kazu Hirata  <kazu@cs.umass.edu>
777
778         * config/h8300/lib1funcs.asm (divmodsi4): Clear S0P in
779         DenHighNonZero.
780
781 2003-11-13  Jan Hubicka  <jh@suse.cz>
782
783         PR opt/12275
784         * c-decl.c (finish_decl): Use change_decl_assembler_name.
785         * c-pragma.c (handle_pragma_redefine_extname): Likewise.
786         * varasm.c (make_decl_rtl): Likewise.
787         * cgraph.c (change_decl_assembler_name): New function.
788         * tree.h (set_decl_assembler_name): Kill dead declaration.
789         (change_decl_assembler_name): Declare.
790
791         * decl.c (make_rtl_for_nonlocal_decl): Use change_decl_assembler_name.
792         * decl2.c (make_rtl_for_nonlocal_decl): Use change_decl_assembler_name.
793
794 2003-11-12  Kazu Hirata  <kazu@cs.umass.edu>
795
796         * config/h8300/lib1funcs.asm (___mulsi3): Don't save/restore
797         an unused register.
798
799 2003-11-12  Richard Sandiford  <rsandifo@redhat.com>
800
801         PR bootstrap/12752
802         * config/mips/t-iris6 (MULTILIB_OPTIONS): Put -mabi=n32 first.
803         (MULTILIB_OSDIRNAMES): Reorder accordingly.
804
805 2003-11-12  Janis Johnson  <janis187@us.ibm.com>
806
807         * rs6000-protos.h (rs6000_initial_elimination_offset): Add.
808         (rs6000_stack_info): Remove.  (debug_stack_info): Remove.
809         (rs6000_emit_eh_reg_restore): Add
810         * rs6000.c (rs6000_stack_t): Move from rs6000.h, change data type
811         of vars_size and total_size to HOST_WIDE_INT.
812         (emit_frame_save): Change parameter size to HOST_WIDE_INT.
813         (rs6000_stack_info): Make static; change data size to HOST_WIDE_INT.
814         (debug_stack_info): Make static; change output format of HOST_WIDE_INT
815         values.
816         (rs6000_emit_eh_reg_restore): New, with code formerly in rs6000.md.
817         (rs6000_initial_elimination_offset): New, with code formerly in
818         INITIAL_ELIMINATION_OFFSET.
819         * rs6000.h (rs6000_stack_t): Remove.
820         (INITIAL_ELIMINATION_OFFSET): Replace code with call to function
821         rs6000_initial_elimination_offset.
822         * rs6000.md (UNSPECV_EH_RR split): Replace code with call to
823         rs6000_emit_eh_reg_restore.
824
825 2003-11-12  Mike Stump  <mrs@apple.com>
826
827         * c-typeck.c (c_convert_parm_for_inlining): Add argnum, which
828         is the argumnt we are processing so that warnings and errors
829         will have that information.
830         * c-tree.h (c_convert_parm_for_inlining): Add argnum.
831         * lang-hooks-def.h
832         (lhd_tree_inlining_convert_parm_for_inlining): Likewse.
833         * langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): Likewise.
834         * langhooks.h (convert_parm_for_inlining): Likewise.
835         * tree-inline.c (initialize_inlined_parameters): Compute and
836         pass argnum down.
837
838 2003-11-12  Alexey Starovoytov  <alexey.starovoytov@sun.com>
839             Roger Sayle  <roger@eyesopen.com>
840
841         PR optimization/12953
842         * tree-inline.c (inline_forbidden_p_1): Added check for BUILT_IN
843         before switch by FUNCTION_CODE.
844
845 2003-11-12  Richard Earnshaw  <rearnsha@arm.com>
846
847         * arm.md (storehi): Avoid use of explicit subreg.
848         (storehi_bigend, storeinthi, movhi_bigend): Likewise.
849
850 2003-11-12  J"orn Rennecke <joern.rennecke@superh.com>
851
852         * config/sh/sh.md (prefetch): New pattern.
853
854 2003-11-11  Eric Christopher  <echristo@redhat.com>
855
856         * reload1.c (reload): Verify that addresses for
857         reg_equiv_* are valid for the architecture.
858
859 2003-11-11  Eric Christopher  <echristo@redhat.com>
860
861         * function.c (purge_addressof_1): Add libcall check.
862         Remove test for cached replacements on fallback case.
863         Simplify mode comparisons. Add libcall test for
864         paradoxical subregs.
865
866 2003-11-11  Kazu Hirata  <kazu@cs.umass.edu>
867
868         * config/h8300/t-h8300: Fix an obsolete comment.
869
870 2003-11-11  James E Wilson  <wilson@specifixinc.com>
871
872         * expmed.c (store_bit_field, extract_bit_field): Revert last two
873         changes.
874
875 2003-11-11  Kazu Hirata  <kazu@cs.umass.edu>
876
877         * config/h8300/lib1funcs.asm: Replace DenHighZero with
878         DenHighNonZero.
879
880 2003-11-11  Jan Hubicka  <jh@suse.cz>
881
882         * cgraphunit.c (cgraph_function_possibly_inlined_p): Use
883         really_no_inline.
884
885 2003-11-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
886
887         * pa.h (TRAMPOLINE_TEMPLATE): Fix flushing of cache lines when
888         generating 64-bit code.
889
890 2003-11-10  David Edelsohn  <edelsohn@gnu.org>
891
892         * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Remove
893         accidental commit in previous change.
894
895 2003-11-10  Fariborz Jahanian <fjahanian@apple.com>
896
897         * config/rs6000/rs6000.h (STACK_SIZE_MODE): Add definition.
898         * config/rs6000/rs6000.c (reg_or_mem_operand): Add macho-style
899         address recognition.
900         (macho_lo_sum_memory_operand): Routine to recognize macho-style
901         address recognition.
902
903 2003-11-10  Richard Henderson  <rth@redhat.com>
904
905         * dwarf2out.c (gen_label_die): Cope with DECL_RTL not set.
906
907 2003-11-10  Matt Austern  <austern@apple.com>
908
909         * config/darwin-protos.h (darwin_assemble_visibility): Declare.
910         * config/darwin.c (darwin_assemble_visibility): Define.  Warn for
911         anything other than VISIBILITY_DEFAULT and VISIBILITY_HIDDEN.
912         * config/darwin.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Use
913         darwin_assemble_visibility instead of default.
914
915 2003-11-10  Waldek Hebisch  <hebisch@math.uni.wroc.pl>
916
917         PR target/12865
918         * config/sparc/sparc.c (sparc_initialize_trampoline): Call
919         __enable_execute_stack only after writing onto the stack.
920         (sparc64_initialize_trampoline): Likewise.
921
922 2003-11-09  Roger Sayle  <roger@eyesopen.com>
923
924         * loop.c (check_dbra_loop): Try swapping the comparison operands
925         of the loop condition to identify a suitable induction variable.
926         * unroll.c (loop_iterations): Likewise.
927
928 2003-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
929
930         * config/sparc/sparc.h (TARGET_CPU_CPP_BUILTINS): Fix sparc vs
931         sparc64 #cpu and #machine assertions.
932
933 2003-11-09  Richard Henderson  <rth@redhat.com>
934
935         * Makefile.in (rtlanal.o): Depend on BASIC_BLOCK_H.
936
937 2003-11-09  Jan Hubicka  <jh@suse.cz>
938
939         * tree-optimize.c (tree_rest_of_compilation): Fix warning.
940
941         * cgraphunit.c (cgraph_expand_function): Use
942         cgraph_possibly_inlined_p.
943         * tree-optimize.c (tree_rest_of_compilation): Do not kill saved tree.
944
945         * opts.c (common_handle_option): Do not set max-inline-insns.
946         * params.def: Update comments.
947         (PARAM_MAX_INLINE_INSNS): Kill.
948         * invoke.texi (max-inline-insns): Kill.
949
950 2003-11-08  Joseph S. Myers  <jsm@polyomino.org.uk>
951
952         PR c/3190
953         PR c/8714
954         * c-format.c (set_Wformat): Do not enable -Wformat-y2k by default.
955         * invoke.texi: Update.
956
957 2003-11-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
958
959         PR optimization/12630
960         * pa.c (compute_movstrsi_length): Rename to compute_movstr_length.
961         Handle length computation 64-bit moves.
962         (compute_clrstr_length, output_block_clear): Implement block clear.
963         (output_block_move): Handle 64-bit moves.
964         (pa_adjust_insn_length): Use compute_movstr_length and
965         compute_clrstr_length.
966         * pa.md (movstrsi): Revise operand order and comments.  Don't use
967         match_scratch.
968         (movstrsi_internal): Delete.
969         (movstrsi_prereload, movstrsi_postreload): New insns.  Define splitter
970         and peephole2 patterns to transform prereload to postreload form.
971         (movstrdi, movstrdi_prereload, movstrdi_postreload, clrstrsi,
972         clrstrsi_prereload, clrstrsi_postreload, clrstrdi, clrstrdi_prereload,
973         clrstrdi_postreload): New patterns for 64-bit block move, and block
974         clear.
975         * pa-protos.h (output_block_clear): New prototype.
976
977 2003-11-08  Andreas Schwab  <schwab@suse.de>
978
979         * dbxout.c (current_file): Also wrap inside DBX_DEBUGGING_INFO ||
980         XCOFF_DEBUGGING_INFO.
981
982 2003-11-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
983
984         * dbxout.c (current_file): Wrap declaration in DBX_USE_BINCL.
985
986 2003-11-07  Geoffrey Keating  <geoffk@apple.com>
987
988         * config/rs6000/rs6000.c (rs6000_legitimize_address): Remove
989         redundant parens.
990
991         * cppfiles.c (pch_open_file): New parameter 'invalid_pch', set it.
992         (find_file_in_dir): Likewise.
993         (_cpp_find_file): Print message if no header file is found
994         but an invalid PCH file was.
995
996 2003-11-08  Joseph S. Myers  <jsm@polyomino.org.uk>
997
998         * c-typeck.c (pedantic_lvalue_warning): Deprecate compound
999         expressions as lvalues.
1000         (internal_build_compound_expr): Remove special handling for
1001         non-pedantic case.
1002         * doc/extend.texi: Document that all extended lvalues are now
1003         deprecated.
1004
1005 2003-11-07  Geoffrey Keating  <geoffk@apple.com>
1006
1007         PR 11654
1008         * dbxout.c (struct dbx_file): Do not save for PCH.
1009         (current_file): Likewise.
1010         (dbxout_init): Don't allocate struct dbx_file using GC.
1011         (dbxout_start_source_file): Likewise.
1012
1013 2003-11-07  Falk Hueffner  <falk@debian.org>
1014
1015         * config/alpha/elf.h, config/alpha/unicosmk.h,
1016         config/alpha/vms.h: Convert to ISO C90.
1017
1018 2003-11-07  Nathanael Nerode  <neroden@gcc.gnu.org>
1019
1020         * config/arm/pe.h: Convert to ISO C90.
1021
1022 2003-11-07  J"orn Rennecke <joern.rennecke@superh.com>
1023
1024         * sh-protos.h (sh_pch_valid_p): Declare.
1025         * sh.c ("intl.h"): Include.
1026         (TARGET_PCH_VALID_P): Override.
1027         (sh_target_switches): New variable.
1028         (target_switches): Define.
1029         (sh_pch_valid_p): New function.
1030
1031         * sh.h (MODE_AFTER): Don't change mode unless TARGET_HITACHI.
1032
1033 2003-11-07  Jan Hubicka  <jh@suse.cz>
1034
1035         * i386.c (x86_64_sign_extended_value):  Return false from tls variables.
1036         (x86_64_zero_extended_value):  likewise.
1037
1038 2003-11-07  Richard Sandiford  <rsandifo@redhat.com>
1039
1040         * config/mips/mips.md (loadgp): Take $25 as a second operand.
1041         * config/mips/mips.c (mips_expand_prologue): Modify accordingly.
1042
1043 2003-11-06  Matt Austern <austern@apple.com>
1044
1045         * c-common.c (handle_visibility_attribute): Set DECL_VISIBILITY
1046         field instead of hanging an attribute object off the decl.
1047         * tree.h (DECL_VISIBLITY): New accessor macro for
1048         symbol_visibility field in struct tree_decl.
1049         (enum symbol_visibility): Move definition to before tree_decl.
1050         (struct tree_decl): Define new two-bit field, symbol_visibility.
1051         (decl_visibility): Remove declaration.
1052         * varasm.c (maybe_assemble_visibility): Use DECL_VISIBILITY
1053         instead of decl_visibility.
1054         (default_binds_local_p_1):  Use DECL_VISIBILITY instead of
1055         decl_visibility.
1056         (decl_visibility): Remove.
1057
1058 2003-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
1059
1060         * config/s390/s390.c (s390_emit_epilogue): Recognize more cases
1061         where register 14 will be saved.
1062
1063 2003-11-06  Geoffrey Keating  <geoffk@apple.com>
1064
1065         * config/rs6000/rs6000.h (USE_FP_FOR_ARG_P): Move to rs6000.c.
1066         (USE_ALTIVEC_FOR_ARG_P): Likewise.
1067         * config/rs6000/rs6000.c (USE_FP_FOR_ARG_P): Move from rs6000.h.
1068         Take a pointer as the CUM parameter.  Update callers.
1069         (USE_ALTIVEC_FOR_ARG_P): Likewise.  Also correct for Darwin/AIX
1070         32-bit ABIs.
1071         (function_arg_advance): Use USE_ALTIVEC_FOR_ARG_P.  Correct case
1072         of vector parameters as named arguments of stdarg function.
1073         (function_arg): Likewise.
1074
1075         * config/rs6000/darwin.h (ASM_SPEC): Use -force_cpusubtype_ALL when
1076         -maltivec is specified, not the non-existent -faltivec.
1077
1078 2003-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
1079
1080         * config/s390/s390-protos.h (s390_function_value): Declare.
1081         * config/s390/s390.c (TARGET_RETURN_IN_MEMORY): Define.
1082         (s390_return_in_memory): New function.
1083         (s390_function_value): New function.
1084         (s390_function_arg_float): Return false for all arguments larger
1085         than 8 bytes.
1086         (s390_function_arg_pass_by_reference): Likewise.  Return true for
1087         all vector arguments.
1088         (s390_function_arg_integer): New function.
1089         (s390_function_arg_advance): Call it.  Add sanity checks.
1090         (s390_function_arg): Likewise.
1091         * config/s390/s390.h (FUNCTION_VALUE): Call s390_function_value.
1092         (LIBCALL_VALUE): Likewise.
1093         (RET_REG): Remove.
1094         (RETURN_IN_MEMORY): Remove.
1095
1096 2003-11-06  Richard Sandiford  <rsandifo@redhat.com>
1097
1098         * config/mips/mips-protos.h (mips_initial_elimination_offset): Change
1099         return type to HOST_WIDE_INT.
1100         * config/mips/mips.c (mips_frame_info): Give sizes type HOST_WIDE_INT.
1101         Make initialized a bool.  Make register masks unsigned ints.
1102         (compute_frame_size): Make same mask change here.  Use HOST_WIDE_INT
1103         where appropriate.
1104         (mips_initial_elimination_offset): Return a HOST_WIDE_INT.
1105         (mips_output_function_prologue): Print sizes as HOST_WIDE_INTs.
1106
1107 2003-11-06  Richard Sandiford  <rsandifo@redhat.com>
1108
1109         * config/frv/frv.c (frv_initial_elimination_offset): Remove bogus
1110         negation.
1111
1112 2003-11-06  Richard Sandiford  <rsandifo@redhat.com>
1113
1114         * config/frv/frv.h (ASM_OUTPUT_ALIGN_WITH_NOP): Define.
1115
1116 2003-11-06  Momchil Velikov  <velco@fadata.bg>
1117
1118         * config/mips/mips.c (override_options): Set MASK_SOFT_FLOAT
1119         for VR4111 too.
1120
1121 2003-11-06  Jan Hubicka  <jh@suse.cz>
1122
1123         * builtins.c (simplify_builtin_strrchr, simplify_builtin_strpbrk): Add
1124         missing casts.
1125
1126 2003-11-06  Zack Weinberg  <zack@codesourcery.com>
1127
1128         * genmodes.c: Change the word "bitsize" to "precision" throughout.
1129         * machmode.def: Likewise.
1130         * machmode.h (GET_MODE_SIZE): Cast value to unsigned short.
1131         (GET_MODE_BITSIZE): Define as GET_MODE_SIZE * BITS_PER_UNIT.
1132         (GET_MODE_PRECISION): New macro.
1133         (mode_bitsize): Renamed mode_precision.
1134         * stor-layout.c (mode_for_size, smallest_mode_for_size):
1135         Use GET_MODE_PRECISION; clarify comments.
1136
1137 2003-11-05  Joseph S. Myers  <jsm@polyomino.org.uk>
1138
1139         * doc/install-old.texi: Remove old documentation of building
1140         cross-compilers.
1141         * doc/install.texi: Move some of it to here.
1142
1143 2003-11-05  Per Bothner  <pbothner@apple.com>
1144
1145         PR preprocessor/12891
1146         * c-opts.c (finish_options):  Set include_cursor to disable premature
1147         calls to push_command_line_include from cpp_scan_nooutput.
1148         Fixes bug reported by DJ Delorie.
1149
1150 2003-11-05  Geoffrey Keating  <geoffk@apple.com>
1151
1152         * config/rs6000/rs6000.c (setup_incoming_varargs): Remove
1153         code supporting old-style varargs.
1154
1155         * config/rs6000/rs6000.c (rs6000_machopic_legitimize_pic_address): Use
1156         an intermediate register for better optimisation.
1157
1158 2003-11-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1159
1160         PR optimization/10080
1161         * cfgloopanal.c (variable_initial_value, variable_initial_values,
1162         simple_loop_exit_p): Record the fact that initial value is extended
1163         from inner mode.
1164         (count_strange_loop_iterations, count_loop_iterations): Handle
1165         ivs that iterate in a narrower mode. Fix handling of overflows.
1166         Improve handling of NE conditions.
1167         (inverse, fits_in_mode_p): New static functions.
1168         (simple_increment): Detect variables that iterate in a narrower mode.
1169         * cfgloop.h (struct loop_desc): Fields inner_mode and extend added.
1170
1171 2003-11-05  Geoffrey Keating  <geoffk@apple.com>
1172
1173         * config/rs6000/rs6000.c (compute_vrsave_mask): Correct off-by-one
1174         error.
1175
1176         * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Darwin
1177         needs VRSAVE.
1178
1179 2003-11-05  Joseph S. Myers  <jsm@polyomino.org.uk>
1180
1181         * c-typeck.c (pedantic_lvalue_warning): Deprecate use of
1182         conditional expressions as lvalues.
1183
1184 2003-11-05  Kazu Hirata  <kazu@cs.umass.edu>
1185
1186         * tsystem.h: Add the prototype of strlen.
1187         * unwind-pe.h (read_encoded_value_with_base): Add an
1188         appropriate cast to handle a case where the pointer size is
1189         smaller than sizeof (int).
1190
1191 2003-11-04  Richard Sandiford  <rsandifo@redhat.com>
1192
1193         * config/mips/mips-protos.h (mips_global_pic_constant_p): Delete.
1194         (mips_delegitimize_address): Delete.
1195         (mips_gotoff_global, mips_load_got_page): Declare.
1196         (mips_load_got_global, mips_rewrite_small_data): Declare.
1197
1198         * config/mips/mips.h (FIND_BASE_TERM): Remove definition.
1199         (DANGEROUS_FOR_LA25_P): Use global_got_operand.
1200         (PREDICATE_CODES): Add global_got_operand, local_got_operand and
1201         small_data_pattern.  Remove CONST from const_arith_operand's entry.
1202
1203         * config/mips/mips.c (UNSPEC_ADDRESS_P, CONST_GP_P): New macros.
1204         (UNSPEC_ADDRESS, UNSPEC_ADDRESS_TYPE): Likewise.
1205         (mips_constant_type): Delete.
1206         (mips_symbol_type): Add SYMBOL_GOTOFF_PAGE, SYMBOL_GOTOFF_GLOBAL,
1207         SYMBOL_GOTOFF_CALL and SYMBOL_GOTOFF_LOADGP.
1208         (NUM_SYMBOL_TYPES): New macro.
1209         (mips_address_type): Remove ADDRESS_INVALID.
1210         (machine_function): Add has_gp_insn_p.
1211         (mips_constant_info): Delete.
1212         (mips_address_info): Add the address type as an extra field.  Replace
1213         the c field with symbol_type.
1214         (mips_split_p, mips_lo_relocs, mips_hi_relocs): New arrays.
1215         (TARGET_DELEGITIMIZE_ADDRESS): Remove definition.
1216         (mips_reloc_offset_ok_p, mips_classify_constant): Delete.
1217         (mips_split_const, mips_symbolic_constant_p): New functions.
1218         (mips_symbolic_address_p): Take the symbol type and mode as arguments.
1219         (mips_classify_address): Return true if the address is valid, storing
1220         its type in INFO.  Use mips_symbolic_constant_p.  Use mips_lo_relocs[]
1221         to test whether a LO_SUM address is allowed.
1222         (mips_symbol_insns): Return 0 for general mips16 symbols.
1223         Reorder SYMBOL_GOT_GLOBAL case to match mips_symbol_type definition.
1224         Handle the new SYMBOL_GOTOFF_*s.
1225         (mips_address_insns): Update call to mips_classify_address.
1226         (mips_const_insns): Be more fussy about HIGH constants.  Remove use
1227         of mips_classify_constant.  Be more accurate about CONSTs.
1228         (mips_global_pic_constant_p): Delete.
1229         (const_arith_operand): Only accept CONST_INTs.
1230         (call_insn_operand): Remove call to mips_classify_constant.
1231         Let mips_symbolic_constant_p check for invalid offsets.
1232         (move_operand): Check for general_operands first.  Only accept symbolic
1233         constants if they satisfy mips_symbolic_constant_p and cannot be split.
1234         (symbolic_constant): Use mips_symbolic_constant_p.
1235         (global_got_operand, local_got_operand): New predicates.
1236         (stack_operand): Update call to mips_classify_address.
1237         (mips_legitimate_address_p): Likewise.
1238         (mips_reloc, mips_lui_reloc): Delete.
1239         (mips_force_temporary): Only use the given temporary if no_new_pseudos.
1240         Use emit_move_insn.
1241         (mips_split_symbol, mips_unspec_address): New functions.
1242         (mips_unspec_offset_high): New function.
1243         (mips_load_got): Replace reloc argument with a symbol_type.
1244         Use mips_unspec_address to create the address and put it in a
1245         LO_SUM with the base register.
1246         (mips_load_got16, mips_load_got32): Delete.
1247         (mips_emit_high, mips_legitimize_symbol): Delete.
1248         (mips_gotoff_global): New function.
1249         (mips_load_got_page, mips_load_got_global): New functions.
1250         (mips_legitimize_symbol): Inline handling of LO_SUM splits.
1251         (mips_legitimize_const_move): Likewise.  Remove HIGH handling.
1252         Inline code to handle constants plus invalid offsets.  Use
1253         mips_split_symbol to legitimize constant pool addresses.
1254         (mips_delegitimize_address): Delete.
1255         (mips_rtx_costs): Give legitimate symbolic constants and CONST_DOUBLEs
1256         a cost of 1 insn.  Give the rest a cost of CONSTANT_POOL_ADDRESS.
1257         (mips_subword): Pass memrefs through mips_rewrite_small_data.
1258         (mips_output_move): Remove use of mips_classify_constant.
1259         (mips_expand_call): Use mips_unspec_offset_high to calculate the
1260         high part of the GOT address for calls to global functions.
1261         (override_options): Initialize mips_split_p[], mips_lo_relocs[]
1262         and mips_hi_relocs[].
1263         (print_operand): Use print_operand_reloc to handle '%h' and '%R'.
1264         Remove use of mips_classify_constant.
1265         (mips_reloc_string): Delete.
1266         (print_operand_reloc): New function.
1267         (print_operand_address): Update call to mips_classify_address.
1268         (mips_rewrite_small_data_p, small_data_pattern_1): New functions.
1269         (small_data_pattern): New predicate.
1270         (mips_rewrite_small_data_1, mips_rewrite_small_data): New functions.
1271         (mips_function_has_gp_insn): New function.
1272         (mips_global_pointer): Use it.
1273         (mips_gp_insn): Delete.
1274         (mips_expand_prologue): When compiling for n32/n64 abicalls, use a
1275         single loadgp pattern to initialize $gp.  Pass it the offset of _gp
1276         from the start of the current function.
1277         (mips16_gp_pseudo_reg): Revert last patch.
1278
1279         * config/mips/mips.md (RELOC_*): Delete.
1280         (UNSPEC_LOADGP, UNSPEC_FIRST_ADDRESS): New constants.
1281         (got): New insn attribute.
1282         (type): Set to "load" if got == load.
1283         (length): Set to 4 if got == load, 8 if got == xgot_high.
1284         (lui[sd]i): Delete.
1285         (*xgot_hi[sd]i, *xgot_lo[sd]i): New patterns.
1286         (*got_disp[sd]i, *got_page[sd]i): Likewise.
1287         (*low[sd]i): Change constraints to "d".  Add a new define_split to
1288         rewrite small data constants into LO_SUMs.
1289         (loadgp): New insns.
1290
1291 2003-11-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1292
1293         * config/mips/_tilib.c: Use _ABI* in _MIPS_SIM tests.
1294
1295 2003-11-04  DJ Delorie  <dj@redhat.com>
1296
1297         * config/v850/v850.md (mulhisi3): Expand the const_int case
1298         separately to avoid trying to sign extend the const.
1299
1300 2003-11-04  Richard Sandiford  <rsandifo@redhat.com>
1301
1302         * emit-rtl.c (copy_rtx_if_shared): Don't allow MEMs with constant
1303         addresses to be shared.
1304         (force_const_mem): Return a copy of the pool entry.
1305
1306 2003-11-03  Andreas Jaeger  <aj@suse.de>
1307
1308         * Makefile.in (GCC_CFLAGS): Remove @WERROR@ again.
1309
1310 2003-11-03  Kelley Cook  <kcook@gcc.gnu.org>
1311
1312         * Makefile.in (cpp.dvi): New target split from cpp.info.
1313         (gcc.dvi):  New target split from gcc.info.
1314         (gccint.dvi): New target split from gccint.info.
1315         (cppinternals.dvi): New target split from cppinternals.info
1316         (gccinstall.info): New specific rule.
1317         (gccinstall.dvi): Likewise.
1318         (dvi): Move targets to $(docobjdir).
1319         ($(docobjdir)/%.dvi): New implicit rule.
1320
1321 2003-11-03  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1322
1323         * doc/gty.texi (tag, desc): Say more about role of desc values in
1324         selecting between tags.
1325
1326 2003-11-03  Alexander Kabaev  <ak03@gte.com>
1327
1328         * real.c (encode_ieee_single): Ensure proper promotion.
1329
1330 2003-11-03  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
1331
1332         * doc/contrib.texi: Add Giovanni Bajo, Dara Hazeghi, Falk Hueffner,
1333         and Andrew Pinski.
1334
1335 2003-11-03  Syd Polk  <spolk@apple.com>
1336
1337         * config/rs6000/rs6000.c (rs6000_override_options): Add G3, G4, and G5
1338         marketing names to the list of supported processors.
1339         * config/rs6000/rs6000.h: Ditto.
1340         * doc/invoke.texi: Ditto.
1341         * config.gcc: Ditto.
1342
1343 2003-11-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1344
1345         * fixinc/inclhack.def (stdio_va_list): Allow tab before va_list.
1346         Merge two substitutions.
1347         * fixinc/fixincl.x: Regenerate.
1348         Fixes PR bootstrap/12666.
1349
1350 2003-11-03  Joseph S. Myers  <jsm@polyomino.org.uk>
1351
1352         * doc/install-old.texi: Remove VMS documentation.
1353
1354 2003-11-03  Jan Hubicka  <jh@suse.cz>
1355
1356         * i386.c (override_options):  Remove hack enabling 128bit long double
1357         commited by accident.
1358
1359 2003-11-02  Per Bothner  <per@bothner.com>
1360
1361         * c-opts.c (needValue):  Do cpp_find_main_file before processing
1362         any imacros flags, so pfile->main_file is set for the latter.
1363
1364 2003-11-03  Andreas Jaeger  <aj@suse.de>
1365             Zack Weinberg  <zack@codesourcery.com>
1366
1367         * Makefile.in (GCC_CFLAGS): Allow blacklisting of warnings.
1368         (SYSCALLS.c.X-warn): Suppress warnings.
1369
1370 2003-11-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1371
1372         PR optimization/12845
1373         * pa.c (output_cbranch): Use cmpb for DImode comparisons with 0.
1374
1375 2003-11-02  Zack Weinberg  <zack@codesourcery.com>
1376
1377         * print-rtl.c (print_rtx): Call PRINT_REG with second argument -1.
1378         * config/i386/i386.c (print_reg): Abort on a virtual register
1379         if code != -1; not if file == asm_out_file.
1380         * config/i386/i386.h (PRINT_REG): Document meaning of CODE == -1.
1381         (DEBUG_PRINT_REG): Delete, unused.
1382
1383 2003-11-02  Andreas Schwab  <schwab@suse.de>
1384
1385         * config/ia64/fde-glibc.c (_GNU_SOURCE): Define to 1 instead of
1386         empty to avoid conflict with the definition from configure.
1387
1388 2003-11-02  Roger Sayle  <roger@eyesopen.com>
1389
1390         PR optimization/10817
1391         * ifcvt.c (noce_emit_move_insn): Improve documentation comment.
1392         (noce_try_move): New function to optimize an if-the-else into an
1393         unconditional move, i.e. "if (a!=b) x=a; else x=b" into "x=a".
1394         (noce_process_if_block): Attempt simplification with noce_try_move.
1395
1396         * simplify-rtx.c (simplify_ternary_operation): Some minor fixes
1397         and improvements to the optimizations of IF_THEN_ELSE expressions.
1398         (simplify_subreg): Silence signed/unsigned comparison warning.
1399
1400 2003-11-02  Richard Sandiford  <rsandifo@redhat.com>
1401
1402         * Makefile.in (targhooks.o, reload.o): Update dependencies.
1403         (GTFILES): Add targhooks.c.
1404         (gt-targhooks.h): New rule; depend on s-gtype.
1405         * target.h (direct_pool_load_p): New hook.
1406         * target-def.h (TARGET_DIRECT_POOL_LOAD_P): New macro.
1407         (TARGET_INITIALIZER): Include it.
1408         * targhooks.h (default_direct_pool_load_p): Declare.
1409         (hook_bool_machine_mode_true): Declare.
1410         * targhooks.c: Include insn-config.h, recog.h, ggc.h and
1411         gt-targhooks.h.
1412         (pool_symbol): New variable.
1413         (default_direct_pool_load_p): New function.
1414         (hook_bool_machine_mode_true): New function.
1415         * reload.c: Include target.h.
1416         (find_reloads): If an alternative will force a constant into memory,
1417         count an extra reload if constant pool symbols are not valid
1418         addresses.  If an alternative uses memory to move values between
1419         registers, count the move as two reloads rather than one.
1420         * config/s390/s390.c (TARGET_DIRECT_POOL_LOAD_P): Define.
1421         * doc/tm.texi (TARGET_DIRECT_POOL_LOAD_P): Document.
1422
1423 2003-11-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
1424
1425         PR optimization/12799
1426         * postreload.c (reload_cse_move2add): Generate the add2
1427         patterns manually.
1428
1429 2003-11-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
1430
1431         * config/sparc/sparc.c (function_arg_partial_nregs) [TARGET_ARCH64]:
1432         Return 0 for all complex modes whose size is lesser or equal to
1433         a word.  Add a ??? comment for the condition used with 16-byte
1434         aligned modes.
1435
1436 2003-11-01  Kelley Cook  <kcook@gcc.gnu.org>
1437
1438         * .cvsignore: Remove c-parse* and tradcif.c.
1439         * objc/.cvsignore: Delete.
1440
1441 2003-11-01  Roger Sayle  <roger@eyesopen.com>
1442
1443         * unwind-sjlj.c (_Unwind_GetCFA): Return (_Unwind_Word)0 instead
1444         of NULL.
1445
1446 2003-11-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1447
1448         * som.h (DO_GLOBAL_DTORS_BODY): Change to C90 declaration.
1449
1450         * libgcc2.c (SYMBOL__MAIN): Provide C90 declaration.
1451
1452         * collect2.c (scan_libraries): Fix typos.
1453
1454         PR preprocessor/12847
1455         * cppfiles.c, cppexp.c, cpperror.c, cpplib.h, cpplib.c, cpplex.c,
1456         cppinit.c, cpptrad.c, cppmacro.c, fix-header.c, cpppch.c, c-pch.c,
1457         c-incpath.c, cppcharset.c (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN,
1458         DL_ERROR, DL_ICE, DL_EXTRACT, DL_WARNING_P): Prefix macro names with
1459         "CPP_".
1460
1461 2003-11-01  Fariborz Jahanian  <fjahanian@apple.com>
1462
1463         * config/rs6000/rs6000.c (rs6000_mixed_function_arg): Correct
1464         no_units calculation.
1465
1466 2003-11-01  Andreas Jaeger  <aj@suse.de>
1467
1468         * unwind-dw2.c (_Unwind_FrameState): Remove commas at end of
1469         enumeration list.
1470
1471 2003-11-01  Andreas Schwab  <schwab@suse.de>
1472
1473         * config/ia64/sysv4.h (SDATA_SECTION_FUNCTION): Update to C90
1474         prototypes.
1475         (SBSS_SECTION_FUNCTION): Likewise.
1476
1477 2003-11-01  Andreas Jaeger  <aj@suse.de>
1478
1479         * Makefile.in (GCC_CFLAGS): Add @WERROR@ for target files.
1480
1481 2003-11-01  Andreas Tobler  <a.tobler@schweiz.ch>
1482
1483         * config/rs6000/sysv4.h (EXTRA_SECTION_FUNCTIONS): Update to C90
1484         prototypes.
1485
1486 2003-11-01  Andreas Jaeger  <aj@suse.de>
1487
1488         * unwind-dw2.c (_Unwind_FindEnclosingFunction): Constify variable.
1489         (uw_frame_state_for): Constify variables.
1490         (extract_cie_info): Constify first argument.
1491
1492         * unwind-dw2-fde-darwin.c: Adjust prototype of
1493         _Unwind_Find_registered_FDE for recent changes.
1494         (examine_objects): Constify return value and local variable result.
1495         (_Unwind_Find_FDE): Constify return value and local variable ret.
1496
1497 2003-10-31  Per Bothner  <pbothner@apple.com>
1498
1499         * c-opts.c (finish_options):  Change to returns boolean - false iff
1500         the call to cpp_find_main_file fails.
1501         (c_common_init):  Skip preprocess_file if finish_options failed.
1502         (c_common_parse_file):  Break if finish_options failed.
1503         Fixes PR preprocessor/12545.
1504
1505 2003-10-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1506
1507         * aclocal.m4: Blacklist ultrix* for mmap file.
1508         * configure: Rebuilt.
1509
1510         * function.c (assign_parms): Add ATTRIBUTE_UNUSED to variable
1511         reg_parm_stack_space.
1512         * toplev.c (default_get_pch_validity): Fix warning.
1513
1514         * vax.c: Include toplev.h.
1515         (vax_init_libfuncs): Fix typo (umod).
1516         * vax.h (ASM_COMMENT_START): Define.
1517         (PRINT_OPERAND): Fix warning when HOST_WIDE_INT is a long long.
1518
1519 2003-10-31  Roger Sayle  <roger@eyesopen.com>
1520
1521         PR middle-end/11968
1522         * expr.c (expand_expr <MULT_EXPR>): Remove inappropriate and
1523         confusing comment; distributivity isn't handled in expand_expr.
1524         * fold-const.c (extract_muldiv_1 <PLUS_EXPR>):  Allow overflow
1525         in distributivity, if wrap-around semantics are specified with
1526         -fwrapv.
1527
1528 2003-11-01  Alan Modra  <amodra@bigpond.net.au>
1529
1530         PR 12315
1531         * final.c (profile_function): Allow for NULL svrtx.
1532
1533 2003-10-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1534
1535         * pa.c (pa_select_section): Use new style declaration.
1536         * som.h (readonly_data): Likewise.
1537
1538 2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
1539
1540         * config/rs6000/rs6000.c: Update to C90 prototypes.
1541
1542 2003-10-31  Richard Earnshaw  <rearnsha@arm.com>
1543
1544         PR target/7513
1545         * arm.h (CONDITIONAL_REGISTER_USAGE): Disable use of LR in Thumb
1546         code.
1547
1548 2003-10-31  Andreas Jaeger  <aj@suse.de>,
1549             Zack Weinberg  <zack@codesourcery.com>
1550
1551
1552         * crtstuff.c (__register_frame_info, __register_frame_info_bases)
1553         (__deregister_frame_info, __deregister_frame_info_bases):
1554         Constify void * argument.
1555         * unwind-dw2-fde.h (struct fde_vector):
1556         Constify 'orig_data' and 'array' fields.
1557         (__register_frame_info, __register_frame_info_bases)
1558         (__deregister_frame_info, __deregister_frame_info_bases):
1559         Constify void * argument.
1560         (get_cie, next_fde, _Unwind_Find_FDE): Constify arguments,
1561         return values, and casts of type fde *, struct dwarf_fde *,
1562         and struct dwarf_cie *.
1563         * unwind-dw2-fde.c (__register_frame_info, __register_frame_info_bases)
1564         (__deregister_frame_info, __deregister_frame_info_bases):
1565         Constify void * argument.
1566         (get_cie_encoding, ): Constify struct dwarf_cie * argument.
1567         (get_fde_encoding, fde_unencoded_compare, fde_single_encoding_compare)
1568         (fde_mixed_encoding_compare, fde_compare_t, start_fde_sort, fde_insert)
1569         fde_split, SWAP, frame_downheap, frame_heapsort)
1570         (classify_object_over_fdes, add_fdes, linear_search_fdes,
1571         binary_search_unencoded_fdes, binary_search_single_encoding_fdes,
1572         binary_search_mixed_encoding_fdes, search_object, _Unwind_Find_FDE):
1573         Constify arguments, local variables, return values, and casts
1574         of type fde *, fde **, struct dwarf_fde *, and struct dwarf_cie *.
1575         Use const pointer types in sizeof expressions, for clarity.
1576         * unwind-dw2-fde-glibc.c
1577         (_Unwind_find_registered_FDE, _Unwind_find_FDE): Constify return value.
1578         (struct unw_eh_callback_data): Constify 'ret' field.
1579
1580 2003-10-31  Fariborz Jahanian  <fjahanian@apple.com>
1581             David Edelsohn  <edelsohn@gnu.org>
1582
1583         * config/rs6000/rs6000.c (rs6000_mixed_function_arg): New.
1584         (function_arg): Call it.
1585         (rs6000_function_value): Widen integral return value to mode based
1586         on TARGET_32BIT, not word_mode.
1587         * config/rs6000/rs6000.h (PROMOTE_MODE): Likewise.
1588         (UNITS_PER_ARG): New.
1589         (RS6000_ARG_SIZE): Use it.
1590
1591 2003-10-31  Gerald Pfeifer  <gerald@pfeifer.com>
1592
1593         * .cvsignore: No longer ignore gengtype-lex.c, gengtype-yacc.c,
1594         and gengtype-yacc.h.
1595
1596 2003-10-31  Richard Earnshaw  <rearnsha@arm.com>
1597
1598         PR optimization/8896
1599         * postreload.c (reload_combine): Check that REGY doesn't die in an
1600         insn of the form (set (regx) (plus (regx) (regy))), ie REGX != REGY.
1601
1602 2003-10-31  Josef Zlomek  <zlomekj@suse.cz>
1603
1604         PR/10239
1605         * cfgrtl.c (delete_insn): Decrease LABEL_NUSES for all REG_LABEL notes.
1606
1607 2003-10-31  Josef Zlomek  <zlomekj@suse.cz>
1608
1609         PR/11640
1610         * cfgrtl.c (try_redirect_by_replacing_jump): Move jump
1611         immediatelly before BARRIER.
1612
1613 2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
1614
1615         * Makefile.in (STRICT2_WARN): Add -Wold-style-definition.
1616
1617 2003-10-31  Richard Earnshaw  <rearnsha@arm.com>
1618
1619         PR target/11271
1620         * reload.c (find_reloads_address): Handle any register in
1621         (PLUS (PLUS (REG) (REG)) (CONST_INT).
1622
1623 2003-10-31  Richard Earnshaw  <rearnsha@arm.com>
1624
1625         * ggc-page.c (ggc_pch_read): Wrap call to poison_pages in
1626         ENABLE_GC_CHECKING not in GGC_POISON.
1627
1628 2003-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
1629
1630         PR bootstrap/9863
1631         * configure.in: Bail out if awk is missing.
1632         * configure: Regenerate.
1633
1634         PR ada/12761
1635         * Makefile.in: Move default definitions of X_ADA_CFLAGS,
1636         T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS from ada/Make-lang.in to here.
1637
1638 2003-10-30  Richard Henderson  <rth@redhat.com>
1639
1640         * c-objc-common.c (c_tree_printer): Handle types correctly.
1641         Factor code a bit.
1642
1643 2003-10-30 Kelley Cook <kcook@gcc.gnu.org>
1644
1645         * value-prof.c, web.c: Update to C90.
1646
1647 2003-10-30  Eric Christopher  <echristo@redhat.com>
1648
1649         * function.c (purge_addressof_1): Add case for REG_RETVAL
1650         notes when modes are unequal.
1651
1652 2003-10-31  Jan Hubicka  <jh@suse.cz>
1653
1654         * i386-modes.def: Add XFmode format adjustment.
1655
1656 2003-10-30  Jan Hubicka  <jh@suse.cz>
1657
1658         * real.c (encode_ieee_extended): Back out previous patch.
1659
1660 2003-10-30  Jan Hubicka  <jh@suse.cz>
1661
1662         * real.c (encode_ieee_extended): Initialize whole array.
1663         * reg-stack.c (move_for_stack_reg0: Use always XFmode.
1664         * i386-modes.def: Change definitions of TFmode and XFmode.
1665         * i386.c (classify_argument): Rename TFmodes to XFmodes; add new TFmode
1666         code.
1667         (construct_container): Allow constructing of TFmode integer containers.
1668         (ix86_return_in_memory):  XFmode is not returned in memory.
1669         (init_ext_80387_constants): Always use XFmode.
1670         (print_operand): Likewise.
1671         (ix86_prepare_fp_compare_regs): Likewise.
1672         (split_to_parts): Deal with TFmode.
1673         (split_long_move): Simplify.
1674         (ix86_init_mmx_sse_builtins): Add __float80, __float128.
1675         (ix86_memory_move_cost): Do not confuse TFmode.
1676         * i386.h (LONG_DOUBLE_TYPE_SIZE): Set to 96.
1677         (IS_STACK_MODE): TFmode is not stack mode.
1678         (HARD_REGNO_NREGS, CLASS_MAX_NREGS): Deal nicely with XFmode.
1679         (VALID_SSE_REG_MODE): Allow TFmode.
1680         (VALID_FP_MODE_P): Disallow TFmode.
1681         (VALID_INT_MODE_P): Allow TFmode in 64bit mode.
1682         * i386.md (TFmode patterns): Kill.
1683         (movtf, motf_rex64): New patterns.
1684
1685 2003-10-30  Richard Sandiford  <rsandifo@redhat.com>
1686
1687         * config/mips/mips.md (adddi3): Fix typo in mips16 stack pointer code.
1688
1689 2003-10-30  Richard Sandiford  <rsandifo@redhat.com>
1690
1691         * config/mips/mips.md (mov_lwl): Use memory_operand where appropriate.
1692         (mov_lwr, mov_swl, mov_swr): Likewise.
1693         (mov_ldl, mov_ldr, mov_sdl, mov_sdr): Likewise.
1694
1695 2003-10-30  Richard Sandiford  <rsandifo@redhat.com>
1696
1697         * config/mips/mips.c (mips_global_pointer): Don't try to use $25.
1698
1699 2003-10-30  Richard Henderson  <rth@redhat.com>
1700
1701         * config/mips/mips.c (mips_build_builtin_va_list): Use runtime
1702         test for irix6 rather than preprocessor test.
1703
1704 2003-10-30  Richard Henderson  <rth@redhat.com>
1705
1706         * cppcharset.c (one_utf8_to_utf16): Initialize 's' to silence warning.
1707
1708 2003-10-30  Ulrich Weigand  <uweigand@de.ibm.com>
1709
1710         * config/s390/s390.c (struct machine_function): Use save_return_addr_p
1711         as a general flag that the return address register needs to be saved,
1712         not necessarily because of __builtin_return_addr (0).
1713         (s390_split_branches): Remove TEMP_REG and TEMP_USED arguments,
1714         remove special handling of zSeries machines.
1715         (s390_optimize_prolog): Remove TEMP_USED argument, treat the return
1716         register as a regular register on zSeries machines.
1717         (s390_reorg): Adjust calls to s390_split_branches and
1718         s390_optimize_prolog.
1719         (s390_frame_info): On zSeries machines, do not assume the return
1720         register is always used.  Update regs_ever_live with current data
1721         for the special registers.
1722         (s390_emit_epilogue): Use save_return_addr_p to determine whether
1723         the return register was saved.
1724         * config/s390/s390.h (CONDITIONAL_REGISTER_USAGE): Do not mark
1725         RETURN_REGNUM fixed on zSeries machines.
1726         (REG_ALLOC_ORDER): Use RETURN_REGNUM last.
1727         * config/s390/s390.md ("*doloop_si"): Handle branch overflow
1728         via ahi-jgne pair on zSeries machines.
1729         ("*doloop_di"): Likewise.
1730         ("*doloop_di_long"): Remove.
1731
1732 2003-10-30  Richard Earnshaw  <rearnsha@arm.com>
1733
1734         * arm.c (arm_override_options): Revert change of arm_constant_limit
1735         when optimizing for size.
1736
1737 2003-10-29  Richard Henderson  <rth@redhat.com>
1738
1739         * fold-const.c (fold_single_bit_test): Convert the input to the
1740         operational intermediate type.
1741
1742 2003-10-29  Richard Henderson  <rth@redhat.com>
1743
1744         * builtins.c (std_build_builtin_va_list): New.
1745         * expr.h (std_build_builtin_va_list): Declare.
1746         * defaults.h (BUILD_VA_LIST_TYPE): New.
1747         * system.h (BUILD_VA_LIST_TYPE): Poison.
1748         * target-def.h (TARGET_BUILD_BUILTIN_VA_LIST): New.
1749         * target.h (struct gcc_target): Add build_builtin_va_list.
1750         * tree.c (build_common_tree_nodes_2): Use it.
1751
1752         * config/alpha/alpha-protos.h, config/alpha/alpha.c,
1753         config/alpha/alpha.h, config/alpha/unicosmk.h,
1754         config/d30v/d30v-protos.h, config/d30v/d30v.c, config/d30v/d30v.h,
1755         config/i386/i386-protos.h, config/i386/i386.c, config/i386/i386.h,
1756         config/i860/i860-protos.h, config/i860/i860.c, config/i860/i860.h,
1757         config/i960/i960-protos.h, config/i960/i960.c, config/i960/i960.h,
1758         config/mips/iris6.h, config/mips/mips-protos.h, config/mips/mips.c,
1759         config/mips/mips.h, config/rs6000/rs6000-protos.h,
1760         config/rs6000/rs6000.c, config/rs6000/rs6000.h,
1761         config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
1762         config/sh/sh-protos.h, config/sh/sh.c, config/sh/sh.h,
1763         config/xtensa/xtensa-protos.h, config/xtensa/xtensa.c,
1764         config/xtensa/xtensa.h: Rename foo_build_va_list to
1765         foo_build_builtin_va_list; make it static.  Define
1766         TARGET_BUILD_BUILTIN_VA_LIST.  Remove BUILD_VA_LIST_TYPE.
1767         Update protos.
1768
1769         * config/i386/i386.c (ix86_expand_carry_flag_compare): Make static.
1770         * config/iq2000/iq2000.h (BUILD_VA_LIST_TYPE): Remove.
1771
1772 2003-10-29  James E Wilson  <wilson@specifixinc.com>
1773
1774         * recog.c (asm_operand_ok): Add missing break after case 'X'.
1775         Change if statements to else if statements in default case.
1776         (extract_constrain_insn_cached): Fix misspelling of constrain_operands
1777         in comment.
1778         (constrain_operands_cached): Likewise.
1779         (constrain_operands): Change if statements to else if statements in
1780         default case.
1781         * reload.c (find_reloads): Likewise.
1782
1783 2003-10-29  Richard Henderson  <rth@redhat.com>
1784
1785         * config/m68k/m68k.c (notice_update_cc): Clear cc status for
1786         shifts and rotates.
1787
1788 2003-10-30  Alan Modra  <amodra@bigpond.net.au>
1789
1790         * config/rs6000/rs6000.md: Remove duplicate pattern.
1791
1792 2003-10-29  Hans-Peter Nilsson  <hp@axis.com>
1793
1794         * real.c (do_divide): Initialize result with a 0.
1795
1796         * configure.in <enable-checking for valgrind>: Look for
1797         <valgrind/memcheck.h> first.  AC_DEFINE HAVE_VALGRIND_MEMCHECK_H
1798         if it exists.
1799         * configure, config.in: Regenerate.
1800         * ggc-common.c [ENABLE_VALGRIND_CHECKING &&
1801         HAVE_VALGRIND_MEMCHECK_H]: Include <valgrind/memcheck.h>.  Use
1802         #elif for other alternatives.
1803         * ggc-page.c: Ditto.
1804         * ggc-zone.c: Don't assume <valgrind/memcheck.h>; instead copy
1805         include structure from ggc-common.c.
1806
1807 2003-10-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1808
1809         * pa-linux.h (ASM_OUTPUT_ADDR_VEC_ELT): Use label in big switch ELTs.
1810         (ASM_OUTPUT_ADDR_DIFF_ELT): Use label difference in big switch ELTs.
1811         * pa.c (pa_adjust_insn_length): Check for btable branches using
1812         attribute TYPE_BTABLE_BRANCH.
1813         (pa_reorg): Simplify.
1814         * pa.h (CASE_VECTOR_MODE): Change big switch mode to SImode.
1815         (ASM_OUTPUT_ADDR_VEC_ELT): As above.
1816         (ASM_OUTPUT_ADDR_DIFF_ELT): As above.
1817         * pa.md (btable_branch): New instruction type.
1818         (in_branch_delay, in_nullified_branch_delay, in_call_delay): Disallow
1819         btable branches.
1820         (define_delay): Add btable branches to insn types that may have an
1821         insn in the delay position.
1822         (Z2, Z3): Add btable branch to list.
1823         Simplify unamed pattern set copy pic_label_operand to register.  Add
1824         PA 2.0 variant.
1825         (short_jump): New jump for use in branch tables.
1826         (casesi, casesi0): Revise for new branch table formats.
1827         (casesi32, casesi32p, casesi64p): New casesi patterns.
1828         (indirect_jump): Move.
1829
1830 2003-10-29  David Edelsohn  <edelsohn@gnu.org>
1831
1832         * config/rs6000/rs6000.h (UNITS_PER_WORD): Revert to
1833         !TARGET_POWERPC64.
1834         (UNITS_PER_GPR_WORD): Delete.
1835         (HARD_REGNO_NREGS): Revert to UNITS_PER_WORD.
1836         (HARD_REGNO_MODE_OK): Same.
1837         (CLASS_MAX_NREGS): Same.
1838
1839 2003-10-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1840
1841         * pa.h (ASM_COMMENT_START): Define.
1842
1843 2003-10-29  Zack Weinberg  <zack@codesourcery.com>
1844
1845         * genmodes.c (complete_mode): Record MODE_CC, MODE_INT,
1846         MODE_FLOAT, and MODE_PARTIAL_INT modes as having one
1847         component, not zero.
1848
1849 2003-10-29  Andreas Schwab  <schwab@suse.de>
1850
1851         * config/ia64/t-ia64 (LIB2ADDEH): Add $(srcdir)/gthr-gnat.c.
1852
1853 2003-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
1854
1855         * config/sparc/sparc.c (function_arg_partial_nregs) [TARGET_ARCH64]:
1856         Never return 1 for complex integral modes whose size is lesser or
1857         equal to a word.
1858         (function_arg_pass_by_reference) [TARGET_ARCH64]: Mention CTImode
1859         in the comment.
1860         (function_arg_advance) [TARGET_ARCH64]: Don't special-case complex
1861         modes.
1862         (sparc_va_arg) [TARGET_ARCH64]: Handle any types whose size is
1863         greater than 16 bytes by reference.
1864
1865 2003-10-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1866
1867         * config/ia64/ia64.c (ia64_assemble_integer): Test POINTER_SIZE,
1868         not TARGET_ILP32.
1869         (ia64_initialize_trampoline): Use globalize_label target call.
1870
1871 2003-10-29  Andreas Schwab  <schwab@suse.de>
1872
1873         * doc/install.texi (Building): Add a sentence about building Ada
1874         for a canadian cross.
1875
1876 2003-10-28  Zack Weinberg  <zack@codesourcery.com>
1877
1878         * config/ia64/ia64.c (cmptf_libfunc): New static.
1879         (ia64_expand_compare): Add logic to open-code calls to
1880         _U_Qfcmp for TFmode comparisons.
1881         (ia64_hpux_init_libfuncs): Initialize cmptf_libfunc.
1882         Set libfuncs for TFmode eq/ne/gt/ge/lt/gt to 0; these should
1883         never be generated anymore.
1884         * config/ia64/ia64.md (cmptf): New expander.
1885
1886 2003-10-28  Zack Weinberg  <zack@codesourcery.com>
1887
1888         * ia64.md (UNSPEC_SETF_EXP,UNSPEC_FR_SQRT_RECIP_APPROX): New constants.
1889         (*sqrt_approx): New instruction pattern for approximate square roots.
1890         (*setf_exp_xf): New instruction pattern for exponentiation.
1891         (*maddxf4_alts_truncsf): New instruction pattern for truncation.
1892         (sqrtsf2_internal_thr): New define_and_split implementing
1893         throughput-optimized inline calculation of SFmode square root.
1894         (sqrtdf2_internal_thr): Likewise for DFmode.
1895         (sqrtxf2_internal_thr): Likewise for XFmode.
1896         (sqrtsf2, sqrtdf2, sqrtxf2): New expanders to choose between
1897         latency- and throughput-optimized square root algorithms.
1898         * ia64.h (MASK_INLINE_SQRT_LAT, MASK_INLINE_SQRT_THR,
1899         TARGET_INLINE_SQRT_LAT, TARGET_INLINE_SQRT_THR, TARGET_INLINE_SQRT):
1900         New macros.
1901         (TARGET_SWITCHES): Add -minline-sqrt-min-latency and
1902         -minline-sqrt-max-throughput.
1903         * ia64.c (ia64_override_options): If both -minline-sqrt-min-latency
1904         and -minline-sqrt-max-throughput are given, notify the user
1905         that both options cannot be used simultaneously.
1906         If -minline-sqrt-min-latency is given, notify the user that
1907         this mode is not yet implemented.
1908         (rtx_needs_barrier): Reformat initial comment to obey
1909         72-character width limit.  Support UNSPEC_SETF_EXP and
1910         UNSPEC_FR_SQRT_RECIP_APPROX.
1911
1912 2003-10-29  Alan Modra  <amodra@bigpond.net.au>
1913
1914         * config/rs6000/rs6000.md (movdf_softfloat64): Allow dummy ctr,ctr
1915         moves.
1916
1917 2003-10-28  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1918
1919         PR target/11598
1920         PR libgcj/10610
1921         * config/rs6000/sysv4.h (PREFERRED_STACK_BOUNDARY): New macro.
1922
1923 2003-10-28  Richard Earnshaw  <rearnsha@arm.com>
1924
1925         * arm.c (arm_output_epilogue): When using a frame pointer, don't emit
1926         an extra stack adjustment insn if the stack pointer is already
1927         pointing at the right place.
1928         (use_return_insn): Allow a return insn to be used when we have a
1929         frame pointer if the stack pointer is in the right place.
1930         (output_return_instruction): Handle it.
1931
1932 2003-10-28  Andreas Jaeger  <aj@suse.de>
1933
1934         * ggc-zone.c (check_cookies): Add missing variable.
1935         Add void to prototypes.
1936
1937 2003-10-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1938
1939         * config/mips/irix6-libc-compat.c (inet_makeaddr): Prototype.
1940         * crtstuff.c (__do_global_ctors_1): Move prototype.
1941         * unwind-dw2.c (NO_SIZE_OF_ENCODED_VALUE): Define when
1942         appropriate.
1943         * unwind-sjlj.c (_Unwind_GetCFA, _Unwind_FindEnclosingFunction):
1944         Mark parameter with __attribute__((unused)).
1945
1946 2003-10-27  Zack Weinberg  <zack@codesourcery.com>
1947
1948         * c-decl.c (pushdecl): Clarify comment.
1949
1950 2003-10-27  Arnaud Charlet  <charlet@act-europe.fr>
1951
1952         * doc/install.texi: Update instructions for Ada cross builds
1953
1954         PR ada/5909:
1955         * doc/sourcebuild.texi: Document Ada test suite.
1956
1957 2003-10-27  Stephane Carrez  <stcarrez@nerim.fr>
1958
1959         * config/m68hc11/m68hc11.c: Convert to ISO C90.
1960         * config/m68hc11/m68hc11-protos.h: Likewise.
1961
1962 2003-10-27  Jan Hubicka  <jh@suse.cz>
1963             Eric Botcazou  <ebotcazou@libertysurf.fr>
1964
1965         * toplev.c (enum dump_file_index, dump_file): Fix ordering of
1966         webizer pass dump.
1967
1968 2003-10-27  Jakub Jelinek  <jakub@redhat.com>
1969             Jan Hubicka  <jh@suse.cz>
1970
1971         * reload1.c (struct elim_table): Change offset, initial_offset and
1972         previous_offset fields to HOST_WIDE_INT.
1973         (offsets_at): Change from int to HOST_WIDE_INT.
1974         (reload): Adjust offsets_at initialization.
1975         (eliminate_regs_in_insn): Change type of offset to HOST_WIDE_INT.
1976         (verify_initial_elim_offsets): Change type of t to HOST_WIDE_INT.
1977         * config/i386/i386.c (ix86_compute_frame_layout): Change offset type
1978         to HOST_WIDE_INT.  Don't save regs using mov for huge frame sizes
1979         if TARGET_64BIT.
1980         (pro_epilogue_adjust_stack): New function.
1981         (ix86_expand_prologue, ix86_expand_epilogue): Use it.
1982         * config/i386/i386.md (pro_epilogue_adjust_stack): Remove.
1983         (pro_epilogue_adjust_stack_1): Remove * in front of name.
1984         (pro_epilogue_adjust_stack_rex64): Handle -2147483648 properly.
1985         (pro_epilogue_adjust_stack_rex64_2): New insn.
1986
1987         * config/i386/i386.c (ix86_expand_epilogue): Fix comment typo.
1988
1989         * config/i386/i386.c (ix86_expand_call): Replace 40 with
1990         FIRST_REX_INT_REG + 3 /* R11 */.
1991
1992 2003-10-26  Richard Henderson  <rth@redhat.com>
1993
1994         * config/alpha/alpha.md (attr cannot_copy): New.
1995         (call_osf_2_er, call_value_osf_2_er, ldgp_er_1, ldgp_er_2,
1996         prologue_ldgp_er_2, prologue_ldgp_1): Set it.
1997         * config/alpha/alpha.c (alpha_cannot_copy_insn_p): Test it.
1998
1999 2003-10-26  Daniel Berlin  <dberlin@dberlin.org>
2000
2001         * ggc-zone.c:  New file, zone allocating collector.
2002         * configure: Accept zone option for --with-gc
2003         * configure.in: Ditto.
2004         * ggc.h (ggc_pch_count_object): Pass bool indicating
2005         stringiness. Update all callers.
2006         (ggc_pch_alloc_object): Ditto.
2007         (ggc_pch_write_object): Ditto.
2008         (ggc_alloc_rtx): Use typed allocation, since all RTX's are of a single
2009         type.
2010         (ggc_alloc_rtvec): Ditto.
2011         (ggc_alloc_tree): Use zone allocation, since some things using this macro
2012         aren't a single typecode.
2013         * ggc-none.c (ggc_alloc_typed): New function.
2014         (ggc_alloc_zone): Ditto.
2015         * ggc-page.c: Ditto on both functions.
2016
2017 2003-10-26  Gunther Nikl  <gni@gecko.de>
2018
2019         * config/m68k/m68k.c (m68k_compute_frame_layout): Ensure FPU related
2020         frame information is always valid.
2021         (m68k_output_function_prologue): Remove superfluous TARGET_68881
2022         test; fix formatting.
2023
2024 2003-10-26  Gunther Nikl  <gni@gecko.de>
2025
2026         * config/m68k/m68k.c (m68k_compute_frame_layout): Swap reg_mask and
2027         reg_rev_mask computation.
2028         (m68k_output_function_prologue): Fix usage of current_frame (one typo
2029         and one missing); use reg_rev_mask not reg_mask.
2030         (m68k_output_function_epilogue): Fix usage of current_frame;
2031         use fpu_rev_mask not fpu_mask.
2032
2033 2003-10-26  Bernardo Innocenti  <bernie@develer.com>
2034
2035         * config/m68k/m68k.c (m68k_output_function_prologue): Eliminate
2036         num_saved_regs, use current_frame.reg_no instead.
2037
2038 2003-10-26  Bernardo Innocenti  <bernie@develer.com>
2039             Paul Dale  <pauli@snapgear.com>
2040
2041         * doc/extend.texi (interrupt_handler): Add m68k to the
2042         list of processors implementing it.
2043         * doc/invoke.texi (-msep-data): Document new m68k option.
2044         (-mno-sep-data): Likewise.
2045         (-mid-shared-library): Likewise.
2046         (-mno-id-shared-library): Likewise.
2047         (-mshared-library-id): Likewise.
2048
2049 2003-10-26  Andreas Jaeger  <aj@suse.de>
2050
2051         * unwind-dw2.c (_Unwind_GetGR): Avoid warning about unsigned
2052         comparison.
2053         (_Unwind_SetGR): Likewise.
2054
2055 2003-10-26  Ottavio Campana <ottavio@campana.vi.it>
2056
2057         PR target/12690
2058         * config/i386/mmintrin.h (_mm_set1_pi8): Fix comment.
2059
2060 2003-10-26  Gunther Nikl  <gni@gecko.de>
2061
2062         * config/m68k/m68k.c (m68k_output_function_prologue): Move front
2063         comment from here to...
2064         (m68k_save_reg): ...here. Fix comment formatting.
2065         (m68k_output_function_prologue): Fix comment formatting.
2066         (m68k_output_function_epilogue): Likewise.
2067         (const_method): Likewise.
2068
2069 2003-10-26  Kazu Hirata  <kazu@cs.umass.edu>
2070
2071         * toplev.c (default_get_pch_validity): Guard the use of
2072         target_options with #ifdef TARGET_OPTIONS.
2073         (default_pch_valid_p): Likewise.
2074
2075 2003-10-26  Andreas Jaeger  <aj@suse.de>
2076             Zack Weinberg  <zack@codesourcery.com>
2077             Andreas Tobler <toa@pop.agri.ch>
2078
2079         * dwarf2out.c (output_cfi): Use HOST_WIDE_INT_PRINT.
2080         (output_die): Likewise.
2081         (print_die): Likewise.
2082
2083 2003-10-26  Andreas Jaeger  <aj@suse.de>
2084
2085         * tree.h (dwarf2out_def_cfa, dwarf2out_args_size,
2086         dwarf2out_reg_save, new_loc_descr): Update prototypes for recent
2087         dwarf2out.c change.
2088
2089         * toplev.c (default_pch_valid_p): Fix warning.
2090
2091 2003-10-25  Roger Sayle  <roger@eyesopen.com>
2092
2093         * simplify-rtx.c (simplify_replace_rtx): Avoid allocating duplicate
2094         RTL nodes.  If an operator's operands are unchanged, return the
2095         original argument unchanged.
2096
2097 2003-10-26  Graham Stott  <graham.stott@btinternet.com>
2098
2099         Fix bootstrap failure.
2100         * expmed.c (store_bit_field): Don't compare bitsize against
2101         modes with zero bit-size.
2102
2103         (extract_bit_field): Likewise
2104
2105 2003-10-25  Jan Hubicka  <jh@suse.cz>
2106
2107         * dwarf2out.c (dw_cfi_oprnd_struct): Offset is HOST_WIDE_INT.
2108         (cfa_loc): Likewise.
2109         (reg_save, stack_adjust_offset, queue_reg_save): Replace long by
2110         HOST_WIDE_INT.
2111         (args_size, old_args_size): change type to HOST_WIDE_INT.
2112         (dwarf2out_def_cfa, dwarf2out_args_size,
2113         dwarf2out_reg_save, new_loc_descr): offset is HOST_WIDE_INT.
2114         (dw_val_struct): integers, unsigneds and offsets are HOST_WIDE_INT.
2115         (add_AT_int, add_AT_unsigned, att_AT_offset, AT_int, AT_unsigned,
2116         AT_offset): Use HOST_WIDE_INT.
2117         (based_loc_descr): offset is HOST_WIDE_INT.
2118         (add_data_member): Likewise.
2119         (add_const_value_attribute): Simplify.
2120
2121 2003-10-25  Richard Henderson  <rth@redhat.com>
2122
2123         * config/i386/i386.c (ix86_eax_live_at_start_p): New.
2124         (ix86_expand_prologue): Save and restore eax around stack probe
2125         if it's live.
2126
2127 2003-10-25  Jan Hubicka  <jh@suse.cz>
2128
2129         * cppcharset.c (one_utf8_to_utf32): Initialize 's' to silence warning.
2130
2131 2003-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
2132
2133         PR target/12712
2134         * reg-stack.c (convert_regs_1): Create an arbitrary input stack
2135         if the block has no predecessors.
2136         (convert_regs_2): Document the problem with successors whose
2137         only predecessor is the block to be processed.
2138         (convert_regs): Don't create the arbitrary input stack here.
2139
2140 2003-10-24  Zack Weinberg  <zack@codesourcery.com>
2141
2142         * genmodes.c (struct mode_data): Add contained and next_cont
2143         fields.
2144         (complete_mode): Maintain linked list of modes that have a
2145         given component.
2146         (emit_mode_unit_size): Delete.
2147         (emit_mode_nunits): New.
2148         (emit_insn_modes_c): Update to match.
2149         (emit_mode_adjustments): Propagate size and alignment
2150         adjustments from component modes to their containers.
2151         * machmode.h (mode_unit_size): Delete.
2152         (mode_nunits): New.
2153         (GET_MODE_NUNITS): Just return the value in the table.
2154         (GET_MODE_UNIT_SIZE): Compute using GET_MODE_INNER and
2155         GET_MODE_SIZE.
2156         * expmed.c (store_bit_field, extract_bit_field): Can use a
2157         plain move instruction if bitsize >= GET_MODE_BITSIZE of
2158         destination/source mode, respectively.
2159         * varasm.c (assemble_real): Write out the full size of the
2160         constant, not just its bitsize.
2161         (output_constant): Honor TYPE_MODE of TREE_REAL_CSTs.
2162
2163         * config/ia64/ia64-modes.def: Define XFmode as well as TFmode.
2164         Use ADJUST_BYTESIZE and ADJUST_ALIGNMENT to set size and
2165         alignment of XF and TF modes in compliance with ia64 ABIs.
2166         Can now hardwire the format of both modes.
2167         * config/ia64/ia64.c: Change TFmode to XFmode wherever appropriate.
2168         (general_tfmode_operand, destination_tfmode_operand)
2169         (tfreg_or_fp01_operand, spill_tfmode_operand): Rename to
2170         general_xfmode_operand, destination_xfmode_operand,
2171         xfreg_or_fp01_operand, spill_xfmode_operand respectively.
2172         (ia64_init_builtins): Make TYPE_PRECISION of fpreg_type
2173         and float80_type be 96 so they get XFmode.  Use !TARGET_HPUX,
2174         not INTEL_EXTENDED_IEEE_FORMAT, to decide how to define
2175         __float128.
2176         * config/ia64/ia64.h: Default TARGET_HPUX to 0.
2177         Change TFmode to XFmode wherever appropriate.  Remove all
2178         references to INTEL_EXTENDED_IEEE_FORMAT.
2179         (LONG_DOUBLE_TYPE_SIZE): Varies with TARGET_HPUX.
2180         (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define (always 96).
2181         (PREDICATE_CODES): Update to match function renames.
2182         * config/ia64/ia64.md: Change TF to XF throughout; rename all
2183         patterns to match.  Remove all references to
2184         INTEL_EXTENDED_IEEE_FORMAT.  Update predicate calls to match
2185         function renames.
2186         * config/ia64/ia64-protos.c: Update all prototypes to match
2187         renamed functions.
2188         * config/ia64/hpux.h: Redefine TARGET_HPUX to 1.
2189         Remove all references to INTEL_EXTENDED_IEEE_FORMAT.
2190         * config/ia64/lib1funcs.asm: Add __divxf3 as new name for
2191         __divtf3; keep old name for backward compatibility.
2192         (L__compat): New section providing forwarding stubs for
2193         __fixtfti, __fixunstfti, __floattitf.
2194         * config/ia64/t-ia64: Add __compat to LIB1ASMFUNCS.
2195
2196 2003-10-24  Geoffrey Keating  <geoffk@apple.com>
2197
2198         PR 10757
2199         * c-pch.c: Include target.h.  Improve comments.
2200         (struct c_pch_validity): Add target_data_length.
2201         (pch_init): Add target's validity data.
2202         (c_common_valid_pch): Check target's validity data.
2203         * target-def.h (TARGET_GET_PCH_VALIDITY): New.
2204         (TARGET_PCH_VALID_P): New.
2205         (TARGET_INITIALIZER): Add new fields.
2206         * target.h: Include tm.h.
2207         (struct gcc_target): Add get_pch_validity, pch_valid_p.
2208         * toplev.h (default_get_pch_validity): New prototype.
2209         (default_pch_valid_p): New prototype.
2210         * toplev.c (default_get_pch_validity): New routine.
2211         (default_pch_valid_p): New routine.
2212         * Makefile.in (TARGET_H): Add TM_H.  Replace all users of
2213         target.h with $(TARGET_H).
2214         (c-pch.o): Add TARGET_H.
2215         * doc/tm.texi (PCH Target): New node.
2216         (TARGET_GET_PCH_VALIDITY): Document.
2217         (TARGET_PCH_VALID_P): Document.
2218
2219 2003-10-24  Kelley Cook  <kcook@gcc.gnu.org>
2220
2221         * Makefile.in: Define a vpath for %.texi.  Remove explicit $(docdir)
2222         and $(docdir)/include from any *.texi dependencies.
2223         ($(docobjdir)/%.dvi): Depend on stmp-docobjdir.
2224         ($(docobjdir)/%.1): Depend on .pod instead of .texi.
2225         ($(docobjdir)/%.7): Likewise.
2226         (%.pod): New implicit rule.
2227         (cpp.pod): New dependency only rule.
2228         (gcc.pod): New intermediate rule with dependencies and commands.
2229         (gfdl.pod): Likewise.
2230         (fsf-funding.pod): Likewise.
2231
2232 2003-10-24  Nathanael Nerode  <neroden@gcc.gnu.org>
2233
2234         * fixinc/mkfixinc.sh: Remove special cases for svr4 and ptx, and
2235         related code.
2236         * fixinc/fixinc.ptx: Remove.
2237         * fixinc/fixinc.svr4: Remove.
2238
2239 2003-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
2240
2241         * config/s390/s390.c (load_multiple_operation): Allow both SImode
2242         and DImode if word_mode is DImode.
2243         (store_multiple_operation): Likewise.
2244         * config/s390/s390.md ("load_multiple", "store_multiple"): Likewise.
2245         ("*load_multiple_di"): Allow only if word_mode == DImode.
2246         ("movqi"): Use LLGC whenever TARGET_ZARCH.
2247         ("fix_truncdfsi2"): Fix incorrect temporary size.
2248         ("fix_truncsfsi2"): Likewise.
2249         ("*bras_r", "*brasl_r", "*basr_r"): Remove predicate and constraint
2250         string for function return value operand.
2251         ("*bras_tls", "*brasl_tls", "*basr_tls"): Likewise.
2252
2253 2003-10-24  Joseph S. Myers  <jsm@polyomino.org.uk>
2254
2255         * c-parse.in (array_declarator): Use expr_no_commas.
2256         Fixes PR c/11943.
2257
2258 2003-10-24  Richard Sandiford  <rsandifo@redhat.com>
2259
2260         * config/mips/linux.h: Wrap MD_FALLBACK_FRAME_STATE_FOR and
2261         associated includes in #ifndef inhibit_libc.
2262
2263 2003-10-24  Roger Sayle  <roger@eyesopen.com>
2264
2265         * doc/libgcc.texi: Document some more of the libgcc API.
2266
2267 2003-10-24  Richard Earnshaw  <rearnsha@arm.com>
2268
2269         * arm.c (arm_rtx_costs_1, case TARGET_THUMB): Adjust costs for
2270         comparing a constant with small negative numbers and add costing
2271         for constants in conjunction with AND.
2272         (note_invalid_constants): Tidy previous change.
2273         (thumb_cmp_operand): Tidy.
2274         (thumb_cmpneg_operand): New function.
2275         * arm.h (CONDITIONAL_REGISTER_USAGE): Don't use HI regs if optimizing
2276         for size.
2277         (FIRST_LO_REGNUM, FIRST_HI_REGNUM, LAST_HI_REGNUM): Define.
2278         (PREDICATE_CODES): Add thumb_cmpneg_operand.
2279         * arm.md (cbranchsi4): Convert to define_expand.  Handle comparison
2280         with a negative constant.
2281         (cbranchsi4_insn): Matcher for cbranchsi4.
2282         (cbranchsi4_scratch): Similar, but a scratch is available for
2283         handling negative constants.
2284         (movsi_cbranchsi4): New pattern.
2285         (tstsi3_cbranch): Renamed from andsi3_cbranch_scratch, remove scratch
2286         and use the TST instruction.
2287         (andsi3_cbranch, orrsi3_cbranch, xorsi3_cbranch, cbranchne_decr1)
2288         (addsi3_cbranch, subsi3_cbranch): Ensure that register preferencing
2289         cannot see high regs or memory alternatives.
2290         (bicsi3_cbranch_scratch, bicsi3_cbranch): New patterns.
2291
2292 2003-10-24  Richard Earnshaw  <rearnsha@arm.com>
2293
2294         * arm.c (note_invalid_constants): Try to extract the constant
2295         pool value using avoid_constant_pool_reference; only use
2296         get_pool_constant if that returns the original reference.
2297
2298 2003-10-24  Jan Hubicka  <jh@suse.cz>
2299
2300         PR c++/12624
2301         * varasm.c (notice_global_symbol): Disqualify global registers.
2302
2303 2003-10-23  Roger Sayle  <roger@eyesopen.com>
2304
2305         PR middle-end/11414
2306         * loop.c (load_mems): Use redirect_jump to forward jumps from
2307         the original loop end label to the new "loop sink" block's label.
2308
2309 2003-10-23  Roger Sayle  <roger@eyesopen.com>
2310
2311         PR middle-end/12705
2312         * optabs.c (expand_binop): When expanding complex operations
2313         inline, always calculate result into a new temporary register.
2314         Minor code clean-ups.
2315
2316 2003-10-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2317
2318         * objc/lang-specs.h: Handle -print-objc-runtime-info.
2319         * doc/invoke.texi (Objective-C Dialect Options): Document it.
2320
2321 2003-10-24  Danny Smith  <dannysmith@users.sourceforge.net>
2322
2323         * config/i386/cygwin.asm: Add copyright notice. Add comment
2324         on why this code is needed.
2325
2326 2003-10-23  Kazu Hirata  <kazu@cs.umass.edu>
2327
2328         * config/h8300/clzhi2.c: Fix warnings.
2329         * config/h8300/ctzhi2.c: Likewise.
2330         * config/h8300/fixunssfsi.c: Likewise.
2331         * config/h8300/parityhi2.c: Likewise.
2332         * config/h8300/popcounthi2.c: Likewise.
2333
2334 2003-10-23  James E Wilson  <wilson@specifixinc.com>
2335
2336         * gcc.c (option_map): Delete --target and --use-version.
2337
2338 2003-10-23  Fariborz Jahanian  <fjahanian@apple.com>
2339             David Edelsohn  <edelsohn@gnu.org>
2340
2341         * config/rs6000/rs6000.h (UNITS_PER_WORD): Use TARGET_32BIT, not
2342         TARGET_POWREPC64.
2343         (UNITS_PER_GPR_WORD): Define.
2344         (HARD_REGNO_NREGS): Use UNITS_PER_GPR_WORD.
2345         (HARD_REGNO_CALL_PART_CLOBBERED): Define.
2346         (HARD_REGNO_MODE_OK): Use UNITS_PER_GPR_WORD.
2347         (CLASS_MAX_NREGS): Use UNITS_PER_GPR_WORD.
2348         * config/rs6000/rs6000.c (function_arg): Generate PARALLEL for
2349         DFmode and DImode in 32-bit ABI / 64-bit computation mode.
2350         (rs6000_emit_prologue): Select reg_mode and reg_size using
2351         TARGET_32BIT, not TARGET_POWERPC64.
2352         (rs6000_function_value): Generate PARALLEL for DImode in 32-bit
2353         ABI / 64-bit computation mode
2354
2355 2003-10-22  Andrew Haley  <aph@redhat.com>
2356
2357         * toplev.c (output_file_directive): Allow for null input_name.
2358
2359 2003-10-22  Waldek Hebisch <hebisch@math.uni.wroc.pl>
2360
2361         * config/i386/i386.c (classify_argument): Handle SET_TYPE.
2362
2363 2003-10-22  Chris Demetriou  <cgd@broadcom.com>
2364
2365         * configure.in: In --enable-generated-files-in-srcdir option
2366         handling, fix default case handling.
2367         * configure: Regenerate.
2368
2369 2003-10-22  Phil Edwards  <phil@codesourcery.com>
2370
2371         * config.gcc:  Update *-*-vxworks* generic hook and comments.
2372         (arm-wrs-vxworks, i[4567]86-wrs-vxworks, mips-wrs-vxworks,
2373         mips-wrs-windiss, sh-wrs-vxworks):  New stanzas.
2374         * genmultilib:  Allow the MULTILIB_OSDIRNAMES to be mapped directly.
2375         * config/svr4.h (SWITCH_TAKES_ARG):  Undefine it before redefining it.
2376         * config/windiss.h:  New file.
2377         * config/arm/t-vxworks:  New file.
2378         * config/arm/vxworks.h:  New file.
2379         * config/i386/t-vxworks:  New file.
2380         * config/i386/vxworks.h:  New file.
2381         * config/mips/t-vxworks:  New file.
2382         * config/mips/vxworks.h:  New file.
2383         * config/mips/windiss.h:  New file.
2384         * config/sh/t-vxworks:  New file.
2385         * config/sh/vxworks.h:  New file.
2386
2387 2003-10-22  Kazu Hirata  <kazu@cs.umass.edu>
2388
2389         * config/h8300/h8300.c (h8300_output_function_epilogue): Remove.
2390         (h8300_saveall_function_p): New.
2391         (h8300_insert_attributes): Insert the saveall attribute if
2392         #pragma saveall is specified.
2393         (h8300_attribute_table): Add saveall.
2394         (TARGET_ASM_FUNCTION_EPILOGUE): Remove.
2395         * doc/extend.texi: Mention the saveall attribute.
2396
2397 2003-10-22  Joseph S. Myers  <jsm@polyomino.org.uk>
2398
2399         * c-typeck.c (pedantic_lvalue_warning): Unconditionally warn of
2400         deprecation of casts as lvalues.
2401         * fixinc/inclhack.def (obstack_lvalue_cast): New fix.
2402         * fixinc/fixincl.x: Regenerate.
2403         * fixinc/tests/base/obstack.h: New test.
2404
2405 2003-10-22  Andreas Schwab  <schwab@suse.de>
2406
2407         PR target/12676
2408         * config/m68k/m68k.c (output_addsi3): Fix range check to work on
2409         LP64 platforms.
2410
2411 2003-10-22  Jan Hubicka  <jh@suse.cz>
2412
2413         * dwarf2out.c (dwarf2out_abstract_function): Use DW_AT to check
2414         presence of DW_AT_inline.
2415         (gen_subprogram_die): Likewise; do not abort instead of emitting
2416         DW_AT_not_inline.
2417
2418 2003-10-22  Jan Hubicka  <jh@suse.cz>
2419
2420         * cgraph.c (cgraph_function_possibly_inlined_p): Be conservative when
2421         global info is not ready.
2422
2423 2003-10-22  Kazu Hirata  <kazu@cs.umass.edu>
2424
2425         * doc/extend.texi: Mention H8S wherever H8/300H is mentioned.
2426
2427 2003-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
2428
2429         * config/s390/s390.md ("movstr_short_64", "movstr_short_31"): Merge ...
2430         ("*movstr_short"): ... into this insn pattern.
2431         ("movstr_short"): New expander.
2432         ("*movstr_long_64"): Rename from "movstr_long_64", simplify.
2433         ("*movstr_long_31"): Rename from "movstr_long_31", simplify.
2434         ("movstr_long"): New expander.
2435         ("clrstr_short_64", "clrstr_short_31"): Merge ...
2436         ("*clrstr_short"): ... into this insn pattern.
2437         ("clrstr_short"): New expander.
2438         ("*clrstr_long_64"): Rename from "clrstr_long_64", simplify.
2439         ("*clrstr_long_31"): Rename from "clrstr_long_31", simplify.
2440         ("clrstr_long"): New expander.
2441         ("cmpmem_short_64", "cmpmem_short_31"): Merge ...
2442         ("*cmpmem_short"): ... into this insn pattern.
2443         ("cmpmem_short"): New expander.
2444         ("*cmpmem_long_64"): Rename from "cmpmem_long_64".
2445         ("*cmpmem_long_31"): Rename from "cmpmem_long_31".
2446         ("cmpmem_long"): New expander.
2447         * config/s390/s390.c (s390_expand_movstr): Use new expanders.
2448         (s390_expand_clrstr): Likewise.
2449         (s390_expand_cmpmem): Likewise.
2450
2451 2003-10-22  Mark Mitchell  <mark@codesourcery.com>
2452
2453         * c-pch.c (struct c_pch_validity): Add pch_init field.
2454         (pch_init): Set it.
2455         (c_common_valid_pch): Check it.
2456
2457 2003-10-22  David Taylor <dtaylor@emc.com>
2458
2459         PR debug/12500
2460         * dbxout.c (dbxout_typedefs): Use COMPLETE_OR_VOID_TYPE_P.
2461
2462 2003-10-22  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2463
2464         * config/alpha/alpha.c (function_value [ENABLE_CHECKING]): Don't call
2465         alpha_return_in_memory if no VALTYPE specified.
2466
2467 2003-10-22  Jan Hubicka  <jh@suse.cz>
2468
2469         PR debug/12389
2470         * Makefile.in (dwarf2out.o): Depend on cgraph.h.
2471         * cgraph.c (cgraph_function_possibly_inlined_p): New function.
2472         * cgraph.h (cgraph_function_possibly_inlined_p): Declare.
2473         (cgraph_global_info): Add flag inlined
2474         * dwarf2out.c (gen_subprogram_die, gen_decl_die): Use
2475         cgraph_function_possibly_inded_p
2476         * cgraphunit.c (mark_inline): Set inlined flag.
2477         * toplev.c (rest_of_decl_compilation): Call outlining_inline_function
2478         only for possibly inlined functions.
2479         * c-decl.c (duplicate_decls): Never output abstract DIE representing old
2480         body of function.
2481
2482 2003-10-22  Andrew Haley  <aph@redhat.com>
2483
2484         * varasm.c (output_constructor): Make constructor annotation
2485         conditional on ASM_COMMENT_START.
2486
2487 2003-10-21  Jason Merrill  <jason@redhat.com>
2488
2489         * tree.c (get_unwidened): Check TREE_UNSIGNED on the field's type.
2490         (get_narrower): Likewise.
2491
2492         * stor-layout.c (layout_decl): Do packed field alignment for
2493         bit-fields, too.
2494
2495 2003-10-21  Eric Christopher  <echristo@redhat.com>
2496
2497         * expr.c (convert_move): Use FLOAT_EXTEND for extensions.
2498
2499 2003-10-21  Geoffrey Keating  <geoffk@apple.com>
2500
2501         * c-pch.c: Add comments in various places.
2502         (struct c_pch_validity): Add the lengths of various strings.
2503         (host_machine): New static.
2504         (target_machine): New static.
2505         (get_ident): Bump version number.
2506         (pch_init): Write out version, host, target validity data.
2507         (c_common_valid_pch): Check version, host, target.
2508         * Makefile.in (c-pch.o): Add version.h; define HOST_MACHINE and
2509         TARGET_MACHINE.
2510
2511 2003-10-21  Jason Merrill  <jason@redhat.com>
2512
2513         * tree.h (IS_EXPR_CODE_CLASS): Use strchr.
2514         (EXPR_P): New macro.
2515
2516 2003-10-21  Zack Weinberg  <zack@codesourcery.com>
2517
2518         * config/ia64/ia64.md (cmpxchg_acq_si): Mark operand 3 as DImode.
2519         * config/ia64/ia64.c (ia64_expand_fetch_and_op,
2520         ia64_expand_op_and_fetch): Make sure the REG for ar.ccv is
2521         DImode.   Use convert_move to load ar.ccv.
2522         (ia64_expand_compare_and_swap): Likewise.
2523         If expand_expr doesn't put 'old' and 'new' in the proper
2524         modes, run them through convert_to_mode.
2525
2526 2003-10-21  Eric Christopher  <echristo@redhat.com>
2527
2528         * config/frv/frv.c (frv_adjust_field_align): Check DECL_ARTIFICIAL
2529         for too large bitfields.
2530
2531 2003-10-21  Mark Mitchell  <mark@codesourcery.com>
2532
2533         * Makefile.in ($(docobjdir)/%.info): Honor BUILD_INFO.
2534
2535 2003-10-21  Andrew Haley  <aph@redhat.com>
2536
2537         * varasm.c (output_constructor): Annotate constructor.
2538
2539 2003-10-21  Mark Mitchell  <mark@codesourcery.com>
2540
2541         * Makefile.in ($(DESTDIR)$(infodir)/%.info): Conditionalize chmod
2542         on existence of destination file.
2543
2544 2003-10-21  Jan Hubicka  <jh@suse.cz>
2545
2546         * haifa-sched.c (choose_ready): Initialize index.
2547
2548 2003-10-21  Jason Merrill  <jason@redhat.com>
2549
2550         * tree.c (build1): Fix off-by-one error.
2551
2552 2003-10-21  Robert Millan  <robertmh@gnu.org>
2553
2554         * config/i386/kfreebsdgnu.h: New. i386-*-kfreebsd-gnu definitions.
2555         * config/kfreebsdgnu.h: New. *-*-kfreebsd-gnu definitions.
2556         * config/t-kfreebsd-gnu: New. *-*-kfreebsd-gnu tmake_file.
2557         * config.gcc: Add *-*-kfreebsd*-gnu and i[34567]86-*-kfreebsd*-gnu.
2558
2559 2003-10-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
2560
2561         * web.c: Fix various comments.
2562
2563 2003-10-20  Nicolas Pitre <nico@cam.org>
2564
2565         * config/arm/arm.c (arm_override_options): Set arm_constant_limit
2566         to 2 instead of 1 when optimize_size is true.  Gather code based on
2567         optimize_size together.  Add comment about XScale load latency.
2568
2569 2003-10-21  Gunther Nikl  <gni@gecko.de>
2570
2571         * config/m68k/m68k.c (m68k_output_function_prologue): Remove
2572         obsolete comments.
2573
2574 2003-10-20  Kelley Cook  <kcook@gcc.gnu.org>
2575
2576         * Makefile.in: Get parsedir and docobjdir from configure.
2577         * configure.in: Recogonize --enable-generated-files-in-srcdir.
2578         Pass along parsedir and docobjdir.
2579         * configure: Regenerate.
2580         * doc/install.texi: Document --enable-generated-files-in-srcdir.
2581
2582 2003-10-20  Kelley Cook  <kcook@gcc.gnu.org>
2583
2584         * Makefile.in: Define $(docdir) before the Make-lang.in fragments are
2585         included.
2586
2587 2003-10-20  Joseph S. Myers  <jsm@polyomino.org.uk>
2588
2589         * c-common.c (expand_tree_builtin): Ensure creal and cimag
2590         functions do not return lvalues.
2591
2592 2003-10-20  Jason Merrill  <jason@redhat.com>
2593
2594         PR c/12553
2595         * tree.c (build1) <ADDR_EXPR>: Set TREE_SIDE_EFFECTS
2596         appropriately.
2597
2598         PR c/11446
2599         * stor-layout.c (layout_decl): Fix alignment handling.
2600
2601 2003-10-20  Joseph S. Myers  <jsm@polyomino.org.uk>
2602
2603         * doc/extend.texi: Deprecate casts as lvalues.
2604
2605 2003-10-20  Jan Hubicka  <jh@suse.cz>
2606
2607         * toplev.c (rest_of_compilation): Fix webizer pass ordering.
2608
2609         * cgraphunit.c (decide_is_function_needed):  Fix test dealing
2610         with functions implicitly made inline.
2611
2612         * cgraphunit.c (cgraph_decide_inlining_incrementally):  New function.
2613         (cgraph_finalize_function): Use it.
2614         (cgraph_mark_inline): Allow incrmental decisions
2615         * invoke.texi (max-inline-slope, min-inline-insns): Kill.
2616         * params.def (PARAM_MAX_INLINE_SLOPE, PARAM_MIN_INLINE_INSNS): Kill.
2617         * tree-inline.c (limits_allow_inlining): Kill.
2618         (expand_call_inline): Always use unit-at-a-time path.
2619
2620 2003-10-20  Zack Weinberg  <zack@codesourcery.com>
2621
2622         * fixinc/inclhack.def (hpux11_snprintf): New edit.
2623         * fixinc/fixincl.x: Regenerate.
2624         * fixinc/tests/base/stdio.h: Add test for hpux11_snprintf.
2625
2626 2003-10-20  Mark Mitchell  <mark@codesourcery.com>
2627
2628         * Makefile.in (install-info): Simplify.
2629         ($(DESTDIR)$(infodir)/%.info): New rule.
2630         * configure.in (target_list): Remove install-info.
2631         * doc/.cvsignore (gcc.info*): Remove.
2632         (gccint.info*): Likewise.
2633         (gccinstall.info*): Likewise.
2634         (cpp.info*): Likewise.
2635         (cppinternals.info*): Likewise.
2636         (*.info*): Add it.
2637         * doc/sourcebuild.texi: Update description of install-info.
2638         * objc/Make-lang.in (objc.install-info): Remove.
2639
2640 2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2641
2642         * config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Define _ABIO32.
2643         Use it in _MIPS_SIM definition.
2644         * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Likewise.
2645
2646 2003-10-20  Zack Weinberg  <zack@codesourcery.com>
2647
2648         * config/i386/i386.c (print_reg): Abort if REGNO (x) is a
2649         virtual register, but only if file == asm_out_file.
2650         * config/i386/i386.h (HI_REGISTER_NAMES): Use "argp", not "",
2651         for ARG_POINTER_REGNUM.
2652
2653 2003-10-20  Zack Weinberg  <zack@codesourcery.com>
2654
2655         * c-common.c (registered_builtin_types): New static.
2656         (c_common_type_for_mode): Consult registered_builtin_types.
2657         (c_register_builtin_type): Add type to registered_builtin_types.
2658         * optabs.c (init_floating_libfuncs): Initialize libfuncs for
2659         all MODE_FLOAT modes, not just the ones corresponding to
2660         float_type_node, double_type_node, and long_double_type_node.
2661
2662 2003-10-20  Richard Henderson  <rth@redhat.com>
2663
2664         * config/alpha/alpha.h (PREDICATE_CODES): Add normal_memory_operand.
2665         * config/alpha/alpha-protos.h: Remove PREDICATE_CODES prototypes.
2666
2667 2003-10-20  Dorit Naishlos  <dorit@il.ibm.com>
2668
2669         * config/rs6000/rs6000.h: (rs6000_sched_insert_nops):
2670         support new flag -minsert-sched-nops.
2671         (DEFAULT_SCHED_FINISH_NOP_INSERTION_SCHEME): Define.
2672         * config/rs6000/rs6000.c: (rs6000_sched_insert_nops):
2673         support new flag -minsert-sched-nops.
2674         (is_cracked_insn, is_microcoded_insn): New functions.
2675         (rs6000_sched_finish): New function.
2676         (rs6000_issue_rate): Return 5 for power4.
2677         (get_next_active_insn, insn_terminates_group_p): New
2678         functions.
2679         (is_costly_group, force_new_group): New functions.
2680         (redefine_groups, pad_groups): New functions.
2681         (rs6000_variable_issue): Use new functions.
2682         * doc/invoke.texi (-minsert-sched-nops): Document new
2683         option.
2684
2685 2003-10-20  David S. Miller  <davem@redhat.com>
2686
2687         * config/sparc/sparc.md (type attribute): Add new insn types
2688         fpa, fpm_pack, fgm_mul, fgm_pdist, and fgm_cmp for VIS.
2689         (patterns emitting VIS insns): Use them.
2690         * config/sparc/ultra1_2.md: Add VIS scheduling rules.
2691         * config/sparc/ultra3.md: Likewise.
2692
2693 2003-10-20  Falk Hueffner  <falk@debian.org>
2694
2695         PR target/12654
2696         * config/alpha/alpha.c (alpha_emit_conditional_branch): Don't do
2697         comparison against constant by adjusting the argument except for
2698         EQ and NE.
2699
2700 2003-10-19  Mark Mitchell  <mark@codesourcery.com>
2701
2702         * config.gcc: Add support for arm926ejs, arm1026ejs, arm1136js,
2703         arm1136jfs, and armv6j.
2704         * config/arm/arm.c (FL_ARCH6J): New macro.
2705         (FL_VFPV2): Likewise.
2706         (all_cores): Add entries for arm926ejs, arm1026ejs, arm1136js,
2707         and arm1136jfs.
2708         (all_architectures): Add entry for armv6j.
2709         (arm_override_options): Add entries for arm926ejs, arm1026ejs,
2710         arm1136js, and arm1136jfs.
2711         * config/arm/arm.h (TARGET_CPU_arm926ej_s): New macro.
2712         (TARGET_CPU_arm1026ej_s): Likewise.
2713         (TARGET_CPU_arm1136j_s): Likewise.
2714         (TARGET_CPU_arm1136jf_s): Likewise.
2715         * doc/invoke.texi: Document new ARM cores and architecture
2716         variants.
2717
2718 2003-10-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2719
2720         * Makefile.in (toplev.o): Add value-prof.h dependency.
2721         (value-prof.o): Add REGS_H dependency.
2722         * common.opt (fprofile-values, fvpt): New.
2723         * flags.h (flag_value_profile_transformations): Declare.
2724         * opts.c (common_handle_option): Handle -fprofile_values and
2725         -fvpt.
2726         * profile.c (branch_prob): Don't remove death notes here.
2727         * timevar.def (TV_VPT): New.
2728         * value-prof.c: Include regs.h.
2729         (insn_divmod_values_to_profile, gen_divmod_fixed_value, gen_mod_pow2,
2730         gen_mod_subtract, divmod_fixed_value_transform,mod_pow2_value_transform,
2731         mod_subtract_transform, value_profile_transformations): New.
2732         (insn_values_to_profile): Call insn_divmod_values_to_profile.
2733         (find_values_to_profile): Add dumps.
2734         * value-prof.h (value_profile_transformations): Declare.
2735         * toplev.c: Include value-prof.h.
2736         (rest_of_handle_value_profile_transformations): New.
2737         (enum dump_file_index): Add DFI_vpt.
2738         (dump_file): Add vpt dump.
2739         (flag_value_profile_transformations): New.
2740         (lang_independent_options): Add flag_profile_values and
2741         flag_value_profile_transformations.
2742         (rest_of_compilation): Call
2743         rest_of_handle_value_profile_transformations.
2744         (process_options): Let -fvpt imply -fprofile-values.
2745         * doc/invoke.texi (-fvpt): Document.
2746
2747 2003-10-19  Jan Hubicka  <jh@suse.cz>
2748
2749         * i386.c (print_reg): Do not abort on certain registers.
2750
2751         PR optimization/12612
2752         * reg-stack.c (subst_stack_regs_pat):  Use st(1) for clobbers.
2753         * i386.md (fpatan, fyl2x, fscale patterns and expanders): Use
2754         match_scratch; avoid bogus paralles.
2755
2756         PR target/12674
2757         * i386.c (ix86_function_regparm): Disable implicit register passing
2758         conventions when profiling.
2759
2760 2003-10-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
2761             Richard Henderson  <rth@redhat.com>
2762
2763         PR optimization/8178
2764         * config/i386/i386.md (*movsi_zero): Delete.
2765         (*ffs_no_cmove): Use ix86_expand_clear to zero the third operand.
2766
2767 2003-10-19  Richard Henderson  <rth@redhat.com>
2768
2769         * config/alpha/alpha.c (fix_operator): New.
2770         (divmod_operator): Tidy.
2771         (alpha_emit_xfloating_cvt): Handle UNSIGNED_FIX.
2772         * config/alpha/alpha.h (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Remove.
2773         (PREDICATE_CODES): Update.
2774         * config/alpha/alpha.md (fix_truncdfsi_ieee): Use match_operator.
2775         (fix_truncdfsi_internal, fix_truncdfdi_ieee): Likewise.
2776         (fix_truncsfsi_ieee, fix_truncsfsi_internal): Likewise.
2777         (fix_truncsfdi_ieee): Likewise.
2778         (fix_truncdfdi2, fix_truncsfdi2): Turn into define_expand.
2779         (fixuns_truncdfdi2, fixuns_truncsfdi2, fixuns_trunctfdi2): New.
2780         * config/alpha/alpha-protos.h: Update.
2781
2782 2003-10-19  Richard Sandiford  <rsandifo@redhat.com>
2783
2784         * config/mips/mips.h (INITIALIZE_TRAMPOLINE): Simplify.
2785         * config/mips/mips.c (mips_load_got): Assume Pmode == ptr_mode.
2786         * config/mips/mips.md (extendsidi2, *extendsidi2): Merge. Don't accept
2787         constant operands.
2788
2789 2003-10-18  Kazu Hirata  <kazu@cs.umass.edu>
2790
2791         * doc/extend.texi: Fix typos.
2792         * doc/invoke.texi: Likewise.
2793
2794 2003-10-18  Nicolas Pitre <nico@cam.org>
2795
2796         * config/arm/arm.c (arm_override_options): Use arm_tune_xscale for
2797         XScale optimizations not arm_arch_xscale.
2798         * config/arm/arm.h (CONSTANT_ALIGNMENT_FACTOR, MOVE_RATIO): Likewise.
2799
2800 2003-10-18  Ulrich Weigand  <uweigand@de.ibm.com>
2801
2802         * config/s390/s390-protos.h (shift_count_operand): Add prototype.
2803         * config/s390/s390.c (shift_count_operand): New function.
2804         (s390_extra_constraint): Use it to implement 'Y' constraint.
2805         (print_shift_count_operand): New function.
2806         (print_operand): Use it to implement '%Y'.
2807         * config/s390/s390.h (EXTRA_ADDRESS_CONSTRAINT): Add 'Y' constraint.
2808         (PREDICATE_CODES): Add shift_count_operand.
2809         * config/s390/s390.md ("rotldi3"): Merge alternatives,
2810         using "shift_count_operand" predicate and "Y" constraint,
2811         and "%Y" to output the combined shift count.
2812         ("rotlsi3"): Likewise.
2813         ("ashldi3", "*ashldi3_31", "*ashldi3_64"): Likewise.
2814         ("ashrdi3", "*ashrdi3_31", "*ashrdi3_64", "*ashrdi3_cc_31",
2815         "*ashrdi3_cc_64", "*ashrdi3_cconly_31", "*ashrdi3_cconly_64"): Likewise.
2816         ("ashlsi3", "ashrsi3", "*ashrsi3_cc", "*ashrsi3_cconly"): Likewise.
2817         ("lshrdi3", "*lshrdi3_31", "*lshrdi3_64"): Likewise.
2818         ("lshrsi3"): Likewise.
2819
2820 2003-10-18  Gunther Nikl  <gni@gecko.de>
2821
2822         * config/m68k/m68k.c (m68k_output_function_epilogue): Add missing
2823         argument to asm_fprintf statement.
2824
2825 2003-10-18  Fariborz Jahanian  <fjahanian@apple.com>
2826
2827         * rs6000.md: Separate TARGET_POWERPC64 patterns for TARGET_64BIT or TARGET_32BIT.
2828         (ashrdisi3_noppc64) Generate more efficient code for 32-bit right-shift of
2829         a "long long" argument.
2830
2831 2003-10-18  Alexandre Oliva  <aoliva@redhat.com>
2832
2833         * final.c (final_scan_insn): Run FINAL_PRESCAN_INSNS on asm insns
2834         as well.
2835
2836 2003-10-18  Richard Sandiford  <rsandifo@redhat.com>
2837
2838         * rtl.h (rtl_size): Declare.
2839         (rtunion): Remove rtwint.
2840         (rtx_def): Replace 'fld' with a union of an rtunion or a HOST_WIDE_INT.
2841         (RTX_HDR_SIZE, RTX_SIZE): New macros.
2842         (RTL_CHECK1): Adjust for new rtx_def layout.
2843         (RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2): Likewise.
2844         (XWINT, XCWINT): Likewise.  Access the rtx structure directly.
2845         (X0WINT): Remove.
2846         (X0ANY): New macro.
2847         * rtl.def: Adjust comments for new rtx_def layout.
2848         * ggc.h (ggc_alloc_rtx): Take the rtx code as argument, not the
2849         number of slots.
2850         * rtl.c (rtx_size): New array.
2851         (rtx_alloc): Adjust call to ggc_alloc_rtx.  Use RTX_HDR_SIZE.
2852         (copy_rtx): Use RTX_HDR_SIZE.  Adjust for new rtx_def layout.
2853         (shallow_copy_rtx): Adjust call to ggc_alloc_rtx.  Use RTX_SIZE.
2854         * integrate.c (copy_rtx_and_substitute): Use X0ANY to copy '0' fields.
2855         * emit-rtl.c (copy_most_rtx): Likewise.
2856         (copy_rtx_if_shared): Use RTX_SIZE.
2857         (copy_insn_1): Use RTX_HDR_SIZE.  Adjust for new rtx_def layout.
2858         * gengenrtl.c (gendef): Adjust ggc_alloc_rtx call.  Use RTX_HDR_SIZE.
2859         * gengtype.c (write_rtx_next): Use RTX_HDR_SIZE.
2860         (adjust_field_rtx_def): Expect "rtx_def" to be a union rather than
2861         an array.  Adjust output for new rtx_def layout.
2862         * ggc-page.c (RTL_SIZE): Use RTX_HDR_SIZE.
2863         * reload1.c (eliminate_regs): Use RTX_SIZE.
2864         * rtlanal.c (loc_mentioned_in_p): Adjust for new rtx_def layout.
2865         * gdbinit.in (pi): Likewise.
2866
2867 2003-10-18  Jan Hubicka  <jh@suse.cz>
2868
2869         * integrate.c (copy_decl_for_inlining): Revert previous patch.
2870
2871 2003-10-18  Jan Hubicka  <jh@suse.cz>
2872
2873         * integrate.c (copy_decl_for_inlining): Fix copying of copies.
2874
2875 2003-10-18  Roger Sayle  <roger@eyesopen.com>
2876
2877         * libgcc.texi: Group multi-word types, such as "long double" and
2878         "unsigned int", using braces in @deftypefn and @deftypefnx nodes.
2879         Document __unord?f2 as returning a non-zero value, not just one.
2880
2881 2003-10-18  Hans-Peter Nilsson  <hp@bitrange.com>
2882
2883         * config/mmix/t-mmix (CRTSTUFF_T_CFLAGS): Define.
2884         ($(T)crti.o, $(T)crtn.o): Pass CRTSTUFF_T_CFLAGS here too.
2885
2886 2003-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
2887
2888         * config/i386/k6.md (k6_alux): Use the 'mode' attribute instead of
2889         match_operand.
2890
2891 2003-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
2892
2893         * config/sparc/sparc.c (function_arg_record_value_1): New fourth
2894         parameter packed_p.  Search for a DECL_PACKED field only if
2895         packed_p is false.  Pass packed_p recursively.
2896         (function_arg_record_value_2): Likewise.
2897         (function_arg_record_value): Update calls to
2898         function_arg_record_value_1 and function_arg_record_value_2.
2899
2900 2003-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
2901
2902         * cse.c (cse_insn) [src_folded]: Check that the tentative replacement
2903         was successfully forced to memory before using the result.
2904
2905 2003-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
2906
2907         PR optimization/8178
2908         * config/i386/i386.md (*movsi_zero): New insn to set
2909         a register to zero on TARGET_USE_MOV0 targets.
2910
2911 2003-10-18  Kelley Cook  <kcook@gcc.gnu.org>
2912
2913         * Makefile.in (Makefile): Depend on the all Make-lang.in fragments.
2914         (POSTSTAGE1_FLAGS_TO_PASS): Pass down MAKEINFO and MAKEINFOFLAGS.
2915
2916 2003-10-17  David Edelsohn  <edelsohn@gnu.org>
2917
2918         * doc/invoke.texi (gcse-las): Fix typo.
2919
2920 2003-10-17  Andrew Pinski  <pinskia@physics.uc.edu>
2921
2922         * doc/install.texi: Remove first part of the sentence for
2923         zsh not working.  Change gcc to GCC.
2924
2925         PR bootstrap/12546
2926         * doc/install.texi: Document that zsh does not work when
2927         configuring gcc.
2928
2929 2003-10-17  Nathanael Nerode  <neroden@gcc.gnu.org>
2930
2931         * config/ptx4.h: Switch to DWARF 2; update comments.
2932
2933 2003-10-17  Segher Boessenkool  <boessen@de.ibm.com>
2934             Hartmut Penner  <hpenner@de.ibm.com>
2935
2936         PR 10404, partial 11591, partial 11601
2937         * config/rs6000/altivec.md ("altivec_dst", "altivec_dstt",
2938         "altivec_dstst", "altivec_dststt", "altivec_lvsl", "altivec_lvsr",
2939         "altivec_lvebx", "altivec_lvehx", "altivec_lvewx", "altivec_lvxl",
2940         "altivec_lvx", "altivec_stvx", "altivec_stvxl", "altivec_stvebx",
2941         "altivec_stvehx", "altivec_stvewx"): Use a memory_operand.
2942         * config/rs6000/rs6000.c (altivec_expand_lv_builtin): New function.
2943         (altivec_expand_stv_builtin): Adjust for the memory_operand.
2944         (altivec_expand_builtin): Call altivec_expand_lv_builtin.
2945         (altivec_init_builtins): Use `long int' for memory offsets.
2946
2947 2003-10-17  Jan Hubicka  <jh@suse.cz>
2948
2949         * opts.c  (common_handle_option): Handle OPT_fweb
2950         * invoke.texi (-fweb): Add missing parts of documentation.
2951
2952 2003-10-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2953
2954         * config/mips/linux.h (FUNCTION_NAME_ALREADY_DECLARED): Undef
2955         before redefinition.
2956
2957 2003-10-17  Mostafa Hagog  <mustafa@il.ibm.com>
2958
2959         * common.opt: Add description of the new -fgcse-las flag.
2960         * flags.h (flag_gcse_las): Declaration of global flag_gcse_las.
2961         * gcse.c (hash_scan_set): Handle the case of store expression and
2962         insert the memory expression to the hash table, this way we make it
2963         possible to discover redundant loads after stores and remove them.
2964         (pre_insert_copy_insn): moved the call to update_ld_motion_stores,
2965         to pre_insert_copies, it is not the correct place to call it after
2966         adding stores to be in the available expression hash table.
2967         (pre_insert_copies): Added the call to update_ld_motion_stores when
2968         one or more copies were inserted.
2969         * opts.c (common_handle_option): Handle the -fgcse-las flag.
2970         * toplev.c (flag_gcse_las): Initialization of flag_gcse_las.
2971
2972         * doc/invoke.tex: Document new -fgcse-las flag.
2973
2974 2003-10-18  Alan Modra  <amodra@bigpond.net.au>
2975
2976         * config/rs6000/crtsavres.asm: Correct alignment of powerpc64 code
2977         for posterity, then remove it.
2978
2979 2003-10-17  Richard Earnshaw <rearnsha@arm.com>
2980             Nathan Sidwell  <nathan@codesourcery.com>
2981
2982         * config/arm/arm.c (use_return_insn): Not a single instruction, if
2983         there's a frame pointer.
2984         (arm_output_epilogue): Protect stack pointer from being corrupted
2985         on interrupt.
2986
2987 2003-10-17  Ulrich Weigand  <uweigand@de.ibm.com>
2988
2989         * ifcvt.c (noce_try_addcc): Handle ifs with 'else' case.
2990
2991 2003-10-17  Ulrich Weigand  <uweigand@de.ibm.com>
2992
2993         * combine.c (simplify_set): Do not clear out undobuf.other_insn
2994         already set elsewhere.
2995
2996 2003-10-17  Kelley Cook  <kcook@gcc.gnu.org>
2997
2998         * config/i386/i386.c (ix86_expand_prologue):  Use
2999         gen_allocate_stack_worker.
3000
3001 2003-10-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3002
3003         * config.gcc (mips-sgi-irix6*o32): Only enable use_collect2
3004         without gas.
3005         (mips-sgi-irix6*): Likewise.
3006
3007         * config/mips/iris6gas.h: New file.
3008         * gcc/config.gcc (mips-sgi-irix6*): Use it.
3009
3010         * config/mips/mips.h (TARGET_IRIX): Provide default.
3011         (TARGET_IRIX5): Likewise.
3012         (TARGET_SGI_O32_AS): Likewise.
3013         * config/mips/iris5.h (TARGET_IRIX): Redefine as 1.
3014         (TARGET_IRIX5): Likewise.
3015         * config/mips/iris6.h (TARGET_IRIX6): Remove.
3016         (TARGET_IRIX5): Redefine as 0.
3017
3018         * config/mips/mips.c (mips_output_external): Test for IRIX 6 O32
3019         linker workaround with TARGET_IRIX and mips_abi instead of
3020         ASM_OUTPUT_UNDEF_FUNCTION.
3021         (mips_file_end): Inline old ASM_OUTPUT_UNDEF_FUNCTION definition,
3022         testing TARGET_IRIX and mips_abi explicitly.
3023         * config/mips/iris5.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove.
3024         * config/mips/iris6.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove undef.
3025
3026         * config/mips/mips.c (irix_output_external_libcall): Renamed from
3027         mips_output_external_libcall.
3028         Use new TARGET_IRIX in guard.
3029         * config/mips/mips-protos.h (irix_output_external_libcall): Match
3030         this.
3031         * config/mips/iris5.h (TARGET_ASM_EXTERNAL_LIBCALL): Likewise.
3032
3033         * config/mips/iris5gas.h (HAVE_GAS_SHF_MERGE): Update comment.
3034         Define as 0.
3035
3036         * config/mips/iris6.h (FUNCTION_NAME_ALREADY_DECLARED): Define
3037         depending on mips_abi.
3038         * config/mips/linux.h (FUNCTION_NAME_ALREADY_DECLARED): Define as 1.
3039         * config/mips/mips.c (mips_output_function_prologue): Test
3040         FUNCTION_NAME_ALREADY_DECLARED at runtime.
3041         (mips_output_function_epilogue): Likewise.
3042         (build_mips16_function_stub): Likewise.
3043         (build_mips16_call_stub): Likewise.
3044         * config/mips/mips.h (FUNCTION_NAME_ALREADY_DECLARED): Provide
3045         default.
3046
3047         * config/mips/iris6.h (DWARF2_UNWIND_INFO): Don't define for native
3048         IRIX 6 O32 assembler.
3049         (SUBTARGET_CC1_SPEC): Enforce mips2 ISA with O32 ABI.
3050         (TARGET_OS_CPP_BUILTINS): Define _ABIO32, use it to define
3051         _MIPS_SIM for O32 ABI.
3052         (DWARF2_FRAME_INFO): Don't define for native IRIX 6 O32 assembler.
3053         (ASM_DECLARE_FUNCTION_NAME): Integrate mips.h version.
3054         (ASM_DECLARE_FUNCTION_SIZE): Move undef before redefinition.
3055         Integrate O32 version.
3056         (SUBTARGET_ASM_SPEC): Handle -mabi=32.
3057         (SUBTARGET_ASM_DEBUGGING_SPEC): Add mdebug_asm_spec for gas with
3058         O32 ABI.
3059         (BSS_SECTION_ASM_OP_32): Define.
3060         (BSS_SECTION_ASM_OP_64): Likewise.
3061         (BSS_SECTION_ASM_OP): Define differently for O32 and N32/N64 ABIs
3062         using them.
3063         (TARGET_ASM_NAMED_SECTION): Reflect renaming.
3064         Move up to allow override for O32 ABI without GNU as.
3065         (EH_FRAME_SECTION_NAME): Define explicitly.
3066         (MUST_USE_SJLJ_EXCEPTIONS): Define.
3067         [_MIPS_SIM == _ABIO32 && !GAS] (CTORS_SECTION_ASM_OP,
3068         DTORS_SECTION_ASM_OP): Dummy definitions.
3069         (TARGET_ASM_NAMED_SECTION): Undef statically.
3070         (EH_FRAME_SECTION_NAME): Likewise.
3071         (ASM_OUTPUT_FILENAME): Integrate mips.h version.
3072         (LINK_SPEC): Only use default options -call_shared -no_unresolved
3073         without -r.
3074         Don't pass -init, -fini with -mabi=32.
3075         (COLLECT_PARSE_FLAG): Define.
3076
3077         * config/mips/mips.c (iris6_asm_named_section_1): Changed guard to
3078         TARGET_IRIX.
3079         Renamed to use irix_ prefix.
3080         (iris6_asm_named_section): Likewise.
3081         (iris_section_align_entry_eq): Likewise.
3082         (iris_section_align_entry_hash): Likewise.
3083         (iris6_file_start): Likewise.
3084         (iris6_section_align_1): Likewise.
3085         (iris6_file_end): Likewise.
3086         (iris6_section_type_flags): Likewise.
3087         (iris_section_align_htab): Likewise.
3088         (iris_orig_asm_out_file): Likewise.
3089         [TARGET_IRIX] (TARGET_ASM_FILE_START): Reflect rename.
3090         (TARGET_ASM_FILE_END): Likewise.
3091         (TARGET_SECTION_TYPE_FLAGS): Likewise.
3092
3093         * config/mips/mips.c [TARGET_IRIX5 && !TARGET_IRIX6]
3094         (TARGET_ASM_UNALIGNED_HI_OP): Use runtime initialization in
3095         override_options instead.
3096         (TARGET_ASM_UNALIGNED_SI_OP): Likewise.
3097         (TARGET_ASM_UNALIGNED_DI_OP): Likewise.
3098         * config/mips/mips.c (override_options) [USE_COLLECT2]: Restore
3099         flag_gnu_linker to defaults without USE_COLLECT2 for non-IRIX O32
3100         assemblers.
3101         Likewise for constructor/destructor handling.
3102         (override_options): Handle IRIX O32 assembler quirks.
3103         [TARGET_IRIX] (irix_asm_named_section): Handle O32 ABI with and
3104         without gas.
3105         (mips_file_start): Use new TARGET_IRIX.
3106         (mips_declare_object_name): No special processing for IRIX O32
3107         assembler.
3108         (mips_finish_declare_object): Likewise.
3109         (irix_asm_output_align): Renamed from iris6_asm_output_align.
3110         Don't record alignment for O32 ABI.
3111         (irix_file_start): Renamed from iris6_file_start.
3112         Return early for O32 ABI.
3113         (irix_file_end): Renamed from iris6_file_end.
3114         Don't emit .section directives for O32 ABI.
3115         * config/mips/iris6.h (ASM_OUTPUT_ALIGN): Reflect renaming.
3116         * config/mips/mips-protos.h (irix_asm_output_align): Likewise.
3117
3118         * config/mips/t-iris6 (MULTILIB_OPTIONS): Add mabi=32.
3119         (MULTILIB_OSDIRNAMES): Likewise.
3120
3121 2003-10-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3122
3123         * collect2.c (COLLECT_PARSE_FLAG): Provide default.
3124         (main): Use it.
3125         * doc/tm.texi (COLLECT_PARSE_FLAG): Document it.
3126
3127 2003-10-17  Richard Earnshaw  <rearnsha@arm.com>
3128
3129         * arm-modes.def (CC_Nmode): New condition code mode.
3130         * arm.c (thumb_condition_code): Delete.
3131         (arm_select_cc_mode): Handle single-bit test for Thumb.
3132         (arm_print_operand, cases 'd' and 'D'): Don't special case the
3133         condition code logic for Thumb.
3134         (get_arm_condition_code): Handle CC_Nmode.
3135         (thumb_cbrch_target_operand): New function.
3136         * arm.h (PREDICATE_CODES): Add thumb_cbrch_target_operand.
3137         * arm-protos.h (thumb_cbrch_target_operand): Add prototype.
3138         * arm.md: Add Thumb split patterns for zero_extract and
3139         sign_extract.
3140         (tbit_cbranch, andsi3_cbranch_scratch, andsi3_cbranch)
3141         (orrsi3_cbranch_scratch, orrsi3_cbranch, xorsi3_cbranch_scratch)
3142         (xorsi3_cbranch, addsi3_cbranch, addsi3_cbranch_scratch)
3143         (subsi3_cbranch, subsi3_cbranch_scratch): New Thumb patterns.
3144         (cbranchne_decr1): Re-work to use CC_Nmode.
3145
3146         * arm.c (thumb_expand_epilogue): Add clobbers of registers restored
3147         by the return instruction.  Add a use of the link register if it
3148         wasn't stored.
3149
3150 2003-10-17  Richard Earnshaw  <rearnsha@arm.com>
3151
3152         * flow.c (init_propagate_block_info): Don't abort if a conditional
3153         jump is not a comparison of a register.  Instead, just don't record
3154         conditional life information.
3155
3156 2003-10-16  Jan Hubicka  <jh@suse.cz>
3157
3158         PR optimization/12630
3159         * pa.md (movstrsi, movstrsi_internal): Use match_scratch in clobbers
3160         for operands 7 and 8.
3161
3162 2003-10-16  Kelley Cook  <kcook@gcc.gnu.org>
3163
3164         * objc/Make-lang.in (objc-parse.o): Honor $(parsedir) for objc-parse.c.
3165
3166 2003-10-16  Danny Smith  <dannysmith@users.sourceforge.net>
3167
3168         * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Define.
3169
3170         * config/i386/winnt.c (gen_stdcall_suffix): Make static
3171         (gen_fastcall_suffix): Likewise.
3172         (i386_pe_dllexport_p): Likewise.
3173         (i386_pe_dllimport_p): Likewise.
3174         (i386_pe_mark_dllexport): Likewise.
3175         (i386_pe_mark_dllimport): Likewise.
3176         (i386_pe_asm_named_section): Fix formatting.
3177
3178 2003-10-16  Zack Weinberg  <zack@codesourcery.com>
3179
3180         * configure.in: Add snprintf to gcc_AC_CHECK_DECLS list.
3181         * system.h: Declare snprintf if necessary.
3182         * configure, config.in: Regenerate.
3183
3184 2003-10-15  David Edelsohn  <edelsohn@gnu.org>
3185
3186         * config/rs6000/rs6000.c (rs6000_va_arg): Only align vector
3187         arguments if TARGET_ALTIVEC_ABI.
3188
3189 2003-10-15  Roger Sayle  <roger@eyesopen.com>
3190
3191         * builtins.c (fold_builtin_memcpy, fold_builtin_mempcpy,
3192         fold_builtin_memmove, fold_builtin_strcpy, fold_builtin_strncpy,
3193         fold_builtin_memcmp, fold_builtin_strcmp, fold_builtin_strncmp):
3194         New functions.
3195         (expand_builtin_memcpy): Use integer_zerop instead of testing
3196         host_integerp and tree_low_cst directly.  Move misapplied hunk
3197         for optimization wher SRC and DEST point to the same location.
3198         (expand_builtin_mempcpy): From here.
3199         (expand_builtin_memmove): Use integer_zerop instead of testing
3200         host_integerp and tree_low_cst_directly.
3201         (expand_builtin_memset): Likewise.
3202         (expand_builtin_memcmp): Likewise (and for integer_onep).
3203         (expand_builtin_strncmp): Likewise.
3204         (fold_builtin): Call the appropriate fold_builtin_foo functions
3205         to optimize memcpy, mempcpy, memmove, strcpy, strncpy, memcmp,
3206         strcmp and strncmp.
3207
3208 2003-10-15  Geoffrey Keating  <geoffk@apple.com>
3209
3210         * config/darwin-protos.h (machopic_non_lazy_ptr_name): Delete
3211         prototype.  Clean up some whitespace.
3212         * config/darwin.c: Use gen_rtx_FOO (...) rather than
3213         gen_rtx (FOO, ...).
3214         (machopic_non_lazy_ptr_name): Make static.
3215         (name_needs_quotes): Allow '.' and '$' unquoted.
3216         (machopic_legitimize_pic_address): Improve codegen in dynamic-no-pic
3217         case.
3218
3219 2003-10-15  Gábor Lóki  <alga@rgai.hu>
3220
3221         * fold-const.c (tree_swap_operands_p): Disable some features
3222         when optimizing for size.
3223
3224 2003-10-15  David Daney  <ddaney@avtrex.com>
3225
3226         * config/mips/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New
3227         * config/mips/mips.h (DWARF_FRAME_REGNUM): Fixed to allow unwind
3228         from leaf functions.
3229         (DWARF_FRAME_RETURN_COLUMN): Ditto.
3230         (SIGNAL_UNWIND_RETURN_COLUMN): New, used
3231         by MD_FALLBACK_FRAME_STATE_FOR.
3232         * testsuite/gcc.dg/cleanup-9.c: Added mips*-*-linux* target.
3233
3234 2003-10-15  Zack Weinberg  <zack@codesourcery.com>
3235
3236         * genmodes.c: Include hashtab.h.
3237         (modes_by_name, hash_mode, eq_mode, struct mode_adjust)
3238         (adj_bytesize, adj_alignment, adj_format, new_adjust)
3239         (_ADD_ADJUST, ADJUST_BYTESIZE, ADJUST_ALIGNMENT, ADJUST_FORMAT)
3240         (print_maybe_const_decl, emit_mode_adjustments): New.
3241         (known_modes): Rename to modes.
3242         (find_mode): Kill class argument; look up in hash table.
3243         (new_mode): Insert into hash table also.
3244         (new_adjust): New.
3245         (reset_float_format, make_partial_integer_mode)
3246         (make_vector_mode): Tweak error reporting.
3247         (reset_float_format): Correct type of fourth argument.
3248         (emit_insn_modes_h): Add #defines to help make mode_size,
3249         mode_base_align, and real_format_for_mode conditionally const.
3250         (emit_mode_size, emit_mode_base_align): Use print_maybe_const_decl.
3251         (emit_real_format_for_mode): Likewise, but temporarily disabled.
3252         (emit_insn_modes_c): Call emit_mode_adjustments.
3253         (main): Initialize modes_by_name.
3254         * Makefile.in: Update dependencies.
3255         * machmode.def: Document EXPR arguments and new ADJUST_* statements.
3256         * machmode.h: Use CONST_MODE_SIZE and CONST_MODE_BASE_ALIGN in
3257         declarations of mode_size and mode_base_align.  Declare
3258         init_adjust_machine_modes.
3259         * toplev.c (backend_init): Call init_adjust_machine_modes.
3260
3261 2003-10-15  Olivier Hainque  <hainque@act-europe.fr>
3262
3263         * genmodes.c (calc_wider_mode): Allocate enough room for all the
3264         entries we'll possibly assign in the sort buffer.
3265
3266 2003-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
3267
3268         * config.gcc (s390x-ibm-tpf*): New target.
3269         * doc/install.texi: Document it.
3270         * config/s390/t-tpf: New file.
3271         * config/s390/tpf.h: New file.
3272
3273 2003-10-15  Hans-Peter Nilsson  <hp@axis.com>
3274
3275         PR target/12598
3276         * config/cris/cris.md (define_split "*mov_sidesi_biap_mem"+1)
3277         (define_splits "*mov_sidesi_mem"+1, "casesi"+9, +10, +11, +12):
3278         Use cris_mem_op and replace_equiv_address, not gen_rtx_MEM.
3279         ("call", "call_value", define_split "*mov_sidesi_mem"+19, +20)
3280         (define_split "*mov_sidesi_mem"+21, +22, +23, +24, +25, +26, +27)
3281         (define_split "*mov_sidesi_mem"+28, +29, +30): Use
3282         replace_equiv_address, not gen_rtx_MEM.
3283         * config/cris/cris.c (cris_mem_op): New match_operator function.
3284         (cris_notice_update_cc): Use replace_equiv_address, not
3285         gen_rtx_MEM.
3286         * config/cris/cris.h (PREDICATE_CODES): Add cris_mem_op.
3287
3288 2003-10-15  Bernardo Innocenti <bernie@develer.com>
3289
3290         * config/m68k/m68k.h (MASK_SEP_DATA, TARGET_SEP_DATA,
3291         MASK_ID_SHARED_LIBRARY, TARGET_ID_SHARED_LIBRARY): Move
3292         definitions after the other flags.
3293
3294 2003-10-14  Ziemowit Laski  <zlaski@apple.com>
3295
3296         * c-parse.in (methoddef, methodproto): Call objc_add_method()
3297         instead of add_method().
3298         * objc/objc-act.c (objc_check_decl): Do not check for
3299         constant_string_type.
3300         (add_method): Rename to objc_add_method().
3301         (really_start_method): Call objc_add_method() instead of
3302         add_method().
3303         * objc/objc-act.h (add_method): Rename to objc_add_method().
3304
3305 2003-10-14  Ulrich Weigand  <uweigand@de.ibm.com>
3306
3307         * config/s390/s390-protos.h (s390_alc_comparison): Add prototype.
3308         (s390_slb_comparison): Likewise.
3309         * config/s390/s390.c (s390_alc_comparison, s390_slb_comparison):
3310         New functions.
3311         * config/s390/s390.h (PREDICATE_CODES): Add s390_alc_comparison
3312         and s390_slb_comparison.
3313         * config/s390/s390.md ("*adddi3_31", "*subdi3_31"): Do not use on
3314         zSeries machines.
3315         ("*adddi3_31z", "*subdi3_31z"): New insns.
3316         ("*adddi3_alc_cc", "*adddi3_alc", "*subdi3_slb_cc", "*subdi3_slb",
3317         "*addsi3_alc_cc", "*addsi3_alc", "*subsi3_slb_cc", "*subsi3_slb"):
3318         New insns.
3319
3320 2003-10-14  Nathanael Nerode  <neroden@gcc.gnu.org>
3321
3322         * configure.in: Clean up some feedback echoes.
3323         * configure: Regenerate.
3324
3325         * aclocal.m4: Properly quote names of macros being defined.
3326
3327         * config.gcc (am33_2.0-*-linux*): Use t-slibgcc-elf-ver.
3328
3329 2003-10-14  Steve Ellcey  <sje@cup.hp.com>
3330
3331         * config/ia64/ia64.c (ia64_expand_call): Force function address
3332         to DImode.
3333         * config/ia64/ia64.md (call_gp): Put DImode on operand 0.
3334
3335 2003-10-14  Ulrich Weigand  <uweigand@de.ibm.com>
3336
3337         * config/s390/s390.md ("muldf3", "*muldf3", "*muldf3_ibm",
3338         "mulsf3", "*mulsf3", "*mulsf3_ibm"): Do not clobber CC.
3339         ("divdf3", "*divdf3", "*divdf3_ibm", "divsf3", "*divsf3",
3340         "*divsf3_ibm"): Likewise.
3341
3342 2003-10-14  Nathanael Nerode  <neroden@gcc.gnu.org>
3343
3344         * config.gcc, config/m68hc11/t-m68hc11-gas: Replace uses of
3345         target_alias with target_noncanonical.
3346
3347 2003-10-14  Geoffrey Keating  <geoffk@apple.com>
3348
3349         * expr.c (block_move_libcall_safe_for_call_parm): Clean up,
3350         and add case for machines where outgoing register parameters
3351         get stack space.
3352
3353         * config/darwin.c (machopic_indirect_data_reference): Use a scratch
3354         register when generating indirect address.
3355
3356 2003-10-14  Richard Earnshaw  <rearnsha@arm.com>
3357
3358         * arm.c (arm_addimm_operand): MODE arguemnt is unused.
3359         * arm.md (cbranchne_decr1): Fix bootstrap warning.
3360
3361 2003-10-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3362
3363         * fixinc/inclhack.def (alpha_pthread_gcc): New fix.
3364         * fixinc/fixincl.x: Regenerate.
3365         * fixinc/tests/base/pthread.h [ALPHA_PTHREAD_GCC_CHECK]: New
3366         testcase.
3367         Fixes PR bootstrap/9330.
3368
3369 2003-10-13  Eric Christopher  <echristo@redhat.com>
3370
3371         * config/frv/frv.c (frv_adjust_field_align): Redo check for
3372         too wide bitfields.
3373         (frv_hard_regno_mode_ok): Add SPR_P and AP_FIRST.
3374         * config/frv/frv.h (FUNCTION_PROFILER): Remove abort call.
3375         (SBSS_SECTION_ASM_OP): Remove.
3376         (EXTRA_SECTIONS): Remove in_sbss.
3377         (EXTRA_SECTION_FUNCTIONS): Remove SBSS_SECTION_FUNCTION.
3378         (SBSS_SECTION_FUNCTION, sbss_section): Remove.
3379         (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Change sbss_section to
3380         named_section.
3381
3382 2003-10-13  Nathanael Nerode  <neroden@gcc.gnu.org>
3383
3384         * Makefile.in, configure.in, config.host, mkheaders.in: Replace
3385         uses of ${target_alias} for directory names (and other places which
3386         won't like the empty string) with ${target_noncanonical}.  Introduce
3387         call early in configure.in to _GCC_TOPLEV_NONCANONICAL_TARGET so it's
3388         available.
3389         * configure: Regenerate.
3390
3391 2003-10-13  Ian Lance Taylor  <ian@wasabisystems.com>
3392
3393         * config/arm/iwmmxt.md (cond_iwmmxt_movsi_insn): New pattern.
3394         * config/arm/arm.md: For splits which rely on conditional moves,
3395         remove ! TARGET_IWMMXT condition.
3396
3397 2003-10-13  David S. Miller  <davem@redhat.com>
3398
3399         * ifcvt.c (num_removed_blocks): Rename to num_true_changes.
3400         (find_cond_trap): Always increment if we emit a conditional
3401         trap insn.
3402
3403 2003-10-13  Zack Weinberg  <zack@codesourcery.com>
3404
3405         * Makefile.in (BUILD_RTL): Replace $(BUILD_PREFIX)insn-modes.o
3406         with min-insn-modes.o.
3407         (STAGESTUFF): Add min-insn-modes.c.
3408         (genobjs): Add genmodes.o.
3409         (print-rtl.o, print-rtl1.o): Depend on $(TM_P_H).
3410         (insn-modes.o): Depend on $(TM_H) not $(GTM_H); also real.h.
3411         (min-insn-modes.c, min-insn-modes.o): New rules.
3412         (s-modes): Also generate min-insn-modes.c.
3413         ($(BUILD_PREFIX_1)insn-modes.o): Kill.
3414         * genmodes.c (struct mode_data): Add format field.
3415         (blank_mode, validate_mode, complete_mode): Update to match.
3416         (make_scalar_mode): Separate into make_int_mode and make_float_mode.
3417         (_SCALAR_MODE): Kill.
3418         (FLOAT_MODE, FRACTIONAL_FLOAT_MODE): Add format argument.
3419         (emit_insn_modes_c_header): Adjust.
3420         (emit_min_insn_modes_c_header, emit_real_format_for_mode)
3421         (emit_min_insn_modes_c): New functions.
3422         (emit_insn_modes_c): Call emit_real_format_for_mode.
3423         (main): Add -m option to generate min-insn-modes.c.
3424         * machmode.h: Update documentation.  Add format argument to
3425         all uses of FLOAT_MODE.
3426         * real.c: Don't define real_format_for_mode here.
3427
3428         * dwarfout.c: Move default definition of PRINT_REG...
3429         * defaults.h: ...here.
3430         * print-rtl.c: Include tm_p.h.
3431         (DEBUG_PRINT_REG, DEBUG_REGISTER_NAMES, debug_reg_names, reg_names):
3432         Kill.
3433         (print_rtx): Use PRINT_REG, not DEBUG_PRINT_REG.  But surround
3434         this entire block with #ifndef GENERATOR_FILE.
3435         * regclass.c: Unconditionally define reg_names.
3436         * config/mips/mips.h, config/rs6000/rs6000.h, config/sh/sh.h
3437         Don't define DEBUG_REGISTER_NAMES.
3438         * config/rs6000/darwin.h: Don't use DEBUG_REGISTER_NAMES in
3439         redefinition of REGISTER_NAMES.
3440         * config/i386/i386.h: Don't define DEBUG_PRINT_REG.
3441
3442         * combine.c: Change all preprocessor conditionals on
3443         EXTRA_CC_MODES to use SELECT_CC_MODE instead; rearrange a bit
3444         for clarity.
3445         * genopinit.c: Remove mention of EXTRA_CC_MODES in comment.
3446         * configure.in: Don't define EXTRA_CC_MODES.
3447         * configure, config.in: Regenerate.
3448         * doc/tm.texi: Remove documentation of EXTRA_CC_MODES.
3449
3450         * config/arc/arc.c, config/m32r/m32r.c, config/sparc/sparc.c:
3451         May assume that GET_MODE_CLASS is accurate for extra CC modes
3452         at all times.
3453
3454         * config/i860/i860.h (INIT_CUMULATIVE_ARGS): Pass correct
3455         number of arguments to aggregate_value_p.
3456
3457         * genmodes.c (RESET_FLOAT_FORMAT, reset_float_format): New.
3458         * machmode.def: Explain ARCH-modes.def.  Document
3459         RESET_FLOAT_FORMAT.  Improve commentary on various mode
3460         clusters.  Do not define OI, PQI, PHI, PSI, PDI, QF, HF, TQF,
3461         XF, or TF modes here.  Remove backward-compatibility
3462         definition of CC.
3463
3464         * config/alpha/alpha-modes.def: New file; define TF mode.
3465         * config/arc/arm-modes.def: Define XF mode.
3466         * config/c4x/c4x-modes.def: Define QF and HF modes.  Unset
3467         float format for SF and DF modes.
3468         * config/dsp16xx/dsp16xx-modes.def: New file; define HF mode.
3469         * config/i386/i386-modes.def: Define XF and TF modes.
3470         * config/i960/i960-modes.def: Define TF mode.
3471         * config/ia64/ia64-modes.def: Define TF and OI modes.
3472         * config/m68k/m68k-modes.def: New file; define XF mode.
3473         * config/mips/mips-modes.def: New file; define TF mode, reset
3474         formats for SF and DF modes.
3475         * config/pa/pa-modes.def: Define TF mode.
3476         * config/rs6000/rs6000.c: Define TF and PSI modes.
3477         * config/s390/s390-modes.def: Define OI mode.
3478         * config/sh/sh-modes.def: New file; define PSI mode.
3479         * config/sparc/sparc-modes.def: Define TF mode.
3480         * config/vax/vax-modes.def: New file; reset formats for SF and
3481         DF modes.
3482
3483         * config/c4x/c4x.c (c4x_override_options): No need to mess
3484         with real_format_for_mode or set REAL_MODE_FORMATs.
3485         (c4x_immed_int_constant): Don't apply GET_MODE_CLASS to rtx
3486         variable.
3487         * config/i386/i386.c (override_options): No need to set
3488         REAL_MODE_FORMATs here.
3489         * config/i960/i960.c (i960_initialize): Likewise.
3490         * config/m68k/m68k.c (m68k_override_options): Likewise.
3491         * config/ia64/ia64.c (ia64_override_options): Set REAL_MODE_FORMAT
3492         for TFmode only if not the default.
3493         * config/mips/mips.c (override_options): Likewise.
3494         * config/vax/vax.c (override_optionms): Set REAL_MODE_FORMAT for
3495         DFmode only if not the default.
3496
3497         * config/i370/i370.h (RET_REG): Don't consider TFmode.
3498         * config/m68hc11/m68hc11.c (print_operand): Don't consider XFmode.
3499         * config/dsp16xx/dsp16xx.c (hard_regno_mode_ok): #if 0 out use
3500         of modes that don't appear anywhere in the machine description.
3501
3502         * config/arc/arc-modes.def, config/arm/arm-modes.def
3503         * config/c4x/c4x-modes.def, config/frv/frv-modes.def
3504         * config/i386/i386-modes.def, config/i960/i960-modes.def
3505         * config/ia64/ia64-modes.def, config/mmix/mmix-modes.def
3506         * config/pa/pa-modes.def, config/pdp11/pdp11-modes.def
3507         * config/rs6000/rs6000-modes.def, config/s390/s390-modes.def
3508         * config/sparc/sparc-modes.def: Convert to new style for
3509         declaring extra CC modes.
3510
3511 2003-10-13  Zack Weinberg  <zack@codesourcery.com>
3512
3513         * cpplex.c (_cpp_clean_line): In the common case of a line
3514         with no trigraphs and no \-newline, avoid writing to memory.
3515         (_cpp_skip_block_comment): Use a local 'cur' pointer instead
3516         of the buffer member.  Make c an uchar to avoid unnecessary
3517         sign extensions.
3518
3519 2003-10-13  Nathanael Nerode  <neroden@gcc.gnu.org>
3520
3521         * configure.in: Remove unnecessary test.
3522         * configure: Regenerate.
3523
3524         * configure.in: Fix grammatical error.  Move UWIN host error to...
3525         * config.host: Here.
3526         * configure: Regenerate.
3527
3528 2003-10-13  Andreas Krebbel  <krebbel1@de.ibm.com>
3529
3530         * config/s390/s390.md ("*fmadddf4", "*fmsubdf4", "*fmaddsf4",
3531         "*fmsubsf4"): Insns are now dependent on TARGET_FUSED_MADD instead
3532         of flag_unsafe_math_optimizations.
3533         * config/s390/s390.h ("MASK_NO_FUSED_MADD", "TARGET_NO_FUSED_MADD",
3534         "TARGET_FUSED_MADD", "TARGET_SWITCHES"): Introduced new target flags
3535         fused-madd and no-fused-madd.
3536         * doc/invoke.texi: Documented the new options fused-madd and
3537         no-fused-madd for S/390.
3538
3539 2003-10-14  Alan Modra  <amodra@bigpond.net.au>
3540
3541         * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Choose
3542         MASK_ALIGN_NATURAL if rs6000_alignment_string not given.  Don't
3543         assign DEFAULT_ABI.
3544         (ADJUST_FIELD_ALIGN, ROUND_TYPE_ALIGN): Update comment.
3545         * config/rs6000/rs6000.c: Formatting.
3546         (rs6000_parse_alignment_option): Only set rs6000_alignment_flags
3547         when rs6000_alignment_string given.
3548
3549 2003-10-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
3550
3551         PR target/12538
3552         * config/sparc/sparc.c (MUST_SAVE_REGISTER): Delete.
3553         (sparc_flat_must_save_register_p): New function to decide whether
3554         a register must be saved/restored in the function prologue/epilogue.
3555         (sparc_flat_compute_frame_size): Use it instead of MUST_SAVE_REGISTER.
3556
3557 2003-10-12  Steven Bosscher  <steven@gcc.gnu.org>
3558
3559         * config/avr/avr.c, config/avr/avr-protos.h: Convert to
3560         ISO C90 function declarations and definitions.
3561         * config/sh/sh.c, config/sh/sh-protos.h: Likewise.
3562
3563 2003-10-12  Nathanael Nerode  <neroden@gcc.gnu.org>
3564
3565         * config.gcc (*-*-freebsd*): Use tm_defines instead of tiny
3566         config files which do the same thing.
3567         * config/freebsd3.h, config/freebsd4.h, config/freebsd5.h,
3568         config/freebsd6.h: Remove now unnecessary files.
3569
3570 2003-10-12  Steven Bosscher  <steven@gcc.gnu.org>
3571
3572         * c-common.c (c_common_truthvalue_conversion): Warn if the
3573         address of a non-weak function is used as a truth value.
3574
3575 2003-10-12  Kazu Hirata  <kazu@cs.umass.edu>
3576
3577         * config/h8300/h8300.c (WORD_REG_USED): Use SP_REG instead of
3578         a literal.
3579         * config/h8300/h8300.h (REGNO_OK_FOR_BASE_P): Use MAC_REG
3580         instead of a literal.
3581
3582 2003-10-12  Hans-Peter Nilsson  <hp@bitrange.com>
3583
3584         * doc/extend.texi (Function Attributes): Mention the exceptional
3585         path for noreturn-marked functions.
3586
3587 2003-10-12  Jan Hubicka  <jh@suse.cz>
3588
3589         * cgraphunit.c (cgraph_decide_inlining): Fix uninitialized variable
3590         warning.
3591
3592 2003-10-12  Danny Smith  <dannysmith@users.sourceforge.net>
3593
3594         * config/i386/i386.c (x86_this_parameter): Fix typo.
3595
3596 2\1003-10-11  Jan Hubicka  <jh@suse.cz>
3597
3598         * Makefile.in (web.o): New.
3599         * web.c: New file.
3600         * rtl.h (web_main): Declare.
3601         * timervar.def (TV_WEB): New.
3602         * toplev.c (dump_file_index, dump_file_info): Add DFI_web.
3603         (rest_of_hanle_web): New.
3604         (flag_web): New static variable.
3605         (lang_independent_options): Add "web".
3606         (rest_of_compilation): Call rest_of_handle_web.
3607         * invoke.texi (-fweb): Document.
3608         * common.opt (fweb): New.
3609         * flags.h (flag_web): New.
3610         * opts.c (decode_options): Set flag_web at -O3.
3611
3612         * passes.texi (web construction):  Document.
3613         * invoke.texi (-O3): Document that -fweb is enabled.
3614
3615         * regrename.c (regrename_optimize): Deal better with situation when
3616         replacement failed.
3617
3618         * sched-ebb.c: Include params.h and profile.h
3619         (schedule_ebbs):  Use tracer parameters to discover superblocks
3620         * Makefile.in (sched-ebb.o):  Add dependencies.
3621
3622 2003-10-11  Roger Sayle  <roger@eyesopen.com>
3623
3624         * fold-const.c (negate_mathfn_p): New function to determine whether
3625         a built-in mathematical function is sign preserving, f(-x) == -f(x).
3626         Add support for BUILT_IN_ASIN, BUILT_IN_ASINF and BUILT_IN_ASINL.
3627         (tree_swap_operands_p): Change API to take an additional argument
3628         indicating that the swapped operands evaluate in reverse order.
3629         Canonicalize VAR_DECLs and PARM_DECLs last if we can, i.e. neither
3630         operand side-effects or we don't care about flag_evaluation_order.
3631         (reorder_operands_p): New function to check whether its safe to
3632         evaluate the given operands in reverse order.
3633         (negate_expr_p):  We can always negate integer constants unless
3634         we honor -ftrapv and the signed type would overflow.  Only allow
3635         -(A-B) into B-A if reorder_operands_p says that its OK.  Allow
3636         negation of COMPLEX_CST if both real and imaginary parts can be
3637         negated.  Allow negation through floating point extensions and
3638         sign-preserving built-in functions.
3639         (negate_expr):  Move the code to negate integers from "fold" to
3640         here.  Always negate integer constants unless we honor -ftrapv
3641         and the signed type would overflow.  Always negate real constants
3642         unless we honor -ftrapping-math.  Only convert -(A-B) into B-A
3643         if allowed by reorder_operands_p.  Add support for COMPLEX_CST.
3644         Optimize negation through floating point extensions and
3645         sign-preserving built-in functions (as defined by negate_mathfn_p).
3646         (fold): Adjust calls to tree_swap_operands_p.
3647         (fold <NEGATE_EXPR>): Move the remaining negation optimizations
3648         to negate_expr_p/negate_expr.
3649         (fold <MINUS_EXPR>): Use reorder_operands_p to check whether we're
3650         allowed to convert (-A) - B into (-B) - A.
3651
3652 2003-10-11  Roger Sayle  <roger@eyesopen.com>
3653
3654         * builtins.c (expand_builtin_strcmp): Defend against the possibility
3655         that gen_cmpstrsi may fail: Stabilize the argument list against
3656         re-evaluation and expand the library call directly using this saved
3657         argument list if a cmpstrsi sequence can't be generated.
3658         (expand_builtin_strncmp): Likewise.
3659
3660         * config/i386/i386.md (cmpstrsi, movstrsi): Disable with -Os.
3661
3662 2003-10-11  Roger Sayle  <roger@eyesopen.com>
3663
3664         PR optimization/12260
3665         * simplify-rtx.c (simplify_unary_operation): Simplify all unary
3666         operations through CONST nodes.  Optimize (neg (plus X C)) as
3667         (minus -C X) for constant values C.
3668         (simplify_binary_operation): Optimize (minus (neg X) C) as
3669         (minus -C X) for constant values C.
3670         (simplify_plus_minus): Avoid creating (neg (const (plus X C)),
3671         instead create (minus -C X).
3672
3673 2003-10-11  Roger Sayle  <roger@eyesopen.com>
3674
3675         * expr.c (expand_expr <PLUS_EXPR>): Let expand_operands call
3676         safe_from_p for us, once it chooses an evaluation order.
3677         (expand_expr <MULT_EXPR>): Likewise.
3678         (expand_expr <MIN_EXPR> <MAX_EXPR>): Likewise.  If expand_operands
3679         places the second operand in "target", swap the operands.
3680         (do_store_flag): Let expand_operands call safe_from_p for us.
3681
3682 2003-10-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
3683
3684         PR optimization/12544
3685         * function.c (put_var_into_stack): Don't generate ADDRESSOFs
3686         for DECL_NONLOCAL decls.
3687
3688 2003-10-11  Kazu Hirata  <kazu@cs.umass.edu>
3689
3690         * expr.c: Follow spelling conventions.
3691         * final.c: Likewise.
3692         * optabs.c: Likewise.
3693         * sched-deps.c: Likewise.
3694         * sdbout.c: Likewise.
3695
3696 Sat Oct 11 12:24:23 CEST 2003  Jan Hubicka  <jh@suse.cz>
3697
3698         * varasm.c (notice_global_symbol):  Fix handling of variables; avoid
3699         re-computing of variable.
3700
3701 2003-10-11  Richard Henderson  <rth@redhat.com>
3702
3703         * config/alpha/alpha.c (alpha_return_in_memory): Rename from
3704         return_in_memory, make static, change signature to match target hook.
3705         (alpha_setup_incoming_varargs): Make static, change signature to
3706         match target hook, add code for vms and unicos.
3707         (TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN,
3708         TARGET_PROMOTE_PROTOTYPES, TARGET_STRUCT_VALUE_RTX,
3709         TARGET_RETURN_IN_MEMORY, TARGET_SETUP_INCOMING_VARARGS,
3710         TARGET_STRICT_ARGUMENT_NAMING,
3711         TARGET_PRETEND_OUTGOING_VARARGS_NAMED): New.
3712         * config/alpha/alpha-protos.h: Update.
3713         * config/alpha/alpha.h (PROMOTE_FUNCTION_ARGS,
3714         PROMOTE_FUNCTION_RETURN, RETURN_IN_MEMORY,
3715         SETUP_INCOMING_VARARGS): Remove.
3716         * config/alpha/unicosmk.h (SETUP_INCOMING_VARARGS): Remove.
3717         * config/alpha/vms.h (SETUP_INCOMING_VARARGS): Remove.
3718
3719 2003-10-11  Ian Lance Taylor  <ian@wasabisystems.com>
3720
3721         * config/arm/arm.c (arm_regno_class): Handle IWMMXT_GR_REGS.
3722
3723 2003-10-11  Kazu Hirata  <kazu@cs.umass.edu>
3724
3725         * config/m68k/lb1sf68.asm: Follow spelling conventions.
3726         * config/m68k/m68k.c: Likewise.
3727         * config/m68k/m68k.h: Likewise.
3728         * config/m68k/m68k.md: Likewise.
3729
3730 2003-10-11  Roger Sayle  <roger@eyesopen.com>
3731
3732         * builtins.c (expand_builtin_memcpy): Optimize case when the two
3733         pointer arguments are the equal, non-volatile and side-effect free.
3734         (expand_builtin_mempcpy): Likewise.
3735         (expand_builtin_memmove): Likewise.
3736         (expand_builtin_strcpy): Likewise.
3737         (expand_builtin_memcmp): Likewise.
3738         (expand_builtin_strcmp): Likewise.
3739         (expand_builtin_strncmp): Likewise.
3740
3741 2003-10-11  Roger Sayle  <roger@eyesopen.com>
3742
3743         * combine.c (apply_distributive_law): Enable "distributive" floating
3744         point optimizations with -funsafe-math-optimizations.
3745
3746 2003-10-11  Andrew Pinski <pinskia@physics.uc.edu>
3747
3748         * genmodes.c (emit_mode_mask) Change MASK to MODE_MASK.
3749
3750 2003-10-11  Kazu Hirata  <kazu@cs.umass.edu>
3751
3752         * config/m68k/m68k-protos.h: Remove the prototype for
3753         finalize_pic.
3754
3755 2003-10-11  Kazu Hirata  <kazu@cs.umass.edu>
3756
3757         * config/m68k/m68k.c: Fix comment typos.
3758
3759 2003-10-11  Bernardo Innocenti  <bernie@develer.com>
3760
3761         * config/m68k/m68k-protos.h (use_return_insn): Change return type from
3762         int to bool.
3763         * config/m68k/m68k.c (struct m68k_frame): Add funcdef_no member.
3764         (current_frame): New global var.
3765         (m68k_compute_frame_layout): Cache computations in current_frame.
3766         (m68k_initial_elimination_offset): Use values from current_frame
3767         instead of recomputing them.
3768         (use_return_insn): Likewise.
3769         (m68k_output_function_prologue): Likewise.
3770         (m68k_output_function_epilogue): Likewise.
3771         * config/m68k/m68k.h (TARGET_CPU_CPP_PREDEFINES): Fold __PIC__ handling
3772         inside the block for __pic__.
3773
3774 2003-10-11  Peter Barada <peter@baradas.org>
3775             Bernardo Innocenti  <bernie@develer.com>
3776
3777         * config/m68k/m68k.c (m68k_frame): Move before protos referencing it.
3778         (m68k_save_reg): Add boolean parameter `interrupt_handler'.
3779         (m68k_interrupt_function_p): New function.
3780         (m68k_handle_fndecl_attribute): Ditto.
3781         (m68k_compute_frame_layout): Ditto.
3782         (m68k_attribute_table): Define back-end specific attributes.
3783         (m68k_output_function_epilogue): Emit RTE instruction for interrupt
3784         functions.
3785
3786 2003-10-11  Bernardo Innocenti  <bernie@develer.com>
3787
3788         * config/m68k/t-uclinux: New target Makefile fragment.
3789         * config/m68k/uclinux.h: New target macro file.
3790         * config.gcc (m68k-*-uclinux): New target definition.
3791
3792 2003-10-10  Roger Sayle  <roger@eyesopen.com>
3793
3794         * builtins.c (builtin_mathfn_code): Generalize to check whether
3795         the call is to any built-in function by comparing the call's
3796         argument list against the builtin decl's function type.
3797
3798 2003-10-10  Roger Sayle  <roger@eyesopen.com>
3799
3800         * cse.c (constant_pool_entries_regcost): New global variable to
3801         hold the register cost component of constant_pool_entries_cost.
3802         (fold_rtx): Calculate constant_pool_entries_regcost at the same
3803         time as constant_pool_entries_cost.
3804         (cse_insn): Set both src_folded_cost and src_folded_regcost from
3805         constant_pool_entries_cost and constant_pool_entries_regcost.
3806         (cse_main): Initialize constant_pool_entries_regcost to zero.
3807
3808         * optabs.c (expand_unop): Attach a REG_EQUAL note describing
3809         the semantics of the sequence of bit operations used to negate
3810         a floating-point value.
3811         (expand_abs_nojump): Likewise attach a REG_EQUAL note describing
3812         the semantics of the bit operations used to abs a floating point
3813         value.
3814
3815 2003-10-11  Bernardo Innocenti  <bernie@develer.com>
3816             Paul Dale  <pauli@snapgear.com>
3817
3818         * config/m68k/lb1sf68.asm: Add __PIC__ and __ID_SHARED_LIBRARY__
3819         support.
3820         * config/m68k/m68k-none.h (ASM_SPEC): Pass --pcrel to assembler on
3821         -fpic, -fPIC, -msep-data and -mid-shared-library.
3822         * config/m68k/m68k.c (m68k_library_id_string): New global variable.
3823         (override_options): Add -msep-data and -mshared-library-id support.
3824         (m68k_output_function_prologue): Generate code to load A5 for
3825         TARGET_ID_SHARED_LIBRARY and TARGET_SEP_DATA.
3826         (m68k_output_mi_thunk): Emit indirect jump on TARGET_ID_SHARED_LIBRARY.
3827         (m68k_output_pic_call): New function.
3828         * gcc/config/m68k/m68k.h (TARGET_SEP_DATA): New target flag.
3829         (TARGET_ID_SHARED_LIBRARY): Ditto.
3830         (TARGET_SWITCHES): Add switches for -mid-shared-library and -msep-data.
3831         * gcc/config/m68k/m68k.md (call): Call m68k_output_pic_call().
3832         (call_value): Likewise.
3833
3834 2003-10-10  Zack Weinberg  <zack@codesourcery.com>
3835
3836         * gengenrtl.c (find_formats, genheader): Make i an unsigned
3837         int, remove cast of NUM_RTX_CODE.
3838         * machmode.h: Make the HAVE_MACHINE_MODES #ifdef encompass the
3839         entire file.  Remove the #ifs on GET_MODE_MASK etc and
3840         GET_MODE_WIDER_MODE etc.
3841
3842 2003-10-10  Eric Christopher  <echristo@redhat.com>
3843
3844         * lcm.c (optimize_mode_switching): Change NORMAL_MODE
3845         to MODE_ENTRY and MODE_EXIT. Add MODE_AFTER for insns
3846         that set mode.
3847         * config/sh/sh.h (MODE_ENTRY): New macro.
3848         (MODE_EXIT): Ditto.
3849         (MODE_AFTER): Ditto.
3850         * config/sh/sh.md: Change for MODE_AFTER. Add
3851         fp_set attribute.
3852         * doc/tm.texi: Document MODE_AFTER, MODE_ENTRY, and MODE_EXIT.
3853
3854 2003-10-10  Zack Weinberg  <zack@codesourcery.com>
3855
3856         * genmodes.c, mode-classes.def: New files.
3857         * machmode.def: Rewritten to genmodes.c interface.
3858         * Makefile.in (extra_modes_file): New substitution variable.
3859         (MACHMODE_H): No longer includes machmode.def or
3860         @extra_modes_file@; instead, mode-classes.def and insn-modes.h.
3861         (BUILD_RTL): Add $(BUILD_PREFIX)insn-modes.o.
3862         (OBJS-common): Add insn-modes.o.
3863         (STAGESTUFF): Add insn-modes.c, insn-modes.h, s-modes, and
3864         genmodes$(build_exeext).
3865         (insn-modes.o, insn-modes.c, insn-modes.h, s-modes, genmodes.o,
3866         genmodes$(build_exeext), $(BUILD_PREFIX_1)insn-modes.o): New targets.
3867         (s-genrtl): Don't depend on $(RTL_BASE_H).
3868         (gengenrtl.o): Don't depend on coretypes.h, $(GTM_H), real.h,
3869         or $(RTL_BASE_H); just rtl.def.
3870         * gengenrtl.c: Don't include coretypes.h, tm.h, rtl.h, or
3871         real.h.  Give fake definition of CONST_DOUBLE_FORMAT and
3872         substitute definition of NUM_RTX_CODE.  Add casts to avoid
3873         warnings.
3874         * machmode.h: Include insn-modes.h, not machmode.def.  Include
3875         mode-classes.def to define enum mode_class.  Tweak definitions
3876         of GET_MODE_CLASS, GET_MODE_SIZE, GET_MODE_BITSIZE, GET_MODE_MASK,
3877         GET_MODE_INNER, GET_MODE_WIDER_MODE, GET_CLASS_NARROWEST_MODE.
3878         (inner_mode_array): Renamed mode_inner.
3879         (mode_base_align): New.
3880         * rtl.c (mode_name, mode_class, mode_bitsize, mode_size,
3881         mode_unit_size, mode_wider_mode, mode_mask_array,
3882         inner_mode_array, class_narrowest_mode): Delete definitions.
3883         * stor-layout.c (get_mode_alignment): Use mode_base_align.
3884         * real.h: Use MIN_MODE_FLOAT and MAX_MODE_FLOAT, not QFmode
3885         and TFmode, in real_format_for_mode and REAL_MODE_FORMAT.
3886
3887         * config/ip2k/ip2k.h, config/iq2000/iq2000.h:
3888         No need to define BITS_PER_UNIT.
3889
3890 2003-10-10  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3891
3892         * config/ia64/ia64.c (ia64_vms_init_libfuncs): New function.
3893         (ia64_output_function_prologue): Only write .prologue if --with-gnu-as.
3894         (ia64_initialize_trampoline): If not using GAS, declare trampoline
3895         as global.
3896         * config/ia64/ia64.h (ASM_APP_ON, ASM_APP_OFF): Add vers for not GAS.
3897         (ASM_OUTPUT_DEBUG_LABEL): Likewise.
3898
3899         * stor-layout.c (compute_record_mode): Don't force BLKmode if
3900         field is zero-length BLKmode.
3901         * expr.c (expand_expr, case COMPONENT_REF): Handle case of BLKmode
3902         zero-size references.
3903
3904         * combine.c (distribute_links): Properly test for REG being set.
3905
3906         * config/alpha/alpha.c (alpha_expand_block_mode): Don't use
3907         gen_lowpart and company except for REG.
3908
3909 2003-10-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3910
3911         * pa64-hpux.h (LINK_SPEC): Use `-z' option with HP ld.
3912
3913 2003-10-10  Nathanael Nerode  <neroden@gcc.gnu.org>
3914
3915         * config.gcc (mips*-*-netbsd*): Remove content-free line.
3916
3917 2003-10-10  Herman A.J. ten Brugge <hermantenbrugge@home.nl>
3918
3919         * gcov-io.h: Check BITS_PER_UNIT when defining gcov_unsigned_t,
3920         gcov_position_t and gcov_type.
3921
3922 2003-10-09  Kaz Kojima  <kkojima@gcc.gnu.org>
3923
3924         * configure.in (HAVE_AS_TLS): Add sh-*-* and sh[34]*-*-* cases.
3925         * configure: Regenerate.
3926
3927 2003-10-09  Kazu Hirata  <kazu@cs.umass.edu>
3928
3929         * config/h8300/h8300.md (define_asm_attributes): Specify
3930         the length of an asm insn more precisely.
3931
3932 2003-10-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3933
3934         * config/mips/iris6.h (SUBTARGET_CPP_SPEC): Define.
3935
3936 2003-10-09  Bob Wilson  <bob.wilson@acm.org>
3937
3938         * config/xtensa/xtensa.c (xtensa_dbx_register_number): Change first
3939         FP register number to 48 and MAC16 accumulator to 0x210.
3940
3941 2003-10-09  Nathanael Nerode  <neroden@gcc.gnu.org>
3942
3943         * config.gcc: Remove redundant thread_file setting clauses for
3944         various *-*-linux* targets.
3945
3946 2003-10-09  Kazu Hirata  <kazu@cs.umass.edu>
3947
3948         * config/h8300/h8300.md (define_asm_attributes): New.
3949
3950 2003-10-09  Roger Sayle  <roger@eyesopen.com>
3951
3952         * optabs.c (prepare_float_lib_cmp): Always attach a REG_EQUAL note
3953         to the comparison, as emit_libcall_block calls copy_rtx on equiv.
3954
3955 2003-10-09  Dorit Naishlos  <dorit@il.ibm.com>
3956
3957         * haifa-sched.c (ok_for_early_schedule): New function.
3958         (early_queue_to_ready): New function.
3959         (schedule_block): Allow early removal of insns from Q.
3960         (schedule_insn): Update INSN_TICK in case of premature
3961         issue.
3962         * common.opt (sched_stalled_insns): New flag.
3963         (sched_stalled_insns_dep): New flag.
3964         * flags.h: Same above flags.
3965         * opts.c: Same as above.
3966         * toplev.c: Same as above.
3967         * target.h (targetm.sched.is_costly_dependence): New
3968         hook.
3969         * target-def.h: Same as above.
3970         * config/rs6000/rs6000.h: (rs6000_sched_costly_dep):
3971         Support new flag -msched-costly-dep.
3972         (DEFAULT_SCHED_COSTLY_DEP): Define.
3973         * config/rs6000/rs6000.c:
3974         (rs6000_is_costly_dependence): New function.
3975         (is_load_insn, is_store_insn): New functions.
3976         (is_load_insn1, is_store_insn1, is_mem_ref): New
3977         functions.
3978         * doc/invoke.texi (-fsched-stalled-insns-dep)
3979         (-fsched-stalled-insns, -msched-costly-dep): Document
3980         options.
3981         * doc/tm.texi (is_costly_dependence): Define new
3982         scheduler target hook.
3983
3984 2003-10-09  Jason Merrill  <jason@redhat.com>
3985
3986         PR c++/6392
3987         * c-common.c (c_build_qualified_type): Look through arrays first.
3988         (c_apply_type_quals_to_decl): Look through arrays.
3989
3990         * c-common.c (c_apply_type_quals_to_decl): Unset TREE_READONLY for
3991         types with constructors.
3992
3993         * coverage.c (build_ctr_info_value): Use build_decl to make a
3994         VAR_DECL.
3995         (create_coverage): Likewise.
3996
3997         * stmt.c (resolve_asm_operand_names): Call check_unique_operand_names
3998         here.
3999         (expand_asm_operands): Not here.
4000         (parse_input_constraint): No longer static.
4001         * tree.h: Declare it.
4002
4003 2003-10-08  Kaz Kojima  <kkojima@gcc.gnu.org>
4004
4005         * config/sh/t-linux (SHLIB_LINK): Override to use a linker script
4006         libgcc_s.so.
4007         (SHLIB_INSTALL): Likewise.
4008
4009 2003-10-08  Nathanael Nerode  <neroden@gcc.gnu.org>
4010
4011         * doc/install.texi: Remove reference to removed 'pthreads' thread
4012         option.
4013
4014 2003-10-08  Aldy Hernandez  <aldyh@redhat.com>
4015
4016         * config/rs6000/rs6000.md ("abssi2_isel"): Add early clobber to
4017         operand 2.
4018
4019 2003-10-08  Nathanael Nerode  <neroden@gcc.gnu.org>
4020
4021         * config.gcc: Don't accept --enable-threads=pthreads.  Clean
4022         up related case statements.
4023         * configure.in: Don't accept --enable-threads=pthreads,
4024         decosf1, mach, or os2 (none of which work anyway).  Alphabetize
4025         supported thread files in case clause.
4026         * configure: Regenerate.
4027
4028 2003-10-08  Geoffrey Keating  <geoffk@apple.com>
4029
4030         * function.c (pad_to_arg_alignment): Move 'boundary_in_bytes'
4031         definition to above SPARC_STACK_BOUNDARY_HACK.
4032
4033 2003-10-08  Jason Merrill  <jason@redhat.com>
4034
4035         * c-pretty-print.c (pp_c_postfix_expression)
4036         <COMPOUND_LITERAL_EXPR>: Fix thinko.
4037
4038 2003-10-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4039
4040         * mklibgcc.in: Don't hide undefined or typeless symbols.
4041
4042 2003-10-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4043
4044         PR optimization/12142
4045         * cse.c (count_reg_usage): In a SET with a REG SET_DEST, count the
4046         uses of the register in the SET_SRC.  Remove unnecessary argument.
4047         * pa.c (legitimize_pic_address): Before reload, use a scratch register
4048         for the intermediate result in loading the address of a SYMBOL_REF.
4049         Set the MEM_NOTRAP_P flag for the MEM.  Add a REG_EQUAL to the insn
4050         which loads the SYMBOL_REF address.
4051
4052 2003-10-08  Timo Kokkonen  <tjko@iki.fi>
4053             Eric Botcazou  <ebotcazou@libertysurf.fr>
4054
4055         PR bootstrap/12490
4056         * scan-decls.c (MAX_EXTERN_C_BRACES): New preprocessor constant
4057         to define the size of the extern_C_braces array.  Set it to 200.
4058         (scan_decls): Abort when extern_C_braces_length is out-of-bounds.
4059
4060 2003-10-08  Carlo Wood  <carlo@alinoe.com>