OSDN Git Service

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