]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/gcc/ChangeLog
This commit was generated by cvs2svn to compensate for changes in r163799,
[FreeBSD/FreeBSD.git] / contrib / gcc / ChangeLog
1 2006-04-25  Nick Clifton  <nickc@redhat.com>
2
3         * config/m32r/m32r.c (gen_compare): Fix reg/smallconst equal code,
4         the patch for which was accidentally omitted from the previous
5         commit.
6
7 2006-04-04  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
8
9         PR target/26775
10         PR target/26776
11         * config/m32r/m32r.c (m32r_output_function_epilogue): Case for
12         a large stack frame at epilogue. Use fp to recover a stack
13         pointer for alloca function at epilogue.
14
15         PR target/36276
16         * config/m32r/m32r.c (gen_compare): Removed a rule addsi3 codes 
17         to avoid a miss optimizing at simplify_relational_operation().
18         * config/m32r/m32r.md (seq): Ditto. Changed reg_or_eq_int16_operand
19         to reg_or_uint16_operand because seq_insn has not used addsi3 already.
20         (seq_insn): Ditto. Removed operand check mode "P". Changed 
21         reg_or_eq_int16_operand to reg_or_uint16_operand.
22
23 2006-03-05  Release Manager
24
25         * GCC 3.4.6 released.
26
27 2006-03-01  Gabriel Dos Reis  <gdr@integrable-solutions.net>
28
29         Backport
30         2005-11-03  James E Wilson  <wilson@specifix.com>
31
32         PR preprocessor/24202
33         * cppfiles.c (_cpp_pop_file_buffer): Set buffer_valid to false.
34
35 2006-03-01  Alan Modra  <amodra@bigpond.net.au>
36
37         PR target/21616
38         Revert most of 2004-03-10 changes, apply mainline 2005-01-07.
39         * config/rs6000/rs6000.c (invalid_gpr_mem): Delete.
40         (base_reg_operand): Delete.
41         (legitimate_offset_address_p): Revert 2004-03-10 changes.
42         (secondary_reload_class): Likewise.
43         (rs6000_legitimize_reload_address): Convert non-word aligned
44         offset address using ld/std into indirect address.
45         * config/rs6000/rs6000.h (SECONDARY_RELOAD_CLASS): Define.
46         (SECONDARY_INPUT_RELOAD_CLASS, SECONDARY_OUTPUT_RELOAD_CLASS): Delete.
47         (PREDICATE_CODES): Delete invalid_gpr_mem and base_reg_operand.
48         * config/rs6000/rs6000-protos.h (secondary_reload_class): Update.
49         * config/rs6000/rs6000.md (movdf_hardfloat64): Remove m->b
50         alternative and split.
51         (movdi_internal64): Likewise.
52         (reload_outdf, reload_indf, reload_outdi, reload_indi): Delete.
53
54 2006-02-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
55
56         Backport
57         2004-04-28  Serge Belyshev  <1319@bot.ru>
58         
59         PR 14944
60         * coverage.c (read_counts_file): Fix usage of warning () call.
61         * pretty-print.c (pp_base_format_text): Fix typo in the comment.
62
63 2006-02-18  Olivier Hainque  <hainque@adacore.com>
64
65         PR ada/13408
66         * pa.h (WIDEST_HARDWARE_FP_SIZE): Define.
67
68 2006-02-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
69
70         Backport:
71         2006-02-01  Steve Ellcey  <sje@cup.hp.com>
72
73         PR middle-end/24901
74         * fold-const.c (fold_checksum_tree): Change type of buf.
75
76 2006-02-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
77
78         * doc/contrib.texi: Update my entry.
79
80 2006-02-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
81
82         * config/sparc/sparc.c (tls_call_delay): Fix oversight.
83
84 2006-02-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
85
86         PR target/26109
87         * pa.c (attr_length_indirect_call): Don't return length 8 for distances
88         >= 240000 when generating code for SOM runtime.
89         (output_indirect_call): Don't use "b,l" instruction for indirect calls
90         to $$dyncall when generating code for SOM runtime..
91
92 2006-02-02  Nick Clifton  <nickc@redhat.com>
93
94         PR 24376
95         * sched-rgn.c (add_branch_dependences): For cc0 targets extend
96         the dependencies inside a block back to the very first cc0 setter
97         in the block.
98
99 2006-01-21  Joseph S. Myers  <joseph@codesourcery.com>
100
101         * gcc.c (process_command), gcov.c (print_version), gcov-dump.c
102         (print_version), mips-tdump.c (main), mips-tfile.c (main): Update
103         copyright notice dates.
104
105 2006-01-12  Kaz Kojima  <kkojima@gcc.gnu.org>
106
107         PR target/25613
108         * config/sh/sh.h (CONSTRAINT_LEN): Use unchecking version.      
109
110 2005-12-30  Roger Sayle  <roger@eyesopen.com>
111
112         PR target/25213
113         Backport from mainline
114         2005-09-06  Jakub Jelinek  <jakub@redhat.com>
115
116         PR rtl-optimization/23098
117         * cse.c (fold_rtx_mem): Call delegitimize_address target hook.
118         * simplify-rtx.c (constant_pool_reference_p): New function.
119         * rtl.h (constant_pool_reference_p): New prototype.
120         * config/i386/i386.md (pushf split, mov[sdx]f split): Use
121         constant_pool_reference_p in condition and
122         avoid_constant_pool_reference in preparation statements.
123
124 2005-12-30  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
125
126         PR fortran/25586
127         * pa.md: Remove REG_POINTER check from REG+REG peephole2 floating-point
128         store patterns.
129
130 2005-12-29  Alan Modra  <amodra@bigpond.net.au>
131
132         PR target/25572
133         * config/rs6000/rs6000.c (create_TOC_reference): Set regs_ever_live.
134
135 2005-12-17  Steven Bosscher  <stevenb@suse.de>
136
137         PR rtl-optimization/23837
138         * optabs.c (expand_binop): For a multi-word rotate, never emit
139         a REG_NO_CONFLICT block.
140
141 2005-12-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
142
143         Backport from mainline:
144         2004-11-01  Mike Stump  <mrs@apple.com>
145
146         * inclhack.def (stdio_va_list): Break out clients from here...
147         (stdio_va_list_clients): ...to here.  Also, don't fix if stdarg.h is
148         included or ifdef va_start.
149         * fixincl.x: Regenerate.
150         
151 2005-12-13  Alan Modra  <amodra@bigpond.net.au>
152
153         * config/rs6000/linux64.h (TARGET_ALIGN_NATURAL): Define.
154
155 2005-12-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
156
157         PR target/25258
158         * pa.c (som_text_section_asm_op): Use .NSUBSPA directive when changing
159         to the text subspace to output debugging information.
160
161 2005-12-06  Alan Modra  <amodra@bigpond.net.au>
162
163         PR other/13873
164         * longlong.h: Merge PPC tests from upstream.
165
166 2005-12-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
167
168         PR middle-end/25022
169         * builtins.c (expand_builtin_fputs, expand_builtin_printf,
170         expand_builtin_fprintf): Lookup the explicit replacement functions
171         for any unlocked stdio builtin transformations.
172
173         * builtins.c (expand_builtin_fputs): Defer check for missing
174         replacement functions.
175
176 2005-12-02  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
177
178         PR c++/24103
179         Backport:
180         2002-08-22  Diego Novillo  <dnovillo@redhat.com>
181
182         * tree.c (simple_cst_equal): Call simple_cst_list_equal to compare
183         CONSTRUCTOR_ELTS pointers.
184
185 2005-12-01  Gabriel Dos Reis  <gdr@integrable-solutions.net>
186
187         * version.c: Bump version number.
188         * doc/include/gcc-common.texi: Likewise.
189
190 2005-11-30  Release Manager
191
192         * GCC 3.4.5 released.
193
194 2005-11-23  Alan Modra  <amodra@bigpond.net.au>
195
196         PR middle-end/24950
197         * expmed.c (store_bit_field): Don't attempt to insv a field
198         larger than the reg.
199
200         Merge from trunk
201         2005-11-14  Dale Johannesen  <dalej@apple.com>
202         * expmed.c (store_bit_field):  Add offset unconditionally for
203         memory targets.
204         (extract_bit_field):  Don't force extzv or extv operand into
205         a register if field is too big.
206         2004-12-01  Richard Henderson  <rth@redhat.com>
207         * expmed.c (store_bit_field): Use simplify_gen_subreg instead
208         of gen_rtx_SUBREG directly.
209
210 2005-11-16  Steve Ellcey  <sje@cup.hp.com>
211
212         PR target/24718
213         * mklibgcc.in: Create dummy object for libgcc_eh.a
214         * config/ia64/hpux.h (LIBGCC_SPEC): Remove.
215
216 2005-11-13  Andreas Jaeger  <aj@suse.de>
217
218         * fixinc/check.tpl: Handle CVS additionally.
219
220 2005-11-10  Uros Bizjak  <uros@kss-loka.si>
221
222         PR target/24315
223         * config/i386/i386.md (*pushdi2_rex64 splitter)
224         (*movdi_1_rex64 splitter): Delay splitting after
225         flow2 pass only when (optimize > 0 && flag_peephole2).
226
227 2005-11-10  Uros Bizjak  <uros@kss-loka.si>
228
229         PR target/19340
230         * reg-stack.c (reg_to_stack): Update register liveness also
231         for flag_sched2_use_traces.
232
233 2005-11-09  Per Bothner  <per@bothner.com>
234             Uros Bizjak  <uros@kss-loka.si>
235         
236         PR c/24101
237         * toplev.c (process_options): Initialize debug_hooks early
238         in case lang_hooks.post_options ends up calling a debug_hook.
239         * cppinit.c (read_original_filename): Temporarily set
240         state.in_directive before calling _cpp_lex_direct for
241         CPP_HASH tokens.
242
243 2005-11-07  Steve Ellcey  <sje@cup.hp.com>
244
245         PR bootstrap/24688
246         * fixinc/inclhack.def (sco_math): Add bypass.
247         * fixinc/fixincl.x: Regenerate.
248
249 2005-11-07  James E Wilson  <wilson@specifix.com>
250
251         PR preprocessor/15220
252         * cppfiles.c (_cpp_find_file): New parameter angle_brackets.  Fix all
253         callers.  Pass to open_file_failed.
254         (open_file_failed): New parameter angle_brackets.  Fix
255         all callers.  use in print_dep assignment.
256         * cpphash.h (_cpp_find_file): Add new parm to declaration.
257         * cppinit.c (cpp_read_main_file): Pass another arg to _cpp_find_file.
258
259 2005-11-05  Andreas Jaeger  <aj@suse.de>
260
261         * fixinc/check.tpl: Adopt for move to subversion.
262
263 2005-11-03  Richard Guenther  <rguenther@suse.de>
264
265         PR middle-end/24470
266         * fold-const.c (fold): Avoid running in circles if we
267         got some un-folded subtree.
268
269 2005-10-30  Alan Modra  <amodra@bigpond.net.au>
270
271         PR target/23070
272         * config/rs6000/rs6000.c (function_arg): For ABI_V4 calls to
273         stdarg functions, set/clear the fp marker even when no variable
274         args are passed.
275         * config/rs6000/sysv4.h (SUBTARGET_SWITCHES): Describe
276         -mprototype and -mno-prototype.
277
278 2005-10-21  Alan Modra  <amodra@bigpond.net.au>
279
280         PR target/24465
281         * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Always
282         use r2 for 64-bit tls .got access.
283
284 2005-10-19  Paolo Bonzini  <bonzini@gnu.org>
285
286         * dojump.c (do_jump): Revert the last patch as it breaks Ada.
287
288 2005-10-19  Paolo Bonzini  <bonzini@gnu.org>
289
290         PR #19672
291         * dojump.c (do_jump): Handle TRUTH_AND_EXPR and TRUTH_OR_EXPR
292         like TRUTH_ANDIF_EXPR and TRUTH_ORIF_EXPR, if the branch cost
293         is low enough.
294
295 2005-10-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
296
297         * config/sparc/gmon-sol2.c (internal_mcount): Mark as used.
298
299 2005-10-08  Janis Johnson  <janis187@us.ibm.com>
300
301         PR debug/24267
302         Partial backport from mainline
303         2004-05-04 Paolo Bonzini  <bonzini@gnu.org>
304                    Richard Henderson  <rth@redhat.com>
305         * tree.c (make_or_reuse_type): New.
306         (build_common_tree_nodes): Use it.
307
308         PR target/18583
309         Partial backport from mainline
310         2004-05-04 Paolo Bonzini  <bonzini@gnu.org>
311                    Richard Henderson  <rth@redhat.com>
312         * c-common.c (vector_types_convertible_p): New function.
313         * c-common.h: Declare it.
314         * c-typeck.c (digest_init): Use it.
315
316 2005-10-07  James E Wilson  <wilson@specifix.com>
317
318         PR target/23644
319         * doc/invoke.texi (IA-64 Options, item -mtune): Renamed from
320         -mtune-arch.
321
322 2005-10-01  Richard Earnshaw  <richard.earnshaw@arm.com>
323
324         PR target/23985
325         Back-port 2004-08-19  Richard Henderson  <rth@redhat.com>
326         * config/arm/arm.c (arm_gen_load_multiple): Use
327         adjust_automodify_address.  Take base memory and offset instead
328         of unchanging/struct/scalar bits.
329         (arm_gen_store_multiple): Likewise.
330         (arm_gen_movstrqi): Use adjust_automodify_address.
331         * config/arm/arm-protos.h: Update decls.
332         * config/arm/arm.md (load_multiple): Update arm_gen_load_multiple call.
333         (store_multiple): Similarly.
334
335 2005-09-29  Alan Modra  <amodra@bigpond.net.au>
336
337         PR target/24102
338         * config/rs6000/rs6000.md (floatdisf2_internal2): Correct range
339         check for numbers that need no bit twiddle.
340
341 2005-09-09  Richard Guenther  <rguenther@suse.de>
342
343         PR c/20239
344         * cppinit.c (cpp_read_main_file): Avoid segfaulting on
345         NULL pfile->map.
346
347 2005-09-09  Richard Guenther  <rguenther@suse.de>
348
349         PR c++/23624
350         * fold-const.c (fold): Check truth_value_p before calling
351         invert_truthvalue.
352
353 2005-09-08  Craig Rodrigues  <rodrigc@gcc.gnu.org>
354
355         Backport from mainline
356         2005-09-01  Craig Rodrigues  <rodrigc@gcc.gnu.org>
357
358         * c-decl.c (diagnose_mismatched_decls):  With -Wredundant-decls,
359         do not issue warning for a variable definition following
360         a declaration.
361
362 2005-09-02  Richard Sandiford  <richard@codesourcery.com>
363
364         PR c/22061
365         * c-decl.c (push_parm_decl): Push and pop x_dont_save_pending_sizes_p
366         around the call to grokdeclarator.  Call grokdeclarator with the
367         field set to 0.
368         (store_parm_decls): Always store the pending_sizes in cfun.
369         (c_expand_body_1): Call put_pending_sizes.
370         * c-objc-common.c (c_cannot_inline_tree_fn): Always check
371         pending_sizes.
372
373 2005-09-01  Jakub Jelinek  <jakub@redhat.com>
374
375         PR rtl-optimization/23478
376         * regs.h (reg_info): Add throw_calls_crossed.
377         (REG_N_THROWING_CALLS_CROSSED): Define.
378         * flow.c (allocate_reg_life_data): Initialize
379         REG_N_THROWING_CALLS_CROSSED.
380         (propagate_one_insn, attempt_auto_inc): Update
381         REG_N_THROWING_CALLS_CROSSED.
382         * local-alloc.c (struct qty): Add n_throwing_calls_crossed field.
383         (alloc_qty): Initialize it.
384         (update_equiv_regs): Clear REG_N_THROWING_CALLS_CROSSED.
385         (combine_regs): Combine also n_throwing_calls_crossed fields.
386         (find_free_reg): Don't attempt to caller-save pseudos crossing
387         calls that might throw.
388         * global.c (struct allocno): Add throwing_calls_crossed field.
389         (global_alloc): Initialize throwing_calls_crossed.
390         (find_reg): Don't attempt to caller-save pseudos crossing calls that
391         might throw.
392
393 2005-09-01  Richard Earnshaw  <richard.earnshaw@arm.com>
394
395         PR rtl-optimization/17810 target/15342
396         * regrename.c: Fix polluted patch in previous change.
397
398 2005-09-01  Richard Earnshaw  <richard.earnshaw@arm.com>
399
400         PR rtl-optimization/17810
401         Backport
402         2004-11-04  Richard Sandiford  <rsandifo@redhat.com>
403         PR target/15342
404         * regrename.c (scan_rtx): Treat the destinations of SETs and CLOBBERs
405         as OP_INOUT if the instruction is predicated.
406
407 2005-08-31  David Edelsohn  <edelsohn@gnu.org>
408
409         PR target/23539
410         Backport from mainline:
411
412         2005-08-27  David Edelsohn  <edelsohn@gnu.org>
413         * config/rs6000/rs6000.c (expand_block_move): Use HImode when
414         bytes >= 2 not bytes == 2.
415
416 2005-08-21  Jakub Jelinek  <jakub@redhat.com>
417
418         * simplify-rtx.c (simplify_immed_subreg) <case CONST_DOUBLE>: Only
419         clear up to elem_bitsize bits, not max_bitsize.
420
421 2005-07-20  Steve Ellcey  <sje@cup.hp.com>
422
423         PR target/21841
424         * doc/invoke.texi (-mgnu-ld): Update description.
425         (-mhp-ld): Ditto.
426
427 2005-08-09  Paolo Bonzini  <bonzini@gnu.org>
428
429         PR rtl-optimization/17860
430         * loop.c (check_dbra_loop): Do not try to use an end condition
431         like "i != 0" in the reversed loop.
432
433 2005-08-08  Josh Conner  <jconner@apple.com>
434
435         PR rtl-optimization/23241
436         * combine.c (simplify_comparison): Fix error in determining
437         whether to lift a subreg from comparison.
438
439 2005-08-08  Richard Sandiford  <richard@codesourcery.com>
440
441         PR middle-end/21964
442         * stmt.c (tail_recursion_args): Insert a call to emit_queue.
443
444 2005-08-08  Richard Sandiford  <richard@codesourcery.com>
445
446         PR c/22458
447         * c-decl.c (c_begin_compound_stmt): Set the initial body to
448         error_mark_node, not NULL.
449
450 2005-08-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
451
452         * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Fix loop upper bound.
453
454 2005-08-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
455
456         PR pch/14940
457         Backport from mainline:
458
459         * config.host (hppa*-*-hpux*, hppa*-*-linux): Define out_host_hook_obj
460         and host_xmake_file using new host configuration files.
461         * config/pa/pa-host.c, config/pa/x-hpux, config/pa/x-linux: New files.
462
463 2005-08-06  Christian Joensson  <christian.joensson@gmail.com>
464
465         PR target/20673
466         Backport from mainline:
467
468         2005-04-15  David S. Miller  <davem@davemloft.net>
469
470         * config/sparc/sparc.h (sparc_hard_reg_printed): Mark as GTY(()).
471
472 2005-08-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
473
474         * pa.c (function_arg): Fix typo in last change.
475
476         * pa.c (function_value): Handle small aggregates on 32-bit targets.
477         (function_arg): Pass small aggregates in general registers on 32-bit
478         targets.
479         * som.h (MEMBER_TYPE_FORCES_BLK): Delete define.
480
481 2005-08-04  Gerald Pfeifer  <gerald@pfeifer.com>
482
483         * doc/install.texi (Specific): Adjust link to openavr.org.
484         (Specific): Remove broken reference to GCC 2.8.1 for OS/2.
485         (Binaries): Adjust HP-UX Porting Center link.
486         (Binaries): Adjust Free Software Foundation ordering link.
487         (Binaries): Remove broken link to Sinix/Reliant Unix binaries.
488
489 2005-08-04  Eric Botcazou  <ebotcazou@adacore.com>
490
491         * doc/invoke.texi (Optimize Options): Document that -funswitch-loops
492         is enabled at -O3.
493
494 2005-08-03  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
495
496         PR target/21723
497         * pa.md: Remove fcpy alternative from movhi and movqi patterns.
498         * pa32-regs.h (HARD_REGNO_NREGS): Return two floating point registers
499         for complex modes when generating code for PA 1.0.
500         (VALID_FP_MODE_P): New macro.
501         (HARD_REGNO_MODE_OK): Use VALID_FP_MODE_P.  Use non-overlapping register
502         sets for all general and floating point modes.  Align wide floating
503         point modes to even register boundaries to comply with architectural
504         requirements.
505         (CLASS_MAX_NREGS): Update to align with change to HARD_REGNO_NREGS.
506         * pa64-regs.h (HARD_REGNO_NREGS): Update comment and formatting.
507         (VALID_FP_MODE_P): New macro.
508         (HARD_REGNO_MODE_OK): Use VALID_FP_MODE_P.  Use non-overlapping register
509         sets for all general and floating point modes.  Align wide floating
510         point modes to even register boundaries to comply with architectural
511         requirements.
512
513 2005-08-03  Richard Sandiford  <richard@codesourcery.com>
514
515         PR target/18582
516         * config/i386/i386.c (ix86_expand_unop_builtin): Force the target
517         to be a register if do_load is true.
518
519 2005-08-02  Ian Lance Taylor  <ian@airs.com>
520
521         PR pch/14400
522         Backport from mainline:
523
524         2005-08-01  Ian Lance Taylor  <ian@airs.com>
525
526         * config/host-linux.c (linux_gt_pch_get_address): Add new name
527         randomize_va_space for virtual address randomization control.
528
529         2005-02-15  James A. Morrison  <phython@gcc.gnu.org>
530
531         PR pch/14940
532         PR target/19300
533         * config/host-linux.c (linux_gt_pch_use_address): Copy from
534         config/pa/pa-host.c:pa_gt_pch_use_address.
535
536         2004-11-09  James A. Morrison  <phython@gcc.gnu.org>
537
538         PR pch/14940
539         * config/host-linux.c (TRY_EMPTY_VM_SPACE): Add __sparc__
540         definitions.
541
542         2004-10-15  Jon Grimm <jgrimm2@us.ibm.com>
543
544         * config/host-linux.c (TRY_EMPTY_VM_SPACE): Add __powerpc__
545         definition.
546
547         2004-04-24  Ulrich Weigand  <uweigand@de.ibm.com>
548
549         * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for __s390__
550         and __s390x__ hosts.
551
552         2004-04-08  Ian Lance Taylor  <ian@wasabisystems.com>
553
554         * config/rs6000/host-darwin.c (darwin_rs6000_gt_pch_use_address):
555         Return 1 if file was successfully mapped.
556
557         2004-03-15  Ian Lance Taylor  <ian@wasabisystems.com>
558
559         * config/rs6000/host-darwin.c (darwin_rs6000_gt_pch_use_address):
560         Fix the check for abort and only do the mmap if we can.
561
562         2004-03-12  Andrew Pinski  <apinski@apple.com>
563
564         * config/rs6000/host-darwin.c (darwin_rs6000_gt_pch_use_address):
565         Use ret instead of result. Use addr instead of base.
566
567         2004-03-10  Richard Henderson  <rth@redhat.com>
568
569         * c-pch.c (c_common_no_more_pch): Update for gt_pch_use_address
570         extra arguments.
571         * config.host (*-*-solaris2*, *-*-linux*): Add out_host_hook_obj
572         and host_xmake_file fragments.
573         * ggc-common.c (gt_pch_save): Update for gt_pch_get_address change.
574         (gt_pch_restore): Similarly for gt_pch_use_address.
575         (default_gt_pch_get_address): New.
576         (mmap_gt_pch_get_address): Split out of gt_pch_save.
577         (default_gt_pch_use_address): Split out of gt_pch_restore.
578         (mmap_gt_pch_use_address): Likewise.
579         * hooks.c (hook_voidp_size_t_null): Remove.
580         (hook_bool_voidp_size_t_false): Remove.
581         * hooks.h: Likewise.
582         * hosthooks-def.h (HOST_HOOKS_GT_PCH_GET_ADDRESS): Use one of the
583         default_ or mmap_ definitions.
584         (HOST_HOOKS_GT_PCH_USE_ADDRESS): Likewise.
585         * hosthooks.h (struct host_hooks): Update gt_pch_get_address
586         and gt_pch_use_address.
587         * config/host-linux.c, config/host-solaris.c: New files.
588         * config/x-linux, config/x-solaris: New files.
589         * config/rs6000/host-darwin.c darwin_rs6000_gt_pch_get_address): 
590         Update for changed definition.
591         (darwin_rs6000_gt_pch_use_address): Likewise.
592         * doc/hostconfig.texi: Update docs.
593
594 2005-07-31  Richard Sandiford  <richard@codesourcery.com>
595
596         PR target/20621
597         Backport from mainline:
598
599         2004-08-01  Richard Sandiford  <rsandifo@redhat.com>
600         * config/mips/mips.md (cprestore): Provide two alternatives, one for
601         an in-range offset and one for an out-of-range offset.  Wrap the latter
602         in .set macro/.set nomacro if it's inside a .set nomacro block.
603
604         2004-08-01  Richard Sandiford  <rsandifo@redhat.com>
605         * config/mips/mips-protos.h (mips_gp_save_slot): Remove.
606         (mips_restore_gp): Declare.
607         * config/mips/mips.c (mips_add_offset): Add a scratch register
608         argument.  Reimplement in rtl only, reusing MIPS16 logic from
609         mips_output_mi_thunk.
610         (mips_legitimize_address, mips_legitimize_const_move): Adjust calls
611         to mips_add_offset.
612         (mips_gp_save_slot): Delete.
613         (mips_restore_gp): New function.
614         (mips_set_return_address, mips_output_mi_thunk): Use mips_add_offset.
615         * config/mips/mips.md (exception_receiver): Turn into a
616         define_insn_and_split.  Use mips_restore_gp to do the split.
617         (call_internal, call_value_internal, call_value_multiple_internal): Use
618         mips_restore_gp to restore $gp.
619
620 2005-07-29  Alan Modra  <amodra@bigpond.net.au>
621
622         * config/rs6000/sysv4.h (TARGET_ASM_EXCEPTION_SECTION): Delete.
623
624 2005-07-28  Richard Henderson  <rth@redhat.com>
625
626         PR rtl-opt/22619
627         * cfgcleanup.c (try_forward_edges): Watch out for end of
628         insn chain.
629
630 2005-07-28  Joseph S. Myers  <joseph@codesourcery.com>
631
632         PR c/17188
633         PR c/21899
634         * c-decl.c (diagnose_mismatched_decls): Check for duplicate
635         declarations of enumerators.
636         (start_struct): Check TYPE_SIZE rather than TYPE_FIELDS to check
637         for redefinition.  Check for nested redefinition.
638         (finish_struct): Don't check for nested redefinition.
639         (start_enum): Check for nested redefinition.
640
641 2005-07-28  Joseph S. Myers  <joseph@codesourcery.com>
642
643         PR c/21873
644         * c-typeck.c (push_init_level): Don't pop levels without braces if
645         implicit == 1.
646
647 2005-07-28  Gerald Pfeifer  <gerald@pfeifer.com>
648   
649         * doc/install.texi (Configuration): Update Valgrind homepage.
650  
651 2005-07-28  Richard Sandiford  <richard@codesourcery.com>
652
653         PR c/20187
654         * fold-const.c (fold): When shortening comparisons of widened operands,
655         check whether the tree returned by get_unwidened really is wider.
656
657 2005-07-28  Richard Sandiford  <richard@codesourcery.com>
658
659         PR c/22589
660         Backport from mainline:
661
662         2004-06-16  Alexandre Oliva  <aoliva@redhat.com>
663         * tree.c (get_narrower): Don't narrow integral types into
664         non-integral types.
665
666 2005-07-26  Bernardo Innocenti  <bernie@develer.com>
667
668         Backport from mainline:
669         2005-07-12  Peter Barada  <peter@the-baradas.com>
670         PR middle-end/16719
671         PR middle-end/18421
672         * config/m68k/m68k.h (HARD_REGNO_MODE_OK): Disallow bytes
673         in address registers.
674         * config/m68k/m68k.c (hard_regno_mode_ok): Likewise.
675         * config/m68k/m68k.md: Replace 's' with 'i' in 4th
676         alternative of addsi3_5200.
677
678 2005-07-21  Janis Johnson  <janis187@us.ibm.com>
679
680         PR target/20191
681         Backport from mainline:
682
683         2004-04-23  Dale Johannesen  <dalej@apple.com>
684
685         * config/rs6000.md (movsf_hardfloat): Add POWER form of nop.
686         (movdf_hardfloat64):  Ditto.
687         (movdf_softfloat64):  Ditto.
688
689         * config/rs6000.md (movsf_hardfloat): Accept CTR-to-CTR copy.
690         (movdf_hardfloat64):  Ditto.
691
692 2005-07-21  Richard Sandiford  <richard@codesourcery.com>
693
694         PR rtl-optimization/22167
695         * gcse.c (hoist_code): Fix hoist_exprs[] check.
696
697 2005-07-19  Gerald Pfeifer  <gerald@pfeifer.com>
698
699         * config.gcc: Add support for *-*-freebsd7, *-*-freebsd8,
700         and *-*-freebsd9.
701         * config/freebsd-spec.h (FBSD_TARGET_OS_CPP_BUILTINS): Ditto.
702         
703 2005-07-09  Jakub Jelinek  <jakub@redhat.com>
704
705         * config/i386/i386.c (output_set_got): Don't omit OFFSET FLAT:
706         in Intel syntax add %reg, OFFSET FLAT:_GLOBAL_OFFSET_TABLE_+(.-.Lx).
707
708 2005-07-08  David Edelsohn  <edelsohn@gnu.org>
709
710         Backport from mainline:
711         2005-06-18  Roger Sayle  <roger@eyesopen.com>
712         PR target/22083
713         * config/rs6000/aix51.h (TARGET_C99_FUNCTIONS): Remove definition.
714
715 2005-07-05  Joseph S. Myers  <joseph@codesourcery.com>
716
717         PR c/22308
718         * c-decl.c (finish_struct): Also copy C_TYPE_FIELDS_READONLY,
719         C_TYPE_FIELDS_VOLATILE and C_TYPE_VARIABLE_SIZE to type variants.
720
721 2005-06-14  Eric Botcazou  <ebotcazou@libertysurf.fr>
722
723         PR target/20301
724         * config/sparc/sol2.h (ASM_GENERATE_INTERNAL_LABEL): Emit
725         unsigned index numbers.
726
727 2005-06-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
728
729         PR target/21889
730         * config/sparc/sol2.h (ASM_OUTPUT_DWARF_DTPREL): Undefine.
731         * config/sparc/sol2-gas.h (ASM_OUTPUT_DWARF_DTPREL): Redefine.
732
733 2005-06-04  Richard Henderson  <rth@redhat.com>
734
735         PR target/21888
736         * config/alpha/alpha.c (alpha_align_insns): Don't insert nops
737         until we've passed initial ldgp.
738
739 2005-06-01  Richard Henderson  <rth@redhat.com>
740
741         * configure.ac (HAVE_AS_JSRDIRECT_RELOCS): New.
742         * config.in, configure: Rebuild.
743         * config/alpha/alpha.c (print_operand): Add 'j'.
744         * alpha.md (divmodsi_internal_er_1): Use it.
745         (divmoddi_internal_er_1): Likewise.
746
747 2005-05-31  Eric Botcazou  <ebotcazou@libertysurf.fr>
748
749         * doc/install.texi (sparc-sun-solaris2*): Update note
750         about Sun bug 4910101.
751
752 2005-05-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
753
754         PR target/19933
755         * fixinc/inclhack.def (solaris_math_6_1): New fix.
756         (solaris_math_9): Rewrite and guard with #ifdef __sparc__.
757         * fixinc/fixincl.x: Regenerate.
758         * fixinc/tests/base/iso/math_c99.h: Adjust for above changes.
759
760         Backport from mainline:
761         2005-05-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
762                     Joseph S. Myers  <joseph@codesourcery.com>
763
764         * fixinc/inclhack.def: New fixes solaris_math_[1-9].
765         * fixinc/fixincl.x: Regenerate.
766         * fixinc/tests/base/iso/math_c99.h: New.
767
768         Backport from mainline:
769         2005-05-10  Joseph S. Myers  <joseph@codesourcery.com>
770
771         * fixinc/inclhack.def (stdio_stdarg_h, stdio_va_list): Bypass on
772         *-*-solaris2.1[0-9]*, not just *-*-solaris2.1[0-9].
773         * fixinc/fixincl.x: Regenerate.
774
775         Backport from mainline:
776         2004-11-26  Mark Mitchell  <mark@codesourcery.com>
777
778         * fixinc/inclhack.def (gnu_types): Do not use on Solaris 2.1x.
779         (stdio_va_list): Likewise.
780         (stdio_stdarg.h): Likewise.
781         (solaris_stdio_tag): Add bypass.
782         * fixinc/fixincl.x: Regenerated.
783
784 2005-05-26  Jakub Jelinek  <jakub@redhat.com>
785
786         PR target/21716
787         * reg-stack.c (swap_rtx_condition): Don't crash if %ax user was not
788         found in the basic block and last insn in the basic block is not
789         INSN_P.  Remove explicit unspec numbers that are no longer valid
790         from comments.
791
792 2005-05-25  Roger Sayle  <roger@eyesopen.com>
793
794         PR middle-end/21709
795         * fold-const.c (const_binop): Check for division by zero during
796         complex division.
797
798 2005-05-24  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
799
800         * config/m32r/m32r.c (m32r_expand_block_move):  Return 0 if
801         nothing was done.
802         * config/m32r/m32r.md (movmemsi):  If m32r_expand_block_move did
803         nothing then FAIL.
804         * config/m32r/m32r/m32r-protos.h  (m32r_expand_block_move): Update
805         prototype.
806
807 2005-05-23  Ulrich Weigand  <uweigand@de.ibm.com>
808
809         * unroll.c (loop_iterations): Remove common term from initial
810         and final value only if it is loop invariant.
811
812 2005-05-20  Mark Mitchell  <mark@codesourcery.com>
813
814         * version.c (version_string): Mark as 3.4.5.
815
816 2005-05-19  Mark Mitchell  <mark@codesourcery.com>
817
818         * version.c (version_string): Restore pre-release marker.
819
820 2005-05-19  Release Manager
821
822         * GCC 3.4.4 released.
823
824 2005-05-11  Mark Mitchell  <mark@codesourcery.com>
825
826         Revert:
827         2005-05-10  H.J. Lu  <hongjiu.lu@intel.com>
828         Backport from mainline
829         2004-02-12  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
830         * function.c (fixup_var_refs): Save volatile_ok and set to 1.
831         * expr.c (emit_block_move_via_movstr): Save and restore
832         volatile_ok.
833         2005-05-09  Grigory Tolstolytkin  <gtolstolytkin@ru.mvista.com>
834         Backport from mainline
835         2004-02-12  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
836         * emit-rtl.c (set_mem_attributes_minus_bitpos): Don't kill previous
837         MEM_VOLATILE in REF.
838
839 2005-05-11  Ben Elliston  <bje@au.ibm.com>
840
841         * dwarf2out.c: Revert my 2005-05-10 patch.
842
843 2005-05-10  H.J. Lu  <hongjiu.lu@intel.com>
844
845         Backport from mainline
846         2004-02-12  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
847         * function.c (fixup_var_refs): Save volatile_ok and set to 1.
848         * expr.c (emit_block_move_via_movstr): Save and restore
849         volatile_ok.
850
851 2005-05-10  Jakub Jelinek  <jakub@redhat.com>
852
853         * config/i386/i386.md (sse_mov?fcc* splitters): Add mode to
854         IF_THEN_ELSE, remove mode from MATCH_OPERATOR.  Fix a typo.
855
856 2005-05-09  Grigory Tolstolytkin  <gtolstolytkin@ru.mvista.com>
857
858         Backport from mainline
859         2004-02-12  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
860         * emit-rtl.c (set_mem_attributes_minus_bitpos): Don't kill previous
861         MEM_VOLATILE in REF.
862
863 2005-05-10  Ben Elliston  <bje@au.ibm.com>
864
865         PR debug/16676
866         * dwarf2out.c (dwarf2out_decl): Always set context_die to NULL,
867         even when debug_info_level is DINFO_LEVEL_TERSE.
868
869 2005-05-08  Stephane Carrez  <stcarrez@nerim.fr>
870
871         * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Use emit_insn_after
872         when adding the save Z instruction so that it is part of the good BB.
873         (reg_or_some_mem_operand): Do not allow the 68HC12 address indirect
874         addressing mode as it is not supported by bset and bclr.
875         (m68hc11_gen_movhi): Fix invalid generation of indexed indirect
876         addressing with movw.
877         (m68hc11_gen_movqi): Use pula and pulb instead of lda and ldb for
878         68HC12.
879         * config/m68hc11/m68hc11.md ("movhi_const0"): Use this pattern only
880         for 68HC11.
881         ("*movhi_68hc12"): Handle movhi_const0.
882         ("*subhi3", "subqi3"): Use general_operand for operand 1.
883         ("*subhi3_zext"): Likewise.
884
885 2005-05-08  Stephane Carrez  <stcarrez@nerim.fr>
886
887         PR target/19051
888         * config/m68hc11/m68hc11.md ("mulqi3"): Use general_operand for operand
889         1 and fix constraints.
890         ("mulqihi3"): Use general_operand for operand 2.
891
892 2005-05-08  Richard Sandiford  <rsandifo@redhat.com>
893
894         PR target/21416
895         * config/mips/mips.c (mips_emit_compare): Don't reverse UNGE and UNGT
896         comparisons.
897         * config/mips/mips.md (sungt_df, sunge_df, sungt_sf, sunge_sf): New
898         patterns.
899
900 2005-05-08  Stephane Carrez  <stcarrez@nerim.fr>
901
902         PR target/16925
903         * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Handle split of
904         64-bit constants on 64-bit hosts.
905         (m68hc11_split_logical): Simplify.
906         (m68hc11_split_move): Likewise.
907
908 2005-05-06  Bruce Korb  <bkorb@gnu.org>
909             Joseph S. Myers <joseph@codesourcery.com>
910
911         * fixinc/inclhack.def: Correct backslashes
912         * fixinc/fixincl.x: regen
913
914 2005-05-02  Janis Johnson  <janis187@us.ibm.com>
915
916         PR 19985
917         * gcov-io.h: Declare gcov external functions hidden.
918
919 2005-05-01  Gerald Pfeifer  <gerald@pfeifer.com>
920
921         * config/freebsd-spec.h (FBSD_CPP_SPEC): Revert last change.
922
923 2005-05-01  Gerald Pfeifer  <gerald@pfeifer.com>
924
925         Backport from mainline
926         * doc/install.texi (Specific): Avoid using asterisks in @anchor
927         names related to target triplets.
928         Remove i?86-*-esix from platform directory.
929         Remove powerpc-*-eabiaix from platform directory.
930
931 2005-05-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
932
933         PR bootstrap/20633
934         * config/freebsd-spec.h (FBSD_CPP_SPEC): Add %(cpp_arch).
935
936 2005-05-01  Gerald Pfeifer  <gerald@pfeifer.com>
937
938         * doc/install.texi (Specific): Omit dots in the @anchors names
939         for i?86-*-sco3.2v5* and sparc-sun-solaris2.7.
940         Omit underscores for x86_64-*-* and the "all ELF targets" entry.
941
942 2005-05-01  Joseph S. Myers  <joseph@codesourcery.com>
943
944         PR c/21213
945         * c-decl.c (finish_struct): Don't dereference NULL TYPE_FIELDS of
946         transparent union.
947
948 2005-05-01  Joseph S. Myers  <joseph@codesourcery.com>
949
950         PR c/20740
951         * c-format.c (init_dynamic_asm_fprintf_info): Give errors, not
952         aborts, if __gcc_host_wide_int__ is not properly defined.
953         (init_dynamic_diag_info): Give errors, not aborts, if location_t,
954         tree or __gcc_host_wide_int__ are not properly defined.
955
956 2005-05-01  Joseph S. Myers  <joseph@codesourcery.com>
957
958         PR c/11459
959         PR c/18502
960         * gcc.c (cpp_unique_options): Remove %{trigraphs}.
961         (cpp_options, cc1_options): Change %{std*} %{ansi} to
962         %{std*&ansi&trigraphs}.
963
964 2005-04-29  Alan Modra  <amodra@bigpond.net.au>
965
966         PR target/21098
967         * config/rs6000/rs6000.c (rs6000_elf_end_indicate_exec_stack): New.
968         * config/rs6000/linux64.h (TARGET_ASM_FILE_END): Use the above.
969
970 2005-04-25  Ralf Corsepius  <ralf.corsepius@rtems.org>
971
972         * config.gcc (avr-*-*): Remove redundant "case".
973
974 2005-04-25  Ralf Corsepius  <ralf.corsepius@rtems.org>
975
976         PR target/17822
977         * config/avr/t-avr (AR_FOR_TARGET,RANLIB_FOR_TARGET): Remove.
978
979 2005-04-25  Ralf Corsepius  <ralf.corsepius@rtems.org>
980
981         PR target/17824
982         * config/c4x/c4x.h (ASM_PROG, LD_PROG): Remove.
983
984 2005-04-22  David Edelsohn  <edelsohn@gnu.org>
985
986         Backport from mainline.
987         * config/rs6000/rs6000.c (rs6000_init_libfuncs): Set TFmode
988         optabs to xlq names if TARGET_XL_COMPAT.
989
990 2005-04-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
991
992         * doc/invoke.texi (SPARC options): Document that -mapp-regs
993         is turned off by default on Solaris.
994
995 2005-04-15  Dave Korn  <dave.korn@artimi.com>
996
997         * gcc.c (default_compilers): Clarify obscure error message when
998         reading from standard input.
999
1000 2005-04-15  Eric Botcazou  <ebotcazou@libertysurf.fr>
1001
1002         * config/sparc/sparc.c (legitimate_address_p): Use TARGET_ARCH32.
1003
1004 2005-04-11  David Edelsohn  <edelsohn@gnu.org>
1005
1006         Backport from mainline:
1007         * config/rs6000/aix52.h (atoll): Declare.
1008
1009 2005-04-08  Ulrich Weigand  <uweigand@de.ibm.com>
1010
1011         Backport from mainline:
1012         * config/s390/tpf.h (ASM_SPEC): Define.
1013
1014 2005-04-06  Dale Johannesen  <dalej@apple.com>
1015
1016         PR middle-end/19225
1017         * calls.c (expand_call):  Flush pending deferrals before
1018         throwing call.
1019
1020 2005-04-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
1021
1022         PR target/17245
1023         * config/sparc/sparc.c (legitimate_address_p): Remove 'imm2'.
1024         Revert 2004-10-08 patch.  Reject TFmode LO_SUM in 32-bit mode.
1025
1026 2005-04-05  James E. Wilson  <wilson@specifixinc.com>
1027
1028         PR target/20670
1029         * unwind-ia64.c (uw_intall_context): Add missing load of r27.
1030
1031 2005-04-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
1032
1033         * doc/invoke.texi (SPARC options): Document that
1034         -mlittle-endian is not supported on Linux either.
1035
1036 2005-03-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1037
1038         PR c++/18644
1039         * doc/invoke.texi (-Wsynth): Don't document, as it now is void of
1040         semantics.
1041
1042 2005-03-31  Alan Modra  <amodra@bigpond.net.au>
1043
1044         PR target/20611
1045         * config/rs6000/rs6000.md (load_toc_v4_PIC_1b): Remove inline
1046         label operand.  Remove (use (unspec..)).  Don't emit a label on
1047         the offset word.
1048         * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Don't
1049         generate inline label for load_toc_v4_PIC_1b.
1050         (rs6000_emit_load_toc_table): Likewise.
1051
1052 2005-03-31  Alan Modra  <amodra@bigpond.net.au>
1053
1054         * config.gcc (cpu_is_64bit): Set for 64-bit powerpc cpus.
1055         (powerpc64-*-linux*): Use it.  Rearrange tm_file assignment.
1056         (powerpc-*-linux*): Build a biarch compiler when --enable-targets
1057         is given with "powerpc64*" or "all", or when --with-cpu chooses
1058         a 64-bit cpu.
1059
1060 2005-03-30  Alan Modra  <amodra@bigpond.net.au>
1061
1062         * doc/install.texi: Update binutils requirement for powerpc*-linux.
1063
1064 2005-03-25  John David Anglin  <dave.anglin@nrc-crnc.gc.ca>
1065
1066         PR target/15491
1067         * vax.c (vax_rtx_costs_1): Merge with vax_rtx_costs.
1068         (vax_rtx_costs): Return false when passed unsupported rtx's.  Handle
1069         FLOAT_EXTEND, FLOAT_TRUNCATE and TRUNCATE.  Fix costs for POST_INC,
1070         PRE_DEC, NEG and NOT.
1071
1072 2005-03-23  Uros Bizjak  <uros@kss-loka.si>
1073
1074         * simplify-rtx.c (simplify_unary_operation) <NOT>: Add missing break
1075         in code that deals with logicals on floats.
1076
1077 2005-03-22  Uros Bizjak  <uros@kss-loka.si>
1078
1079         PR target/14981
1080         Backport from mainline
1081         2004-02-18  Jan Hubicka  <jh@suse.cz>
1082         * simplify-rtx.c (simplify_unary_operation): Deal with logicals on
1083         floats.
1084         (simplify_binary_operation): Deal with logicals on floats.
1085         * i386.md (SSE fabs splitters): Emit new patterns.
1086         (SSE cmov splitters): Likewise.
1087         (sse_andv4sf3, sse_nandv4sf3, sse_iorv4sf3, sse_xorv4sf3
1088         (sse_andv2df3, sse_nandv2df3, sse_iorv2df3, sse_xorv2df3): Do not use
1089         subregs.
1090         (sse_andsf3, sse_nandsf3, sse_xorsf3): Kill.
1091         (sse_anddf3, sse_nanddf3, sse_xordf3): Kill.
1092
1093 2005-03-20  Marek Michalkiewicz  <marekm@amelek.gda.pl>
1094
1095         PR target/18551
1096         * config/avr/avr.c (avr_output_function_prologue): Do not use
1097         current_function_name() in a label, use a local label instead.
1098
1099 2005-03-19  Joseph S. Myers  <joseph@codesourcery.com>
1100
1101         * c.opt (ansi, std=iso9899:1990, std=iso9899:1999,
1102         std=iso9899:199x): Correct descriptions.
1103
1104 2005-03-19  Andy Hutchinson  <HutchinsonAndy@netscape.net>
1105
1106         PR target/18251
1107         * config/avr/avr.md (movstrhi): Rewrite as RTL loop.
1108         (*movstrqi_insn): Delete.
1109         (*movstrhi): Delete.
1110
1111 2005-03-17  Richard Sandiford  <rsandifo@redhat.com>
1112
1113         PR rtl-optimization/19683
1114         * reload1.c (choose_reload_regs): Pass the number of bits, not the
1115         number of bytes, to smallest_int_for_mode.  Fix arguments to
1116         REG_CANNOT_CHANGE_MODE_P.
1117
1118 2005-03-17  Alan Modra  <amodra@bigpond.net.au>
1119
1120         * config/rs6000/linux-unwind.h: New file backported from gcc-4.0.
1121         * config/rs6000/linux.h: #include linux-unwind.h in place of all
1122         unwind support in this file.
1123         * config/rs6000/linux64.h: Likewise.
1124
1125 2005-03-16  Roger Sayle  <roger@eyesopen.com>
1126
1127         PR rtl-optimization/17825
1128         Backport from mainline
1129         2004-11-27  Jakub Jelinek  <jakub@redhat.com>
1130         * combine.c (subst): Ignore STRICT_LOW_PART no matter if REG_P (new)
1131         or not.
1132
1133 2005-03-16  Roger Sayle  <roger@eyesopen.com>
1134
1135         PR target/18371
1136         Backport from mainline
1137         2004-12-19  Steven Bosscher  <stevenb@suse.de>
1138         * config/i386/i386.c (ix86_split_to_parts): Use an array with
1139         four elements for decoding a CONST_DOUBLE on 64 bits targets.
1140
1141 2005-03-14  Alan Modra  <amodra@bigpond.net.au>
1142
1143         * config.gcc: Remove excess indentation.
1144         (powerpc*-*-*, rs6000-*-*): Accept --with-cpu/tune power5.
1145
1146 2005-03-13  Marek Michalkiewicz  <marekm@amelek.gda.pl>
1147
1148         PR target/20288
1149         * config/avr/avr.c (print_operand): Add 'p' and 'r'.
1150         (out_movhi_r_mr): Read low byte of volatile MEM first.
1151         (out_movhi_mr_r): Write high byte of volatile MEM first.
1152
1153 2005-03-10  Aldy Hernandez  <aldyh@redhat.com>
1154
1155         * doc/invoke.texi: Add 8540 to list of cpus in rs6000 cpu section.
1156
1157 2005-03-08  James E Wilson  <wilson@specifixinc.com>
1158
1159         Backport from mainline
1160         2004-04-13  James E Wilson  <wilson@specifixinc.com>
1161         PR middle-end/20364
1162         * c-opt.c (c_common_post_options): If this_input_filename is NULL,
1163         increment errorcount and return false instead of true.
1164
1165         Backport from mainline
1166         2005-02-21  James E Wilson  <wilson@specifixinc.com>
1167         * toplev.c (backend_init): Don't call init_adjust_machine_modes here.
1168         (do_compile): Do call it here.
1169
1170 2005-03-07  David Billinghurst <David.Billinghurst@riotinto.com>
1171
1172         * config/i386/cygwin1.c(mingw_scan): Use xstrdup in calls to putenv.
1173
1174 2005-03-03  Alan Modra  <amodra@bigpond.net.au>
1175
1176         PR target/20277
1177         * config/rs6000/rs6000.c (rs6000_override_options): Don't allow
1178         -mcpu to override any other explicitly given flags.
1179
1180 2005-03-02  Mark Mitchell  <mark@codesourcery.com>
1181
1182         PR c++/19916
1183         * varasm.c (initializer_constant_valid_p): Allow conversions
1184         between OFFSET_TYPEs.  Tidy.
1185
1186 2005-02-28  John David Anglin  <dave.anglin#nrc-cnrc.gc.ca>
1187
1188         PR target/19819
1189         * pa.h (GO_IF_LEGITIMATE_ADDRESS): Allow allow hard registers during
1190         and after reload in REG+REG indexed addresses without REG_POINTER
1191         set in the base and not set in the index.
1192
1193 2005-02-27  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1194
1195         PR rtl-optimization/17728
1196         * pa.md (mulsi3, divsi3, udivsi3, modsi3): Change predicate for
1197         operand 0 from general_operand to move_dest_operand.
1198
1199 2005-02-26  Paolo Carlini  <pcarlini@suse.de>
1200
1201         * doc/extend.texi (Declaring Attributes of Functions)<noreturn>:
1202         Clarify that the alternative way doesn't work in GNU C++.
1203
1204 2005-02-25  David Edelsohn  <edelsohn@gnu.org>
1205
1206         Backport from mainline:
1207         2005-02-24  David Edelsohn  <edelsohn@gnu.org>
1208         PR target/19019
1209         * reload.c (operands_match_p): Only increment register number for
1210         SCALAR_INT_MODE_P modes in multiple hard registers.
1211         * config/rs6000/rs6000.md (trunctfdf2): Remove register constraints.
1212         Fix formatting.
1213
1214 2005-02-24  Jakub Jelinek  <jakub@redhat.com>
1215
1216         PR target/19019
1217         * Makefile.in (LIB2FUNCS_SHARED_EXTRA, LIB2ADD_SH): New.
1218         (libgcc.mk): Depend on $(LIB2ADD_SH), pass LIB2ADD_SH to mklibgcc.
1219         (LIBGCC_DEPS): Add $(LIB2ADD_SH).
1220         * mklibgcc.in: Handle LIB2ADD_SH.
1221         * config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Remove darwin-ldouble.c.
1222         (LIB2FUNCS_STATIC_EXTRA, LIB2FUNCS_SHARED_EXTRA): Set.
1223         * config/rs6000/darwin-ldouble.c: Protect .symver asm also with
1224         defined IN_LIBGCC2_S.
1225         * config/rs6000/darwin-ldouble-shared.c: New file.
1226
1227 2005-02-23  Michael Beach  <michaelb@ieee.org>
1228
1229         PR target/20159
1230         * config/sparc/t-elf (startup files): Assemble with CPP.
1231
1232 2005-02-17  Gerald Pfeifer  <gerald@pfeifer.com>
1233
1234         * doc/install.texi (Specific): Update link for Darwin-specific
1235         tool binary site.
1236
1237 2005-02-16  David Edelsohn  <edelsohn@gnu.org>
1238
1239         PR target/19019
1240         Backport from mainline:
1241         2005-02-16  David Edelsohn  <edelsohn@gnu.org>
1242         * config/rs6000/t-aix43 (SHLIB_MAPFILES): Add libgcc-ppc64.ver.
1243         * config/rs6000/t-aix52 (SHLIB_MAPFILES): Same.
1244         2005-02-15  David Edelsohn  <edelsohn@gnu.org>
1245                     Alan Modra  <amodra@bigpond.net.au>
1246         * config/rs6000/darwin-ldouble.c (_xlqadd): Rename to __gcc_qadd.
1247         (_xlqsub): Rename to __gcc_qsub.
1248         (_xlqmul): Rename to __gcc_qmul.
1249         (_xlqdiv): Rename to __gcc_qdiv.
1250         Provide versioned symbol aliases with old names.
1251         * config/rs6000/libgcc-ppc64.ver: Rename symbols.
1252         * config/rs6000/rs6000.c (rs6000_init_libfuncs): Rename symbols.
1253         * config/rs6000/t-aix43 (LIB2FUNCS_EXTRA): New.
1254         * config/rs6000/t-aix52 (LIB2FUNCS_EXTRA): New.
1255         * config/rs6000/t-newas (LIB2FUNCS_EXTRA): New.
1256         2005-02-14  David Edelsohn  <edelsohn@gnu.org>
1257         * config/rs6000/rs6000.md (trunctfdf2): Change to define_expand.
1258         (trunctfdf2_internal1): New.
1259         (trunctfdf2_internal2): Renamed from trunctfdf2.
1260         2005-02-13  David Edelsohn  <edelsohn@gnu.org>
1261         * config/rs6000/aix.h ({TARGET,MASK}_XL_CALL): Rename to
1262         {TARGET,MASK}_XL_COMPAT.
1263         (SUBTARGET_SWITCHES): Rename xl-call to xl-compat.  Use
1264         MASK_XL_COMPAT.
1265         * config/rs6000/beos.h ({TARGET,MASK}_XL_CALL): Remove.
1266         * config/rs6000/rs6000.c (function_arg): Change TARGET_XL_CALL to
1267         TARGET_XL_COMPAT.
1268         (rs6000_arg_partial_bytes): Same.
1269         (rs6000_generate_compare): Generate PARALLEL for compare if TFmode
1270         and XL compatibility enabled.
1271         * config/rs6000/rs6000.h (TARGET_XL_CALL): Rename to TARGET_XL_COMPAT.
1272         * config/rs6000/rs6000.md (cmptf_internal1): Add !TARGET_XL_COMPAT
1273         test to final condition.
1274         (cmptf_internal2): New.
1275         * doc/invoke.texi (RS/6000 Subtarget Options): Change xl-call to
1276         xl-compat.  Add TFmode information to description.
1277
1278 2005-02-16  Eric Christopher  <echristo@redhat.com>
1279
1280         PR preprocessor/19077
1281         * cppmacro.c (cpp_macro_definition): Move handling of whitespace
1282         to PREV_WHITE conditional. Remove overloading of len
1283         variable.
1284
1285 2005-02-16  Eric Botcazou  <ebotcazou@libertysurf.fr>
1286
1287         PR target/19715
1288         * config.gcc (sparc-*-elf*): Include sparc/sol2-gld.h.
1289         (sparc-*-rtems*): Likewise.
1290         (sparclite-*-elf*): Likewise.
1291         (sparc86x-*-elf*): Likewise.
1292         (sparc64-*-elf*): Likewise.
1293
1294 2005-02-11  John David Anglin  <dave.anglin@nrc-crnc.gc.ca>
1295
1296         PR middle-end/19697
1297         2005-01-30  Roger Sayle  <roger@eyesopen.com>
1298         * config/pa/pa.md (anddi3, iordi3): On HPPA64, disallow an integer
1299         constant as the second operand and a register as the third.
1300
1301 2005-02-11  Jakub Jelinek  <jakub@redhat.com>
1302
1303         PR c++/19666
1304         2004-06-08  Andrew Pinski  <pinskia@physics.uc.edu>
1305         * fold-const.c (fold_convert): Treat OFFSET_TYPE like
1306         POINTER_TYPE and INTEGER_TYPE.
1307
1308         * config/rs6000/sysv4.h (ENDFILE_LINUX_SPEC): Use crtendS.o instead of
1309         crtend.o if -pie.  Use %{x:a;:b} spec syntax.
1310
1311 2005-02-10  Jakub Jelinek  <jakub@redhat.com>
1312
1313         PR rtl-optimization/19579
1314         * ifcvt.c (noce_try_cmove_arith): If emitting instructions to set up
1315         both A and B, see if they don't clobber registers the other expr uses.
1316
1317 2005-02-08  Alan Modra  <amodra@bigpond.net.au>
1318
1319         PR target/19803
1320         * predict.c (PROB_VERY_UNLIKELY): Use 1% instead of 10%.
1321
1322 2005-02-07  Ralf Corsepius  <ralf.corsepius@rtems.org>
1323
1324         * config/m68k/t-rtems (MULTILIB_MATCHES): Let m528x match m5200.
1325
1326 2005-02-03  Richard Guenther  <rguenth@gcc.gnu.org>
1327
1328         PR middle-end/19775
1329         * builtins.c (fold_builtin_sqrt): Transform
1330         sqrt(pow(x,y)) to pow(fabs(x),y*0.5), not
1331         pow(x,y*0.5).
1332
1333 2005-02-01  Richard Earnshaw  <rearnsha@arm.com>
1334
1335         PR target/16201
1336         * arm.c (arm_eliminable_register): New function.
1337         (adjacent_mem_locations): Don't allow eliminable registers.  Use
1338         HOST_WIDE_INT for address offsets.
1339         * arm-protos.h (arm_eliminable_register): Add prototype.
1340
1341 2005-01-31  Daniel Jacobowitz  <dan@codesourcery.com>
1342
1343         2004-09-22  Mark Mitchell  <mark@codesourcery.com>
1344         * gcc/dwarf2out.c (scope_die_for): If the containing scope is a
1345         TRANSLATION_UNIT_DECL, consider it to be a global.
1346
1347 2005-01-29  Alan Modra  <amodra@bigpond.net.au>
1348
1349         * unwind-dw2.c (execute_stack_op): Add missing cases for
1350         DW_OP_shl, DW_OP_shr, DW_OP_shra, DW_OP_xor.
1351
1352 2005-01-28  Stephane Carrez  <stcarrez@nerim.fr>
1353
1354         PR target/15384
1355         * config/m68hc11/t-m68hc11-gas (dp-bit.c): Fix typo causing a
1356         configuration part of dp-bit.c to be lost.
1357
1358 2005-01-27  Ulrich Weigand  <uweigand@de.ibm.com>
1359
1360         PR target/17771
1361         Backport from mainline:
1362         * config/s390/s390.md ("reload_outti"): Remove predicate for
1363         output operand.  Abort if operand is not a MEM.
1364         ("reload_outdi", "reload_outdf"): Likewise.
1365
1366 2005-01-27  Marek Michalkiewicz  <marekm@amelek.gda.pl>
1367
1368         PR target/19293
1369         PR target/19329
1370         * config/avr/avr.c (notice_update_cc): Only set condition code for
1371         ashrqi3 if shift count > 0.
1372         (out_shift_with_cnt): Handle shift count <= 0 as a no-op.
1373         (ashlqi3_out, ashlhi3_out, ashlsi3_out, ashrqi3_out, ashrhi3_out,
1374         ashrsi3_out, lshrqi3_out, lshrhi3_out, lshrsi3_out): Handle shift
1375         count <= 0 as a no-op, and shift count >= width by copying zero
1376         or sign bit to all bits of the result.
1377         * config/avr/avr.md (all shifts): Add alternatives for zero shift
1378         count, with attribute "length" set to 0 and "cc" set to "none".
1379
1380 2005-01-27  J"orn Rennecke <joern.rennecke@st.com>
1381
1382         * real.c (do_add): Initialize signalling and canonical members.
1383
1384         * real.c (real_from_integer): Zero out destination.
1385
1386 2005-01-26  Ulrich Weigand  <uweigand@de.ibm.com>
1387
1388         Backport from mainline:
1389         * dbxout.c (dbxout_symbol_location): Resolve constant pool references
1390         even for variables with NULL DECL_INITIAL.
1391
1392 2005-01-25  Richard Earnshaw  <rearnsha@arm.com>
1393
1394         PR target/19393
1395         Backport:
1396         2004-03-30  Nick Clifton  <nickc@redhat.com>
1397         * config/arm/arm.md (thumb_jump): Reduce the backward branch
1398         range, and increase the forward branch range, to allow for
1399         the fact that the PC will be off by 4.
1400
1401 2005-01-24  Richard Henderson  <rth@redhat.com>
1402             Aldy Hernandez  <aldyh@redhat.com>
1403
1404         * regrename.c (note_sets): Handle subregs.
1405
1406 2005-01-24  Jakub Jelinek  <jakub@redhat.com>
1407
1408         * flow.c (propagate_one_insn): Formatting.
1409
1410         PR middle-end/19551
1411         * flow.c (libcall_dead_p): Be more conservative if unsure.
1412         If there are any instructions between insn and call, see if they are
1413         all dead before saying the libcall is dead.
1414
1415 2005-01-22  Ralf Corsepius  <ralf.corsepius@rtems.org>
1416
1417         PR target/19548
1418         * config/rs6000/rtems.h: Resurrect cpp_os_rtems_spec from gcc < 3.4.
1419         (CPP_OS_RTEMS_SPEC): New (From gcc-3.3's config/rs6000/sys4.h).
1420         (SUBSUBTARGET_EXTRA_SPECS): Use CPP_OS_RTEMS_SPEC.
1421
1422 2005-01-19  Jakub Jelinek  <jakub@redhat.com>
1423
1424         PR rtl-optimization/15139
1425         * combine.c: Include params.h.
1426         (count_rtxs): New function.
1427         (record_value_for_reg): If replace_rtx would replace at least
1428         2 occurrences of REG in VALUE and TEM is really large, replace REG with
1429         (clobber (const_int 0)) instead of TEM.
1430         * params.def (PARAM_MAX_LAST_VALUE_RTL): New.
1431         * params.h (MAX_LAST_VALUE_RTL): New.
1432         * Makefile.in (combine.o): Depend on $(PARAMS_H).
1433         * doc/invoke.texi (--param max-last-value-rtl=N): Document.
1434
1435         PR c/17297
1436         * c-typeck.c (digest_init): Only call build_vector if all constructor
1437         elements are *_CST nodes.
1438
1439         PR middle-end/19164
1440         * c-typeck.c (digest_init): Only call build_vector if inside_init
1441         is a CONSTRUCTOR.
1442
1443 2005-01-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
1444
1445         PR debug/16261
1446         Backport from mainline:
1447         2004-01-27  Devang Patel  <dpatel@apple.com>
1448
1449         * dwarf2out.c: (remove_child_TAG): New function.
1450         (gen_subprogram_die): Do not remove all children dies while reusing
1451         declaration die for definition.  Instead, selectively remove only
1452         formal parameters.
1453
1454 2005-01-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
1455
1456         PR rtl-optimization/19296
1457         * combine.c (simplify_comparison): Rewrite the condition under
1458         which a non-paradoxical SUBREG of a PLUS can be lifted when
1459         compared against a constant.
1460
1461 2005-01-17  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1462
1463         * varasm.c (process_pending_assemble_output_defs): Fix previous change.
1464
1465 2005-01-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1466
1467         PR target/16304
1468         * defaults.h (TARGET_DEFERRED_OUTPUT_DEFS): Provide default.
1469         * toplev.c (compile_file): Call process_pending_assemble_output_defs
1470         just before targetm.asm_out.file_end.
1471         * tree.h (process_pending_assemble_output_defs): Declare.
1472         * varasm.c (assemble_output_def, process_pending_assemble_output_defs):
1473         New functions.
1474         (assemble_alias): Defer generation of assembly code for defines when
1475         TARGET_DEFERRED_OUTPUT_DEFS is true.
1476         * config/rs6000/aix41.h (TARGET_DEFERRED_OUTPUT_DEFS): Define.
1477         * config/rs6000/aix43.h (TARGET_DEFERRED_OUTPUT_DEFS): Define.
1478         * doc/tm.texi (TARGET_DEFERRED_OUTPUT_DEFS): document.
1479
1480 2005-01-15  Ralf Corsepius  <ralf.corsepius@rtems.org>
1481
1482         * config/mips/rtems.h (MIPS_DEFAULT_GVALUE): Set to 0.
1483         * config/mips/t-rtems (MULTILIBS_DIRNAMES,MULTILIB_OPTIONS):
1484         Remove little endian multilib variants.
1485         Add mips32 multilib variant.
1486
1487 2005-01-14  David Edelsohn  <edelsohn@gnu.org>
1488
1489         * config/rs6000/aix52.h (CPLUSPLUS_CPP_SPEC): Revert last change.
1490
1491 2005-01-13  David O'Brien  <obrien@FreeBSD.org>
1492
1493         Backport from mainline:
1494         * config/freebsd-spec.h:  Make KSE pthread lib logic the default.
1495
1496 2005-01-13  David Edelsohn  <edelsohn@gnu.org>
1497
1498         * config/rs6000/aix52.h (CPLUSPLUS_CPP_SPEC): Change _XOPEN_SOURCE
1499         definition to 600.
1500
1501 2005-01-13  Ralf Corsepius <ralf.corsepius@rtems.org>
1502
1503         * config/i386/t-rtems-i386: Multilib on -mtune instead of -mcpu.
1504
1505 2004-01-12  David Mosberger  <davidm@hpl.hp.com>
1506             James E Wilson  <wilson@specifixinc.com>
1507
1508         PR target/18987
1509         * config/ia64/ia64.c (process_set): For alloc insn, only call
1510         process_epilogue is !frame_pointer_needed.
1511
1512         PR target/13158
1513         * config/ia64/ia64.c (ia64_expand_epilogue): Set RTX_FRAME_RELATED_P on
1514         sibcall alloc instruction.
1515         (process_set): Handle sibcall alloc instruction.
1516
1517 2005-01-10  David Edelsohn  <edelsohn@gnu.org>
1518
1519         PR target/18720
1520         Backport from mainline
1521         * collect2.c (main): Set aixrtl_flag for -brtl option.
1522         (resolve_lib_name): Search for .so file extension before .a
1523         if aixrtl_flag set.
1524
1525 2005-01-08  Jakub Jelinek  <jakub@redhat.com>
1526
1527         PR rtl-optimization/19012
1528         * config/i386/i386.md (addqi_1_slp): Set memory attribute.
1529
1530 2005-01-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
1531
1532         * configure.ac (HAVE_AS_OFFSETABLE_LO10): Fix typo.
1533         * configure: Regenerate.
1534
1535 2005-01-07  Jakub Jelinek  <jakub@redhat.com>
1536
1537         * c-common.c (handle_mode_attribute): For ENUMERAL_TYPE, also copy
1538         TYPE_MODE.
1539
1540 2005-01-06  Richard Sandiford  <rsandifo@redhat.com>
1541
1542         PR rtl-opt/13299
1543         * loop.c (get_monotonic_increment, biased_biv_fits_mode_p,
1544         biv_fits_mode_p, extension_within_bounds_p): New functions.
1545         (check_ext_dependent_givs): Use them.
1546
1547 2005-01-05  Richard Henderson  <rth@redhat.com>
1548
1549         PR rtl-opt/10692
1550         * reload1.c (do_input_reload): Restrict the optimization deleteing
1551         a previous output reload to RELOAD_FOR_INPUT.
1552
1553 2005-01-06  Jakub Jelinek  <jakub@redhat.com>
1554
1555         Backport from mainline:
1556         2004-03-22  Diego Novillo  <dnovillo@redhat.com>
1557
1558         * c-typeck.c (same_translation_unit_p): Fix pasto.
1559
1560 2005-01-02  Roger Sayle  <roger@eyesopen.com>
1561             Andrew Pinski  <pinskia@physics.uc.edu>
1562             James E. Wilson  <wilson@specifixinc.com>
1563
1564         PR rtl-optimization/12092
1565         * loop.c (emit_prefetch_instructions): Do nothing if PREFETCH_BLOCK
1566         is zero.
1567
1568 2004-12-30  Roger Sayle  <roger@eyesopen.com>
1569
1570         PR middle-end/19175
1571         * loop-unroll.c (expand_bct): Pass the code_label to the function
1572         do_compare_rtx_and_jump, not the label ref.  Clean-up style issues.
1573
1574 2004-12-27 John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1575
1576         * vax.c (vax_address_cost, vax_rtx_cost): Correct casts.
1577         (vax_rtx_cost): Handle small offsets for both PLUS and MINUS.
1578
1579 2004-12-27  Steven Bosscher  <stevenb@suse.de>
1580             John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1581
1582         rtl-optimization/12863
1583         * config/vax/vax.h (CASE_DROPS_THROUGH): Don't define.
1584         * config/vax/vax.md (casesi): Emit a test-and-branch to make sure
1585         that the case is in range, to make sure the casesi insn is always
1586         in range and never falls through.
1587         (casesi1): Add comment to explain why casesi never falls through.
1588         Remove the unnamed special case casesi pattern.
1589
1590 2004-12-27  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1591
1592         PR c++/14607.
1593         Backported from main.
1594         * configure.ac (HAVE_GAS_NSUBSPA_COMDAT): Add check for .NSUBSPA
1595         COMDAT support.
1596         * configure. config.in: Rebuilt.
1597         * config/pa/pa-protos.h (som_text_section_asm_op,
1598         som_readonly_data_section, som_one_only_readonly_data_section,
1599         som_one_only_data_section, forget_section): Declare.
1600         * pa.c (override_options): Set init_machine_status to
1601         pa_init_machine_status.
1602         (pa_init_machine_status): New function.
1603         (pa_output_function_epilogue): Call forget_section if TARGET_SOM and
1604         TARGET_GAS.
1605         (pa_asm_output_mi_thunk): Likewise.
1606         (som_text_section_asm_op): New function.
1607         (pa_select_section): Call som_one_only_readonly_data_section and
1608         som_one_only_data_section when appropriate.
1609         * pa.h (struct machine_function): Define.
1610         (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS,
1611         SOM_READONLY_DATA_SECTION_FUNCTION,
1612         SOM_ONE_ONLY_READONLY_DATA_SECTION_FUNCTION
1613         SOM_ONE_ONLY_DATA_SECTION_FUNCTION, FORGET_SECTION_FUNCTION): New
1614         macros.
1615         * som.h (ASM_OUTPUT_FUNCTION_PREFIX): Delete.
1616         (TEXT_SECTION_ASM_OP): Call som_text_section_asm_op.
1617         (READONLY_DATA_ASM_OP, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Delete.
1618         (READONLY_DATA_SECTION): Call som_readonly_data_section when not PIC.
1619         (SUPPORTS_SOM_COMDAT): New define.
1620         (SUPPORTS_ONE_ONLY): True if SUPPORTS_WEAK or SUPPORTS_SOM_COMDAT.
1621         (MAKE_DECL_ONE_ONLY): Rework common support.
1622
1623 2004-12-26  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1624
1625         PR target/17643
1626         * pa.c (pa_function_ok_for_sibcall): Sibcalls are not ok when
1627         generating code for the portable runtime.
1628
1629 2004-12-25  Alan Modra  <amodra@bigpond.net.au>
1630
1631         PR target/19147
1632         * config/rs6000/rs6000.md (andsi3_internal7, andsi3_internal8): Delete.
1633
1634 2004-12-23  Richard Henderson  <rth@redhat.com>
1635
1636         PR c/18282
1637         * c-decl.c (finish_enum): Retain precision acquired from an attribute.
1638
1639 2004-12-23  Alexandre Oliva  <aoliva@redhat.com>
1640
1641         PR target/16819
1642         * calls.c (load_register_parameters): Don't call use_regs when
1643         nregs is zero.
1644
1645 2004-12-22  Richard Henderson  <rth@redhat.com>
1646
1647         PR target/19102
1648         * config/i386/i386.c (x86_inter_unit_moves): Disable.
1649         (ix86_hard_regno_mode_ok): Disallow SSE2 and MMX scalar modes
1650         in SSE registers when only SSE1 enabled.
1651
1652 2004-12-21  David O'Brien  <obrien@FreeBSD.org>
1653
1654         Backport from mainline:
1655         * config/freebsd-spec.h:  Use KSE pthread lib for -pthread.
1656
1657 2004-12-19  Richard Henderson  <rth@redhat.com>
1658
1659         * config/i386/i386.c (ix86_hard_regno_mode_ok): Always accept all SSE,
1660         MMX, 3DNOW modes in SSE registers; always accept all MMX, 3DNOW modes
1661         in MMX registers.
1662         * config/i386/i386.h (VALID_SSE2_REG_MODE): Don't include
1663         VALID_MMX_REG_MODE.
1664         * config/i386/i386.md (movv4sf_internal, movv4si_internal,
1665         movv2di_internal, movv2si_internal, movv4hi_internal,
1666         movv2sf_internal, movv2df_internal, movv8hi_internal,
1667         movv16qi_internal, movti_internal): Add leading '*' to name.
1668         (movv2di_internal, movv2df_internal, movv8hi_internal,
1669         movv16qi_internal, movv2df, movv8hi, movv16qi, movv2di,
1670         pushv2di, pushv8hi, pushv16qi): Enable for SSE1.
1671         (movv2si_internal, movv4hi_internal): Add SSE alternatives.
1672         (movv8qi_internal, movv2sf_internal): Likewise.
1673         (movtf): Simplify conditional.
1674         (movv2sf, pushv2sf): Enable for MMX.
1675
1676 2004-12-19  Roger Sayle  <roger@eyesopen.com>
1677
1678         PR middle-end/19068
1679         * expr.c (expand_expr_real_1) <MAX_EXPR>: Ensure that target, op0
1680         and op1 are all registers (or constants) before expanding the RTL
1681         comparison sequence [to avoid reg_overlap_mentioned (target, op1)].
1682
1683 2004-12-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
1684
1685         PR rtl-optimization/16968
1686         * loop.c (scan_loop): Stop scanning the loop for movable
1687         insns as soon as an optimization barrier is encountered.
1688
1689 2004-12-16  H.J. Lu  <hongjiu.lu@intel.com>
1690
1691         PR other/18508
1692         * config/alpha/t-osf4 (SHLIB_LINK): Use `.backup' as the suffix
1693         to back up the existing shared library.
1694         * config/arm/t-netbsd (SHLIB_LINK): Likewise.
1695         * config/mips/t-iris5-6 (SHLIB_LINK): Likewise.
1696         * config/pa/t-hpux-shlib (SHLIB_LINK): Likewise.
1697         * config/sh/t-linux (SHLIB_LINK): Likewise.
1698         * config/t-libunwind-elf (SHLIBUNWIND_LINK): Likewise.
1699         * config/t-slibgcc-darwin (SHLIB_LINK): Likewise.
1700         * config/t-slibgcc-elf-ver (SHLIB_LINK): Likewise.
1701         * config/t-slibgcc-sld (SHLIB_LINK): Likewise.
1702
1703 2004-12-16  Roger Sayle  <roger@eyesopen.com>
1704
1705         PR middle-end/18493
1706         * c-typeck.c (c_finish_case): Rechain statements if we didn't
1707         encounter any case labels or a default.
1708
1709 2004-12-16  Eric Botcazou  <ebotcazou@adacore.com>
1710
1711         PR middle-end/18882
1712         * function.c (assign_stack_local_1): Use BITS_PER_UNIT alignment
1713         when passed -2 as 'align'.
1714         (put_var_into_stack): Use 'bool' as the type for the three local
1715         predicates.  Adjust calls to put_reg_into_stack.
1716         When passed a CONCAT, instruct put_reg_into_stack to use
1717         a consecutive stack slot for the second part.
1718         (put_reg_into_stack): Remove 'promoted_mode' parameter, add
1719         'consecutive_p' parameter.  Turn the three predicates into 'bool'
1720         parameters.  Retrieve the register mode from 'reg'.
1721         When consecutive_p is true, instruct assign_stack_local_1 to use
1722         BITS_PER_UNIT alignment.
1723         (put_addressof_into_stack): Use 'bool' as the type for the two
1724         local predicates. Adjust call to put_reg_into_stack.
1725
1726 2004-12-16  Eric Botcazou  <ebotcazou@libertysurf.fr>
1727
1728         PR middle-end/18590
1729         * function.c (fixup_var_refs_insns_with_hash): Do not invoke
1730         fixup_var_refs_insn on insns marked as deleted.
1731
1732 2004-12-15  Richard Henderson  <rth@redhat.com>
1733
1734         PR target/19028
1735         * config/i386/i386.md (sse compare splitter): Test for SF and DFmode
1736         explicitly instead of using VALID_SSE_REG_MODE.
1737
1738 2004-12-15  Richard Henderson  <rth@redhat.com>
1739
1740         PR target/19005
1741         * config/i386/i386.md (swaphi_1): Swap with swaphi_2, allow with
1742         optimize_size.
1743         (swapqi_1): Rename from swapqi.  Enable only for no partial reg
1744         stall and optimize_size.
1745         (swapqi_2): New.
1746         (swaphi_1, swaphi_2, swapqi_1): Add athlon_decode.
1747         (swapsi, swaphi_1, swaphi_2, swapqi_1, swapdi): Remove modrm override.
1748
1749 2004-12-15  H.J. Lu  <hongjiu.lu@intel.com>
1750
1751         PR target/18153
1752         * configure.ac: Define HAVE_LD_STATIC_DYNAMIC if linker supports
1753         -Bstatic/-Bdynamic option.
1754         * config.in: Regenerated.
1755         * configure: Likewise.
1756
1757         * gcc.c (init_spec): Pass -Bstatic/-Bdynamic to ld for static
1758         -lunwind if possible.
1759
1760 2004-12-15  Richard Henderson  <rth@redhat.com>
1761
1762         PR target/19010
1763         * config/i386/i386.c (gen_reg_or_parallel): New.
1764         (function_arg): Use it.
1765         (ix86_hard_regno_mode_ok): Test SSE1 and SSE2 separately,
1766         MMX and 3DNOW separately.
1767         (ix86_rtx_costs): Simplify FLOAT_EXTEND case.
1768         * config/i386/i386.h (VALID_SSE2_REG_MODE): Move SSE2 cases from ...
1769         (VALID_SSE_REG_MODE): ... here.
1770         * config/i386/i386.md (movv4sf_internal): Validate one MEM.
1771         (movv4si_internal): Likewise.
1772         (movv2di_internal): Likewise.  Enable for SSE2 only.
1773         (movv2di): Enable for SSE2 only.
1774         (pushv4si): Enable for SSE1.
1775
1776 2004-12-15  Eric Botcazou  <ebotcazou@libertysurf.fr>
1777
1778         PR c++/17972
1779         * tree-inline.c (expand_call_inline): Set TREE_SIDE_EFFECTS
1780         on the STMT_EXPR wrapping up the inlined body.
1781
1782 2004-12-15  Eric Botcazou  <ebotcazou@libertysurf.fr>
1783
1784         PR preprocessor/15167
1785         * cppfiles.c (destroy_cpp_file): New function.
1786         (should_stack_file): Make a new file if the
1787         compared file is still stacked.
1788
1789 2004-12-15  Eric Botcazou  <ebotcazou@libertysurf.fr>
1790
1791         PR other/18665
1792         * libgcc-std.ver (GCC_3.4.4): Inherit from GCC_3.4.2.
1793         Export __absvti2, __addvti3, __mulvti3, __negvti2 and __subvti3.
1794         * libgcc-darwin.ver (GCC_3.4.4): Inherit from GCC_3.4.
1795         Export __absvti2, __addvti3, __mulvti3, __negvti2 and __subvti3.
1796         * libgcc2.c (__addvsi3): Rename to __addvSI3.
1797         New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC.
1798         (__addvdi3): Rename to __addvDI3.
1799         (__subvsi3): Rename to __subvSI3.  Use word type for the result.
1800         New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC.
1801         (__subvdi3): Rename to __subvDI3.
1802         (_mulvsi3): Rename to _mulvSI3.
1803         New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC.
1804         (_mulvdi3): Rename to _mulvDI3.
1805         (__negvsi2): Rename to __negvSI2.
1806         New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC.
1807         (__negvdi2): Rename to __negvDI2.
1808         (__absvsi2): Rename to __absvSI2.
1809         New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC.
1810         (__absvdi2): Rename to __absvDI2.
1811         * libgcc2.h (64-bit targets): Define COMPAT_SIMODE_TRAPPING_ARITHMETIC.
1812         (__absvSI2, __addvSI3, __subvSI3, __mulvSI3, __negvSI2, __absvDI2,
1813         __addvDI3, __subvDI3, __mulvDI3, __negvDI2): Define to the appropriate
1814         symbol and declare.
1815         (__absvsi2, __addvsi3, __subvsi3, __mulvsi3, __negvsi2): Declare if
1816         COMPAT_SIMODE_TRAPPING_ARITHMETIC.
1817
1818 2004-12-14  Steve Ellcey  <sje@cup.hp.com>
1819
1820         * doc/invoke.texi (IA-64 options): Add existing options that
1821         weren't already listed.
1822
1823 2004-12-14  Jakub Jelinek  <jakub@redhat.com>
1824
1825         PR middle-end/18951
1826         * builtins.c (expand_builtin_mathfn, expand_builtin_mathfn_2): Avoid
1827         using arguments passed to save_expr after that call.
1828
1829 2004-12-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1830
1831         PR middle-end/18730
1832         * emit-rtl.c (get_first_nonnote_insn, get_last_nonnote_insn): When
1833         the first/last insn is a sequence, return the first/last insn of the
1834         sequence.
1835
1836 2004-12-13  Roger Sayle  <roger@eyesopen.com>
1837
1838         PR target/18002
1839         PR middle-end/18424
1840         Backport from mainline
1841
1842         2004-03-20  Richard Sandiford  <rsandifo@redhat.com>
1843         * Makefile.in (dojump.o): Depend on $(GGC_H) and dojump.h.
1844         (GTFILES): Add $(srcdir)/dojump.h.
1845         (gt-dojump.h): New dependency.
1846         * dojump.c (and_reg, and_test, shift_test): New static variables.
1847         (prefer_and_bit_test): New function.
1848         (do_jump): Use it to choose between (X & (1 << C)) and (X >> C) & 1.
1849
1850         2004-03-21  Andrew Pinski  <pinskia@gcc.gnu.org>
1851         * dojump.c (prefer_and_bit_test): Fix which part of
1852         the and_test is replaced.
1853
1854         2004-12-10  Roger Sayle  <roger@eyesopen.com>
1855         * dojump.c (do_jump): When attempting to reverse the effects of
1856         fold_single_bit_test, we need to STRIP_NOPS and narrowing type
1857         conversions, and handle BIT_XOR_EXPR that's used to invert the
1858         sense of the single bit test.
1859
1860 2004-12-13  Richard Henderson  <rth@redhat.com>
1861
1862         PR target/17990
1863         * config/i386/i386.md (negsf2): Fix condition for using sse.
1864         (negdf2, abssf2, absdf2): Likewise.
1865         (negsf2_if, abssf2_if): Don't disable if sse enabled.
1866         (movv4sf_internal splitter): Postpone til after reload.
1867         (movv2di_internal splitter): Likewise.
1868
1869 2004-12-13  Richard Henderson  <rth@redhat.com>
1870
1871         PR middle-end/17930
1872         * toplev.c (rest_of_compilation): Fix computation of
1873         preferred_incoming_stack_boundary.
1874
1875 2004-12-12  Richard Henderson  <rth@redhat.com>
1876
1877         PR rtl-opt/17186
1878         * reg-stack.c (move_for_stack_reg): Handle source register not
1879         live with a nan.
1880
1881 2004-12-12  Richard Henderson  <rth@redhat.com>
1882
1883         PR target/18932
1884         * config/i386/i386.md (all splits and peepholes): Use flags_reg_operand
1885         and compare_operator to propagate the input CC mode to the output.
1886         * config/i386/i386.c (compare_operator): New.
1887         * config/i386/i386.h (PREDICATE_CODES): Add it.
1888         * config/i386/i386-protos.h: Update.
1889
1890 2004-12-09  Richard Henderson  <rth@redhat.com>
1891
1892         PR c/18282
1893         * attribs.c (decl_attributes): Clear DECL_ALIGN when relaying out decl.
1894         * c-common.c (handle_mode_attribute): Handle enumeral types.
1895
1896 2004-12-09  Richard Henderson  <rth@redhat.com>
1897
1898         PR target/17025
1899         * config/i386/i386.md (testqi_1_maybe_si, andqi_2_maybe_si): New.
1900         (test_qi_1, andqi_2): Do not promote to simode.
1901
1902 2004-12-07  David Mosberger  <davidm@hpl.hp.com>
1903
1904         PR target/18443
1905         * config/ia64/ia64.c (ia64_assemble_integer): Add support for
1906         emitting unaligned pointer-sized integers.
1907
1908 2004-12-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
1909
1910         PR middle-end/17827
1911         * c-semantics.c (expand_unreachable_if_stmt): Invoke
1912         expand_cond on the condition.
1913
1914 2004-12-06  Aldy Hernandez  <aldyh@redhat.com>
1915
1916         * config/rs6000/sysv4.h: Define RELOCATABLE_NEEDS_FIXUP to 1.
1917
1918 2004-12-05  Richard Henderson  <rth@redhat.com>
1919
1920         PR target/18841
1921         * config/alpha/alpha.md (UNSPECV_SETJMPR_ER): New.
1922         (builtin_setjmp_receiver_er_sl_1): Use it.
1923         (builtin_setjmp_receiver_er_1): Likewise.
1924         (builtin_setjmp_receiver_er, exception_receiver_er): Remove.
1925         (builtin_setjmp_receiver): Don't split for explicit relocs until
1926         after reload.
1927         (exception_receiver): Likewise.
1928
1929 2004-12-05  Alan Modra  <amodra@bigpond.net.au>
1930
1931         * config/rs6000/rs6000.c (rs6000_assemble_integer): Fix typo.
1932
1933 2004-12-04  Richard Henderson  <rth@redhat.com>
1934
1935         * emit-rtl.c, expr.c, function.c, integrate.c, optabs.c, rtl.h:
1936         Revert the patches for PR rtl-opt/15289.
1937
1938 2004-12-03  Eric Botcazou  <ebotcazou@adacore.com>
1939
1940         * integrate.c (expand_inline_function): Accept non-CONCAT arguments
1941         for CONCAT parameters and invoke read_complex_part on them.
1942
1943 2004-12-02  Richard Henderson  <rth@redhat.com>
1944
1945         * expr.c (write_complex_part): Use simplify_gen_subreg when the
1946         submode is at least as large as a word.
1947         (read_complex_part): Likewise.
1948
1949 2004-12-02  Roger Sayle  <roger@eyesopen.com>
1950
1951         PR target/9908
1952         * config/i386/i386.md (*call_value_1, *sibcall_value_1): Correct
1953         Intel assembler syntax by using %A1 instead of %*%1.
1954
1955 2004-12-02  Richard Henderson  <rth@redhat.com>
1956
1957         PR rtl-opt/15289
1958         * emit-rtl.c (gen_complex_constant_part): Remove.
1959         (gen_realpart, gen_imagpart, subreg_realpart_p): Remove.
1960         * expr.c (write_complex_part, read_complex_part): New.
1961         (emit_move_via_alt_mode, emit_move_via_integer, emit_move_resolve_push,
1962         emit_move_complex_push, emit_move_complex, emit_move_ccmode,
1963         emit_move_multi_word): Split out from ...
1964         (emit_move_insn_1): ... here.
1965         (expand_expr_real) <COMPLEX_EXPR>: Use write_complex_part.
1966         <REALPART_EXPR, IMAGPART_EXPR>: Use read_complex_part.
1967         <CONJ_EXPR>: Likewise.
1968         * function.c (assign_parms): Hard-code transformations
1969         instead of using gen_realpart/gen_imagpart.
1970         * integrate.c (initialize_for_inline): Likewise.
1971         * optabs.c (expand_unop): Use read_complex_part/write_complex_part.
1972         (expand_complex_abs): Likewise.
1973         (expand_binop): Likewise.  Rearrange to build a CONCAT at the end,
1974         rather than creating a complex target at the beginning.
1975         * rtl.h (gen_realpart, gen_imagpart, subreg_realpart_p): Remove.
1976         (read_complex_part, write_complex_part): Declare.
1977
1978 2004-12-02  Alan Modra  <amodra@bigpond.net.au>
1979
1980         * config/rs6000/rs6000.c (rs6000_assemble_integer): Put back the
1981         #ifdef RELOCATABLE_NEEDS_FIXUP.
1982
1983 2004-12-01  Nathanael Nerode  <neroden@gcc.gnu.org>
1984
1985         PR preprocessor/17651
1986         * c-opts.c (sanitize_cpp_opts): Make flag_no_output imply
1987         flag_no_line_commands.
1988         * c-ppoutput.c (pp_file_change): Remove now-redundant check of
1989         flag_no_output.
1990
1991         PR preprocessor/17610
1992         * directives.c (do_include_common): Error out if an empty filename
1993         is given for #include (or #include_next or #import).
1994         PR preprocessor/17610
1995         * testsuite/gcc.dg/cpp/empty-include.c: New testcase.
1996
1997 2004-12-02  Alan Modra  <amodra@bigpond.net.au>
1998
1999         PR target/16952
2000         * config/rs6000/rs6000.c (rs6000_assemble_integer): Replace
2001         #ifdef RELOCATABLE_NEEDS_FIXUP with if.
2002         * config/rs6000/linux.h (RELOCATABLE_NEEDS_FIXUP): Define in terms
2003         of target_flags_explicit.
2004         * config/rs6000/linux64.h (RELOCATABLE_NEEDS_FIXUP): Ditto for biarch
2005         case.  Define as 0 for non-biarch.
2006
2007 2004-12-01  Richard Henderson  <rth@redhat.com>
2008
2009         * expr.c (optimize_bitfield_assignment_op): Split out from ...
2010         (expand_assignment): ... here.  Use handled_component_p to gate
2011         get_inner_reference code.  Simplify MEM handling.  Special case
2012         CONCAT destinations.
2013         (get_inner_reference): Handle REAL/IMAGPART_EXPR.
2014         (handled_component_p): Likewise.
2015
2016 2004-12-01  Alan Modra  <amodra@bigpond.net.au>
2017
2018         PR target/12817
2019         * config/rs6000/rs6000.c (rs6000_emit_prologue): Use r0 for vrsave.
2020
2021 2004-11-30  Jakub Jelinek  <jakub@redhat.com>
2022
2023         * fold-const.c (extract_muldiv_1) <case ABS_EXPR>: If ctype is
2024         unsigned and type signed, build ABS_EXPR with signed_type (ctype)
2025         and only afterwards convert to ctype.
2026
2027 2004-11-29  Richard Henderson  <rth@redhat.com>
2028
2029         PR target/17224
2030         * config/ia64/ia64.c (sdata_symbolic_operand): Deny offsets
2031         outside the referenced object.
2032
2033 2004-11-28  Andreas Fischer <a_fisch@gmx.de>
2034             Alan Modra  <amodra@bigpond.net.au>
2035
2036         PR target/16343
2037         * config/rs6000/rs6000.c (rs6000_elf_in_small_data_p): Disallow
2038         functions, strings and thread-local vars.
2039
2040 2004-11-27  Alan Modra  <amodra@bigpond.net.au>
2041
2042         PR target/12769
2043         * config/rs6000/rs6000.c (init_cumulative_args): Set call_cookie
2044         from rs6000_default_long_calls for libcalls.
2045
2046         PR target/18686
2047         * config/rs6000/rs6000-c.c (rs6000_pragma_longcall): Use
2048         integer_zerop and integer_onep instead of comparing against
2049         canonical trees.
2050
2051 2004-11-25  Richard Henderson  <rth@redhat.com>
2052
2053         PR c++/6764
2054         * reload1.c (set_initial_eh_label_offset): New.
2055         (set_initial_label_offsets): Use it.
2056
2057 2004-11-26  Alan Modra  <amodra@bigpond.net.au>
2058
2059         PR rtl-optimization/16356
2060         * config/rs6000/rs6000.md (floatdisf2_internal2): Rewrite with
2061         separate output register and one less jump.  Enable for powerpc64.
2062         (floatdisf2): Adjust for above.
2063
2064 2004-11-25  Ralf Corsepius <ralf.corsepius@rtems.org>
2065
2066         * config.gcc (avr-*-rtems*): Fix typo.
2067
2068 2004-11-24  Uros Bizjak  <uros@kss-loka.si>
2069
2070         PR rtl-optimization/18614
2071         * simplify-rtx.c (simplify_binary_operation): Do not
2072         simplify inner elements of constant arguments of
2073         VEC_CONCAT insn.
2074
2075 2004-11-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
2076
2077         Backport from mainline:
2078         2004-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
2079                     Roger Sayle  <roger@eyesopen.com>
2080
2081         PR middle-end/17813
2082         * dojump.c (discard_pending_stack_adjust): New function.
2083         (clear_pending_stack_adjust): Call it.
2084         * expr.h (discard_pending_stack_adjust): Declare it.
2085         * explow.c (emit_stack_save): Emit pending stack adjustments
2086         before saving the stack pointer.
2087         (emit_stack_restore): Discard pending stack adjustments before
2088         restoring the stack pointer.
2089
2090 2004-11-23  Ralf Corsepius <ralf.corsepius@rtems.org>
2091
2092         * config/c4x/t-rtems: New.
2093         * config.gcc: Reflect having added c4x/t-rtems.
2094
2095 2004-11-23  Ralf Corsepius <ralf.corsepius@rtems.org>
2096
2097         * config/arm/t-rtems: New.
2098         * config.gcc: Reflect having added arm/t-rtems.
2099
2100 2004-11-23  Ralf Corsepius <ralf.corsepius@rtems.org>
2101
2102         * config.gcc: Add avr-*-rtems*.
2103         * config/avr/t-rtems: New.
2104         * config/avr/rtems.h: New.
2105
2106 2004-11-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2107
2108         PR rtl-optimization/14838
2109         * emit-rtl.c (get_first_nonnote_insn): Don't assume first insn is a
2110         note.
2111         (get_last_nonnote_insn): Don't assume last insn is a note.
2112
2113 2004-11-21  Roger Sayle  <roger@eyesopen.com>
2114
2115         * fixinc/inclhack.def (alpha_pthread_init): Fix technical problems
2116         with the last check-in caused by CVS variable substitution.
2117         * fixinc/fixincl.x: Likewise.
2118         * fixinc/tests/base/pthread.h: Likewise.
2119
2120 2004-11-21  Roger Sayle  <roger@eyesopen.com>
2121             Bruce Korb  <bkorb@gnu.org>
2122
2123         Synchronize with mainline
2124         * fixinc/inclhack.def (alpha_pthread_init): New fix.
2125         * fixinc/fixincl.x: Regenerate.
2126         * fixinc/tests/base/pthread.h: Update for new test.
2127
2128 2004-11-17  Ramana Radhakrishnan  <ramana.radhakrishnan@codito.com>
2129
2130         PR target/18263
2131         * config/arc/lib1funcs.asm (___umulsidi3): Change use of cmp to the
2132         equivalent on the A4.
2133
2134 2004-11-16  Joseph S. Myers  <joseph@codesourcery.com>
2135
2136         PR c/18498
2137         * c-decl.c (grokdeclarator): Call check_bitfield_type_and_width
2138         after processing the declarator.
2139
2140 2004-11-14  Andrew Pinski  <pinskia@physics.uc.edu>
2141
2142         PR objc/18406
2143         * objc/obj-act.c (encode_type): 96bits doubles are encoded the
2144         same way as 64bit and 128bit doubles are.
2145
2146 2004-11-14  Hans-Peter Nilsson  <hp@bitrange.com>
2147
2148         PR target/18347
2149         * config/mmix/mmix.c (mmix_function_outgoing_value): Handle
2150         TImode.  Sorry for other non-complex larger-than-64-bit modes.
2151         * config/mmix/mmix.h (MIN_UNITS_PER_WORD): Do not define.
2152         (INIT_CUMULATIVE_ARGS): Correct unused macro name FNDECL.
2153
2154 2004-11-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
2155
2156         * doc/md.texi (constraints) <% modifier>: Mention that it is
2157         useless when the two alternatives are strictly identical.
2158
2159 2004-11-12  Richard Henderson  <rth@redhat.com>
2160
2161         PR 17778
2162         * config/i386/i386.h (TARGET_96_ROUND_53_LONG_DOUBLE): New.
2163         * config/i386/freebsd.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
2164         (TARGET_96_ROUND_53_LONG_DOUBLE): New.
2165         * config/i386/i386-modes.def (XF): Use it.
2166
2167 2004-11-12  Ralf Corsepius  <ralf.corsepius@rtems.org>
2168
2169         * config/rs6000/t-rtems (MULTILIB_NEW_EXCEPTIONS_ONLY):
2170         Remove m505/roe multilib variant.
2171
2172 2004-11-12  Eric Botcazou  <ebotcazou@act-europe.fr>
2173
2174         Backport from mainline:
2175         2004-02-25  Richard Henderson  <rth@redhat.com>
2176
2177         * config/alpha/alpha.c (alpha_emit_conditional_branch): Don't
2178         use (op0-op1) == 0 if op0 is a pointer.
2179
2180 2004-11-10  Joseph S. Myers  <joseph@codesourcery.com>
2181
2182         PR c/18322
2183         * c-common.c (fname_decl): Don't use line number of decl in
2184         diagnostic.
2185
2186 2004-11-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
2187
2188         * config/sparc/sparc.c (function_arg_union_value): New 'slotno'
2189         argument.  Return naked register for unions with zero length.
2190         When the union is passed in the 6th slot, build a PARALLEL with
2191         only one element.
2192         (function_arg): Adjust call to function_arg_union_value.
2193         (function_value): Likewise.
2194
2195 2004-11-09  H.J. Lu  <hongjiu.lu@intel.com>
2196
2197         PR target/18380
2198         * config/ia64/unwind-ia64.h (_Unwind_FindTableEntry): Mark it
2199         hidden.
2200
2201         * unwind-dw2.c (_Unwind_FindTableEntry): Removed.
2202
2203 2004-11-10  Alan Modra  <amodra@bigpond.net.au>
2204
2205         PR target/16480
2206         2004-08-26  Alan Modra  <amodra@bigpond.net.au>
2207         * config/rs6000/rs6000.c (rs6000_split_multireg_move): Don't abort
2208         on "(mem (symbol_ref ..))" rtl.  Look at LO_SUM base regs as well
2209         as PLUS base regs.
2210         2004-08-01  Geoffrey Keating  <geoffk@apple.com>
2211         * config/rs6000/rs6000.c (rs6000_split_multireg_move): Just abort
2212         if trying to *store* to a non-offsettable address.
2213         2004-07-30  Geoffrey Keating  <geoffk@apple.com>
2214         * config/rs6000/rs6000.c (rs6000_split_multireg_move): Cope with
2215         non-offsettable addresses being moved into multiple GPRs.
2216
2217 2004-11-07  Richard Sandiford  <rsandifo@redhat.com>
2218
2219         * config/mips/t-iris6 (tp-bit.c): Fix target filename.
2220
2221 2004-11-07  Mark Mitchell  <mark@codesourcery.com>
2222
2223         * version.c (version_string): Set to 3.4.4.
2224         * doc/include/gcc-common.texi (version): Likewise.
2225
2226 2004-11-04  Release Manager
2227
2228         * GCC 3.4.3 released.
2229
2230 2004-10-31  Jakub Jelinek  <jakub@redhat.com>
2231
2232         PR middle-end/18129
2233         * varasm.c (copy_constant): Don't copy STRING_CSTs if
2234         flag_writable_strings.
2235         (build_constant_desc): Call copy_constant unconditionally.
2236
2237 2004-10-30  Roger Sayle  <roger@eyesopen.com>
2238
2239         PR rtl-optimization/17581
2240         * cselib.c (cselib_process_insn): The last instruction of a libcall
2241         block, with the REG_RETVAL note, should be considered in the libcall.
2242         * gcse.c (do_local_cprop): Allow constants to be propagated outside
2243         of libcall blocks.
2244         (adjust_libcall_notes): Use simplify_replace_rtx instead of
2245         replace_rtx to avoid creating invalid RTL in REG_RETVAL notes.
2246
2247 2004-10-27  Andrew Pinski  <pinskia@physics.uc.edu>
2248
2249         PR other/18186
2250         * common.opt (--param): Fix spelling of parameter.
2251
2252 2004-10-27  Andreas Krebbel  <krebbel1@de.ibm.com>
2253
2254         * config/s390/s390.md ("*subdf3_cc"): Replaced plus by minus.
2255
2256 2004-10-26  Richard Sandiford  <rsandifo@redhat.com>
2257
2258         PR bootstrap/15747
2259         * doc/install.texi (mips-sgi-irix5): Document that /bin/sh has been
2260         reported to hang during bootstrap and that CONFIG_SHELL=/bin/ksh
2261         can be used to work around this.
2262
2263 2004-10-26  Roger Sayle  <roger@eyesopen.com>
2264             John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2265
2266         Backport 3.4 regression fix from mainline
2267         * cse.c: Change encoding of quantity numbers to avoid undefined
2268         pointer arithmetic on qty_table.
2269         (REGNO_QTY_VALID_P): A quantity is now valid if it isn't negative.
2270         (get_cse_reg_info): Initialize reg_qty to a unique negative value.
2271         (new_basic_block): Assign "real" quantity numbers from zero.
2272         (delete_reg_equiv): Do nothing if quantity is invalid.  Reset the
2273         REG_QTY to its unique negative value.
2274         (merge_equiv_classes): Calculate need_rehash if quantity is valid.
2275         (cse_main): Don't include max_reg when determining max_qty.
2276         (cse_basic_block): Avoid subtracting a large offset from qty_table,
2277         which causes undefined C99 behaviour.  Only allocate needed memory.
2278
2279 2004-10-25  Jakub Jelinek  <jakub@redhat.com>
2280
2281         * dwarf2out.c (rtl_for_decl_location): Avoid segfault if
2282         DECL_INCOMING_RTL is NULL.
2283
2284 2004-10-21  Eric Christopher  <echristo@redhat.com>
2285
2286         * config/rs6000/rs6000.c (setup_incoming_varargs): Align DFmode
2287         saves.
2288
2289 2004-10-22  Bernardo Innocenti  <bernie@develer.com>
2290
2291         Backport from the mainline:
2292         2004-10-22  Peter Barada  <peter@the-baradas.com>
2293         * config/m68k/m68k.h (HARD_REGNO_RENAME_OK): New macro.
2294         * config/m68k/m68k.c (m68k_hard regno_rename_ok): Disallow
2295         renaming of non-live registers in interrupt functions.
2296         * config/m68k/m68k-protos.h (m68k_hard_regno_rename_ok): Add prototype.
2297
2298 2004-10-21  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
2299
2300         * config/arc/lib1funcs.asm (___umulsidi3): Fix typo.
2301
2302 2004-10-21  Aldy Hernandez  <aldyh@redhat.com>
2303
2304         PR 18004.
2305         * expmed.c (store_bit_field): Pass original 'value' before
2306         recursing.
2307
2308 2004-10-21  Ramana Radhakrishnan  <ramana.radhakrishnan@codito.com>
2309
2310         * config/arc/lib1funcs.asm (___umulsidi3): Correct usage of flags.
2311
2312         PR target/17317
2313         * config/arc/arc.h (REGNO_OK_FOR_BASE_P,REGNO_OK_FOR_INDEX_P,
2314         REG_OK_FOR_BASE, REG_OK_FOR_INDEX): Consider blink(r31) as a valid
2315         base and index register for loads.
2316
2317         * config/arc/t-arc: Fix multilib handling.
2318
2319 2004-10-18  H.J. Lu  <hongjiu.lu@intel.com>
2320
2321         PR bootstrap/17684
2322         * Makefile.in (clean): Remove libgcc_s$(SHLIB_EXT).1.stage?.
2323         (stage1-start): Remove and copy libunwind.a and
2324         libunwind*$(SHLIB_EXT) instead of libunwind*.
2325         (stage2-start): Likewise.
2326         (stage3-start): Likewise.
2327         (stage4-start): Likewise.
2328         (stageprofile-start): Likewise.
2329         (stagefeedback-start): Likewise.
2330
2331         * config/alpha/t-osf4 (SHLIB_LINK): Use a temporary file for
2332         the shared library to be created and don't remove the existing
2333         shared library.
2334         * config/arm/t-netbsd (SHLIB_LINK): Likewise.
2335         * config/mips/t-iris5-6 (SHLIB_LINK): Likewise.
2336         * config/pa/t-hpux-shlib (SHLIB_LINK): Likewise.
2337         * config/sh/t-linux (SHLIB_LINK): Likewise.
2338         * config/t-libunwind-elf (SHLIBUNWIND_LINK): Likewise.
2339         * config/t-slibgcc-darwin (SHLIB_LINK): Likewise.
2340         * config/t-slibgcc-elf-ver (SHLIB_LINK): Likewise.
2341         * config/t-slibgcc-sld (SHLIB_LINK): Likewise.
2342
2343         * mklibgcc.in (libgcc-stage-start): Also move "*${objext}s"
2344         files.
2345
2346 2004-10-18  Jakub Jelinek  <jakub@redhat.com>
2347
2348         * config/i386/i386.md (addqi_1_slp): Test for incdec_operand
2349         operand 1 instead of 2
2350
2351 2004-10-17  David O'Brien  <obrien@FreeBSD.org>
2352
2353         * config/rs6000/sysv4.h (LINK_OS_FREEBSD_SPEC): Sync '-p' handling with
2354         other FreeBSD platforms.
2355
2356 2004-10-14  Richard Henderson  <rth@redhat.com>
2357
2358         PR debug/14492
2359         * dwarf2out.c (loc_descriptor_from_tree): Handle FIX_*_EXPR.
2360
2361 2004-10-14  Richard Henderson  <rth@redhat.com>
2362
2363         PR c/17023
2364         * c-parse.in (compstmt_primary_start): Check last_tree non-null,
2365         not current_function_decl non-null.
2366
2367 2004-10-14  Roger Sayle  <roger@eyesopen.com>
2368
2369         PR other/17361
2370         * c-opts.c (c_common_init_options): Scan command line options for
2371         "-lang-asm" and if found allow any of the C-family front-end options.
2372         Likewise, scan all command line options for g77's -traditional-cpp.
2373
2374 2004-10-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2375
2376         * doc/install.texi (*-*-solaris2*): Update with info about kernel
2377         patches to solve spurious testsuite failures.
2378
2379 2004-10-13  Andrew Pinski  <pinskia@physics.uc.edu>
2380
2381         * dwarf2out.c (rtl_for_decl_location): Do not use MEM_P but use
2382         GET_CODE == MEM.
2383
2384 2004-10-13  Richard Henderson  <rth@redhat.com>
2385
2386         PR debug/15860
2387         * dwarf2out.c (rtl_for_decl_location): Apply big-endian correction
2388         for DECL_INCOMING_RTL.
2389
2390 2004-10-13  Richard Henderson  <rth@redhat.com>
2391
2392         PR c/17384
2393         * c-common.c (handle_mode_attribute): Disallow mode changes that
2394         alter the CODE of the top-level type.
2395
2396         * crtstuff.c (__FRAME_END__): Remove mode attribute.  Find 32-bit
2397         integer from internal limits macros.
2398         * config/i386/emmintrin.h (__v2df): Fix base type.
2399         * config/i386/xmmintrin.h (__m128, __v4sf): Likewise.
2400
2401 2004-10-13  Richard Henderson  <rth@redhat.com>
2402
2403         PR debug/13841
2404         * function.c (instantiate_decl): Recurse for CONCAT.
2405
2406 2004-10-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
2407
2408         PR target/14454
2409         * config/sparc/sparc.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Set to
2410         sparc_can_output_mi_thunk.
2411         (sparc_output_mi_thunk): Simplify handling of delta offset.  Add
2412         handling of vcall offset.
2413         (sparc_can_output_mi_thunk): New predicate.
2414         * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Document VCALL_OFFSET.
2415         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Delete.
2416         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New target hook.
2417
2418         * config/sparc/sparc.md (movdi): Remove redundant test.
2419
2420 2004-10-12  Richard Henderson  <rth@redhat.com>
2421
2422         PR rtl-opt/17503
2423         * regclass.c (subregs_of_mode): Turn into an htab.  Make static.
2424         (som_hash, som_eq): New.
2425         (init_subregs_of_mode, record_subregs_of_mode): New.
2426         (cannot_change_mode_set_regs): Rewrite for htab implementation.
2427         (invalid_mode_change_p): Likewise.
2428         * combine.c (gen_lowpart_for_combine): Use record_subregs_of_mode.
2429         * flow.c (mark_used_regs): Likewise.
2430         (life_analysis): Use init_subregs_of_mode.
2431         * regs.h (subregs_of_mode): Remove.
2432         * rtl.h (init_subregs_of_mode, record_subregs_of_mode): Declare.
2433
2434 2004-10-10  Roger Sayle  <roger@eyesopen.com>
2435
2436         PR rtl-optimization/17853
2437         * combine.c (combine_simplify_rtx): Don't attempt any simplifications
2438         of vector mode comparison operators.
2439         * cse.c (fold_rtx): Likewise.
2440         * simplify-rtx.c (simplify_gen_relational):  Avoid calling
2441         simplify_relational_operation with vector mode comparison operators.
2442         (simplify_rtx): Likewise.
2443
2444 2004-10-09  Joseph S. Myers  <joseph@codesourcery.com>
2445
2446         * config/rs6000/spe.h (atosfix16, atosfix32, atosfix64, atoufix16,
2447         atoufix32, atoufix64, strtosfix16, strtosfix32, strtosfix64,
2448         strtoufix16, strtoufix32, strtoufix64): Declare.
2449
2450 2004-10-08  Andrew Pinski  <pinskia@physics.uc.edu>
2451
2452         PR c/16999
2453         * c-ppoutput.c (cb_ident): Don't quote string as it is already
2454         quoted.
2455
2456 2004-10-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
2457
2458         PR target/17245
2459         * config/sparc/sparc.c (input_operand): Remove redundant code
2460         for handling LO_SUM.
2461         (legitimate_address_p) <REG+REG>: Do not recheck TARGET_V9.
2462         <LO_SUM>: If LO_SUM is offsettable, accept it for TFmode on V9.
2463         Otherwise only accept it for TFmode if quad move insns are available.
2464
2465 2004-10-07  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
2466
2467         PR c++/17115
2468         * tree-inline.c (expand_call_inline): Do not warn for functions
2469         marked with attribute noinline.
2470
2471 2004-10-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
2472
2473         * doc/install.texi (*-*-solaris2*): Fix marker for URL.
2474
2475 2004-10-07  Richard Sandiford  <rsandifo@redhat.com>
2476
2477         PR target/17770
2478         * config/mips/mips.md (mov_lwl): Remove hazard=none attribute.
2479
2480 2004-10-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
2481
2482         PR rtl-optimization/17027
2483         Backport from mainline:
2484         * cfglayout.c (fixup_fallthru_exit_predecessor): If the first block
2485         falls through to exit, split it.
2486         * cfgrtl.c (rtl_split_block): If no insn is specified, split on the
2487         first insn in the basic block.
2488
2489 2004-10-06  H.J. Lu  <hongjiu.lu@intel.com>
2490
2491         * doc/invoke.text (freorder-functions): Add a leading `.' to
2492         "text.hot" and "text.unlikely" sections.
2493
2494 2004-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
2495
2496         PR target/16007
2497         * doc/install.texi (*-*-solaris2*): Mention potential problem
2498         with Sun assembler + GNU linker and C++ programs.
2499         Document status of binutils 2.15 release.
2500
2501 2004-10-06  Alan Modra  <amodra@bigpond.net.au>
2502
2503         PR 16406
2504         * doc/tm.texi (LIBGCC_SPEC): Mention modifications.
2505         (USE_LD_AS_NEEDED, LINK_EH_SPEC): Document.
2506
2507 2004-10-03  Alan Modra  <amodra@bigpond.net.au>
2508
2509         * config/rs6000/linux.h (TARGET_C99_FUNCTIONS): Define.
2510         (OS_MISSING_POWERPC64): Move, and comment.
2511         * config/rs6000/linux64.h (TARGET_C99_FUNCTIONS): Define.
2512         (OS_MISSING_POWERPC64): Move, and comment.
2513
2514 2004-10-01  Nick Clifton  <nickc@redhat.com>
2515
2516         * config/stormy16/stormy16.c (TARGET_BUILD_BUILTIN_VA_LIST_TYPE):
2517         Fix typo in macro name, it should be: TARGET_BUILD_BUILTIN_VA_LIST.
2518
2519 2004-09-30  Richard Henderson  <rth@redhat.com>
2520
2521         * config/alpha/qrnnd.asm: Mark for noexecstack.
2522
2523 2004-09-30  Richard Henderson  <rth@redhat.com>
2524
2525         * unwind-dw2.c (_Unwind_GetGR): Honor DWARF_ZERO_REG.
2526         * doc/tm.texi (DWARF_ZERO_REG): New.
2527
2528         * config/alpha/alpha.c (alpha_sa_mask, alpha_expand_prologue,
2529         alpha_expand_epilogue): Revert 2003-09-30 change to store zero.
2530         * config/alpha/alpha.h (DWARF_ZERO_REG): New.
2531
2532 2004-09-29  David Edelsohn  <edelsohn@gnu.org>
2533
2534         PR target/17493
2535         Backport from mainline
2536         2004-07-16  Segher Boessenkool  <segher@kernel.crashing.org>
2537         * config/rs6000/eabi.asm (__eabi_convert): Fix typo (cmpi vs. cmpwi).
2538
2539 2004-09-28  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
2540
2541         PR target/14064
2542         Backport from mainline
2543         2004-09-01  James E Wilson  <wilson@specifixinc.com>
2544         * config/avr/avr.c (avr_unique_section): Delete prototype and
2545         definition.
2546         (TARGET_ASM_UNIQUE_SECTION): Delete.
2547
2548 2004-09-26  Roger Sayle  <roger@eyesopen.com>
2549
2550         PR other/15526
2551         Backport from mainline
2552         2004-05-20  Falk Hueffner  <falk@debian.org>
2553         * libgcc2.c (__mulvsi3): Fix overflow test.
2554
2555 2004-09-24  Roger Sayle  <roger@eyesopen.com>
2556
2557         PR rtl-optimization/9771
2558         * regclass.c (CALL_REALLY_USED_REGNO_P): New macro to eliminate
2559         conditional compilation in init_reg_sets_1.
2560         (init_reg_sets_1): Let global_regs[i] take priority over the frame
2561         (but not stack) pointer exceptions to regs_invalidated_by_call.
2562         (globalize_reg): Globalizing a fixed register may need to update
2563         regs_invalidated_by_call.
2564
2565 2004-09-23  Denis Chertykov  <denisc@overta.ru>
2566
2567         PR target/16884
2568         * config/avr/avr.md ("movmemhi"): Substitute match_dup to
2569         match_scratch.
2570         (*movmemqi_insn): Likewise.
2571         (*movmemhi): Likewise.
2572         (clrmemhi): Likewise.
2573         (*clrmemqi): Likewise.
2574         (*clrmemhi): Likewise.
2575
2576 2004-09-23  H.J. Lu  <hongjiu.lu@intel.com>
2577
2578         PR bootstrap/17369
2579         * Makefile.in (@set_gcc_lib_path@): Added.
2580
2581         * configure.ac: Include ../config/gcc-lib-path.m4. Use
2582         TL_AC_GNU_MAKE_GCC_LIB_PATH.
2583         * configure: Regenerated.
2584
2585 2004-09-23  Joseph S. Myers  <jsm@polyomino.org.uk>
2586
2587         PR c/16566
2588         * c-typeck.c (build_component_ref): Don't special-case
2589         COMPOUND_EXPR.
2590
2591 2004-09-22  Ralf Corsepius  <corsepiu@faw.uni-ulm.de>
2592
2593         PR target/15583
2594         * config/rs6000/rtems.h (TARGET_OS_CPP_BUILTINS): Add
2595         builtin_define ("__USE_INIT_FINI__").
2596
2597 2004-09-20  Richard Sandiford  <rsandifo@redhat.com>
2598
2599         PR target/17565
2600         * config/mips/mips.md (define_asm_attributes): Set can_delay to no.
2601
2602 2004-09-15  James E Wilson  <wilson@specifixinc.com>
2603
2604         PR target/17455
2605         * config/ia64/ia64.c (ia64_function_ok_for_sibcall): Return false
2606         if current_function_decl is a sibcall.
2607
2608 2004-09-15  Alan Modra  <amodra@bigpond.net.au>
2609
2610         * config/rs6000/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Save
2611         location of CR.
2612         * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Ditto.
2613
2614 2004-09-15  Eric Botcazou  <ebotcazou@libertysurf.fr>
2615
2616         * doc/install.texi (sparc-sun-solaris2*): Properly format warning.
2617
2618 2004-09-14  Richard Henderson  <rth@redhat.com>
2619
2620         PR rtl-opt/17186
2621         * function.c (expand_function_end): Revert last change.
2622
2623         * sibcall.c (call_ends_block_p): Fix thinko finding the
2624         last real insn in a block.
2625
2626 2004-09-14  Joseph S. Myers  <jsm@polyomino.org.uk>
2627
2628         PR c/15498
2629         * doc/invoke.texi (Environment Variables): Correct example locale.
2630
2631 2004-09-14  Daniel Jacobowitz  <dan@debian.org>
2632
2633         * reload.c (find_reloads): Swap operand_loc pointers for
2634         find_dummy_reload if we have swapped two operands.
2635
2636 2004-09-13  Richard Henderson  <rth@redhat.com>
2637
2638         PR inline-asm/6806
2639         * cselib.c (cselib_invalidate_rtx): Export.  Remove unused args.
2640         (cselib_invalidate_rtx_note_stores): New.
2641         (cselib_record_sets, cselib_process_insn): Update to match.
2642         * cselib.h (cselib_invalidate_rtx): Declare.
2643         * postreload.c (reload_cse_simplify): Invalidate asm clobbers.
2644
2645 2004-09-11  Ramana Radhakrishnan <ramana.radhakrishnan@codito.com>
2646
2647         PR target/11476
2648         * gcc/config/arc/arc.c (arc_va_args): Call build1 instead
2649         of build for unary tree operators.
2650
2651 2004-09-11  Andrew Pinski  <apinski@apple.com>
2652
2653         PR target/17167
2654         backport from the mainline:
2655         2004-02-28  Andrew Pinski  <pinskia@physics.uc.edu>
2656         * config/darwin.h (machopic_finish): Output stub even if
2657         the symbol is already defined.
2658         2004-02-27  Dale Johannesen  <dalej@apple.com>
2659         * config/darwin.c (machopic_output_possible_stub_label):
2660         Remove.
2661         config/darwin-protos.h:  Ditto.
2662         config/darwin.h:  Remove call to it.
2663
2664 2004-09-11  David Edelsohn  <edelsohn@gnu.org>
2665
2666         PR target/17277
2667         * config/rs6000/aix.h (MD_FROB_UPDATE_CONTEXT): Use __64BIT__ to
2668         choose 64-bit version.
2669
2670 2004-09-09  Kaz Kojima  <kkojima@gcc.gnu.org>
2671
2672         PR 15886
2673         Backport from mainline:
2674         2004-06-11  J"orn Rennecke <joern.rennecke@superh.com>
2675
2676         * sh.h (ALLOCATE_INITIAL_VALUE): Use return_address_pointer_rtx.
2677
2678 2004-09-09  Alan Modra  <amodra@bigpond.net.au>
2679
2680         * config/rs6000/rs6000.c (rs6000_stack_info): Correct alignment of
2681         save_size.
2682
2683 2004-09-08  H.J. Lu  <hongjiu.lu@intel.com>
2684
2685         * configure: Regenerated.
2686
2687 2004-09-08  Richard Henderson  <rth@redhat.com>
2688
2689         PR rtl-opt/17186
2690         * function.c (expand_function_end): Have fall-off-the-end
2691         return path jump around return register setup.
2692
2693 2004-09-08  H.J. Lu  <hongjiu.lu@intel.com>
2694
2695         PR target/14925:
2696         Makefile.in (LIB2ADDEHSTATIC): New.
2697         (LIB2ADDEHSHARED): New.
2698         (LIBUNWIND): New.
2699         (LIBUNWINDDEP): New.
2700         (SHLIBUNWIND_LINK): New.
2701         (SHLIBUNWIND_INSTALL): New.
2702         (libgcc.mk): Pass LIB2ADDEHSTATIC, LIB2ADDEHSHARED, LIBUNWIND,
2703         LIBUNWINDDEP, SHLIBUNWIND_LINK and SHLIBUNWIND_INSTALL.
2704         (clean): Remove libunwind*
2705         (stage1-start): Remove and copy stage1/libunwind*.
2706         (stage2-start): Remove and copy stage2/libunwind*.
2707         (stage3-start): Remove and copy stage3/libunwind*.
2708         (stage4-start): Remove and copy stage4/libunwind*.
2709         (stageprofile-start): Remove and copy stageprofile/libunwind*.
2710         (stagefeedback-start): Remove and copy stagefeedback/libunwind*.
2711
2712         * config.gcc (ia64*-*-linux*): Always add t-libunwind to
2713         tmake_file. Add t-libunwind-elf and ia64/t-glibc-libunwind to
2714         tmake_file if --with-system-libunwind isn't used.
2715
2716         * config/ia64/t-glibc-libunwind: New file.
2717         * config/t-libunwind-elf: Likewise.
2718         * unwind-compat.c: Likewise.
2719         * unwind-compat.h: Likewise.
2720         * unwind-dw2-fde-compat.c: Likewise.
2721
2722         * config/ia64/t-glibc (LIB2ADDEH): Updated.
2723         * config/ia64/t-hpux (T_CFLAGS): Add -DUSE_LIBUNWIND_EXCEPTIONS.
2724
2725         * config/ia64/unwind-ia64.c: Include "unwind-compat.h". Define
2726         aliases if needed.
2727         * unwind-dw2-fde-glibc.c: Likewise.
2728         * unwind-dw2.c: Likewise.
2729
2730         * config/t-libunwind (LIB2ADDEH): Updated.
2731         (LIB2ADDEHSTATIC): New.
2732         (T_CFLAGS): Add -DUSE_LIBUNWIND_EXCEPTIONS.
2733         (TARGET_LIBGCC2_CFLAGS): Set to -DUSE_GAS_SYMVER.
2734
2735         * configure.ac: Change --enable-libunwind-exceptions to
2736         --with-system-libunwind. Don't define USE_LIBUNWIND_EXCEPTIONS.
2737         * configure: Regenerated.
2738         * config.in: Updated.
2739
2740         * doc/install.texi (ia64-*-linux): Require libunwind 0.98 or
2741         above and mention --with-system-libunwind.
2742         (ia64-*-hpux*): Mention --enable-libunwind-exceptions is
2743         removed in gcc 3.4.3 and later.
2744
2745         * gcc.c (init_spec): Add -lunwind to -lgcc_s if
2746         USE_LIBUNWIND_EXCEPTIONS is defined.
2747
2748         * mklibgcc.in: Support libunwind.
2749
2750 2004-09-07  Mark Mitchell  <mark@codesourcery.com>
2751
2752         * version.c (version_string): Restore pre-release marker.
2753         * doc/include/gcc-common.texi: Set version to 3.4.3.
2754
2755 2004-09-06  Release Manager
2756
2757         * GCC 3.4.2 released.
2758
2759 2004-09-05  Mark Mitchell <mark@codesourcery.com>
2760
2761         PR bootstrap/17325
2762         Backport from mainline
2763         2004-06-23  Wu Yongwei  <adah@sh163.net>
2764         * gthr-win32.h (__GTHREAD_MUTEX_INIT_DEFAULT): Adjust.
2765         (__gthr_i486_lock_cmp_xchg): New inline assembly function.
2766         (__GTHR_W32_InterlockedCompareExchange): New macro to choose a
2767         suitable function for interlocked compare-and-exchange.
2768         (__gthread_mutex_trylock): Use
2769         __GTHR_W32_InterlockedCompareExchange.
2770         (__gthread_mutex_init_function, __gthread_mutex_lock,
2771         __gthread_mutex_trylock, __gthread_mutex_unlock): Adjust the
2772         initial counter value to work correctly under Windows 95.
2773         * config/i386/gthr-win32.c: Adjust include order.
2774         Define __GTHREAD_I486_INLINE_LOCK_PRIMITIVES before including
2775         gthr-win32.h.
2776         (__gthr_win32_mutex_init_function, __gthr_win32_mutex_lock,
2777         __gthr_win32_mutex_trylock, __gthr_win32_mutex_unlock): Adjust
2778         to match inline versions in gthr-win32.h.
2779
2780         2004-04-27  Wu Yongwei  <adah@sh163.net>
2781         * gthr-win32.h (__gthread_mutex_t): Change typedef to new structure.
2782         (__GTHREAD_MUTEX_INIT_DEFAULT): Adjust.
2783         (__gthread_mutex_init_function): Replace CreateMutex with
2784         initialization of custom mutex using CreateSemaphore.
2785         (__gthread_mutex_lock): Use InterlockedIncrement.
2786         (__gthread_mutex_trylock): Use InterlockedCompareExchange.
2787         (__gthread_mutex_unlock): Use InterlockedDecrement and
2788         ReleaseSemaphore to unlock
2789         * config/i386/gthr-win32.c (__gthread_mutex_init_function,
2790         __gthread_mutex_lock, __gthread_mutex_trylock,
2791         __gthread_mutex_unlock): Adjust to match inline versions in
2792         gthr-win32.h.
2793
2794 2004-09-03  Kaz Kojima  <kkojima@gcc.gnu.org>
2795
2796         PR target/17303
2797         Backport from mainline:
2798         2004-08-31  Kaz Kojima  <kkojima@gcc.gnu.org>
2799
2800         * config/sh/sh.c (output_branch): Check the insn length possibly
2801         in the delayed slot.
2802
2803 2004-09-01  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2804
2805         PR rtl-optimization/16408
2806         * gcse.c (replace_store_insn): Fix LIBCALL/RETVAL notes.
2807
2808 2004-09-01  Richard Henderson  <rth@redhat.com>
2809
2810         * config/ns32k/ns32k.h (TRANSFER_FROM_TRAMPOLINE): Remove.
2811         (TRAMPOLINE_TEMPLATE): Merge code from __trampoline inline.
2812
2813 2004-09-01  Jakub Jelinek  <jakub@redhat.com>
2814
2815         * libgcc-std.ver (GCC_3.4.2): Export also __trampoline_setup.
2816
2817 2004-09-01  Jakub Jelinek  <jakub@redhat.com>
2818
2819         * fold-const.c (operand_equal_p): Require equal sign also for
2820         FIX_{CEIL,TRUNC,FLOOR,ROUND}_EXPR.
2821
2822 2004-08-31  Jeff Law  <law@redhat.com>
2823
2824         * gcse.c (remove_reachable_equiv_notes): Scan loops where
2825         the store expression is killed for REG_EQUAL/REG_EQUIV notes
2826         that need to be removed.
2827
2828 2004-08-30  Mark Mitchell  <mark@codesourcery.com>
2829
2830         Revert:
2831         2004-08-29  Mark Mitchell  <mark@codesourcery.com>
2832         PR rtl-optimization/16590
2833         * gcse.c (pre_delete): Do not create invalid REG_EQUAL notes.
2834
2835 2004-08-29  Mark Mitchell  <mark@codesourcery.com>
2836
2837         PR rtl-optimization/16590
2838         * gcse.c (pre_delete): Do not create invalid REG_EQUAL notes.
2839
2840 2004-08-26  Richard Henderson  <rth@redhat.com>
2841
2842         * config/alpha/alpha.h (HARD_REGNO_MODE_OK): Allow complex float
2843         modes.
2844
2845 2004-08-26  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
2846
2847         PR target/17119.
2848         * config/m32r.c (gen_compare): Use reg_or_int16_operand when
2849         checking for a valid constant, regardless of sign.
2850
2851 2004-08-25  Richard Henderson  <rth@redhat.com>
2852
2853         PR target/16974
2854         * config/alpha/alpha.md (adddi_fp_hack): Don't rely on splitting
2855         if the constant satisfies add_operand.
2856
2857 2004-08-25  Richard Henderson  <rth@redhat.com>
2858
2859         PR debug/10695
2860         * config/alpha/alpha.c (emit_frame_store_1, emit_frame_store): New.
2861         (alpha_expand_prologue): Handle >32-bit frames.  Generate proper
2862         unwind info for >16-bit frames.
2863
2864 2004-08-25  Richard Henderson  <rth@redhat.com>
2865
2866         * config/alpha/alpha.c (alpha_cannot_force_const_mem): New.
2867         (TARGET_CANNOT_FORCE_CONST_MEM): New.
2868
2869 2004-08-25  Richard Earnshaw  <rearnsha@arm.com>
2870
2871         PR target/15927
2872         * arm.h (THUMB_SECONDARY_OUTPUT_RELOAD_CLASS): Don't need a secondary
2873         reload if CLASS is BASE_REGS.
2874
2875 2004-08-25  Richard Earnshaw  <rearnsha@arm.com>
2876
2877         * PR target/15948
2878         * arm.md (bicsi3_cbranch): Add alternative to handle tying operands
2879         one and two.
2880
2881 2004-08-24  Richard Henderson  <rth@redhat.com>
2882
2883         PR target/16298
2884         * config/i386/i386.c (legitimate_constant_p): Rework to not accept
2885         random codes within CONST.
2886
2887 2004-08-24  Paolo Bonzini  <bonzini@gnu.org>
2888
2889         PR target/17113
2890         * config/i386/i386.md (movv16qi_internal): Fix typo.
2891
2892 2004-08-24  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
2893
2894         PR target/17093
2895         * config/m32r/m32r.md (movsi_sda): Add SI mode specification to
2896         UNSPEC.
2897
2898 2004-08-24  Jonathan Wakely  <redi@gcc.gnu.org>
2899
2900         * doc/trouble.texi (C++ misunderstandings): Fix example code.
2901
2902 2004-08-23  Roger Sayle  <roger@eyesopen.com>
2903
2904         PR rtl-optimization/17078
2905         * c-semantics.c (expand_unreachable_if_stmt): If the end of the
2906         specified statement list is reachable, always return a non-NULL
2907         pointer.  If necessary, return error_mark_node.
2908
2909 2004-08-23  Mark Mitchell  <mark@codesourcery.com>
2910
2911         PR c/14492
2912         * dwarf2out.c (loc_descriptor_from_tree): Robustify.
2913
2914         PR c/16180
2915         * jump.c (duplicate_loop_exit_test): If the location reached by
2916         the unconditional jump at the top of the loop is outside the loop,
2917         then do not treat it as the exit test.
2918
2919 2004-08-23  Janis Johnson  <janis187@us.ibm.com>
2920
2921         Backports from mainline:
2922
2923         2004-02-11  Ziemowit Laski  <zlaski@apple.com>
2924         2004-02-21  Ziemowit Laski  <zlaski@apple.com>
2925         2004-02-27  Ziemowit Laski  <zlaski@apple.com>
2926         2004-03-04  Ziemowit Laski  <zlaski@apple.com>
2927         2004-03-20  Ziemowit Laski  <zlaski@apple.com>
2928         2004-03-24  Ziemowit Laski  <zlaski@apple.com>
2929         2004-05-11  Fariborz Jahanian <fjahanian@apple.com>
2930         2004-07-23  Janis Johnson  <janis187@us.ibm.com>
2931         2004-08-12  Janis Johnson  <janis187@us.ibm.com>
2932         2004-08-12  Ben Elliston <bje@au.ibm.com>
2933         2004-08-16  Janis Johnson  <janis187@us.ibm.com>
2934
2935         * c-common.c (vector_size_helper): Remove; call
2936         reconstruct_complex_type() instead.
2937         * hooks.c (hook_constcharptr_tree_null): New hook.
2938         * hooks.h (hook_constcharptr_tree_null): New prototype.
2939         * target-def.h (TARGET_MANGLE_FUNDAMENTAL_TYPE): New target hook.
2940         * target.h (mangle_fundamental_type): New target hook.
2941         * tree.c (reconstruct_complex_type): New function
2942         (formerly vector_size_helper() in c-common.c).
2943         (make_vector): Make externally visible.
2944         * tree.h (reconstruct_complex_type, make_vector): Add prototypes.
2945         * doc/extend.texi (AltiVec builtins): Document additional differences
2946         from the Motorola AltiVec PIM.
2947         * doc/tm.texi (TARGET_MANGLE_FUNDAMENTAL_TYPE): Document.
2948         * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Refer to
2949         SUBTARGET_OPTION_TRANSLATE_TABLE for architecture-specific options.
2950         * config/i386/darwin.h (SUBTARGET_OPTION_TRANSLATE_TABLE): Define it.
2951         * config/rs6000/altivec.h: #error out if '-maltivec' not specified.
2952         (vector, pixel, bool): #define to __vector, __pixel and __bool.
2953         Change vector to __vector (except for the `vector' macro itself).
2954         (__un_args_eq, __bin_args_eq, __tern_args_eq): Move to C-specific
2955         portion of header.
2956         (__altivec_link_error_invalid_argument): Remove prototype; will use
2957         __builtin_altivec_compiletime_error("vec_*") instead.
2958         (vec_*): Fix/complete set of available operation overloads given the
2959         existence of distinct 'vector bool ...' and 'vector pixel' types;
2960         tighten cv-correctness of pointer arguments; in C, always check for
2961         correct argument types before macro expansion.
2962         (vec_splat_s8, vec_splat_s16, vec_splat_s32, vec_splat_u8,
2963         vec_splat_u16, vec_splat_u32): Change C++ definitions to accept a
2964         'const int' argument; the prototypes already do.
2965         (vec_dst, vec_dstst, vec_dststt, vec_dstt, vec_sld, vec_splat): Add
2966         prototypes, marked with always_inline attribute.
2967         * config/rs6000/darwin.h (SUBTARGET_OPTION_TRANSLATE_TABLE): New macro
2968         defining Darwin/PowerPC-specific '-f[no-]altivec' and
2969         '-W[no-]altivec-long-deprecated' switches.
2970         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Pre-define
2971         '__vector', '__pixel' and '__bool' macros using
2972         '__attribute__((altivec(...)))' types.
2973         * config/rs6000/rs6000.c (bool_char_type_node, bool_short_type_node,
2974         bool_int_type_node, pixel_type_node, bool_V16QI_type_node,
2975         bool_V8HI_type_node, bool_V4SI_type_node, pixel_V8HI_type_node):
2976         New type nodes.
2977         (rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch): New, for
2978         handling '-W[no-]altivec-long-deprecated'.
2979         (rs6000_override_options): Handle '-W[no-]altivec-long-deprecated'.
2980         (rs6000_expand_binop_builtin, rs6000_expand_ternop_builtin,
2981         altivec_expand_dst_builtin): Remove casts from integer literals.
2982         (altivec_expand_builtin): Likewise; handle expansion of new
2983         '__builtin_altivec_compiletime_error' function.
2984         (rs6000_init_builtins): Initialize 'vector bool ...' and 'vector pixel'
2985         types, and make them distinct from other vector types; register
2986         '__builtin_altivec_compiletime_error' function.
2987         (print_operand): For 'P', print a full target register name instead of
2988         merely its number.
2989         (rs6000_attribute_table): Add "altivec" attribute.
2990         (rs6000_handle_altivec_attribute): New function.
2991         (rs6000_common_init_builtins): Rename v4si_ftype_char, v8hi_ftype_char,
2992         v16qi_ftype_char, v4sf_ftype_v4si_char, v4si_ftype_v4sf_char,
2993         v4si_ftype_v4si_char, v8hi_ftype_v8hi_char, v16qi_ftype_v16qi_char,
2994         v16qi_ftype_v16qi_v16qi_char, v8hi_ftype_v8hi_v8hi_char,
2995         v4si_ftype_v4si_v4si_char and v4sf_ftype_v4sf_v4sf_char to
2996         end in ..._int; change them to accept an int instead of a char
2997         as the last parameter.
2998         (altivec_expand_dst_builtin): Treat expansion as completed even if
2999         literal argument is invalid (so that other expansions are not tried
3000         in vain).
3001         (TARGET_MANGLE_FUNDAMENTAL_TYPE): Point target hook at
3002         rs6000_mangle_fundamental_type.
3003         (rs6000_mangle_fundamental_type): New function.
3004         * config/rs6000/rs6000.h (TARGET_OPTIONS): Describe
3005         '-m[no-]-warn-altivec-long' (which '-W[no-]altivec-long-deprecated'
3006         maps to).
3007         (rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch): Forward
3008         declare.
3009         (ALTIVEC_BUILTIN_COMPILETIME_ERROR): New built-in enumeration.
3010
3011 2004-08-20  Jakub Jelinek  <jakub@redhat.com>
3012
3013         PR target/16195
3014         * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Make r30
3015         fixed if TARGET_TOC && TARGET_MINIMAL_TOC.
3016         * config/rs6000/rs6000.c (first_reg_to_save): Pretend
3017         call_used_regs[30] is 0 if TARGET_TOC && TARGET_MINIMAL_TOC.
3018         (rs6000_emit_prologue, rs6000_emit_epilogue): Likewise.
3019
3020 2004-08-17  Joseph S. Myers  <jsm@polyomino.org.uk>
3021
3022         * c-decl.c (grokdeclarator): Allow for function definition where
3023         innermost declarator has attributes.
3024
3025 2004-08-17  Daniel Bornstein  <danfuzz@milk.com>
3026
3027         PR target/17019
3028         * arm.md (addsi3_cbranch_scratch): Correct case labels.
3029
3030 2004-08-14  Roger Sayle  <roger@eyesopen.com>
3031             David Billinghurst  <David.Billinghurst@riotinto.com>
3032
3033         PR libgfortran/15930
3034         * fixinc/inclhack.def (irix___generic1, irix___generic2): New.
3035         * fixinc/fixincl.x: Regenerate.
3036         * fixinc/tests/base/internal/math_core.h: New file
3037
3038 2004-08-14  Roger Sayle  <roger@eyesopen.com>
3039             Bruce Korb  <bkorb@gnu.org>
3040
3041         * fixinc/inclhack.def (aix_syswait_2): New fix.
3042         * fixinc/fixincl.x: Regenerate.
3043         * fixinc/tests/base/sys/wait.h: Update for new test.
3044
3045 2004-08-14  Gerald Pfeifer  <gerald@pfeifer.com>
3046             Dimitri Papadopoulos-Orfanos  <papadopo@shfj.cea.fr>
3047             Dave Korn  <dk@artimi.com>
3048
3049         * doc/install.texi (Building): Avoid duplicate reference to GNU
3050         make requirement.
3051         (*-*-solaris2*): Do not recommend GNU make any longer.  Simplify.
3052
3053 2004-08-13  J"orn Rennecke <joern.rennecke@superh.com>
3054
3055         * sh.md (cbranch define_delay) Use cond_delay_slot for
3056         non-anulled condition too.
3057
3058 2004-08-11  Mark Mitchell  <mark@codesourcery.com>
3059
3060         PR c++/16618
3061         * ginclude/stddef.h (offsetof): Refine C++ definition.
3062
3063 2004-08-12  Alan Modra  <amodra@bigpond.net.au>
3064
3065         Merge from mainline.
3066         2004-07-01  Alan Modra  <amodra@bigpond.net.au>
3067         * config/rs6000/rs6000.c (rs6000_mixed_function_arg): Rewrite.
3068         (function_arg): Use rs6000_arg_size rather than CLASS_MAX_NREGS in
3069         calculating gpr size for altivec.  Simplify and correct
3070         rs6000_mixed_function_arg calls.  Call rs6000_mixed_function_arg
3071         for ABI_V4 gpr case too.  Fix off-by-one error in long double
3072         reg test.  Generate the correct PARALLEL to handle long double
3073         for ABI_AIX 32-bit.  Use this for -m32 -mpowerpc64 fpr case too.
3074         (function_arg_partial_nregs): Align before calculating regs left.
3075         Don't return info on partial fprs when we need info on gprs.
3076         Correct long double fpr off-by-one error.
3077
3078 2004-08-11  James E Wilson  <wilson@specifixinc.com>
3079
3080         PR rtl-optimization/16490
3081         * cfgrtl.c (cfg_layout_split_edge): Set global_live_at_start and
3082         global_live_at_end for new basic block if already set for other blocks.
3083
3084 2004-08-07  Roger Sayle  <roger@eyesopen.com>
3085
3086         PR middle-end/16790
3087         * fold-const.c (expand_muldiv_1) <NOP_EXPR>: Disallow local
3088         truncations, not just global truncations.
3089
3090 2004-08-07  Alan Modra  <amodra@bigpond.net.au>
3091
3092         * config/rs6000/rs6000.c (function_arg_padding): Revert 2004-07-28.
3093
3094 2004-08-04  Zack Weinberg  <zack@codesourcery.com>
3095
3096         PR 13956
3097         * dbxout.c (dbx_output_lbrac, dbx_output_rbrac): New
3098         functions, broken out of dbxout_block.
3099         (dbxout_block): The block at depth 0 should get LBRAC/RBRAC
3100         stabs too, if it contains symbols.  Use the begin_label and
3101         the Lscope label (emitted by dbxout_function_end) for the
3102         range of this block.
3103         (dbxout_function_decl): Always call dbxout_function_end.
3104         (dbxout_function_end): Return after emitting the "Lscope" symbol
3105         under the same conditions that this function formerly wasn't called.
3106         Add explanatory comments.
3107
3108 2004-08-03  Yossi Markovich <yossim@il.ibm.com>
3109             Mostafa Hagog <mustafa@il.ibm.com>
3110
3111         * config/rs6000/altivec.md (altivec_vnmsubfp): Fix wrong pattern.
3112
3113 2004-07-31  Andrew Pinski  <apinski@apple.com>
3114
3115         PR other/16842
3116         * mkheaders.in (libsubdir): s/gcc-lib/gcc/.
3117
3118 2004-07-28  Aldy Hernandez  <aldyh@redhat.com>
3119
3120         * config/rs6000/rs6000.md ("move_from_CR_gt_bit"): Rename to
3121         move_from_CR_eq_bit.
3122         Rename UNSPEC_MV_CR_GT to UNSPEC_MV_CR_EQ.
3123
3124
3125         * config/rs6000/spe.md ("e500_flip_gt_bit"): Rename to
3126         e500_flip_eq_bit.
3127
3128         * config/rs6000/rs6000-protos.h: Rename output_e500_flip_gt_bit to
3129         output_e500_flip_eq_bit.
3130
3131         * config/rs6000/rs6000.c (output_e500_flip_gt_bit): Rename to
3132         output_e500_flip_eq_bit.
3133         (rs6000_emit_sCOND): Rename call to output_e500_flip_gt_bit to
3134         output_e500_flip_eq_bit.
3135         Rename gen_move_from_CR_gt_bit to gen_move_from_CR_eq_bit.
3136         (print_operand): case D.  Get to EQ bit.
3137
3138 2004-07-28  Alan Modra  <amodra@bigpond.net.au>
3139
3140         * config/rs6000/rs6000.c (function_arg_padding): Pad SFmode upwards.
3141
3142 2004-07-24  Alexander Kabaev  <kan@freebsd.org>
3143
3144         * config/ia64/ia64.h (SUBTARGET_EXTRA_SPECS): Default to nothing.
3145         (EXTRA_SPECS): Use SUBTARGET_EXTRA_SPECS.
3146
3147 2004-07-26  David Edelsohn  <edelsohn@gnu.org>
3148
3149         PR target/16239
3150         * config/rs6000/rs6000.md (movdi_internal64): Further disparage
3151         f->f.
3152
3153 2004-07-26  Richard Sandiford  <rsandifo@redhat.com>
3154
3155         PR rtl-optimization/16643
3156         * cfglayout.h (cfg_layout_initialize): Add a flags parameter.
3157         * cfglayout.c (cfg_layout_initialize): Pass it to cleanup_cfg.
3158         * basic-block.h (reorder_basic_blocks): Add a flags parameter.
3159         * cfglayout.c (reorder_basic_blocks): Pass it to cfg_layout_initialize.
3160         * loop-init.c (loop_optimizer_init): Pass 0 to cfg_layout_initialize.
3161         * rtl.h (tracer): Add a flags parameter.
3162         * tracer.c (tracer): Pass it to cfg_layout_initialise.
3163         * toplev.c (rest_of_handle_stack_regs): Pass 0 to reorder_basic_blocks.
3164         (rest_of_handle_reorder_blocks): Update calls to tracer and
3165         reorder_basic_blocks, passing CLEANUP_UPDATE_LIFE if appropriate.
3166         (rest_of_handle_tracer): Pass 0 to tracer.
3167
3168 2004-07-24  Zack Weinberg  <zack@codesourcery.com>
3169
3170         * config/ia64/hpux.h: Do not disable TLS.
3171
3172 2004-07-24  Alexander Kabaev  <kan@freebsd.org>
3173             Zack Weinberg  <zack@codesourcery.com
3174
3175         PR 16684
3176         * c-decl.c (diagnose_mismatched_decls): Don't issue a
3177         redundant-declaration warning the first time a builtin is
3178         declared explicitly.
3179
3180 2004-07-21  Jakub Jelinek  <jakub@redhat.com>
3181             Jan Hubicka  <jh@suse.cz>
3182
3183         PR middle-end/15345
3184         PR c/16450
3185         * toplev.c (rest_of_handle_inlining): Set DECL_DEFER_OUTPUT on C
3186         nested functions as well.
3187         * tree-optimize.c (tree_rest_of_compilation): Don't clear decl rtls
3188         for deferred nested inlines.
3189
3190 2004-07-17  Eric Botcazou  <ebotcazou@act-europe.fr>
3191
3192         * libgcc2.c (__enable_execute_stack): New symbol.
3193         * libgcc-std.ver (GCC_3.4.2): New version.  Inherit from GCC_3.4
3194         and declare __enable_execute_stack.
3195         * mklibgcc.in (lib2funcs): Add _enable_execute_stack.
3196         * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): ANSIfy.
3197         * config/sol2.h (TRANSFER_FROM_TRAMPOLINE): Rename into
3198         ENABLE_EXECUTE_STACK and ANSIfy.
3199         * config/alpha/alpha.c (alpha_initialize_trampoline): Conditionalize
3200         on ENABLE_EXECUTE_STACK instead of TRANSFER_FROM_TRAMPOLINE.
3201         * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Rename into
3202         ENABLE_EXECUTE_STACK.
3203         * config/alpha/osf.h (TRANSFER_FROM_TRAMPOLINE): Likewise.
3204         * config/i386/i386.c (x86_initialize_trampoline): Conditionalize
3205         on ENABLE_EXECUTE_STACK instead of TRANSFER_FROM_TRAMPOLINE.
3206         * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Rename into
3207         ENABLE_EXECUTE_STACK.
3208         * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Likewise.
3209         * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Likewise.
3210         * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Likewise.
3211         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Likewise.
3212         * config/sparc/sparc.c (sparc_initialize_trampoline): Conditionalize
3213         on ENABLE_EXECUTE_STACK instead of TRANSFER_FROM_TRAMPOLINE.
3214         (sparc64_initialize_trampoline): Likewise.
3215         * doc/tm.texi (trampolines): Add ENABLE_EXECUTE_STACK macro.
3216
3217 2004-07-16  Andris Pavenis  <pavenis@latnet.lv>
3218
3219         PR preprocessor/16366
3220         * internal.h (struct cpp_reader): New field dir_hash.
3221         * files.c (make_cpp_dir): Use dir_hash, not file_hash.
3222         (_cpp_init_files, _cpp_cleanup_files): Update for new field.
3223
3224 2004-07-15  James E Wilson  <wilson@specifixinc.com>
3225
3226         Backport from mainline:
3227         2004-02-19  Steve Ellcey  <sje@cup.hp.com>
3228         * config/ia64/ia64.h (HARD_REGNO_CALLER_SAVE_MODE): New macro.
3229         * testsuite/gcc.dg/20040219-1.c: New test.
3230
3231 2004-07-15  Aldy Hernandez  <aldyh@redhat.com>
3232
3233         * config/rs6000/rs6000.md ("*cceq_ior_compare"): Allow
3234         unconditionally.
3235         * config/rs6000/spe.md ("e500_cceq_ior_compare"): Remove.
3236
3237 2004-07-14  James E Wilson  <wilson@specifixinc.com>
3238
3239         PR target/16325
3240         * config/mips/mips.h (STARTING_FRAME_OFFSET): When flag_profile_value
3241         and ! TARGET_64BIT, include REG_PARM_STACK_SPACE.
3242
3243 2004-07-14  Eric Botcazou  <ebotcazou@libertysurf.fr>
3244
3245         Backport from mainline:
3246         2004-07-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
3247
3248         PR target/13926
3249         * config/sparc/sparc-protos.h (output_ubranch): New prototype.
3250         * config/sparc/sparc.c (output_ubranch): New function.
3251         * config/sparc/sparc.md (jump pattern): Use it.
3252
3253 2004-07-13  Richard Sandiford  <rsandifo@redhat.com>
3254
3255         PR rtl-optimization/16380
3256         * loop.c (check_dbra_loop): Sink comparison instructions if they
3257         do something other than set cc0.
3258
3259 2004-07-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
3260
3261         PR target/16494
3262         * config/sparc/sparc.c (output_cbranch): Properly guard
3263         the code handling far branches with TARGET_V9.
3264         * config/sparc/sparc.md (length attribute): Document the
3265         side-effect of having a length greater or equal to 3.
3266
3267 2004-07-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
3268             Lloyd Parkes  <lloyd@must-have-coffee.gen.nz>
3269
3270         PR target/15186
3271         * config/sparc/sol2-bi.h (LINK_ARCH64_SPEC_BASE): Pass
3272         /usr/ucblib/sparcv9 as -R path when -compat-bsd is specified.
3273
3274 2004-07-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
3275             Martin Sebor  <sebor@roguewave.com>
3276
3277         PR target/12602
3278         * doc/invoke.texi (SPARC options): Document -threads
3279         and -pthreads on Solaris.
3280
3281 2004-07-13  Anthony Heading  <aheading@jpmorgan.com>
3282
3283         * configure.ac (gcc_cv_as_offsetable_lo10): Fix a typo.
3284         * configure: Rebuilt.
3285
3286 2004-07-12  Vladimir Makarov  <vmakarov@redhat.com>
3287
3288         PR target/16445
3289         * config/ia64/ia64.c (bundling): Don't count ignored insns.
3290
3291 2004-07-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3292
3293         * pa.c (output_indirect_call): Only use %r2 as the link register in
3294         indirect calls with the long PA 2.0 pc-relative branch.
3295
3296 2004-07-10  James E Wilson  <wilson@specifixinc.com>
3297
3298         * config/gofast.h (gofast_maybe_init_libfuncs): Use SImode for litodp.
3299
3300 2004-07-10  Jakub Jelinek  <jakub@redhat.com>
3301
3302         * Backport from mainline:
3303         2004-07-08  Paolo Bonzini  <bonzini@gnu.org>
3304                     Jakub Jelinek  <jakub@redhat.com>
3305
3306         * config/i386/i386.c (override_options): Enable
3307         SSE prefetches with -mtune, as long as we are
3308         compiling for i686 or higher.  All i686 processors
3309         accept SSE prefetches as NOPS, some i586's don't.
3310
3311         2004-07-07  Jakub Jelinek  <jakub@redhat.com>
3312
3313         * config/i386/i386.c (override_options): Don't set x86_prefetch_sse
3314         from -mtune= option.
3315
3316 2004-07-10  Jakub Jelinek  <jakub@redhat.com>
3317
3318         PR tree-optimization/16372
3319         * fold-const.c (build_range_check): Use TYPE_MODE's precision for
3320         enumerals.
3321
3322 2004-07-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3323
3324         PR target/16459
3325         * pa.c (output_indirect_call): Use %r2 as the link register when
3326         calling $$dyncall with a pc-relative branch.
3327
3328 2004-07-08  Gerald Pfeifer  <gerald@pfeifer.com>
3329
3330         * doc/install.texi (Binaries): Mention OpenPKG.
3331
3332 2004-07-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
3333
3334         PR target/16416
3335         * config/sparc/sol2-bi.h (OPTION_DEFAULT_SPECS): New macro.
3336         Override default settings to account for -m32 and -m64.
3337
3338 2004-07-08  Vladimir Makarov  <vmakarov@redhat.com>
3339
3340         PR target/16414
3341         * config/ia64/ia64.c (ia64_dfa_new_cycle): Fix typo in comparison
3342         of asm_noperands result.
3343
3344 2004-07-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
3345
3346         PR target/16430
3347         * config/sparc/sparc.c (function_value): In 64-bit mode,
3348         return the aggregates larger than 16 bytes like unions.
3349
3350 2004-07-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
3351
3352         PR target/16199
3353         * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): When
3354         'temp' is zero, generate new pseudos as needed and emit the
3355         sequence of insns in single-assignment form.  Resync comments
3356         with code.
3357         (sparc_emit_set_const64): Pass zero as 'temp' argument to above
3358         function before reload.
3359
3360 2004-07-07  Richard Sandiford  <rsandifo@redhat.com>
3361
3362         PR target/16407
3363         * config/mips/mips-protos.h (mips_declare_common_object): Declare.
3364         * config/mips/mips.c (mips_declare_common_object): New function,
3365         mostly split out from...
3366         (mips_output_aligned_decl_common): ...here.
3367         * config/mips/mips.h (ASM_OUTPUT_LOCAL): Remove in favor of...
3368         (ASM_OUTPUT_ALIGNED_LOCAL): ...this new definition.
3369         * config/mips/iris6.h (ASM_OUTPUT_ALIGNED_LOCAL): Undefine this
3370         rather than ASM_OUTPUT_LOCAL.  Call mips_declare_common_object.
3371
3372 2004-07-07  Jason Merrill  <jason@redhat.com>
3373
3374         PR c++/15815
3375         * doc/extend.texi (C++ Interface): Correct information and
3376         discourage use.
3377
3378 2004-07-07  Andreas Schwab  <schwab@suse.de>
3379
3380         * config/ia64/ia64.md: Define new attribute "empty".
3381         (prologue_use, nop_x, insn_group_barrier): Set it.
3382
3383         * config/ia64/ia64.c (ia64_reorg): When looking for trailing call
3384         skip over "empty" insns.
3385
3386 2004-07-07  Vladimir Makarov  <vmakarov@redhat.com>
3387
3388         PR target/16130
3389         PR target/16142
3390         PR target/16143
3391         * config/ia64/ia64.c (ia64_dfa_new_cycle): Reset DFA state for asm
3392         insn.
3393
3394 2004-07-06  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
3395
3396         PR target/1679.
3397         * config/m32r/m32r.c (m32r_function_symbol): New function:
3398         Generate a symbol name RTX with the correct m32r specific flags
3399         set.
3400         (block_move_call): Use new function to generate correct symbol.
3401         * config/m32r/m32r-protos.h: Add prototype for new funcion.
3402         * config/m32r/m32r.h (INITIALIZE_TRAMPOLINE): Use the new
3403         function.
3404
3405 2004-07-07  Richard Sandiford  <rsandifo@redhat.com>
3406
3407         PR target/16357
3408         * config/mips/mips.c (mips_block_move_straight): Pass BLKmode memrefs
3409         to mips_expand_unaligned_load, mips_expand_unaligned_store, and
3410         move_by_pieces.
3411
3412 2004-07-07  Richard Sandiford  <rsandifo@redhat.com>
3413
3414         PR target/15869
3415         * config/mips/mips.c (mips_avoid_hazards): Call split_all_insns_noflow.
3416
3417 2004-07-06  Mark Mitchell  <mark@codesourcery.com>
3418
3419         * doc/include/gcc-common.texi: Increment version number.
3420         * version.c (version_string): Likewise.
3421
3422 2004-07-06  Joseph S. Myers  <jsm@polyomino.org.uk>
3423
3424         * doc/sourcebuild.texi: Use semicolons instead of commas in
3425         section title.
3426
3427 2004-07-06  Joseph S. Myers  <jsm@polyomino.org.uk>
3428
3429         * doc/bugreport.texi, doc/configterms.texi, doc/contrib.texi,
3430         doc/contribute.texi, doc/cpp.texi, doc/cppinternals.texi,
3431         doc/extend.texi, doc/install.texi, doc/invoke.texi, doc/md.texi,
3432         doc/portability.texi, doc/trouble.texi: Avoid some first-person
3433         references and patronizing comments.  Based on printed manual.
3434         * doc/invoke.texi: Don't reference fortran@gnu.org.
3435         * doc/trouble.texi (Warning when a non-void function value is
3436         ignored): Rewrite.  From Russ Allbery and Chris Devers.
3437
3438 2004-07-06  Joseph S. Myers  <jsm@polyomino.org.uk>
3439
3440         * doc/cppinternals.texi, doc/install.texi, doc/invoke.texi,
3441         doc/md.texi, doc/sourcebuild.texi, doc/tm.texi, doc/trouble.texi:
3442         Use terminology "testsuite" and "enumerated".
3443
3444 2004-07-06  Eric Christopher  <echristo@redhat.com>
3445
3446         PR rtl-optimization/14700
3447         Backport from mainline:
3448         2004-06-30  Zack Weinberg  <zack@codesourcery.com>
3449         * combine.c (distribute_notes): Don't look at global_regs for
3450         pseudos.
3451
3452         2004-06-24  Eric Christopher  <echristo@redhat.com>
3453         * combine.c (distribute_notes): Don't delete sets to
3454         global register variables.
3455
3456 2004-07-04  Gerald Pfeifer  <gerald@pfeifer.com>
3457
3458         * doc/contrib.texi (Contributors): Adjust link for GNU Classpath.
3459
3460 2004-07-01  Release Manager
3461
3462         * GCC 3.4.1 released.
3463
3464 2004-06-28  Neil Booth  <neil@duron.akihabara.co.uk>
3465
3466         PR preprocessor/16192
3467         PR preprocessor/15913
3468         PR preprocessor/15572
3469         * cppexp.c (_cpp_parse_expr): Handle remaining cases where an
3470         expression is missing.
3471         * cppinit.c (post_options): Traditional cpp doesn't do // comments.
3472         * doc/cpp.texi: Don't document what we do for ill-formed expressions.
3473         * doc/cppopts.texi: Clarify processing of command-line defines.
3474
3475 2004-06-28  Richard Sandiford  <rsandifo@redhat.com>
3476
3477         PR target/16176
3478         * config/mips/mips.c (mips_expand_unaligned_load): Use a temporary
3479         register for the destination of the lwl or ldl.
3480
3481 2004-06-25  Philip Blundell  <philb@gnu.org>
3482
3483         PR wrong-code/15089
3484         * loop.c (scan_loop): Do not move user-specified register
3485         assignments.
3486
3487 2004-06-25  Mark Mitchell  <mark@codesourcery.com>
3488
3489         PR wrong-code/16129
3490         * alias.c (get_alias_set): Adjust setting of
3491         DECL_POINTER_ALIAS_SET for pointers to aggregates.
3492
3493 2004-06-25  Richard Sandiford  <rsandifo@redhat.com>
3494
3495         PR target/16144
3496         * config/mips/mips.md (divsf, divdf): Don't FAIL if the first operand
3497         is 1.0; force it into a register instead.
3498
3499 2004-06-24  Alan Modra  <amodra@bigpond.net.au>
3500
3501         * calls.c (expand_call): Call INIT_CUMULATIVE_ARGS earlier, and
3502         pass raw n_named_args to it.
3503
3504 2004-06-22  Richard Henderson  <rth@redhat.com>
3505
3506         PR middle-end/16026
3507         * function.c (assign_parms): Don't abort for overaligned PARALLEL.
3508
3509 2004-06-21  Kelley Cook  <kcook@gcc.gnu.org>
3510
3511         PR target/15551
3512         * config/i386/i386.md: Change UNSPEC_STACK_PROBE to UNSPECV_STACK_PROBE.
3513         (allocate_stack_worker): Make unspec_volatile.
3514         (allocate_stack_worker_rex64):  Likewise.
3515         (allocate_stack_worker_postreload):  Likewise.
3516         (allocate_stack_worker_rex64_postreload):  Likewise.
3517
3518 2004-06-21  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3519
3520         PR rtl-optimization/14782
3521         * pa.c (emit_move_sequence): Use SFmode for 4-byte modes when doing
3522         the address checks for secondary reloads for loads from and stores
3523         to floating-point registers.
3524         * pa.h (EXTRA_CONSTRAINT, case T): Use SFmode for 4-byte modes
3525         in the address check.  Move work around for ELF32 targets to
3526         GO_IF_LEGITIMATE_ADDRESS.
3527         (GO_IF_LEGITIMATE_ADDRESS): Require constant offsets to be
3528         correctly aligned for DImode loads and stores.  Don't allow long
3529         SFmode displacements on ELF32.
3530
3531 2004-06-21  Richard Henderson  <rth@redhat.com>
3532
3533         PR rtl-opt/16114
3534         * cse.c (merge_equiv_classes): Also rehash in response to
3535         delete_reg_equiv changes.
3536         (rehash_using_reg): Don't exclude REGs from rehashing.
3537
3538 2004-06-21  Richard Sandiford  <rsandifo@redhat.com>
3539
3540         PR rtl-optimization/15159
3541         * tree.c (unsafe_for_reeval): Return 2 for TRY_CATCH_EXPRs.
3542
3543 2004-06-19  Richard Henderson  <rth@redhat.com>
3544
3545         PR target/15941
3546         * function.c (assign_parms): If not padding upward or intentionally
3547         forcing upward padding, take offset_rtx into account when determining
3548         the alignment for stack_parm.
3549
3550 2004-06-19  Richard Henderson  <rth@redhat.com>
3551
3552         PR target/15550
3553         * ifcvt.c (noce_try_move): Recognize all generated instructions.
3554
3555 2004-06-19  Andrew Pinski  <pinskia@physics.uc.edu>
3556
3557         PR target/10129
3558         * config/darwin.c (darwin_encode_section_info): When the decl has
3559         a DECL_INITIAL, it is only defined also when it is not a common.
3560
3561 2004-06-17  Zack Weinberg  <zack@codesourcery.com>
3562
3563         Bug 14610
3564         * Makefile.in (min-insn-modes.o): Correct dependencies.
3565         * real.c (encode_ieee_extended, decode_ieee_extended): Always
3566         produce/consume 12-byte little-endian Intel format.
3567         (encode_ieee_extended_128, decode_ieee_extended_128): Delete.
3568         (encode_ieee_extended_motorola, decode_ieee_extended_motorola)
3569         (encode_ieee_extended_intel_96, decode_ieee_extended_intel_96)
3570         (encode_ieee_extended_intel_128, decode_ieee_extended_intel_128):
3571         New functions which convert between 12-byte little-endian Intel
3572         format and the desired format.
3573         (ieee_extended_motorola_format, ieee_extended_intel_96_round_53_format)
3574         (ieee_extended_intel_96_format, ieee_extended_intel_128_format):
3575         Update.
3576
3577 2004-06-16  James E Wilson  <wilson@specifixinc.com>
3578
3579         PR c++/14808
3580         * config/i386/cygwin.h (TARGET_IS_PE_COFF): Delete duplicate macro.
3581
3582 2004-06-16  Bernardo Innocenti  <bernie@develer.com>
3583
3584         Backport from mainline:
3585         2004-06-16  Bernardo Innocenti  <bernie@develer.com>
3586
3587         PR target/13292
3588         * config/m68k/m68k.h (TARGET_SWITCHES): Don't remove MASK_68040_ONLY
3589         on -msoft-float.
3590         (TARGET_FLT_EVAL_METHOD): Don't advertise extended precision for
3591         68040 and soft-float.
3592         * config/m68k/m68k.md (truncdfsf2): Explicitly require TARGET_68881
3593         in the TARGET_68040_ONLY case.
3594
3595 2004-06-16  Vladimir Makarov  <vmakarov@redhat.com>
3596
3597         PR target/15653
3598         * config/ia64/ia64.c (ia64_dfa_new_cycle): Do not insert nops
3599         after shifts before asm.
3600
3601 2004-06-15  Chris Demetriou  <cgd@broadcom.com>
3602
3603         * config/mips/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): Remove
3604         definition.
3605         * config/mips/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Remove
3606         #undef and #if 0'd definition.
3607
3608 2004-06-15  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
3609
3610         * config/m32r/m32r.h (RETURN_ADDR_RTX): Define.
3611         (INCOMING_RETURN_ADDR_RTX): Define.
3612         * config/m32r/m32r-protos.h (m32r_return_addr): Added.
3613         * config/m32r/m32r.c (m32r_exppand_prologue): Changed for
3614         __builtin_return_address(0).
3615         (m32r_return_addr): Added for __builtin_return_address(0).
3616         (m32r_reload_lr): Ditto.
3617
3618         * longlong.h: Fix macros for m32r add_ssaaaa and sub_ddmmss.
3619
3620 2004-06-15  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
3621
3622         * gccbug.in: Update optimization -> tree-optimization/rtl-optimization.
3623
3624 2004-06-14  Eric Botcazou  <ebotcazou@libertysurf.fr>
3625
3626         * real.c: Fix bit count in head comment.
3627
3628 2004-06-14  Jakub Jelinek  <jakub@redhat.com>
3629
3630         PR middle-end/15945
3631         * simplify-rtx.c (simplify_binary_operation): Don't optimize out
3632         Inf + -Inf, Inf - Inf, Inf / Inf and 0 * Inf if flag_trapping_math.
3633
3634 2004-06-14  Jakub Jelinek  <jakub@redhat.com>
3635
3636         PR target/15178
3637         * config/i386/sol2.h (ASM_OUTPUT_DEF_FROM_DECLS): Define.
3638
3639 2004-06-14  Alan Modra  <amodra@bigpond.net.au>
3640
3641         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Handle -mpowerpc64 and -mcpu
3642         for power5 and rs64a.  Correct condition for default.  Correct power3,
3643         620, 630, 7400, 7450, G4, 970 and G5 -mcpu entries.  Add -many.
3644
3645 2004-06-13  Alan Modra  <amodra@bigpond.net.au>
3646
3647         Apply mainline 2004-01-27  Alan Modra  <amodra@bigpond.net.au>
3648         * config/rs6000/rs6000.h: Correct target_flags free bits comment.
3649         (PREDICATE_CODES): Remove duplicate.
3650         * config/rs6000/linux64.h (CPP_SYSV_SPEC): Don't define.
3651         (SUBSUBTARGET_OVERRIDE_OPTIONS): Disallow 32 bit TARGET_PROFILE_KERNEL.
3652         (MASK_PROFILE_KERNEL): Adjust define.
3653
3654 2004-06-13  Hans-Peter Nilsson  <hp@axis.com>
3655
3656         PR rtl-optimization/15296
3657         * reorg.c (fill_simple_delay_slots): Use next_real_insn when
3658         getting last consecutive label at a branch.
3659         (relax_delay_slots): Similar, near top of loop.
3660
3661 2004-06-12  Andreas Jaeger  <aj@suse.de>
3662
3663         * libgcc-std.ver: Add __unorddf2 and __unordsf2 with version 3.3.4.
3664         * libgcc-darwin.ver: Likewise.
3665
3666 2004-06-11  Bernardo Innocenti  <bernie@develer.com>
3667
3668         PR target/8309
3669         PR target/13312
3670         Backport from mainline:
3671
3672         2004-05-27  Peter Jakubek  <peter@laseranimation.com>
3673
3674         * reload.c (find_reloads): Force reload for pseudo registers on big
3675         endian machines.
3676
3677 2004-06-11  J"orn Rennecke <joern.rennecke@superh.com>
3678
3679         * sh.c (dump_table): New argument start.  Changed caller.
3680         (fixup_mova): New function.
3681         (find_barrier): Use it.
3682         (sh_reorg): Likewise.  Check for CODE_FOR_casesi_worker_2.
3683         If the label a mova refers to is above the mova itself, change
3684         the mova into a load.
3685         * sh.md (*casesi_worker): Rename to:
3686         (casesi_worker_1).
3687         (casesi_worker_2): New insn.
3688
3689 2004-06-11  Hartmut Penner  <hpenner@de.ibm.com>
3690
3691         Backport from mainline:
3692
3693         * config/rs6000/rs6000.c (output_vec_const_move):
3694         Find all cases of EASY_VECTOR_15_ADD_SELF.
3695         (easy_vector_constant_add_self): Accept
3696         all vector constant loadable by vsplt* and vadd*.
3697         (easy_vector_same): Use easy_vector_splat_const.
3698         (easy_vector_const): Use easy_vector_splat_const.
3699         (easy_vector_splat_const): New function.
3700         (gen_easy_vector_constant_add_self): New function.
3701
3702         * config/rs6000/rs6000-protos.c (gen_easy_vector_constant_add_self):
3703         New prototype.
3704
3705         * config/rs6000/altivec.md (movv4si splitter): Change to
3706         emit move insn with halfed vector constant.
3707         (*movv8hi splitter): Likewise.
3708         (*movv16qi splitter): Likewise.
3709
3710 2004-06-10  Joseph S. Myers  <jsm@polyomino.org.uk>
3711
3712         * doc/sourcebuild.texi (Front End): Add details of more
3713         installation documentation required.
3714
3715 2004-06-10  Vladimir Makarov  <vmakarov@redhat.com>
3716
3717         PR target/15653
3718         * haifa-sched.c (schedule_block): Finish cycle after issuing asm
3719         insn.
3720
3721 2004-06-10  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
3722
3723         PR web/15263
3724         * doc/install.texi: Remove superfluous linebreak.
3725
3726 2004-06-10  Bernardo Innocenti  <bernie@develer.com>
3727
3728         PR target/13803
3729         Backport from mainline:
3730
3731         2004-05-05  Peter Barada  <peter@the-baradas.com>
3732
3733         * config/m68k/m68k.h(EXTRA_CONSTRAINT): Add 'U' for register offset
3734         addressing.
3735         * config/m68k/m68k.md: Add 'U,U' alternative to ColdFire variants of
3736         movsi, movhi, movqi insn patterns.
3737
3738 2004-06-10  Alan Modra  <amodra@bigpond.net.au>
3739
3740         Apply from mainline:
3741         2004-03-12  Jakub Jelinek  <jakub@redhat.com>
3742         * config/rs6000/rs6000-protos.h (rs6000_output_dwarf_dtprel): Add
3743         prototype.
3744         * config/rs6000/rs6000.c (rs6000_output_dwarf_dtprel): New.
3745         * config/rs6000/rs6000.h (ASM_OUTPUT_DWARF_DTPREL): Define.
3746
3747 2004-06-10  Jakub Jelinek  <jakub@redhat.com>
3748
3749         * config/ia64/unwind-ia64.c (uw_frame_state_for): Don't assume a
3750         leaf function without unwind info at RP 0.
3751
3752 2004-06-10  Alan Modra  <amodra@bigpond.net.au>
3753
3754         PR target/15191
3755         2004-05-15  Alan Modra  <amodra@bigpond.net.au>
3756         * config/rs6000/rs6000.c (rs6000_va_arg <ABI_V4>): Don't use
3757         UNITS_PER_WORD to calculate gpr size.  Re-instate code to set reg
3758         count to 8 to handle n_reg > 2.
3759         2004-05-10  Alan Modra  <amodra@bigpond.net.au>
3760         * config/rs6000/rs6000.c (function_arg_boundary): Always align
3761         AltiVec vectors.
3762         (function_arg_advance): Pass TARGET_32BIT -mabi=no-altivec AltiVec
3763         vectors by refererence.  Align the same for TARGET_64BIT to a 16
3764         byte boundary.  Remove useless code.  Add function comment.
3765         (function_arg): Similarly.  Move gpr rs6000_mixed_function_arg
3766         call to where it belongs.
3767         (function_arg_partial_nregs): Return true for all TARGET_32BIT
3768         -mabi=no-altivec AltiVec vectors.  Fix debug output.
3769         (rs6000_va_arg): Adjust for AltiVec change.
3770         2004-05-10  Alan Modra  <amodra@bigpond.net.au>
3771         * config/rs6000/rs6000.c (function_arg_boundary): Align for ABI_V4
3772         when size is 8 bytes.
3773         (function_arg_advance): Account for stack space used by AltiVec
3774         args when -mabi=altivec.  Simplify alignment calculations.  For
3775         ABI_V4, pass AltiVec vectors by reference when -mabi=no-altivec.
3776         (function_arg): Similarly.
3777         (function_arg_pass_by_reference): True for ABI_V4 AltiVec when
3778         not AltiVec ABI.
3779         (rs6000_va_arg): Correct fp arg test.  Adjust for AltiVec change.
3780         Correct alignment, and align before testing reg count.  Remove
3781         TREE_THIS_VOLATILE from reg.  Don't emit unused labels.
3782         (rs6000_complex_function_value): Check TARGET_HARD_FLOAT and
3783         TARGET_FPRS here..
3784         (rs6000_function_value): .. not here before call.
3785         2004-05-07  Alan Modra  <amodra@bigpond.net.au>
3786         * config/rs6000/rs6000.h (STACK_BOUNDARY): Use 128 bit for either
3787         TARGET_ALTIVEC or TARGET_ALTIVEC_ABI.
3788         * config/rs6000/sysv4.h (ABI_STACK_BOUNDARY): Likewise.
3789         (STACK_BOUNDARY): Delete.
3790
3791 2004-06-10  Alan Modra  <amodra@bigpond.net.au>
3792
3793         PR target/14960
3794         2004-04-24  Alan Modra  <amodra@bigpond.net.au>
3795         * config/rs6000/rs6000.c (rs6000_stack_info): Rename total_raw_size
3796         to non_fixed_size, and leave out fixed_size from the sum.
3797         (generate_set_vrsave): Correct clobbers.
3798         (rs6000_emit_epilogue): Test TARGET_ALTIVEC with TARGET_ALTIVEC_SAVE.
3799         (rs6000_function_value): Test TARGET_ALTIVEC and TARGET_ALTIVEC_ABI.
3800         (rs6000_libcall_value): Likewise.
3801         * config/rs6000/rs6000.h (FUNCTION_VALUE_REGNO_P): Likewise.
3802         (FUNCTION_ARG_REGNO_P): Likewise.
3803
3804 2004-06-10  Alan Modra  <amodra@bigpond.net.au>
3805
3806         PR target/14567
3807         2004-03-13  Alan Modra  <amodra@bigpond.net.au>
3808         * config/rs6000/rs6000.h (UNITS_PER_ARG, RS6000_ARG_SIZE): Delete.
3809         (HARD_REGNO_MODE_OK): Disallow TFmode for fp31.
3810         * config/rs6000/rs6000.c (rs6000_arg_size): New function.
3811         Update all users of RS6000_ARG_SIZE.
3812         (function_arg_advance): Count fregno using mode size.
3813         (function_arg): Handle long double split over regs and memory.
3814         (function_arg_partial_nregs): Likewise.
3815         (rs6000_va_arg): Repackage complex args.
3816         2004-02-23  Fariborz Jahanian <fjahanian@apple.com>
3817         * config/rs6000/rs6000.c (function_arg): call to
3818         rs6000_mixed_function_arg for DFmode moved to allow
3819         normal DFmode incoming register assignment.
3820
3821 2004-06-09  Mark Mitchell  <mark@codesourcery.com>
3822
3823         Revert:
3824         PR c++/15815
3825         2004-06-07  Mark Mitchell  <mark@codesourcery.com>
3826         * doc/extend.texi: Deprecate #pragma interface and #pragma
3827         implementation.
3828
3829 2004-06-08  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3830
3831         PR rtl-optimization/15761
3832         * cfgloopanal.c (count_strange_loop_iterations,
3833         count_loop_iterations): Use gen_int_mode instead
3834         of GEN_INT.
3835
3836 2004-06-08  Roger Sayle  <roger@eyesopen.com>
3837
3838         PR c/14649
3839         * c-typeck.c (require_constant_value, require_constant_elements):
3840         Move declarations to the top of the file.
3841         (build_function_call): If we require a constant value, fold with
3842         fold_initializer.  If the result is a constant, and the function
3843         wasn't called using __builtin_foo, issue a pedantic warning.
3844         (build_unary_op): If we require a constant value, fold tree with
3845         fold_initializer.
3846         (build_binary_op): Use require_constant_value to determine whether
3847         to call fold or fold_initializer.
3848
3849 2004-06-08  Richard Henderson  <rth@redhat.com>
3850
3851         PR middle-end/15228
3852         * function.c (assign_parms): Always set_mem_align with the computed
3853         FUNCTION_ARG_BOUNDARY.  Don't clear stack_parm if !STRICT_ALIGNMENT.
3854
3855 2004-06-08  Vladimir Makarov  <vmakarov@redhat.com>
3856
3857         PR target/15598
3858         * config/ia64/ia64.c (bundling): Add missed TYPE_A.
3859
3860 2004-06-08  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3861
3862         PR rtl-optimization/15717
3863         * config/i386/i386.c (legitimate_constant_p): Do not allow
3864         x - symbol_ref.
3865
3866 2004-06-07  James E Wilson  <wilson@specifixinc.com>
3867
3868         PR target/15569
3869         * config/ia64/ia64.md (call_value_nogp): Add constraints for op0.
3870         (vall_value_gp): Likewise.
3871
3872 2004-06-07  Dan Kegel  <dank@kegel.com>
3873
3874         PR c++/14808
3875         * config/i386/cygwin.h (TARGET_IS_PE_COFF): New.
3876         * config/i386/cygming.h (TARGET_IS_PE_COFF): New.
3877
3878 2004-06-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
3879
3880         PR target/15783
3881         * config/sparc/sparc.c (function_arg_union_value): Add 'mode'
3882         parameter.  Enumerate the registers inside the PARALLEL.
3883         (function_arg): Adjust call to function_arg_union_value.
3884         (function_value): Likewise.
3885
3886 2004-06-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3887
3888         * pa.c (emit_move_sequence): Fix loading of non 14-bit CONST operands
3889         when generating PIC code.
3890
3891         * pa.md: Disable the peephole2 patterns that generate indexed
3892         floating-point stores when indexing is disabled.
3893
3894 2004-06-07  Joseph S. Myers  <jsm@polyomino.org.uk>
3895
3896         PR c/14765
3897         * c-parse.in (compstmt_primary_start): Set last_expr_type to
3898         NULL_TREE.
3899
3900 2004-06-07  Mark Mitchell  <mark@codesourcery.com>
3901
3902         PR c++/15815
3903         * doc/extend.texi: Deprecate #pragma interface and #pragma
3904         implementation.
3905
3906 2004-06-07  Richard Henderson  <rth@redhat.com>
3907
3908         PR rtl-opt/15193
3909         * expmed.c (extract_bit_field): Fix vector_extract return.
3910
3911 2004-06-07  Mark Mitchell  <mark@codesourcery.com>
3912
3913         PR c++/15337
3914         * c-common.c (c_sizeof_or_alignof_type): Use more detailed error
3915         message.
3916
3917 2004-06-06  Stephane Carrez  <stcarrez@nerim.fr>
3918
3919         PR target/14542
3920         * config/m68hc11/m68hc11.md (move peephole2): Emit a use note to avoid
3921         a live change of a register after peephole replacement.
3922
3923 2004-06-06  Stephane Carrez  <stcarrez@nerim.fr>
3924
3925         PR target/14457
3926         * config/m68hc11/m68hc11.c (splitable_operand): New predicate.
3927         * config/m68hc11/m68hc11-protos.h (splitable_operand): Declare.
3928         * config/m68hc11/m68hc11.h (PREDICATE_CODES): Register it.
3929         (inhibit_libc): Must define.
3930         * config/m68hc11/m68hc11.md ("movhi_const0"): Use splitable_operand.
3931         ("*andhi3_gen", "iorhi3", "*iorhi3_gen"): Likewise.
3932         ("xorhi3"): Likewise.
3933
3934 2004-06-05  David S. Miller  <davem@nuts.davemloft.net>
3935
3936         * config/sparc/linux.h (TARGET_C99_FUNCTIONS): Set.
3937         * config/sparc/linux64.h (TARGET_C99_FUNCTIONS): Likewise.
3938
3939 2004-06-04  Eric Christopher  <echristo@redhat.com>
3940
3941         Backport from mainline:
3942         2004-06-02  Eric Christopher  <echristo@redhat.com>
3943
3944         * c-typeck.c (common_type): Don't lose type qualifiers
3945         when creating new variants.
3946
3947 2004-06-03  Bernardo Innocenti  <bernie@develer.com>
3948
3949         PR target/15782
3950         Backport from mainline:
3951
3952         2004-06-01  Peter Barada  <peter@the-baradas.com>
3953                     Peter Jakubek  <peter@laseranimation.com>
3954
3955         * config/m68k/m68k.c(m68k_output_mi_thunk):  For ColdFire, use %d0 as
3956         a scratch to perform an add to memory.
3957
3958 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
3959
3960         PR target/15626
3961         * doc/install.texi (sparc-sun-solaris2*): Document messages issued
3962         by the Sun linker in conjunction with the Sun assembler.
3963         (sparc-sun-solaris2.7): Update revision info for Sun patch 106950.
3964
3965 2004-06-01  Nicola Pero  <nicola@brainstorm.co.uk>
3966
3967         PR objc/7993
3968         * objc-act.c (is_private): Do not emit the 'instance variable %s
3969         is declared private' error.
3970         (is_public): Emit the error after calling is_private.
3971         (lookup_objc_ivar): If the instance variable is private, return 0
3972         - the instance variable is invisible here.
3973
3974 2004-06-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
3975
3976         * doc/invoke.texi (-static-libgcc): Explicitly mention
3977         non-GNU linkers.
3978
3979 2004-05-31  Kaz Kojima  <kkojima@gcc.gnu.org>
3980
3981         PR target/13250
3982         Backport from mainline:
3983
3984         2004-05-28  Kaz Kojima  <kkojima@gcc.gnu.org>
3985         * config/sh/sh.md (rotlsi3): Use emit_move_insn.
3986
3987 2004-05-31  H.J. Lu  <hongjiu.lu@intel.com>
3988
3989         PR middle-end/15666
3990         * cgraph.c (cgraph_remove_node): Don't call htab_clear_slot if
3991         we can't find the slot. Abort if we can't find slot and the
3992         node isn't for a builtin function.
3993
3994 2004-05-31  Roger Sayle  <roger@eyesopen.com>
3995
3996         PR middle-end/15069
3997         * fold-const.c (fold_single_bit_test): Only perform "(X & C) != 0"
3998         into "X < 0" (where C is the signbit) if X's type is a full mode.
3999
4000 2004-05-31  Joseph S. Myers  <jsm@polyomino.org.uk>
4001
4002         PR c/15749
4003         * c-decl.c (grokdeclarator, finish_struct): Don't pedwarn for
4004         misuses of structures with flexible array members if
4005         in_system_header.
4006
4007 2004-05-31  Eric Botcazou  <ebotcazou@libertysurf.fr>
4008
4009         PR target/15693
4010         * config/sparc/sparc.c (compare_operand): New predicate.
4011         * config/sparc/sparc.h (PREDICATE_CODES): Add it.
4012         * config/sparc/sparc.md (cmpsi expander): Use it.  If the first
4013         operand is a ZERO_EXTRACT and the second operand is not zero,
4014         force the former to a register.
4015         (cmpdi expander): Likewise.
4016
4017 2004-05-31  Danny Smith  <dannysmith@users.sourceforge.net>
4018
4019         * c-incpath.c (add_path): Canonicalize paths to use '/' if
4020         HAVE_DOS_BASED_FILESYSTEM.
4021
4022 2004-05-28  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4023
4024         PR bootstrap/14671
4025         * alias.c (init_alias_analysis): Allocate alias_invariant array with
4026         ggc_calloc instead of xrealloc.
4027         (end_alias_analysis): Don't free alias_invariant.
4028
4029 2004-05-28  DJ Delorie  <dj@redhat.com>
4030
4031         * stor-layout.c (place_field): Revert erroneous commit.
4032
4033 2004-05-28  Nick Clifton  <nickc@redhat.com>
4034
4035         Bug 14093
4036         * config/sh/sh-protos.h (sh_promote_prototypes): Declare.
4037         * config/sh/sh.c (sh_promote_prototypes): Remove declaration.
4038         Delete static from definition.
4039         * config/sh/sh.h (FUNCTION_VALUE): Add sh_promote_prototypes call.
4040
4041 2004-05-27  Kaz Kojima  <kkojima@gcc.gnu.org>
4042
4043         Backport from mainline:
4044
4045         * config/sh/t-linux (SHLIB_MAPFILES): Use sh specific
4046         libgcc-std.ver.
4047         * config/sh/libgcc-std.ver: New file.
4048
4049 2004-05-27  Olivier Hainque  <hainque@act-europe.fr>
4050
4051         * expr.c (store_constructor): Restore sanity check on
4052         the size of the type before clearing.
4053
4054 2004-05-27  Alan Modra  <amodra@bigpond.net.au>
4055
4056         PR target/14478
4057         * config/rs6000/rs6000.c (reg_or_neg_short_operand): Don't allow zero.
4058
4059 2004-05-26  Aldy Hernandez  <aldyh@redhat.com>
4060
4061         PR/14924
4062         * config/rs6000/rs6000.c (spe_expand_stv_builtin): New.
4063
4064 2004-05-23  Joseph S. Myers  <jsm@polyomino.org.uk>
4065
4066         * doc/gcc.texi, doc/gccint.texi, doc/include/gcc-common.texi:
4067         Update based on printed manual.  Enable setting of offsets for
4068         FSFPRINT and move it to gcc-common.texi.
4069         * doc/gcc.texi: Update FSF printing details.
4070         * doc/gccint.texi: Remove FSF printing details.
4071
4072 2004-05-21  Jakub Jelinek  <jakub@redhat.com>
4073
4074         * config/sparc/linux64.h (OPTION_DEFAULT_SPECS): If SPARC_BI_ARCH,
4075         override sparc.h definition.
4076
4077 2004-05-20  Jakub Jelinek  <jakub@redhat.com>
4078
4079         * config/sparc/linux64.h (TARGET_DEFAULT): Make 64-bit by default
4080         also for TARGET_CPU_DEFAULT == TARGET_CPU_ultrasparc3.
4081
4082 2004-05-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4083
4084         PR target/15202
4085         * pa.md (movdi, movsi, movhi, movqi): Support move from shift amount
4086         register to general register for DI, SI, HI and QI modes.  Remove
4087         move to shift amount register in DF mode.
4088
4089 2004-05-18  Ulrich Weigand  <uweigand@de.ibm.com>
4090
4091         PR middle-end/15054
4092         * expr.c (expand_expr_real): Do not call preserve_temp_slots
4093         on a TARGET_EXPR temp.
4094         * function.c (assign_stack_temp_for_type): Set 'keep' flag for
4095         TARGET_EXPR temp slots.
4096
4097 2004-05-18  Kaz Kojima  <kkojima@gcc.gnu.org>
4098
4099         PR optimization/15100
4100         Backport from mainline:
4101
4102         2004-05-11  Kaz Kojima  <kkojima@gcc.gnu.org>
4103         * combine.c (distribute_notes): Don't create a dangling
4104         REG_LIBCALL/REG_RETVAL note.
4105
4106 2004-05-17  H.J. Lu  <hongjiu.lu@intel.com>
4107
4108         Backport from mainline
4109
4110         PR target/15301
4111         PR target/15302
4112         2004-05-17  Jan Hubicka  <jh@suse.cz>
4113
4114         * i386.c (construct_container): Do not produce BLKmode registers.
4115         (classify_argument): Properly compute alignment of complex types.
4116
4117 2004-05-15  Joseph S. Myers  <jsm@polyomino.org.uk>
4118
4119         * doc/extend.texi: Update WG14 URL.
4120
4121 2004-05-11  Aldy Hernandez  <aldyh@redhat.com>
4122
4123         * config/rs6000/spe.md (spe_evneg): Rename to negv2si2.
4124
4125         * config/rs6000/rs6000.c (bdesc_1arg): Change spe_evneg to
4126         negv2si2.
4127
4128 2004-05-10  Kaz Kojima  <kkojima@gcc.gnu.org>
4129
4130         PR target/15130
4131         Backport from mainline:
4132
4133         * config/sh/sh-protos.h (sh_expand_epilogue): Change prototype.
4134         * config/sh/sh.c (output_stack_adjust): Take the sibcall epilogue
4135         into account.  Compute the correct number of general registers
4136         for the return value.  Generate a special push/pop sequence when
4137         failing to get a temporary register for non SHmedia epilogue.
4138         (sh_expand_epilogue): Add an argument to show whether it's for
4139         sibcall or not.  Set the 3rd argument of output_stack_adjust to
4140         -1 if needed.
4141         (sh_need_epilogue): Call sh_expand_epilogue with 0.
4142         * config/sh/sh.md (sibcall_epilogue): Call sh_expand_epilogue
4143         with 1.
4144         (epilogue): Call sh_expand_epilogue with 0.
4145
4146 2004-05-09  Aldy Hernandez  <aldyh@redhat.com>
4147
4148         * config/rs6000/spe.md ("tstsflt_gpr"): Fix typo in unspec.
4149
4150 2004-05-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
4151
4152         * doc/install.texi (sparc-sun-solaris2*): Document bootstrap
4153         problems with earlier versions of the GNU compiler.
4154
4155 2004-05-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
4156
4157         PR c++/14962
4158         * c-pragma.c (handle_pragma_redefine_extname): Only change
4159         the assembler name of FUNCTION_DECLs and VAR_DECLs.
4160
4161 2004-05-07  Loren James Rittle  <ljrittle@acm.org>
4162
4163         * config/alpha/freebsd.h (SUBTARGET_EXTRA_SPECS): Proper redefinition.
4164         * config/arm/freebsd.h: Likewise.
4165         * config/ia64/freebsd.h: Likewise.
4166         * config/sparc/freebsd.h: Likewise.
4167
4168 2004-05-06  Richard Henderson  <rth@redhat.com>
4169
4170         * stmt.c (parse_output_constraint): Don't warn for read-write
4171         memory operand.
4172
4173 2004-05-06  Jan Hubicka  <jh@suse.cz>
4174
4175         PR c/15004
4176         * function.c (do_warn_unused_parameter): Break out form ...
4177         (expand_function_end): ... here; warn only when not using cgraphunit.
4178         * function.h (do_warn_unused_parameter): Declare.
4179         * cgraphunit.c: Include function.h.
4180         (cgraph_finalize_function): Do unused parameter warning.
4181         * Makefile.in (cgraphunit.o): Depend on function.h
4182
4183 2004-05-05  H.J. Lu  <hongjiu.lu@intel.com>
4184
4185         PR target/15290
4186         * config/i386/i386.c (ix86_split_to_parts): Use real_to_target
4187         instead of REAL_VALUE_TO_TARGET_LONG_DOUBLE.
4188
4189 2004-05-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4190
4191         * fixinc/inclhack.def (svr4_profil): Don't apply on IRIX 5/6.
4192         * fixinc/fixincl.x: Regenerate.
4193
4194 2004-05-02  Josef Zlomek  <zlomekj@suse.cz>
4195
4196         * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Print the debug
4197         message before redirecting the edge.
4198
4199 2004-05-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
4200
4201         PR optimization/15112
4202         * reload1.c (reload): Don't record unchanging memory locations.
4203
4204 2004-04-30  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4205
4206         PR other/1963
4207         * config/alpha/osf.h (SWITCHES_NEED_SPACES): Define.
4208
4209 2004-04-30  David Edelsohn  <edelsohn@gnu.org>
4210
4211         Backport from mainline:
4212
4213         2004-04-19  David Edelsohn  <edelsohn@gnu.org>
4214
4215         * doc/install.texi (*-ibm-aix*): Add AIX 5.1 assembler and archiver
4216         fix information.
4217
4218         2004-04-17  Alan Modra  <amodra@bigpond.net.au>
4219
4220         PR target/14715
4221         * config/rs6000/rs6000.c (rs6000_stack_info): Make parm_size agree
4222         with STARTING_FRAME_OFFSET.
4223
4224         2004-04-07  David Edelsohn  <edelsohn@gnu.org>
4225
4226         * config/rs6000/rs6000.c (processor_target_table): Add MASK_MFCRF
4227         to power4 and power5 entries.
4228
4229         2004-04-05  David Edelsohn
4230
4231         * config/rs6000/rs6000.c (VTABLE_NAME_P): Add _ZTI to special
4232         symbol handling.
4233
4234         2004-03-30  Hartmut Penner  <hpenner@de.ibm.com>
4235
4236         PR 11591
4237         * config/rs6000/rs6000.c (rs6000_legitimate_address):
4238         Allow any offset to argument pointer in no-strict case.
4239
4240         2004-03-25  David Edelsohn  <edelsohn@gnu.org>
4241
4242         * config/rs6000/rs6000.c (rs6000_always_hint): New variable.
4243         (rs6000_sched_groups): New variable.
4244         (processor_target_table): Add power5.
4245         (rs6000_override_options): Set rs6000_sched_insert_nops,
4246         rs6000_sched_costly_dep and rs6000_sched_restricted_insns_priority
4247         from rs6000_sched_groups.
4248         (output_cbranch): Use rs6000_always_hint.
4249         (rs6000_variable_issue): Use rs6000_sched_groups.
4250         (rs6000_adjust_cost): Add CPU_POWER5.
4251         (is_microcoded_insn): Use rs6000_sched_groups.
4252         (is_dispatch_slot_restricted): Use rs6000_sched_groups.
4253         Return 2 for POWER5 cracked instructions.
4254         (is_cracked_insn): Use rs6000_sched_groups.
4255         (is_branch_slot_insn): Use rs6000_sched_groups.
4256         (rs6000_issue_rate): Add CPU_POWER5.
4257         (rs6000_sched_finish): Use rs6000_sched_groups.
4258         (rs6000_rtx_costs): Add PROCESSOR_POWER5.
4259         * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_POWER5.
4260         (DEFAULT_SCHED_COSTLY_DEP): Delete.
4261         (DEFAULT_RESTRICTED_INSNS_PRIORITY): Delete.
4262         (DEFAULT_SCHED_FINISH_NOP_INSERTION_SCHEME): Delete.
4263         * config/rs6000/rs6000.md (define_attr "cpu"): Add power5.
4264         * config/rs6000/power5.md: New file.
4265         * doc/invoke.texi: Add power5 option.
4266
4267         2004-03-17  Fariborz Jahanian <fjahanian@apple.com>
4268
4269         * config/rs6000/rs6000.c (rs6000_stack_info): correct reg_size
4270         for mixed mode.
4271         (rs6000_emit_prologue): Ditto.
4272         (rs6000_emit_epilogue): Ditto.
4273         * config/rs6000/rs6000.h: Definition of DWARF_CIE_DATA_ALIGNMENT
4274         macro for mixed mode.
4275
4276         2004-03-04  David Edelsohn  <edelsohn@gnu.org>
4277                     GP <gp@qnx.com>
4278
4279         * config/rs6000/rs6000.c (output_function_profiler): Append @plt
4280         when compiling PIC.
4281
4282 2004-04-30  Paolo Bonzini  <bonzini@gnu.org>
4283
4284         * config/altivec/altivec.h [__cplusplus] (vec_subsubs): Rename
4285         to vec_sububs.
4286         [__cplusplus] (vec_subsuhs): Rename to vec_subuhs,
4287         eliminating duplicates.
4288
4289 2004-04-29  Richard Sandiford  <rsandifo@redhat.com>
4290
4291         PR target/15189
4292         * config/mips/mips.md (load_df_low): Use default length.
4293         (load_df_high, store_df_high): Likewise.
4294
4295 2004-04-29  Philip Blundell  <philb@gnu.org>
4296
4297         * Merge from trunk:
4298         2004-04-20  Paul Brook  <paul@codesourcery.com>
4299
4300         * config/arm/arm.c (arm_legitimate_address_p): Use rtx_equal_p.
4301
4302 2004-04-29  Aldy Hernandez  <aldyh@redhat.com>
4303
4304         PR/12028
4305         * config/rs6000/rs6000.c (rs6000_emit_cmove): Disable comparisons
4306         of floats on the E500.
4307         (branch_positive_comparison_operator): Do not allow NE even on the
4308         E500.
4309         (ccr_bit): Remove E500 specific code.
4310         Remove miscompilation warning for e500.
4311         (print_operand): Add 'c' and 'D'.
4312         (rs6000_generate_compare): Rewrite to generate correct rtl.
4313         (rs6000_emit_sCOND): Handle E500.
4314         (output_cbranch): Adjust for changes in rs6000_generate_compare.
4315         (output_e500_flip_gt_bit): New.
4316         (rs6000_override_options): Error when user wants altivec and e500
4317         instructions.
4318
4319         * config/rs6000/rs6000.md (UNSPEC_MV_CR_GT): New constant.
4320         (move_from_CR_gt_bit): New.
4321         (cceq_ior_compare): Name previously unnamed pattern.  Disable for
4322         E500.
4323         (cceq_rev_compare): Name previously unnamed pattern.  Allow for
4324         E500.
4325
4326         * config/rs6000/spe.md (cmpsfeq_gpr): Rewrite as unspec.
4327         (tstsfeq_gpr): Same.
4328         (cmpsfgt_gpr): Same.
4329         (tstsfgt_gpr): Same.
4330         (cmpsflt_gpr): Same.
4331         (tstsflt_gpr): Same.
4332         (e500_cceq_ior_compare): New.
4333         (e500_flip_gt_bit): New.
4334
4335         * config/rs6000/rs6000-protos.h (output_e500_flip_gt_bit):
4336         Protoize.
4337
4338 2004-04-28  Ben Elliston  <bje@au.ibm.com>
4339
4340         * doc/invoke.texi (Objective-C Dialect Options): Don't prefix
4341         options with "-" in the option index.
4342         (SPARC Options): Likewise.
4343         (M32R/D Options): Likewise.
4344
4345 2004-04-28  Joseph S. Myers  <jsm@polyomino.org.uk>
4346
4347         * Makefile.in ($(DESTDIR)$(infodir)/%.info): Don't condition
4348         calling install-info on $(DESTDIR)$(infodir)/dir already being
4349         present.
4350
4351 2004-04-28  H.J. Lu  <hongjiu.lu@intel.com>
4352
4353         PR target/15084
4354         * config/i386/i386.md (*movsi_insv_1_rex64): Changed to DImode
4355         and renamed to movdi_insv_1_rex64.
4356         (insv): Support SImode for 32bit and DImode for 64bit.
4357
4358 2004-04-27  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4359
4360         PR debug/14829
4361         * dwarf2out.c (reg_number): Rename to dbx_reg_number.  Adjust all
4362         callers.
4363         (multiple_reg_loc_descriptor, reg_loc_descriptor): Use gcc register
4364         number for indexing hard_regno_nregs array.
4365
4366 2004-04-27  Bob Wilson  <bob.wilson@acm.org>
4367
4368         * config/xtensa/xtensa.c (call_insn_operand): Check
4369         SYMBOL_REF_EXTERNAL_P in addition to SYMBOL_REF_LOCAL_P.
4370         * config/xtensa/xtensa.h (LEGITIMATE_PIC_OPERAND): Likewise.
4371         * config/xtensa/xtensa.md (call, call_value): Likewise.
4372
4373 2004-04-26  Zack Weinberg  <zack@codesourcery.com>
4374
4375         * config/ia64/hpux.h: Predefine __STDCPP__ when compiling C++.
4376         * config/pa/pa-hpux10.h: Likewise.
4377         * config/pa/pa-hpux11.h: Likewise.
4378
4379 2004-04-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
4380
4381         PR optimization/13985
4382         * cfgloopmanip.c (fix_loop_placements): New prototype.
4383         Call fix_bb_placements on the preheader of loops that have
4384         been reparented.
4385         (remove_path): Adjust call to fix_loop_placements.
4386
4387 2004-04-23  Nick Clifton  <nickc@redhat.com>
4388
4389         * Import this patch from mainline:
4390         2004-04-16  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
4391
4392         * config/m32r/m32r.h (BIG_ENDIAN_BIT): Deleted to fix endian
4393         bug.
4394         (TARGET_LITTLE_ENDIAN, TARGET_BIG_ENDIAN,
4395         TARGET_DEFAULT): Changed. Ditto.
4396         (LITTLE_ENDIAN_BIT, TARGET_CPU_DEFAULT,
4397         TARGET_ENDIAN_DEFAULT): Added. Ditto.
4398         * config/m32r/little.h (TARGET_LITTLE_ENDIAN): Deleted.
4399         (TARGET_ENDIAN_DEFAULT): Added.
4400
4401 2004-04-22  Per Bothner  <per@bothner.com>
4402
4403         * cppinit.c (cpp_read_main_file):  Return NULL rather than false.
4404         Fixes PR preprocessor/15067.
4405
4406 2004-04-22  Ulrich Weigand  <uweigand@de.ibm.com>
4407
4408         * function.c (thread_prologue_and_epilogue): Move
4409         NOTE_INSN_FUNCTION_END and NOTE_INSN_FUNCTION_BEG notes
4410         before the epilogue.
4411
4412 2004-04-22  Ulrich Weigand  <uweigand@de.ibm.com>
4413
4414         * dbxout.c (dbxout_symbol_location): Do not output references
4415         to optimized-out constant pool symbols.
4416
4417 2004-04-22  Ulrich Weigand  <uweigand@de.ibm.com>
4418
4419         * expr.c (store_constructor): Use gen_int_mode to correctly
4420         sign-extend CONST_INT value.
4421
4422 2004-04-22  Ulrich Weigand  <uweigand@de.ibm.com>
4423
4424         * combine.c (if_then_else_cond): Check for NULL return value of
4425         simplify_gen_subreg.
4426
4427 2004-04-22  Ulrich Weigand  <uweigand@de.ibm.com>
4428
4429         * reload1.c (emit_reload_insns): Set reg_has_output_reload to one
4430         after setting reg_last_reload_reg for optional output reloads.
4431
4432 2004-04-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4433
4434         * pa64-regs.h (DBX_REGISTER_NUMBER): Simplify and correct mapping of
4435         SAR register.  Fix comment.
4436         (ADDITIONAL_REGISTER_NAMES): Correct register number of SAR register
4437         (%cr11).
4438
4439 2004-04-21  Kaz Kojima  <kkojima@gcc.gnu.org>
4440
4441         Backport from mainline:
4442
4443         2004-04-05  Kaz Kojima  <kkojima@gcc.gnu.org>
4444         * config/sh/sh.c (prepare_move_operands): Use emit_call_insn
4445         when the TLS address is generated by a function call.
4446         * config/sh/sh.md (tls_global_dynamic): Use a call expression.
4447         (tls_local_dynamic): Likewise.
4448
4449 2004-04-21  H.J. Lu  <hongjiu.lu@intel.com>
4450
4451         PR target/14813
4452         Backport from mainline:
4453
4454         * config/ia64/crtend.asm: Move pointer to __do_global_ctors_aux
4455         in .init_array section to ...
4456         * config/ia64/crtbegin.asm: Here.
4457
4458         * config/ia64/crtend.asm: Mark __do_global_ctors_aux global
4459         and hidden if HAVE_INITFINI_ARRAY is defined.
4460
4461 2004-04-21  Richard Henderson  <rth@redhat.com>
4462
4463         PR bootstrap/14671
4464         * alias.c (alias_invariant, alias_invariant_size): Mark GTY.
4465         (reg_known_value, reg_known_value_size): Likewise; make static.
4466         (reg_known_equiv_p): Make static.
4467         (clear_reg_alias_info): Update for new indexing.
4468         (get_reg_known_value, set_reg_known_value): New.
4469         (get_reg_known_equiv_p, set_reg_known_equiv_p): New.
4470         (canon_rtx): Use them.
4471         (init_alias_analysis): Likewise.  Allocate reg_known_value with gc.
4472         Don't play queer offsetting games with reg_known_value and
4473         reg_known_equiv_p.
4474         (end_alias_analysis): Don't free reg_known_value.
4475         * rtl.h (get_reg_known_value, get_reg_known_equiv_p): Declare.
4476         * sched-deps.c (reg_known_equiv_p, reg_known_value): Remove.
4477         (deps_may_trap_p, sched_analyze_1, sched_analyze_2): Use the new
4478         functions instead.
4479
4480 2004-04-21  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4481
4482         * pa64-hpux.h (LIB_SPEC): Fix library specification used with GNU ld.
4483
4484 2004-04-21  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4485
4486         * doc/install.texi (Specific, mips-sgi-irix5): Fix IRIX 5.3 IDO
4487         download URL.
4488
4489 2004-04-21  H.J. Lu  <hongjiu.lu@intel.com>
4490
4491         PR target/14857
4492         Backport from mainline:
4493
4494         * config/ia64/ia64.c (ia64_encode_section_info): Don't prod
4495         global register variables.
4496
4497 2004-04-21  H.J. Lu  <hongjiu.lu@intel.com>
4498
4499         * PR target/14723
4500         Backport from mainline:
4501         2004-02-14  Jan Hubicka  <jh@suse.cz>
4502
4503         * config.gcc: Add support for nocona/prescott/pentium-m/pentium3m
4504         /pentium4m.
4505         * i386.c (override_options): Add support for new CPUs.
4506         * i386.h (TARGET_CPU_DEFAULT_NAMES): New names.
4507         (TARGET_CPU_DEFAULT_pentium_m, TARGET_CPU_DEFAULT_pentium4e): New
4508         constants.
4509         * invoke.texi: Extend documentation of -mtune/-march for new CPUs.
4510
4511 2004-04-20  Mark Mitchell  <mark@codesourcery.com>
4512
4513         * version.c (version_string): Mark as prerelease.
4514         * doc/include/gcc-common.texi: Bump version number.
4515
4516 2004-04-18  Release Manager
4517
4518         * GCC 3.4.0 released.
4519
4520 2004-04-18  Alan Modra  <amodra@bigpond.net.au>
4521
4522         PR bootstrap/14992
4523         * configure.ac: Define HAVE_LD_AS_NEEDED only for linux.
4524         * configure: Regenerate.
4525         * gcc.c (init_gcc_specs): Revert earlier change.
4526
4527 2004-04-18  Mark Mitchell  <mark@codesourcery.com>
4528
4529         PR other/14918
4530         * doc/invoke.texi (-fprofile-generate): Document requirement to
4531         use -fprofile-generate when linking.
4532
4533         PR bootstrap/14992
4534         * gcc.c (init_gcc_specs): Only honor HAVE_LD_AS_NEEDED on
4535         GNU/Linux.
4536
4537         * doc/extend.texi (Strong Using): Warn users against using this
4538         feature.
4539
4540 2004-04-17  Richard Sandiford  <rsandifo@redhat.com>
4541
4542         * configure.ac (gcc_cv_ld_as_needed): Use AC_CACHE_CHECK.
4543         * configure: Regenerate.
4544
4545 2004-04-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4546
4547         * config.gcc (i[34567]86-*-solaris2*): Default to DWARF-2
4548         debugging on Solaris 7 and up.
4549
4550 2004-04-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4551
4552         * doc/install.texi (Specific, mips-sgi-irix5): Reflect working
4553         IRIX 5 port.
4554         Remove -save-temps workaround, handled automatically.
4555         Require GNU binutils 2.15 for debugging.
4556         Remove SGI make warnings since GNU make is now required.
4557         (Specific, mips-sgi-irix6): Some markup fixes.
4558         Describe MIPSpro C problems and workarounds.
4559         Mention working O32 ABI support.
4560         Recommend GNU as 2.15 for O32 with debugging.
4561         Remove description of fixed structure pass/return bug.
4562
4563 2004-04-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4564
4565         * aclocal.m4 (gcc_AC_PROG_GNAT): Check if ${CC} produces object
4566         file for Ada compilation.
4567         Fix gcc_cv_cc_supports_ada spelling.
4568         * configure: Regenerate.
4569
4570 2004-04-14  Zack Weinberg  <zack@codesourcery.com>
4571
4572         PR 14936
4573         Backport from mainline:
4574         2004-03-12  Matt Austern  <austern@apple.com>
4575
4576         * varasm.c (make_decl_one_only): Don't use DECL_COMMON if
4577         we're compiling for a SUPPORTS_ONE_ONLY target.
4578
4579 2004-04-09  Zack Weinberg  <zack@codesourcery.com>
4580
4581         * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Look only at
4582         mode argument.
4583         * config/ia64/ia64.c (ia64_hpux_file_end): Check
4584         TREE_SYMBOL_REFERENCED on DECL_ASSEMBLER_NAME, not DECL_NAME.
4585
4586 2004-04-08  Mark Mitchell  <mark@codesourcery.com>
4587
4588         * doc/invoke.texi (Precompiled Headers): Warn about known
4589         problems.
4590
4591 2004-04-08  Joel Sherrill <joel@oarcorp.com>
4592
4593         PR ada/14538
4594         * ada/5rosinte.adb: Remove fake mprotect() body.
4595         * ada/5rosinte.ads: Add SA_SIGINFO.  Make pthread_key_t a type
4596         which can be set since Finalize_TCB in 7staprop.adb does not
4597         go through the Set_Specific interface.
4598         * ada/5rtpopsp.adb: Rewrite to use new interface.
4599         * ada/init.c: Reorder so the simple single OS conditional __rtems__
4600         is tested before more complex ones which mix UNIX and embedded
4601         systems in the conditional.
4602
4603 2004-04-08  Joel Sherrill  <joel@oarcorp.com>
4604
4605         PR ada/14665
4606         * ada/osint.adb (Find_Program_Name): Rework to properly handle
4607         filenames which end in .exe or have versioning suffixes like VMS.
4608
4609 2004-04-08  Joseph S. Myers  <jsm@polyomino.org.uk>
4610
4611         * fixinc/inclhack.def (rpc_xdr_lvalue_cast_a,
4612         rpc_xdr_lvalue_cast_b): New fixes.
4613         * fixinc/fixincl.x: Regenerate.
4614         * fixinc/tests/base/rpc/xdr.h: Add new tests.
4615
4616 2004-04-06  Mark Mitchell  <mark@codesourcery.com>
4617
4618         * config/darwin.h (LINK_COMMAND_SPEC): Change c++filt3 to c++filt.
4619
4620 2004-04-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4621
4622         * doc/install.texi: Update HP-UX 11 installation procedure.
4623
4624 2004-04-05  Jakub Jelinek  <jakuB@redhat.com>
4625           John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4626
4627         PR optimization/13424 (hppa), bootstrap/14462, c/14828
4628         * pa.md: Use replace_equiv_address to retain the attributes of the
4629         memory operands used in the split and peephole2 patterns for optimizing
4630         the pre-reload movstrsi, movstrdi, clrstrsi and clrstrdi patterns.
4631
4632 2004-04-05  Alexandre Oliva  <aoliva@redhat.com>
4633
4634         * cppinit.c (cpp_read_main_file): Return file name obtained by
4635         read_original_filename.  Missed in 2004-02-04's check in to 3.4
4636         branch by Per Bothner.
4637
4638 2004-04-05  Eric Botcazou  <ebotcazou@libertysurf.fr>
4639
4640         * config/sparc/sol2-bi.h (PREFERRED_DEBUGGING_TYPE): Set
4641         to DWARF2_DEBUG unconditionally.
4642         (ASM_DEBUG_SPEC): Set the default to --gdwarf2 unconditionally.
4643
4644 2004-04-04  Mark Mitchell  <mark@codesourcery.com>
4645
4646         PR c++/14804
4647         * varasm.c (initializer_constant_valid_p): Allow NOP_EXPRs to
4648         RECORD_TYPEs.
4649
4650 2004-04-02  Jakub Jelinek  <jakub@redhat.com>
4651             Eric Botcazou  <ebotcazou@libertysurf.fr>
4652
4653         PR optimization/13424, optimization/12419
4654         * explow.c (maybe_set_unchanging): Revert 2003-04-07 patch.
4655         Set RTX_UNCHANGING_P even for read-only DECL_EXTERNAL decls.
4656         * expr.c (store_constructor): When clearing aggregate because
4657         of an incomplete or mostly zero constructor, do the clearing
4658         without /u flag and then emit a blockage.
4659
4660 2004-04-01  Alan Modra  <amodra@bigpond.net.au>
4661             Jakub Jelinek  <jakub@redhat.com>
4662
4663         * gcc.c (init_gcc_specs): If HAVE_LD_AS_NEEDED, link with
4664         -lgcc --as-needed -lgcc_s --no-as-needed by default.
4665         * configure.ac (HAVE_LD_AS_NEEDED): Check for ld --as-needed.
4666         * configure: Rebuilt.
4667         * config.in: Rebuilt.
4668         * Makefile.in (stage1-start): Copy also libgcc_s*$(SHLIB_EXT).
4669         (stage2-start, stage3-start, stage4-start): Likewise.
4670         (stageprofile-start, stagefeedback-start): Likewise.
4671
4672 2004-04-01  Jakub Jelinek  <jakub@redhat.com>
4673
4674         * config/sparc/sparc.h (DITF_CONVERSION_LIBFUNCS): Define to 0.
4675         * config/sparc/linux.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1.
4676         * config/sparc/linux64.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1.
4677         * config/sparc/sol2.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1.
4678         (SOLARIS_CONVERSION_LIBFUNCS): Rename to SUN_CONVERSION_LIBFUNCS.
4679         * config/sparc/sparc.c (sparc_init_libfuncs): Initialize optabs
4680         with _Q_qtoll, _Q_qtoull and _Q_lltoq if DITF_CONVERSION_LIBFUNCS.
4681         * config.gcc (sparc-*-linux*): Revert 2004-03-23 change.
4682         * config/sparc/t-linux64 (TARGET_LIBGCC2_CFLAGS): Likewise.
4683         * config/sparc/t-linux: Removed.
4684
4685 2004-04-01  Jakub Jelinek  <jakub@redhat.com>
4686
4687         PR c++/14755
4688         * fold-const.c (fold) <EQ_EXPR>: Properly compute newconst in
4689         "bitfld++ == const" to "++bitfld == const + incr" transformations.
4690
4691 2004-03-30  Aldy Hernandez  <aldyh@redhat.com>
4692
4693         PR 14219
4694         * c-typeck.c (build_binary_op): Do not allow comparisons of
4695         vectors.
4696
4697 2004-03-26  Ian Lance Taylor  <ian@wasabisystems.com>
4698
4699         PR target/14206
4700         * doc/install.texi (Specific): Document that exec-shield-randomize
4701         interferes with precompiled headers.
4702
4703 2004-03-26  Richard Henderson  <rth@redhat.com>
4704
4705         PR 11527
4706         * c-typeck.c (pop_init_level): Emit pending init elements earlier
4707         rather than later.
4708
4709 2004-03-25  Jakub Jelinek  <jakub@redhat.com>
4710
4711         * config.gcc (sparc-*-linux*): Add sparc/t-linux to tmake_file.
4712         * config/sparc/t-linux64 (TARGET_LIBGCC2_CFLAGS): Set.
4713         * config/sparc/t-linux: New file.
4714
4715 2004-03-25  Jan Hubicka  <jh@suse.cz>
4716
4717         PR debug/13974
4718         * cfgrtl.c (try_redirect_by_replacing_jump,
4719         force_nonfallthru_and_redirect, commit_one_edge_insertion,
4720         cfg_layout_merge_blocks):  Do not attach any line number information
4721         to newly inserted instructions.
4722         * emit-rtl.c (emit_insn*_before, emit_insn*_after): Rename to
4723         emit_insn_*_noloc.
4724         (emit_*insn_before, emit_insn*_after): New.
4725         (emit_*insn_before_setloc, emit_*insn_after_setloc): Do not overwrite
4726         existing locators.
4727         * rtl.h (emit_*insn_before_noloc, emit_*insn_after_noloc): Declare.
4728         (emit_*insn_before_sameloc, emit_*insn_after_sameloc): Kill.
4729
4730 2004-03-24  Steven Bosscher  <stevenb@suse.de>
4731
4732         PR pch/14137
4733         * c-pch.c (struct c_pch_validity): New flags_info field.
4734         (FLAG_UNIT_AT_A_TIME_SET): New definition.
4735         (pch_init): Write out the flags_info field to the PCH.  Set the
4736         FLAG_UNIT_AT_A_TIME_SET bit of the field if flag_unit_at_a_time
4737         is set.
4738         (c_common_valid_pch): Make sure the flag settings used for compiling
4739         the PCH are the same as those used in the current compilation.
4740
4741 2004-03-24  Alexandre Oliva  <aoliva@redhat.com>
4742
4743         PR preprocessor/14438
4744         * cpplib.c (do_pragma): Remove line_change call after pragma
4745         handler.
4746
4747 2004-03-23  Ian Lance Taylor  <ian@wasabisystems.com>
4748
4749         * doc/extend.texi (ARM Built-in Functions): Replace with correct
4750         declarations.
4751
4752 2004-03-23  Kazu Hirata  <kazu@cs.umass.edu>
4753
4754         PR optimization/14669
4755         * fold-const.c (fold): Only unwiden integer comparisons for equality
4756         and inequality operators, or when the signedness doesn't change.
4757
4758 2004-03-23  Jason Merrill  <jason@redhat.com>
4759
4760         PR c++/14587
4761         * config/i386/winnt.c (associated_type): Look for attributes on
4762         the TYPE_MAIN_VARIANT of *this.
4763
4764 2004-03-21  Mark Mitchell  <mark@codesourcery.com>
4765
4766         PR c/13129
4767         * c-decl.c (warn_if_shadowing): Don't warn about a new declaration
4768         of a file-scope entity.
4769
4770 2004-03-22  Jakub Jelinek  <jakub@redhat.com>
4771
4772         PR c/14069
4773         * c-decl.c (finish_struct): Change type of incorrect flexible array
4774         field into error_mark_node.
4775
4776 2004-03-22  Ralf Corsepius <corsepiu@faw.uni-ulm.de>
4777
4778         PR target/14260
4779         * config/rtems.h: Add STD_LIB_SPEC and LIB_SPEC.
4780
4781 2004-03-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
4782
4783         PR middle-end/14470
4784         * expr.c (mark_queue): New function.
4785         (emit_insns_enqueued_after_mark): New function replacing
4786         emit_queue.  Clear the body of emitted queued insns.
4787         (emit_queue): Call emit_insns_enqueued_after_mark.
4788         (store_expr): Mark the increment queue on entry.  Emit
4789         only the incrementations queued when expanding the source.
4790
4791 2004-03-22  Danny Smith  <dannysmith@users.sourceforge.net>
4792
4793         * gcov-io.h: Update copyright year.
4794
4795 2004-03-22  Danny Smith  <dannysmith@users.sourceforge.net>
4796
4797         PR target/14291
4798         * gcov-io.h (gcov_truncate): Define ftruncate as _chsize for
4799         __MINGW32__.
4800
4801 2004-03-21  Roger Sayle  <roger@eyesopen.com>
4802
4803         PR target/13889
4804         * cse.c (fold_rtx): Avoid substituting constants into unary
4805         conversion operations.
4806
4807 2004-03-21  Joseph S. Myers  <jsm@polyomino.org.uk>
4808
4809         * frontends.texi: Add missing line.
4810
4811 2004-03-21  Zack Weinberg  <zack@codesourcery.com>
4812             Chris Devers  <cdevers@pobox.com>
4813             Joseph S. Myers  <jsm@polyomino.org.uk>
4814
4815         * doc/frontends.texi: Rewrite.
4816         * doc/gcc.texi: Update last modification date.
4817
4818 2004-03-20  Ian Lance Taylor  <ian@wasabisystems.com>
4819
4820         PR c/12373
4821         * c-typeck.c (tagged_types_tu_compatible_p): Don't use
4822         DECL_ORIGINAL_TYPE if there isn't one.
4823
4824 2004-03-20  Joseph S. Myers  <jsm@polyomino.org.uk>
4825
4826         PR other/14630
4827         * doc/install.texi: Add info directory category and entry.
4828
4829 2004-03-20  Joseph S. Myers  <jsm@polyomino.org.uk>
4830
4831         PR c/14635
4832         * builtins.def (nan, nanf, nanl, nans, nansf, nansl): Change to
4833         DEF_GCC_BUILTIN.
4834
4835 2004-03-18  Mark Mitchell  <mark@codesourcery.com>
4836
4837         * c-common.c (pointer_int_sum): Do not complain about using
4838         pointers to pointers-to-members.
4839
4840         * c-decl.c (grokdeclarator): Do not complain about redeclaring
4841         visible "static" identifiers "extern" in a local scope.
4842         * dwarf2out.c (loc_descriptor_from_tree): Handle pre- and
4843         post-increments/decrements.
4844
4845 2004-03-17  Jakub Jelinek  <jakub@redhat.com>
4846
4847         * config/rs6000/t-linux64 (bispecs): Don't add -mlong-double-128 for
4848         32-bit builds when defaulting to 32-bit.
4849
4850 2004-03-17  Richard Sandiford  <rsandifo@redhat.com>
4851
4852         PR target/14599
4853         * config/mips/mips.md (UNSPEC_GP): New constant.
4854         * config/mips/mips.c (CONST_GP_P): Expect the CONST to contain
4855         an UNSPEC instead of (reg $gp).
4856         (mips16_gp_pseudo_reg): Change accordingly.
4857         (print_operand): Print $gp directly when handling CONST_GP_P.
4858
4859 2004-03-16  Mark Mitchell  <mark@codesourcery.com>
4860
4861         PR c++/14481
4862         * fold-const.c (fold): Set TREE_NO_UNUSED_WARNING on implicitly
4863         generated COMPOUND_EXPRs.
4864
4865 2004-03-16  Nathanael Nerode  <neroden@gcc.gnu.org>
4866
4867         PR bootstrap/12974
4868         * Makefile.in: Pass $(INCLUDES) down to libgcc.mk explicitly.
4869
4870 2004-03-16  Richard Henderson  <rth@redhat.com>
4871
4872         PR middle-end/14535
4873         * except.c (collect_one_action_chain): Create action record for
4874         cleanup outer of exception spec.
4875
4876 2004-03-16  Ralf Corsepius <corsepiu@faw.uni-ulm.de>
4877
4878         PR target/14577
4879         * config.gcc: Switch sh-*-rtems* to ELF.  Add sh-*-rtemscoff.
4880
4881 2004-03-15  Richard Henderson  <rth@redhat.com>
4882
4883         PR target/14547
4884         * target.h (struct gcc_target): Move calls substructure before
4885         booleans.  Add split_complex_arg.
4886         * function.c (assign_parms, split_complex_args): Use it.
4887         * calls.c (expand_call): Likewise.
4888         (split_complex_values): Likewise.  Check for splittable types
4889         before allocating memory.
4890         (split_complex_types): Likewise.
4891         * system.h (SPLIT_COMPLEX_ARGS): Poison.
4892         * expr.h (SPLIT_COMPLEX_ARGS): Remove.
4893         * target-def.h (TARGET_SPLIT_COMPLEX_ARG): New.
4894         * config/alpha/alpha.c (alpha_split_complex_arg): New.
4895         (TARGET_SPLIT_COMPLEX_ARG): New.
4896         * config/alpha/alpha.h (SPLIT_COMPLEX_ARGS): Remove.
4897         * config/rs6000/rs6000.c (TARGET_SPLIT_COMPLEX_ARG): New.
4898         (rs6000_override_options): Zap it for non-AIX.
4899         (rs6000_function_value): Use targetm.calls.split_complex_arg.
4900         * config/rs6000/rs6000.h (SPLIT_COMPLEX_ARGS): Remove.
4901         * config/xtensa/xtensa.c (TARGET_SPLIT_COMPLEX_ARG): New.
4902         * config/xtensa/xtensa.h (SPLIT_COMPLEX_ARGS): Remove.
4903         * doc/tm.texi (TARGET_SPLIT_COMPLEX_ARG): Modify from old
4904         SPLIT_COMPLEX_ARGS entry.
4905
4906 2004-03-15  Eric Botcazou  <ebotcazou@act-europe.fr>
4907
4908         * config/sparc/sparc.h: Rework comments about the code model
4909         in 64-bit environment and the mode 'Pmode'.
4910         * doc/invoke.texi (SPARC options): Rework description of the
4911         different code models supported in 64-bit environment.
4912
4913 2004-03-14  Joseph S. Myers  <jsm@polyomino.org.uk>
4914
4915         * doc/contrib.texi, doc/extend.texi, doc/gcov.texi,
4916         doc/install.texi, doc/invoke.texi, doc/makefile.texi,
4917         doc/sourcebuild.texi, doc/tm.texi, doc/trouble.texi: Capitalize
4918         "gcc", "g++" and "g77" or mark up with appropriate markup.  Adjust
4919         wording and grammar.
4920
4921 2004-03-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
4922
4923         PR c/14114
4924         * c-decl.c (merge_decls): Do not copy the C_DECL_INVISIBLE flag
4925         from the new decl to the old decl.
4926         (pushdecl): Use lookup_name to search for a previous decl with the
4927         same identifier.
4928
4929 2004-03-13  Dara Hazeghi  <dhazeghi@yahoo.com>
4930
4931         * doc/install.texi: Note status of -fnew-ra.
4932
4933 2004-03-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
4934
4935         PR middle-end/14470
4936         * expr.c (store_expr): Call emit_queue before generating the move
4937         from the temporary to the original target.  Protect the temporary
4938         from emit_queue.
4939
4940 2004-03-13  Jakub Jelinek  <jakub@redhat.com>
4941
4942         PR target/14533
4943         * config/s390/s390.c (legitimize_pic_address): Don't abort on UNSPEC
4944         other than UNSPEC_GOTOFF.
4945
4946 2004-03-13  Dean Ferreyra <dferreyra@igc.org>
4947
4948         PR target/14047
4949         * config/avr/avr.c (avr_progmem_p): Add "attributes" parameter.
4950         (avr_insert_attributes): Pass "attributes" to avr_progmem_p.
4951         * config/avr/avr-protos.h (avr_progmem_p): Change prototype.
4952
4953 2004-03-12  David Edelsohn  <edelsohn@gnu.org>
4954
4955         * doc/install.texi (*-ibm-aix*): Document assembler and achiver
4956         fixes required by libstdc++ and update installation instructions
4957         for libstdc++.a.  Document use of Bash to speed up configuration.
4958
4959 2004-03-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
4960
4961         * doc/tm.texi (registers) <Values in Registers>: Add
4962         entry for REGMODE_NATURAL_SIZE.
4963
4964 2004-03-11  Richard Henderson  <rth@redhat.com>
4965
4966         PR target/14539
4967         * config/alpha/alpha.h (STACK_BOUNDARY): Set to 128.
4968
4969 2004-03-12  Alan Modra  <amodra@bigpond.net.au>
4970
4971         * real.c (encode_ibm_extended): Do round low word.
4972
4973 2004-03-11  Richard Henderson  <rth@redhat.com>
4974
4975         PR middle-end/14477
4976         * except.c (remove_unreachable_regions): Look thru CALL_PLACEHOLDER.
4977
4978 2004-03-11  Richard Sandiford  <rsandifo@redhat.com>
4979
4980         PR target/14496
4981         * config/mips/mips.h (UNITS_PER_FPVALUE): Fix value for
4982         TARGET_SINGLE_FLOAT.
4983
4984 2004-03-11  Kelley Cook  <kcook@gcc.gnu.org>
4985
4986         PR other/14536
4987         * configure: Regenerated with autoconf 2.57.
4988         * config.in: Regenerated with autoheader 2.57.
4989
4990 2004-03-11  Alan Modra  <amodra@bigpond.net.au>
4991
4992         * config/rs6000/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Don't
4993         bump retaddr here.
4994
4995 2004-03-11  Alan Modra  <amodra@bigpond.net.au>
4996
4997         * config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Add darwin-ldouble.c.
4998         (SHLIB_MAPFILES): Add libgcc-ppc64.ver.
4999         (SHLIB_MKMAP_OPTS): Delete.
5000         (TARGET_LIBGCC2_CFLAGS): Add -specs.
5001         (bispecs): Add rule.
5002         * config/rs6000/libgcc-ppc64.ver: New file.
5003         * config/rs6000/ppc64-fp.c (__fixtfdi, __floatditf): New functions.
5004         (__floatdidf, __floatdisf): Optimize multiply.
5005         (__fixunstfdi): New function.
5006         * config/rs6000/rs6000.c (rs6000_complex_function_value): Allow for
5007         real and imag parts larger than one register.
5008         (function_arg): Correct type of reg used when fp arg split partially
5009         to stack.
5010         * config/rs6000/darwin-ldouble.c: Protect with #if !_SOFT_FLOAT
5011         and __MACH__ or __powerpc64__.
5012
5013 2004-03-10  Richard Henderson  <rth@redhat.com>
5014
5015         PR c/14517
5016         * c-decl.c (grokdeclarator): Don't warn for duplicate qualifiers
5017         except for pedantic c90 mode.
5018
5019 2004-03-10  Andrew Haley  <aph@redhat.com>
5020
5021         PR optimization/14381
5022         * function.c (expand_function_end): Emit a blockage insn before
5023         the epilogue when -fnon-call-exceptions is used.
5024
5025 2004-03-10  Joel Sherrill  <joel@oarcorp.com>
5026
5027         PR target/14480
5028         * config.gcc (powerpc*-*-rtems*): Use rs6000/t-rtems.
5029
5030 2004-03-10  Roman Zippel  <zippel@linux-m68k.org>
5031
5032         PR bootstrap/12371
5033         * config/m68k/m68k.h (FIXED_REGISTERS): Add arg pointer.
5034         (CALL_USED_REGISTERS): Likewise.
5035         (REG_CLASS_CONTENTS): Likewise.
5036         (REG_ALLOC_ORDER): New.
5037         (REGNO_REG_CLASS): Use regno_reg_class.
5038         * config/m68k/m68k.c: Add regno_reg_class array.
5039
5040 2004-03-10  Alan Modra  <amodra@bigpond.net.au>
5041             Hartmut Penner  <hpenner@de.ibm.com>
5042
5043         * config/rs6000/rs6000.c (invalid_gpr_mem): New function.
5044         (base_reg_operand): New function.
5045         (legitimate_offset_address_p): Don't test modes in an attempt to
5046         distinguish gpr vs fpr mem loads/stores.  Don't prohibit offsets
5047         invalid for 64-bit gpr loads/stores here.
5048         (secondary_reload_class): Add "inp" parameter.  Generate a reload
5049         for 64-bit gpr loads/stores.
5050         * config/rs6000/rs6000.h (SECONDARY_RELOAD_CLASS): Delete.
5051         (SECONDARY_INPUT_RELOAD_CLASS, SECONDARY_OUTPUT_RELOAD_CLASS): Define.
5052         (PREDICATE_CODES): Add invalid_gpr_mem and base_reg_operand.
5053         (DISPARAGE_RELOAD_CLASS): Define.
5054         * config/rs6000/rs6000-protos.h (secondary_reload_class): Update.
5055         * config/rs6000/rs6000.md (movdf_hardfloat64): Correct attrs.
5056         Add m->b alternative and split.
5057         (movdi_internal64): Replace r->m and m->r with r->Y and Y->r.
5058         Add m->b alternative and split.
5059         * reload.c (find_reloads): Invoke DISPARAGE_RELOAD_CLASS.
5060
5061 2004-03-10  Hans-Peter Nilsson  <hp@axis.com>
5062
5063         PR other/14474
5064         * doc/md.texi (Pattern Ordering, Dependent Patterns)
5065         (Jump Patterns, Looping Patterns): Wrap in separate "@ifset
5066         INTERNALS".
5067
5068 2004-03-09  Zack Weinberg  <zack@codesourcery.com>
5069
5070         * config/ia64/hpux.h (MULTILIB_DEFAULTS): Define.
5071         (LIBGCC_SPEC): Update to match.
5072
5073 2004-03-09  Ralf Corsepius <corsepiu@faw.uni-ulm.de>
5074
5075         * config/h8300/t-rtems (h8300-*-rtems*): New.
5076         * config.gcc: Use config/h8300/t-rtems.
5077
5078 2004-03-09  Roger Sayle  <roger@eyesopen.com>
5079
5080         PR middle-end/14289
5081         * c-typeck.c (c_mark_addressable): A register variable should
5082         be considered global if its not automatic, i.e. TREE_PUBLIC,
5083         TREE_STATIC or DECL_EXTERNAL.
5084         * function.c (put_var_into_stack): Call abort when placing a
5085         hard register into the stack, if x_parm_reg_stack_loc is NULL.
5086
5087 2004-03-08  David Edelsohn  <edelsohn@gnu.org>
5088
5089         * collect2.c (main): Only export initfunc and finifunc if
5090         LD_INIT_SWITCH not defined.
5091         (scan_prog_file): Only export constructors and destructors if
5092         LD_INIT_SWITCH not defined.  Only export symbols not found in
5093         shared objects.
5094
5095 2004-03-09  Alan Modra  <amodra@bigpond.net.au>
5096
5097         * doc/tm.texi (INIT_CUMULATIVE_ARGS): Update doco.
5098         * calls.c (expand_call): Pass n_named_args to INIT_CUMULATIVE_ARGS.
5099         (emit_library_call_value_1): Likewise pass nargs.
5100         * expr.c (block_move_libcall_safe_for_call_parm): Pass 3 here.
5101         * function.c (assign_parms): Pass -1 to INIT_CUMULATIVE_ARGS.
5102         * config/rs6000/rs6000.c (init_cumulative_args): Use n_named_args
5103         parameter instead of scanning TYPE_ARGS_TYPES to count args.
5104         * config/rs6000/rs6000-protos.h (init_cumulative_args): Update
5105         prototype.
5106         * config/rs6000/rs6000.h (INIT_CUMULATIVE_ARGS): Pass extra arg.
5107         (INIT_CUMULATIVE_INCOMING_ARGS): Set extra arg to 1000.
5108         (INIT_CUMULATIVE_LIBCALL_ARGS): Set extra arg to 0.
5109         * config/sh/sh.c (sh_output_mi_thunk): Pass 1 as n_named_args to
5110         INIT_CUMULATIVE_ARGS.
5111         * config/alpha/alpha.h (INIT_CUMULATIVE_ARGS): Update.
5112         * config/alpha/unicosmk.h, config/alpha/vms.h, config/arc/arc.h,
5113         config/arm/arm.h, config/avr/avr.h, config/c4x/c4x.h,
5114         config/cris/cris.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
5115         config/fr30/fr30.h, config/frv/frv.h, config/h8300/h8300.h,
5116         config/i370/i370.h, config/i386/i386.h, config/i860/i860.h,
5117         config/i960/i960.h, config/ia64/ia64.h, config/ip2k/ip2k.h,
5118         config/iq2000/iq2000.c, config/iq2000/iq2000.h, config/m32r/m32r.h,
5119         config/m68hc11/m68hc11.h, config/m68k/m68k.h, config/mcore/mcore.h,
5120         config/mips/mips.h, config/mmix/mmix.h, config/mn10300/mn10300.h,
5121         config/ns32k/ns32k.h, config/pa/pa.h, config/pdp11/pdp11.h,
5122         config/s390/s390.h, config/sh/sh.h, config/sparc/sparc.h,
5123         config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
5124         config/xtensa/xtensa.h: Likewise.
5125
5126 2004-03-09  Alan Modra  <amodra@bigpond.net.au>
5127
5128         PR debug/11983
5129         * dwarf2out.c (enum dw_val_class): Rename dw_val_class_float to
5130         dw_val_class_vec.  Replace use throughout file.
5131         (dw_float_const): Delete.
5132         (dw_vec_const): New.
5133         (dw_val_struct_union): Rename val_float to val_vec.  Replace use
5134         throughout file.
5135         (add_AT_vec): Rename from add_AT_float.  Add elt_size param.
5136         (same_dw_val_p): Adjust vec comparison.  Use memcmp.
5137         (size_of_die): Adjust dw_val_class_vec sizing.
5138         (output_die): Output dw_val_class_vec.
5139         (insert_int, extract_int, insert_float): New functions.
5140         (add_const_value_attribute): Use insert_float for CONST_DOUBLE.
5141         Handle CONST_VECTOR.
5142         (add_location_or_const_value_attribute): Handle CONST_VECTOR.
5143
5144 2004-03-08  Joel Sherrill  <joel@oarcorp.com>
5145
5146         PR target/14480
5147         * config/rs6000/t-rtems: Add missing file on branch.
5148
5149 2004-03-08  Roger Sayle  <roger@eyesopen.com>
5150
5151         * fold-const.c (fold) <EQ_EXPR>: Rewrite optimization to transform
5152         "foo++ == const" into "++foo == const+incr".
5153
5154 2004-03-08  Ulrich Weigand  <uweigand@de.ibm.com>
5155
5156         * config/s390/s390.md ("*extendqidi2_short_displ"): Add CC clobber.
5157         ("*extendqisi2_short_displ"): Likewise.
5158
5159 2004-03-08  Eric Botcazou  <ebotcazou@act-europe.fr>
5160
5161         * expr.c (highest_pow2_factor_for_type): Rename into
5162         highest_pow2_factor_for_target.  Use DECL_ALIGN instead of
5163         TYPE_ALIGN when the target is a COMPONENT_REF.
5164         (expand_assignment): Ajust call to highest_pow2_factor_for_type.
5165
5166 2004-03-08  Alan Modra  <amodra@bigpond.net.au>
5167
5168         * config/rs6000/rs6000.c: Formatting fix.
5169         (legitimate_offset_address_p): Correct offset range check.
5170
5171         * config/rs6000/rs6000.c (rs6000_override_options): Don't override
5172         -msoft-float by -mcpu.  Consolidate similar code for MASK_MULTIPLE
5173         and MASK_STRING.
5174
5175 2004-03-07  Aldy Hernandez  <aldyh@redhat.com>
5176
5177         * config/rs6000/rs6000.md (ashrdi3): Do not call ashrdi3_no_power
5178         for little endian.
5179         ("ashrdi3_no_power"): Disable for little endian.
5180         (ashrdi3): Same.
5181
5182 2004-03-07  Aldy Hernandez  <aldyh@redhat.com>
5183
5184         * config/rs6000/rs6000.c (rs6000_parse_abi_options): SPE and
5185         AltiVec abi cannot co-exist.
5186
5187         * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Same.
5188
5189 2004-03-07  Hans-Peter Nilsson  <hp@axis.com>
5190
5191         PR target/14471
5192         * configure.ac (Target-specific assembler checks) <cris-*-*>: New
5193         case, checking for -no-mul-bug-abort option.
5194         * configure, config.in: Regenerate.
5195         * doc/invoke.texi (CRIS Options): Document -mmul-bug-workaround
5196         and -mno-mul-bug-workaround.
5197         * config/cris/cris.md ("smulsi3_highpart", "umulsi3_highpart")
5198         ("mulsidi3", "umulsidi3"): Prefix output template with "%!".
5199         ("umulhisi3", "umulqihi3", "mulsi3", "mulqihi3", "mulhisi3"):
5200         Ditto.  Make attribute "slottable" dependent on TARGET_MUL_BUG.
5201         * config/cris/mulsi3.asm (__Mul) [__CRIS_arch_version >= 10]: Make
5202         sure mulu.d is not last on cache-line.
5203         * config/cris/cris.h (ASM_SPEC): Translate -mno-mul-bug-workaround
5204         into -no-mul-bug-abort depending on HAVE_AS_MUL_BUG_ABORT_OPTION.
5205         (TARGET_MASK_MUL_BUG, TARGET_MUL_BUG): New macros.
5206         (TARGET_SWITCHES): New options -mmul-bug-workaround and
5207         -mno-mul-bug-workaround.
5208         (TARGET_DEFAULT): Include TARGET_MASK_MUL_BUG.
5209         (PRINT_OPERAND_PUNCT_VALID_P): Include '!'.
5210         * config/cris/cris.c (cris_operand_extend_operator): Clarify
5211         relation to MULT in head comment.
5212         (cris_op_str): Abort for MULT.
5213         (cris_print_operand) <case '!'>: New case.
5214
5215 2004-03-07  Stephane Carrez  <stcarrez@nerim.fr>
5216
5217         * config/m68hc11/m68hc11.md ("*lshrsi3_const"): Disable for 68HC12.
5218         ("*lshrsi3"): Also accept an immediate for 68HC12.
5219         ("*ashrsi3_const"): Likewise.
5220         ("*ashrsi3"): Likewise.
5221         ("*ashlsi3_const"): Likewise.
5222         ("*ashlsi3"): Likewise.
5223         ("cmphi_1_hc12"): Compare two hard register by pushing them and
5224         comparing with a pop; don't use a split for that.
5225         ("cmphi split"): Disable compare split for 68HC12.
5226
5227         * config/m68hc11/m68hc11.c (m68hc11_notice_update_cc): Invalidate
5228         the status operands if they have side effects.
5229
5230 2004-03-07  Richard Sandiford  <rsandifo@redhat.com>
5231
5232         * config/mips/mips.c (mips_in_small_data_p): Return false if
5233         TARGET_ABICALLS.
5234
5235 2004-03-06  Stephane Carrez  <stcarrez@nerim.fr>
5236
5237         * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Use 2,-sp to push
5238         the stack register.
5239         (expand_prologue): Don't make an interrupt or a trap handler a far
5240         symbol.
5241         (m68hc11_initial_elimination_offset): Likewise.
5242
5243 2004-03-06  Richard Henderson  <rth@redhat.com>
5244
5245         * config/alpha/alpha.c (alpha_in_small_data_p): False for functions.
5246
5247 2004-03-06  Richard Henderson  <rth@redhat.com>
5248
5249         * config/alpha/alpha.h (MASK_LONG_DOUBLE_128): New.
5250         (TARGET_LONG_DOUBLE_128): New.
5251         (TARGET_SWITCHES): Add long-double-{128,64}.
5252         (TARGET_HAS_XFLOATING_LIBS): Default to TARGET_LONG_DOUBLE_128.
5253         (LONG_DOUBLE_TYPE_SIZE): Honor TARGET_LONG_DOUBLE_128.
5254         (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): New.
5255         (WIDEST_HARDWARE_FP_SIZE): New.
5256         (TARGET_CPU_CPP_BUILTINS): Define __LONG_DOUBLE_128__.
5257         * config/alpha/alpha.c (override_options): Clear MASK_LONG_DOUBLE_128
5258         if TARGET_VAX_FLOAT.
5259         * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): Remove.
5260         (TARGET_DEFAULT): Set MASK_LONG_DOUBLE_128.
5261
5262 2004-03-06  Ulrich Weigand  <uweigand@de.ibm.com>
5263
5264         * config/s390/s390.md ("load_multiple", "*load_multiple_di",
5265         "*load_multiple_si"): Allow only if reload_completed.
5266         ("store_multiple", "*store_multiple_di", "*store_multiple_si"):
5267         Likewise.
5268
5269 2004-03-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
5270
5271         PR c/14465
5272         PR c/14114
5273         * c-decl (pushdecl): Revert previous change.
5274
5275 2004-03-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
5276
5277         * pa.md (icacheflush): Reorder operands to make match_scratch operand
5278         last.
5279         * pa.h (INITIALIZE_TRAMPOLINE): Remove unnecessary scratch argument
5280         from calls to gen_icacheflush.
5281
5282 2004-03-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
5283
5284         PR target/14343
5285         * config/i386/i386.md (movv2di_internal): Conditionalize on
5286         TARGET_SSE, not TARGET_SSE2.
5287
5288 2004-03-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
5289
5290         PR c/14114
5291         * c-decl (pushdecl): Do not record a previous, not-in-scope,
5292         external decl for restoration.
5293
5294 2004-03-05  Waldek Hebisch  <hebisch@math.uni.wroc.pl>
5295
5296         PR middle-end/14203
5297         * function.c (uninitialized_vars_warning): Use DECL_RTL_SET_P
5298         instead of testing whether DECL_RTL is not NULL.
5299
5300 2004-03-05  Andreas Krebbel  <krebbel1@de.ibm.com>
5301
5302         * rtl.h (mem_expr_equal_p): Function prototype added.
5303         * cfgcleanup.c (merge_memattrs): New function.
5304         (flow_find_cross_jump): Call merge_memattrs for matching insns.
5305         * emit-rtl.c (mem_expr_equal_p): New function.
5306
5307 2004-03-05  Bob Wilson  <bob.wilson@acm.org>
5308
5309         * config/xtensa/xtensa.c (function_arg): Handle 16-byte aligned args.
5310         (xtensa_va_start): Initialize __va_stk to ($arg_ptr - 32).  Adjust
5311         __va_ndx by 2 words when referencing an argument on the stack.
5312         (xtensa_va_arg): Handle 16-byte aligned args.  Adjust __va_ndx by 2
5313         words when an arg on the stack is first seen.
5314
5315 2004-03-05  Nathan Sidwell  <nathan@codesourcery.com>
5316
5317         PR driver/13577
5318         * gcc.c (cc1_options): Robustify -auxbase-strip from multiple -o
5319         options.
5320
5321 2004-03-04  Bob Wilson  <bob.wilson@acm.org>
5322
5323         * config/xtensa/xtensa.c (xtensa_return_in_msb): New function.
5324         (TARGET_RETURN_IN_MSB): Define to xtensa_return_in_msb.
5325
5326 2004-03-04  Alan Modra  <amodra@bigpond.net.au>
5327
5328         * real.c (encode_ibm_extended): Don't bother rounding low double.
5329         * c-cppbuiltin.c (builtin_define_float_constants): Tweak MAX
5330         when fmt->pnan < fmt->p.
5331
5332 2004-03-04  Alan Modra  <amodra@bigpond.net.au>
5333
5334         PR target/14406
5335         * config/rs6000/rs6000.md (abstf2, abstf2+1): Delete define_insn.
5336         (abstf2, abstf2_internal): New define_expand.
5337
5338 2004-03-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
5339
5340         PR optimization/14235
5341         * expr.c (convert_move): Copy the source to a new pseudo
5342         when converting from a sub-word source to a larger-than-word
5343         register which conflicts with the source.
5344
5345 2004-03-03  Zack Weinberg  <zack@codesourcery.com>
5346
5347         PR 13728
5348         * c-decl.c (diagnose_mismatched_decls): Issue an error for two
5349         parameters with the same name, unless one is a forward decl.
5350         Do not issue a redundant-redeclaration warning for forward
5351         decls of parameters.
5352
5353 2004-03-03  Stephane Carrez  <stcarrez@nerim.fr>
5354
5355         * config/m68hc11/m68hc11.c (m68hc11_override_options): Disable -fweb
5356         because it breaks the 32-bit shift patterns that rely on a match_dup.
5357         (print_operand): Don't print a * before the base address.
5358
5359 2003-03-03  Richard Henderson  <rth@redhat.com>
5360
5361         PR opt/13862
5362         * cselib.c (cselib_record_sets): Don't record multiple sets in
5363         asm insns.
5364
5365 2004-03-03  Nicolas Pitre <nico@cam.org>
5366
5367         * config/arm/ieee754-df.S (muldf3, divdf3): Fix denormalization of
5368         small negative values.
5369
5370 2004-03-02  Kazu Hirata  <kazu@cs.umass.edu>
5371
5372         * config/h8300/lib1funcs.asm (___fixunssfsi): Change the
5373         threshold to 0x4f.
5374
5375         Revert:
5376         2004-02-27  Kazu Hirata  <kazu@cs.umass.edu>
5377         * config/h8300/fixunssfsi.c (__fixunssfsi): Enable on H8/300
5378         as well.
5379         * config/h8300/lib1funcs.asm (___fixunssfsi): Remove.
5380         * config/h8300/t-h8300 (LIB1ASMFUNCS): Remove _fixunssfsi_asm.
5381
5382 2004-03-02  Richard Henderson  <rth@redhat.com>
5383
5384         PR middle-end/11767
5385         * coverage.c (coverage_counter_ref): Set MEM_NOTRAP_P.
5386         * optabs.c (prepare_cmp_insn): Force trapping memories to registers
5387         before the compare, if flag_non_call_exceptions.
5388
5389 2004-03-02  Richard Henderson  <rth@redhat.com>
5390
5391         PR middle-end/14327
5392         * stmt.c (expand_computed_goto): Do do_pending_stack_adjust before
5393         emitting the label, not after.
5394
5395 2004-03-02  David O'Brien  <obrien@FreeBSD.org>
5396
5397         * config/freebsd-spec.h (FBSD_DYNAMIC_LINKER): Add.
5398         * config/alpha/freebsd.h (SUBTARGET_EXTRA_SPECS): Define
5399         %(fbsd_dynamic_linker),
5400         (LINK_SPEC): Use %(fbsd_dynamic_linker), and sync style with
5401         config/i386/freebsd.h
5402         * config/arm/freebsd.h: Ditto.
5403         * config/i386/freebsd.h: Ditto.
5404         * config/i386/freebsd64.h: Ditto.
5405         * config/ia64/freebsd.h: Ditto.
5406         * config/rs6000/sysv4.h: Ditto.
5407         * config/sparc/freebsd.h: Ditto.
5408
5409 2004-03-02  Stephane Carrez  <stcarrez@nerim.fr>
5410
5411         * config/m68hc11/m68hc11.c (m68hc11_addr_mode): New variable.
5412         (m68hc11_mov_addr_mode): Likewise.
5413         (m68hc11_override_options): Initialize them based on target.
5414         (register_indirect_p): Allow a MEM for indirect addressing modes and
5415         use flags to control what is allowed.
5416         (m68hc11_small_indexed_indirect_p): Use m68hc11_mov_addr_mode for
5417         supported addressing modes.
5418         (m68hc11_register_indirect_p): Use m68hc11_addr_mode.
5419         (go_if_legitimate_address_internal): Likewise.
5420         (m68hc11_indirect_p): Likewise and check the mode.
5421         (print_operand): Allow a (MEM (MEM)) and generate indirect addressing.
5422
5423 2004-03-02  Stephane Carrez  <stcarrez@nerim.fr>
5424
5425         * config/m68hc11/m68hc11.md (move peephole2): New peepholes to optimize
5426         sequences of moves.
5427         (add peepholes): New peepholes to optimize sequences adding small
5428         constants.
5429         (bset peepholes): New peepholes to transform an OR in a bset form
5430         (bclr peepholes): Likewise for bclr form.
5431         (cmp peepholes): New peepholes to avoid register copies when comparing.
5432
5433 2004-03-02  Stephane Carrez  <stcarrez@nerim.fr>
5434
5435         * config/m68hc11/m68hc11.md ("*pushdi_internal"): New insn and split
5436         to separate push from moves.
5437         ("*pushdf_internal"): Likewise.
5438         ("*pushsf_internal"): Likewise.
5439         ("*pushsi_internal"): Likewise.
5440         ("movdi_internal"): Use define_insn_and_split; non push operand.
5441         ("movdf_internal"): Likewise.
5442         ("movsf_internal"): Likewise.
5443         ("movsi_internal"): Likewise.
5444         ("*movhi_68hc12", "*addhi3_68hc12"): Fix and tune constraints
5445         ("*addhi3", "*subhi3", "*andhi3_mem", "*iorhi3_mem"): Likewise.
5446         ("*ashlsi3_const1", "*lshrsi3_const1"): Likewise.
5447
5448 2004-03-02  Stephane Carrez  <stcarrez@nerim.fr>
5449
5450         * config/m68hc11/m68hc11.md ("tstqi_z_used"): Use define_insn_and_split.
5451         ("cmphi_z_used", "cmpqi_z_used"): Likewise.
5452         ("movstrictsi", "movstricthi", "movstrictqi"): Likewise.
5453         ("anddi3", "andsi3", "iordi3", "iorsi3"): Likewise.
5454         ("xordi3", "xorsi3", "*logicalsi3_zexthi"): Likewise.
5455         ("*logicalsi3_zextqi", "*logicalhi3_zexthi_ashift8"): Likewise.
5456         ("logicalhi3_zexthi", "*logicalsi3_silshr16"): Likewise.
5457         ("*logicalsi3_silshl16", "*logicalsi3_silshl16_zext"): Likewise.
5458         ("*ashldi3_const32", "*ashldi3_const1", "addsi_silshr16"): Likewise.
5459         ("addsi_andshr16", "*ashlsi3_const16_zexthi"): Likewise.
5460         ("*lshrdi3_const32", "*lshrdi_const1"): Likewise.
5461
5462 2004-03-02  Stephane Carrez  <stcarrez@nerim.fr>
5463
5464         * config/m68hc11/m68hc11.md (SOFT_TMP_REGNUM): Define.
5465         (SOFT_XY_REGNUM): Define.
5466         (cmp split): Use the above instead of hard coded numbers.
5467         (8-bit op split): No need to check the mode; allow Q_REG.
5468         (ashift split): Adjust the first operand if it uses the SP and we
5469         are pushing the shifted value.
5470         (plus shift split): Fix when a source is in register D+X.
5471         ("doloop_end"): Pass dummy arguments to gen_rtx_NE.
5472
5473 2004-03-02  Stephane Carrez  <stcarrez@nerim.fr>
5474
5475         * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix when
5476         comparing with Z register.
5477
5478 2004-03-02  Loren James Rittle  <ljrittle@acm.org>
5479
5480         * gcc/doc/install.texi (*-*-freebsd*): Update target information.
5481
5482 2004-03-01  Mark Mitchell  <mark@codesourcery.com>
5483
5484         PR bootstrap/14356
5485         * gcc.c (process_command): Remove const-qualification from argv.
5486         (main): Likewise.
5487
5488 2004-03-01  Mircea Namolaru  <namolaru@il.ibm.com>
5489
5490         * cfgloop.h (get_var_set_from_bct, is_bct_cond): Declaration of
5491         new functions.
5492         * cfgloopanal.c: Include loop.h.
5493         (get_var_set_from_bct): New function.
5494         (is_bct_cond): New function.
5495         (blocks_single_set_registers): Handle branch and count jumps.
5496         (count_loop_iterations): Likewise.
5497         (simple_increment): Likewise
5498         * doloop.c (doloop_condition_get): Export.
5499         * loop-init.c (fixup_loop_exit_succesor): New function.
5500         (loop_optimizer_finalize): Handle loops ending with branch and
5501         count jumps.
5502         * loop-unroll.c: Include toplev.h
5503         (discard_increment): New function.
5504         (expand_bct): New function.
5505         (peel_loop_completely): Handle the removal of branch and count jumps.
5506         (unroll_loop_constant_iterations): Likewise.
5507         (unroll_loop_runtime_iterations): Likewise
5508         * loop.h (doloop_condition_get): Declare.
5509
5510 2004-02-29  Mark Mitchell  <mark@codesourcery.com>
5511
5512         PR debug/14328
5513         * dwarf2out.c (gen_enumeration_type_die): Output all enumeration
5514         constants as signed values.
5515
5516 2004-02-29  Mark Mitchell  <mark@codesourcery.com>
5517
5518         PR middle-end/13448
5519         * c-tree.h (readonly_warning): Rename to ...
5520         (readonly_error): ... this.
5521         * c-typeck.c (build_unary_op): Adjust accordingly.
5522         (readonly_warning): Rename to ...
5523         (readonly_error): ... this and issue errors, not warnings.
5524         (build_modify_expr): Call readonly_error, not readonly_warning.
5525         (c_expand_asm_operands): Likewise.
5526         * tree-inline.c (optimize_inline_calls): Do not inline functions
5527         after errors have occurred.
5528
5529 2004-02-29  Kazu Hirata  <kazu@cs.umass.edu>
5530
5531         * doc/cppopts.texi: Fix a typo.
5532
5533 2004-02-28  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
5534
5535         * pa64-hpux.h (LIB_SPEC): Fix linking under HP-UX 11.00 with -p and -pg.
5536
5537 2004-02-27  Ian Lance Taylor  <ian@wasabisystems.com>
5538
5539         PR optimization/7871
5540         * flow.c (mark_set_1): Don't add LOG_LINKS for global registers
5541         from or to call insns.
5542
5543 2004-02-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
5544
5545         PR optimization/7871
5546         * flow.c (propagate_one_insn): Interpret calls as setting global
5547         registers, not merely clobbering them.
5548
5549 2004-02-27  Kazu Hirata  <kazu@cs.umass.edu>
5550
5551         * config/h8300/fixunssfsi.c (__fixunssfsi): Enable on H8/300
5552         as well.
5553         * config/h8300/lib1funcs.asm (___fixunssfsi): Remove.
5554         * config/h8300/t-h8300 (LIB1ASMFUNCS): Remove _fixunssfsi_asm.
5555
5556 2004-02-27  Daniel Jacobowitz  <drow@mvista.com>
5557
5558         * config/arm/arm.c (arm_legitimate_address_p): Don't check the mode
5559         size for minipool references.
5560
5561 2004-02-27  Eric Botcazou  <ebotcazou@act-europe.fr>
5562             Roger Sayle  <roger@eyesopen.com>
5563
5564         * fold-const.c (fold): Revert 2004-02-25 change.  Use the original
5565         operands to build a tree with swapped operands.
5566         * expr.c (expand_expr_real) <MAX_EXPR>: Consistently use the
5567         'unsignedp' predicate to specify the signedness.
5568
5569 2004-02-26  Aldy Hernandez  <aldyh@redhat.com>
5570
5571         * config/rs6000/rs6000.md: Add fixuns_truncsfsi2 and
5572         fix_truncsfsi2.
5573
5574         * config/rs6000/spe.md: Delete spe_efsctuiz.
5575         Add spe_fixuns_truncsfsi2.
5576         Add spe_fix_truncsfsi2.
5577
5578 2004-02-26  Bob Wilson  <bob.wilson@acm.org>
5579
5580         * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define __xtensa__.
5581
5582 2004-02-25  James E Wilson  <wilson@specifixinc.com>
5583
5584         * gcc-simple.c (rtl_zone, tree_zone, garbage_zone, ggc_alloc_typed,
5585         ggc_alloc_zone): New.
5586         (ggc_pch_count_object, gcc_pch_alloc_object, ggc_pch_write_object):
5587         Add bool is_string parameter.
5588
5589 2004-02-26  Alan Modra  <amodra@bigpond.net.au>
5590
5591         * gcse.c (delete_null_pointer_checks_1): Set stop_insn to end, not
5592         beginning of block.  Do not delete CC setter unless HAVE_cc0.
5593
5594 2004-02-25  Kelley Cook  <kcook@gcc.gnu.org>
5595
5596         * doc/contrib.texi: Add an entry for myself.
5597
5598 2004-02-25  Kelley Cook  <kcook@gcc.gnu.org>
5599
5600         * config.gcc: Add comment describing extra_gcc_objs.
5601         i[34567]86-*-cygwin*): Replace host_extra_gcc_objs with extra_gcc_objs.
5602         * configure.ac (extra_gcc_objs): New substitution variable.
5603         (host_extra_gcc_objs): Don't substitute.
5604         * configure: Regenerate.
5605         * Makefile.in: Use extra_gcc_objs.
5606
5607 2004-02-25  Eric Botcazou  <ebotcazou@act-europe.fr>
5608
5609         * fold-const.c (fold): Treat MAX_EXPR and MIN_EXPR like
5610         comparisons with regard to signedness.
5611
5612 2004-02-25  Jakub Jelinek  <jakub@redhat.com>
5613
5614         * gcov-io.c (gcov_open) [GCOV_LOCKED]: Use open + fdopen instead of
5615         fopen.
5616         * libgcov.c: Include sys/stat.h.
5617         * config/rs6000/linux.h (TARGET_HAS_F_SETLKW): Define.
5618         * config/rs6000/linux64.h (TARGET_HAS_F_SETLKW): Define.
5619         * config/sparc/linux.h (TARGET_HAS_F_SETLKW): Define.
5620         * config/sparc/linux64.h (TARGET_HAS_F_SETLKW): Define.
5621
5622 2004-02-25  Richard Earnshaw  <rearnsha@arm.com>
5623
5624         * arm.c (arm_legitimate_index_p): For QImode the range of an offset
5625         is -4095...+4095 inclusive.
5626
5627 2004-02-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
5628
5629         * doc/install.texi (sparc-sun-solaris2* specific notes): Document
5630         the bootstrap failure with Sun CC 5.4 and 5.5.
5631
5632 2004-02-24  Kazu Hirata  <kazu@cs.umass.edu>
5633
5634         * cse.c (cse_change_cc_mode_insns): Stop at any instruction
5635         which modifies NEWREG.
5636         (cse_condition_code_reg): Update the mode of CC_REG in
5637         CC_SRC_INSN on our own.
5638
5639 2004-02-24  Michael Matz  <matz@suse.de>
5640
5641         * config/i386/i386.c (ix86_comp_type_attributes): Check for
5642         regparm attributes.
5643
5644 2004-02-24  Aldy Hernandez  <aldyh@redhat.com>
5645
5646         * config/rs6000/spe.md (spe_fix_truncsfsi2): Delete.
5647         (spe_fixuns_truncsfsi2): Delete.
5648
5649         * config/rs6000/rs6000.md (fix_truncsfsi2): Delete.
5650         (fixuns_truncsfsi2): Delete.
5651
5652 2004-02-24  Josef Zlomek  <zlomekj@suse.cz>
5653
5654         PR/14240
5655         * rtlanal.c (replace_label): Fix replacing labels in constant pool.
5656
5657 2004-02-24  Bob Wilson  <bob.wilson@acm.org>
5658
5659         * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Update.
5660         (init_cumulative_args): Likewise.
5661         (a7_overlap_mentioned_p): Delete prototype.
5662         * config/xtensa/xtensa.c (struct machine_function): Replace
5663         incoming_a7_copied field with need_a7_copy and vararg_a7 flags.
5664         Add set_frame_ptr_insn field.
5665         (xtensa_emit_move_sequence): Update call to xtensa_copy_incoming_a7.
5666         (xtensa_copy_incoming_a7): Rewrite to check need_a7_copy flag and check
5667         if the operand is an argument in a7.  If so, copy a7 to a new pseudo
5668         at the function entry and replace the operand with the pseudo.
5669         (init_cumulative_args): Remove unused arguments.  Add new "incoming"
5670         argument and record this flag in CUMULATIVE_ARGS.
5671         (function_arg): Remove result_mode and special-case code to handle
5672         arguments in a7.  Instead, set need_a7_copy flag when there is an
5673         incoming argument in a7.
5674         (xtensa_expand_prologue): Remove code to search for set_frame_ptr insn
5675         and use the value recorded in cfun->machine->set_frame_ptr_insn.
5676         (xtensa_builtin_saveregs): Check for negative gp_left value.  Set
5677         need_a7_copy and vararg_a7 flags.  Use move_block_from_reg instead of
5678         special-case code.
5679         (a7_overlap_mentioned_p): Delete.
5680         * config/xtensa/xtensa.h (CUMULATIVE_ARGS): Add "incoming" flag.
5681         (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Remove useless
5682         arguments to init_cumulative_args and pass "incoming" flag instead.
5683         (BLOCK_REG_PADDING): Delete.
5684         * config/xtensa/xtensa.md (movdi, movsf, movdf): Remove unnecessary
5685         checks for reload_in_progress and reload_completed.  Update calls to
5686         xtensa_copy_incoming_a7.
5687         (ashlsi3): Rename existing insn to ashlsi3_internal.  Add expander
5688         to call xtensa_copy_incoming_a7.
5689
5690 2004-02-24  Richard Earnshaw  <rearnsha@arm.com>
5691
5692         * invoke.texi (ARM Options): Mark -mapcs-26 and -mno-alignment-traps
5693         as deprecated.  Remove already deprecated synonyms.
5694         * arm.c (arm_override_options): Generate an inform message if the
5695         user tries to invoke the compiler in apcs-26 mode.
5696         * arm.h (TARGET_SWITCHES): Remove help comments from deprecated
5697         switches. Delete deprecated synonyms for -malignment-traps.
5698         (TARGET_DEFAULT): Default to alignment traps.
5699         * arm/coff.h (TARGET_DEFAULT): Default to alignment traps.
5700         * arm/elf.h arm/netbsd.h arm/pe.h arm/semi.h arm/semiaof.h: Likewise.
5701         * arm/unknown-elf.h arm/wince-pe.h: Likewise.
5702
5703 2004-02-23  H.J. Lu  <hongjiu.lu@intel.com>
5704
5705         * config/i386/i386.h: Deprecate -mpni/-mno-pni.
5706
5707 2004-02-23  Kelley Cook  <kcook@gcc.gnu.org>
5708
5709         * config/i386/i386.c: Rename pni to sse3.
5710         * config/i386/i386.h: Likewise.
5711         * config/i386/i386.md: Likewise.
5712         * config/i386/pmmintrin.h: Likewise.
5713         * doc/extend.texi: Likewise.
5714         * doc/invoke.texi: Likewise.
5715
5716 2004-02-23  Andrew Pinski  <pinskia@physics.uc.edu>
5717
5718         * config/rs6000/linux.h (OS_MISSING_POWERPC64): Define.
5719         * config/rs6000/linux64.h (OS_MISSING_POWERPC64): Define.
5720
5721 2004-02-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
5722             Falk Hueffner  <falk@debian.org>
5723
5724         PR c/14188
5725         * builtins.c (expand_builtin_va_arg): Emit an informative message
5726         if a trap is generated.
5727         * c-typeck.c (build_function_call): Likewise.
5728
5729 2004-02-22  Christopher Faylor  <cgf@redhat.com>
5730
5731         * config.gcc (i[34567]86-*-pe|i[34567]86-*-cygwin*): *Really* specify
5732         extra host object file when targetting cygwin rather than generic
5733         object files.
5734
5735 2004-02-22  Matthias Klose  <doko@debian.org>
5736
5737         Taken from mainline:
5738
5739         2004-02-12  Geoffrey Keating  <geoffk@apple.com>
5740
5741         * Makefile.in (install-man): Use $(CPP_INSTALL_NAME) and
5742         $(GCOV_INSTALL_NAME) to install manpages.  Remove generic rule
5743         for installing .1 manpages.  Add rules for installing cpp
5744         and gcov manpages under their installed names.
5745
5746 2004-02-22  Hans-Peter Nilsson  <hp@axis.com>
5747
5748         PR target/14209
5749         * config/cris/cris.md ("*andsi_movu", "*andhi_movu"): Tweak
5750         constraints to not match postincrement.  Adjust the predicate to
5751         exclude a volatile memory reference.
5752         ("*andsi_clear"): Tweak constraints to not match postincrement.
5753         Adjust the predicate to exclude a volatile memory reference.
5754         ("*andhi_clear"): Ditto.  Rename from "*andhi_clear_signed".
5755         ("*andhi_clear_unsigned"): Remove, non-matching pattern.
5756
5757 2004-02-21  Christopher Faylor  <cgf@redhat.com>
5758
5759         * config.gcc (i[34567]86-*-pe|i[34567]86-*-cygwin*): Specify extra host
5760         object file when targetting cygwin.
5761         * config/i386/t-cygwin (EXTRA_GCC_OBJS): Remove definition since it is
5762         overridden by top-level Makefile.
5763
5764 2004-02-21  Alan Modra  <amodra@bigpond.net.au>
5765
5766         * combine.c (can_combine_p): Don't ignore SETs marked with
5767         REG_EH_REGION notes.
5768
5769 2004-02-21  Jan Hubicka  <jh@suse.cz>
5770
5771         * params.def (max-peeled-insns, max-completely-peeled-insns,
5772         max-once-peeled-insns): Set to 400.
5773
5774 2004-02-20  Falk Hueffner  <falk@debian.org>
5775
5776         PR target/14201
5777         * config/alpha/alpha.md (*fix_truncsfsi_ieee): Fix typoed operand
5778         numbers.
5779
5780 2004-02-20  Mohan Embar  <gnustuff@thisiscool.com>
5781             Tom Tromey  <tromey@redhat.com>
5782
5783         * doc/install.texi: Moved --disable-libgcj and
5784         --with-system-zlib documentation to new section for
5785         Java-specific options.
5786         Added explicit Cross-Compiler-Specific Options subheading.
5787         Added section for Java-specific options.
5788
5789 2004-02-20  James E Wilson  <wilson@specifixinc.com>
5790
5791         * toplev.c (dump_file_index, dump_file): Put ce3 before rnreg.
5792
5793 2004-02-20  Josef Zlomek  <zlomekj@suse.cz>
5794
5795         * tree-inline.c (copy_body_r): Do not replace ret_label.
5796
5797 2004-02-20  Kazu Hirata  <kazu@cs.umass.edu>
5798
5799         * gcc.c (process_command): Allow translation of the copyright
5800         symbol but not the rest of the copyright message.
5801         * gcov.c (print_version): Likewise.  Allow translation of the
5802         message about warranty.
5803
5804 2004-02-19  Aldy Hernandez  <aldyh@redhat.com>
5805
5806         * config/rs6000/spe.md (spe_fixunssfsi2): Rename to
5807         spe_fixuns_truncsfsi2.
5808
5809         * config/rs6000/rs6000.md (fixunssfsi2): Rename to
5810         fixuns_truncsfsi2.
5811
5812 2004-02-19  Richard Sandiford  <rsandifo@redhat.com>
5813             Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
5814
5815         * config/mips/mips.c (mips_address_insns): Treat BLKmode specially.
5816         * config/mips/mips.md: Expand comment above unaligned loads and stores.
5817
5818 2004-02-20  Alan Modra  <amodra@bigpond.net.au>
5819
5820         * function.c (assign_parms): Correct leakage of mainline code
5821         in last commit.  Also leakage from INIT_CUMULATIVE_ARGS patch.
5822
5823 2004-02-19  Zack Weinberg  <zack@codesourcery.com>
5824
5825         * config/ia64/ia64.c (ia64_function_arg): In big-endian mode,
5826         when passing single SFmode quantities in general registers,
5827         put them in the high half.
5828         (struct extern_func_list, extern_func_head): Mark with GTY(()).
5829         (ia64_hpux_add_extern_decl): Save the decl, not the name string.
5830         Allocate memory with ggc_alloc.  No need to copy anything.
5831         (ia64_hpux_file_end): Update to match.
5832
5833 2004-02-19  David Daney <ddaney@avtrex.com>
5834
5835         PR preprocessor/14198
5836         * config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Add
5837         builtin_assert ("machine=mips")
5838
5839 2004-02-19  Ulrich Weigand  <uweigand@de.ibm.com>
5840
5841         * config/s390/s390.md ("*subdf3_cc", "*subdf3_cconly", "*subsf3_cc",
5842         "*subsf3_cconly"): Subtraction is not commutative.
5843
5844 2004-02-19  Alan Modra  <amodra@bigpond.net.au>
5845
5846         * function.c (assign_parms): When building decl_rtl for
5847         SPLIT_COMPLEX_ARGS, ensure inner modes of concat match outer.
5848
5849 2004-02-19  Olivier Hainque  <hainque@act-europe.fr>
5850
5851         * expr.c (is_aligning_offset): Check if we are aligning the
5852         expressions's address over BIGGEST_ALIGNMENT in bytes, not
5853         in bits.
5854
5855 2004-02-19  Jan Hubicka  <jh@suse.cz>
5856
5857         * genextract.c (main): Do not output the memset when not checking.
5858
5859 2004-02-18  Jakub Jelinek  <jakub@redhat.com>
5860
5861         * config/i386/i386.c (override_options): Don't imply 3DNow! for -m64
5862         by default.
5863
5864 2004-02-18  Ulrich Weigand  <uweigand@de.ibm.com>
5865
5866         * config/s390/s390.md ("divmoddisi3"): Fix incorrect mode.
5867
5868 2004-02-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
5869
5870         * pa.h (PIC_OFFSET_TABLE_REGNUM): Define to INVALID_REGNUM when not
5871         generating PIC code.
5872
5873 2004-02-18  Ulrich Weigand  <uweigand@de.ibm.com>
5874
5875         * config/s390/s390.c (s390_mainpool_start): Delete the main pool
5876         placeholder insn when chunkifying the pool.
5877
5878 2004-02-18  Per Bothner  <per@bothner.com>
5879
5880         * cpphash.h (struct cpp_buffer):  Restore return_at_eof field.  This
5881         partly reverts my 2003-10-01 change, because we're back to logically
5882         including <command line> inside the main line.
5883         * cpplex.c (_cpp_get_fresh_line):  Check return_at_eof field.
5884         * cppmacro.c (cpp_scan_nooutput):  Set return_at_eof of current buffer.
5885         Fixes PR preprocessor/14103.
5886
5887 2004-02-18  Richard Earnshaw  <rearnsha@arm.com>
5888
5889         PR target/13866
5890         * arm.c (load_multiple_operation): Don't insist that the source reg
5891         of a post-increment component is the same as the destination.
5892         (store_multiple_operation): Likewise.
5893
5894 2004-02-18  Paul Brook  <paul@codesourcery.com>
5895
5896         * rtlanal.c (rtx_varies_p): Return 0 for NULL_RTX
5897
5898 2004-02-18  Mark Mitchell <mark@codesourcery.com>
5899
5900         PR c++/11326
5901         * config/ia64/ia64.c (ia64_struct_value_rtx): Cope with NULL
5902         fntype.
5903
5904 2004-02-18  Paul Brook  <paul@codesourcery.com>
5905
5906         PR debug/12934
5907         * dwarf2out.c (loc_descriptor_from_tree): Handle
5908         EXPR_WITH_FILE_LOCATION.
5909
5910 2004-02-17  Mark Mitchell  <mark@codesourcery.com>
5911
5912         PR c++/11326
5913         * c-common.c (flag_abi_version): Remove.
5914         * c-common.h (flag_abi_version): Likewise.
5915         * c-opts.c (c_common_handle_option): Remove OPT_fabi_version case.
5916         * c.opt (fabi-version): Remove.
5917         * calls.c (expand_call): Always pass a function type to
5918         struct_value_rtx.  Use convert_memory_address.
5919         * common.opt (fabi-version): Add it.
5920         * flags.h (flag_abi_version): Likewise.
5921         (abi_version_at_least): New macro.
5922         * opts.c (common_handle_option): Add OPT_fabi_version.
5923         * toplev.c (flag_abi_version): Define it.
5924         * config/ia64/ia64.h (STRUCT_VALUE_REGNUM): Remove.
5925         * config/ia64/ia64.c (TARGET_STRUCT_VALUE_RTX): Define it.
5926         (ia64_struct_retval_addr_is_first_parm_p):
5927         New function.
5928         (ia64_output_mi_thunk): Use it.
5929         (ia64_struct_value_rtx): New function.
5930
5931 2004-02-18  Alan Modra  <amodra@bigpond.net.au>
5932
5933         PR optimization/14119
5934         * combine.c (try_combine): When attemting to fix unrecognized insns,
5935         don't delete SETs marked with REG_EH_REGION notes.
5936
5937 2004-02-17  Jan Hubicka  <jh@suse.cz>
5938
5939         PR bootstrap/14180
5940         * cselib.c (remove_useless_values): Do not access released
5941         memory.
5942
5943 2004-02-17  Ulrich Weigand  <uweigand@de.ibm.com>
5944
5945         * combine.c (simplify_if_then_else): Do not replace
5946         (if_then_else (ne reg 0) (0) (const_int)) by (reg) if the
5947         modes differ.
5948
5949 2004-02-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5950
5951         * config/mips/t-iris6gld: Renamed to ...
5952         * config/mips/t-irix-gld: ... this.
5953         * config.gcc (mips-sgi-irix6*): Reflect this
5954         (mips-sgi-irix5*): Use it with GNU ld.
5955
5956         * config/mips/irix6-crti.asm, config/mips/irix6-crtn.asm: Renamed
5957         to ...
5958         * config/mips/irix-crti.asm, config/mips/irix-crtn.asm: ... this.
5959         * config/mips/t-irix-gld: Reflect this.
5960         * config/mips/iris6gld.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
5961
5962         * config/mips/iris5gld.h: New file.
5963         * config.gcc (mips-sgi-irix5*): Use it with GNU ld.
5964         Only use collect2 without gas.
5965
5966         * config/mips/iris6.h (IRIX6_STARTFILE_SPEC, IRIX6_ENDFILE_SPEC):
5967         Renamed to IRIX_STARTFILE_SPEC, IRIX_ENDFILE_SPEC.
5968         (STARTFILE_SPEC, ENDFILE_SPEC, SUBTARGET_EXTRA_SPECS): Reflect this.
5969         * config/mips/iris6gld.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
5970
5971         * config/mips/iris6.h (SUBTARGET_EXTRA_SPECS): Moved ...
5972         * config/mips/iris5.h: ... here.
5973
5974         * config/mips/iris5.h (STARTFILE_SPEC, ENDFILE_SPEC): Renamed to
5975         IRIX_STARTFILE_SPEC, IRIX_ENDFILE_SPEC.
5976         (STARTFILE_SPEC, ENDFILE_SPEC): Define.
5977
5978         * config/mips/iris5gas.h (STARTFILE_SPEC, ENDFILE_SPEC): Simplify
5979         using irix_startfile_spec, irix_endfile_spec.
5980         * patches.summary (http):
5981
5982 2004-02-17  Andrew Pinski  <pinskia@physics.uc.edu>
5983
5984         PR c++/14178
5985         * doc/invoke.texi (fabi-version): The default is 2 now.
5986
5987 2004-02-17  Jonathan Wakely  <redi@gcc.gnu.org>
5988
5989         * doc/install.texi: Update description of --gxx-include-dir to
5990         give correct default value. (merged from mainline)
5991
5992 2004-02-16  Matthias Klose  <doko@debian.org>
5993
5994         * config/t-slibgcc-elf-ver: Define SHLIB_NAME and SHLIB_SONAME
5995         in terms of SHLIB_SOVERSION.
5996         * config/m68k/t-slibgcc-elf-ver: New file.
5997         * config/pa/t-slibgcc-elf-ver: New file.
5998         * config.gcc (m68k-linux, parisc-linux): Use them when not
5999         sjlj exceptions are not configured.
6000
6001 2004-02-16  Eric Botcazou  <ebotcazou@libertysurf.fr>
6002
6003         * config/sparc/sparc.c (get_pc_symbol_name): Mark with GTY(()).
6004
6005 2004-02-16  Joseph S. Myers  <jsm@polyomino.org.uk>
6006
6007         * doc/sourcebuild.texi: Mention backends.html.
6008
6009 2004-02-15  Roger Sayle  <roger@eyesopen.com>
6010
6011         Backport from mainline:
6012
6013         2004-02-07  Roger Sayle  <roger@eyesopen.com>
6014         PR middle-end/13696
6015         * fold-const.c (fold_convert): New function to provide type
6016         conversion to the middle-end without using convert.
6017         (negate_expr, associate_trees, size_diffop, omit_one_operand,
6018         operand_equal_for_comparison_p, pedantic_omit_one_operand,
6019         invert_truthvalue, optimize_bit_field_compare, range_binop,
6020         decode_field_reference, make_range, build_range_check, unextend,
6021         fold_truthop, extract_muldiv_1, fold_mathfn_compare,
6022         fold_binary_op_with_conditional_arg, fold_inf_compare,
6023         fold_single_bit_test, fold, multiple_of_p): Replace all calls to
6024         convert with calls to fold_convert.
6025
6026         2004-02-09  Roger Sayle  <roger@eyesopen.com>
6027         * fold-const.c (fold) <NOP_EXPR>: Use the original type conversion
6028         tree code rather than call fold_convert, which doesn't specify a
6029         default floating point to integer conversion.
6030
6031         2004-02-10  Paolo Bonzini  <bonzini@gnu.org>
6032         PR c/14092
6033         * fold-const.c (fold) <NEGATE_EXPR>: Convert result of
6034         negate_expr back to the original type.
6035
6036 2004-02-15  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
6037
6038         Backport from mainline:
6039
6040         2004-02-05  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
6041         * config/sh/t-linux (SHLIB_INSTALL): Prepend $$(DESTDIR)
6042         to $$(slibdir) in the installation commands.
6043
6044 2004-02-15  Roger Sayle  <roger@eyesopen.com>
6045
6046         Backport from mainline:
6047
6048         2004-01-20  Roger Sayle  <roger@eyesopen.com>
6049         * fold-const.c (fold_convert): Rename to fold_convert_const.
6050         (fold_convert_const): Change arguments to take a tree_code,
6051         a type and the operand/expression to be converted.  Return
6052         NULL_TREE if no simplification is possible.
6053         (fold): Adjust call to fold_convert to match new fold_convert_const.
6054         Avoid modifying the tree passed to fold in-place.
6055
6056 2004-02-15  Jan Hubicka  <jh@suse.cz>
6057
6058         * cselib.c (value_pool): New.
6059         (new_cselib_val): Use pool.
6060         (cselib_init): Initialize value_pool
6061         (cselib_finish): Free pool.
6062
6063         * cselib.c: Include alloc-pool.h
6064         (empty_vals, empty_elt_lists, empty_elt_loc_lists): Kill.
6065         (elt_loc_list_pool, elt_list_pool, cselib_val_pool): Declare.
6066         (new_elt_list, new_elt_loc_list, unchain_one_elt_list,
6067         unchain_one_elt_loc_list_pool, unchain_one_value,
6068         new_cselib_val): Simplify using allocpool.
6069         (cselib_init): Initialize allocpools.
6070         (cselib_finish): Finish allocpools.
6071
6072 2004-02-14  Richard Sandiford  <rsandifo@redhat.com>
6073
6074         Backport from mainline:
6075
6076         2002-04-08  Richard Sandiford  <rsandifo@redhat.com>
6077         * real.c (encode_ibm_extended): Normalize the input value before
6078         converting it to a double.  Handle the case where a normal value
6079         rounds to infinity.
6080
6081 2004-02-14  Olivier Hainque  <hainque@act-europe.fr>
6082
6083         * loop.c (check_dbra_loop): Use gen_int_mode instead of GEN_INT
6084         for start_value when it is directly moved into reg, and factorize
6085         the retrieval of GET_MODE (reg).
6086
6087 2004-02-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6088
6089         * configure.ac: Search for as, ld below libexec/gcc.
6090         * configure: Regenerate.
6091
6092 2004-02-13  Jan Hubicka  <jh@suse.cz>
6093
6094         * combine.c (recog_for_combine): Avoid allocating unnecesary RTX.
6095
6096         * genrecog.c (find_operand): add extra argument stop.
6097         (validate_pattern): Verify that mach_dup is duplicating operand
6098         defined lexically earlier.
6099
6100 2004-02-13  Ian Lance Taylor  <ian@wasabisystems.com>
6101
6102         PR other/10584
6103         * c-opts.c (c_common_post_options): Disable function inlining when
6104         using -finstrument-functions.
6105         * doc/invoke.texi (Code Gen Options): Document this restriction.
6106
6107 2004-02-12  Chris Demetriou  <cgd@broadcom.com>
6108
6109         * config/mips/mips.md (casesi_internal, casesi_internal_di):
6110         Use ".set macro" to avoid warnings about multi-instruction
6111         macros, since they're intentional.
6112
6113 2004-02-13  Jan Hubicka  <jh@suse.cz>
6114
6115         * alias.c (find_base_term, get_addr):  Do not dereference NULL
6116         pointer when all VALUE's locations has been invalidated.
6117         (rtx_equal_for_memref_p): Simplify checking of VALUEs.
6118
6119         * cselib.c (discard_useless_values):  Clear out value pointer pointing
6120         to datastructure to be recycled.
6121
6122         * gcse.c (bypass_block): Prevent edges to be unified when we are
6123         about to emit compenstation code.
6124
6125         * gcse.c (bypass_block): Fix a typo in the previous check-in
6126         to the file.
6127
6128         * alloc-pool.c (align_four): Kill.
6129         (create_alloc_pool): Align size to eight.
6130         (free_alloc_pool, free_pool): Invalidate deallocated data.
6131
6132 2004-02-12  Richard Sandiford  <rsandifo@redhat.com>
6133
6134         PR bootstrap/13617
6135         * config/mips/mips-protos.h (mips_output_aligned_decl_common): Declare.
6136         (mips_declare_object): Make variadic.
6137         * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use
6138         mips_output_aligned_decl_common.
6139         * config/mips/mips.c (mips_output_aligned_decl_common): New function.
6140         (mips_declare_object): Make variadic.
6141
6142 2004-02-12  Jan Hubicka  <jh@suse.cz>
6143
6144         * tree-optimize.c (tree_rest_of_compilation): Do not release DECL_ARGUMENTS
6145
6146 2004-02-12  Ian Lance Taylor  <ian@wasabisystems.com>
6147
6148         PR inline-asm/6162
6149         * reload.c (find_reloads): Only support one pair of commutative
6150         operands.
6151
6152 2004-02-12  Ian Lance Taylor  <ian@wasabisystems.com>
6153
6154         PR target/1532
6155         Backport from mainline:
6156
6157         2004-02-11  Richard Henderson  <rth@redhat.com>
6158
6159         * flow.c (insn_dead_p): A clobber of a dead hard register is a
6160         dead insn after reload.
6161
6162         2004-01-24  Ian Lance Taylor  <ian@wasabisystems.com>
6163
6164         * cse.c (cse_cc_succs): Change the mode of the source expression
6165         as soon as decide we need a new mode.  Don't permit changing modes
6166         if we found a match in a successor block.
6167         (cse_condition_code_reg): Save original mode of source expression
6168         so that we know whether we have to change the mode in other
6169         insns.
6170
6171         2004-01-24  Andreas Tobler  <a.tobler@schweiz.ch>
6172
6173         * cse.c: (cse_cc_succs) Fix comparison warning.
6174
6175         2004-01-23  Ian Lance Taylor  <ian@wasabisystems.com>
6176
6177         * cse.c (cse_change_cc_mode): New static function.
6178         (cse_change_cc_mode_insns, cse_cc_succs): Likewise.
6179         (cse_condition_code_reg): New function.
6180         * rtl.h (cse_condition_code_reg): Declare.
6181         * toplev.c (rest_of_handle_cse2): Call cse_condition_code_reg.
6182         * target.h (struct gcc_target): Add fixed_condition_code_regs and
6183         cc_modes_compatible.
6184         * target-def.h (TARGET_FIXED_CONDITION_CODE_REGS): Define.
6185         (TARGET_CC_MODES_COMPATIBLE): Define.
6186         (TARGET_INITIALIZER): Add new initializers.
6187         * targhooks.c (default_cc_modes_compatible): New function.
6188         * targhooks.c (default_cc_modes_compatible): Declare.
6189         * hooks.c (hook_bool_intp_intp_false): New function.
6190         * hooks.h (hook_bool_intp_intp_false): Declare.
6191         * config/i386/i386.c (TARGET_FIXED_CONDITION_CODE_REGS): Define.
6192         (TARGET_CC_MODES_COMPATIBLE): Define.
6193         (ix86_fixed_condition_code_regs): New static function.
6194         (ix86_cc_modes_compatible): Likewise.
6195         * doc/tm.texi (Condition Code): Document new hooks.
6196
6197 2004-02-12  Hartmut Penner  <hpenner@de.ibm.com>
6198
6199         * config/rs6000/altivec.md (*movv4si_internal): At least one
6200         operand must be register_operand.
6201         (*movv8hi_internal1): Likewise.
6202         (*movv16qi_internal1): Likewise.
6203         (*movv4sf_internal1): Likewise.
6204
6205 2004-02-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
6206
6207         PR target/14113
6208         Backport from mainline:
6209
6210         2004-02-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
6211
6212         * config/sparc/sparc.md (call followed by jump define_peephole's):
6213         Delete.
6214
6215 2004-02-12  Hartmut Penner  <hpenner@de.ibm.com>
6216
6217         * gcc/config/rs6000/rs6000.c (rs6000_override_options)
6218         Set AltiVec ABI and vrsave as default for ppc64 linux.
6219         (init_cumulative_args): Post error, if try to return
6220         value in AltiVec register without enable AltiVec.
6221         (function_arg_advance): Ditto for passing arguments.
6222
6223 2004-02-11  Joseph S. Myers  <jsm@polyomino.org.uk>
6224
6225         PR c/456
6226         * cppexp.c (num_binary_op): Don't allow comma operators in #if
6227         constant expressions at all outside C99 mode if pedantic.
6228
6229 2004-02-10  Aldy Hernandez  <aldyh@redhat.com>
6230
6231         * config/rs6000/spe.md ("*movv2si_internal"): Check for register
6232         operand.
6233         (movv4hi_internal): Same.
6234         (movv2sf_internal): Same.
6235         (movv1di_internal): Same.
6236
6237 2004-02-11  Richard Sandiford  <rsandifo@redhat.com>
6238
6239         * emit-rtl.c (mark_label_nuses): Check that a LABEL_REF refers to
6240         a label before updating its usage count.
6241
6242 2004-02-10  Danny Smith  <dannysmith@users.sourceforge.net>
6243
6244         PR c/14088
6245         real.c (real_from_string): Look for 'X' as well as 'x' in
6246         hexfloat strings.
6247
6248 2004-02-10  Per Bothner  <per@bothner.com>
6249
6250         * c-opts.c (c_common_post_options):   Don't emit working directory
6251         in cpp output if -P was specified.
6252
6253 2004-02-10  Jakub Jelinek  <jakub@redhat.com>
6254
6255         PR optimization/13424
6256         Backport from mainline:
6257
6258         2004-01-29  Jakub Jelinek  <jakub@redhat.com>
6259         * emit-rtl.c (change_address): Use XEXP (memref, 0) instead
6260         of addr when creating MEM copy.
6261
6262         2004-01-28  Jakub Jelinek  <jakub@redhat.com>
6263         * expr.c (store_constructor): Revert 2003-12-03 change.
6264
6265         * emit-rtl.c (change_address): Check also if MEM_ATTRS is set as
6266         expected before returning early.  Avoid sharing RTL if they
6267         need to be changed.
6268
6269         * config/i386/i386.c (ix86_expand_movstr): Rework rep_mov and strmov
6270         handling so that memory attributes are preserved.  Don't call
6271         ix86_set_move_mem_attrs.
6272         (ix86_set_move_mem_attrs_1, ix86_set_move_mem_attrs): Removed.
6273         (ix86_expand_clrstr): Rename src argument to
6274         dst.  Rework rep_stos and strset handling so that memory attributes
6275         are preserved.
6276         (ix86_expand_strlen): Pass src argument to
6277         ix86_expand_strlensi_unroll_1.  Rework strlenqi_1 handling so that
6278         memory attributes are preserved.
6279         (ix86_expand_strlensi_unroll_1): Add src argument.  Use
6280         change_address instead of gen_rtx_MEM.
6281         * config/i386/i386.md (strmov, strmov_singleop, rep_mov): New
6282         expanders.
6283         (strmovdi_rex64, strmovsi, strmovsi_rex64, strmovhi, strmovhi_rex64,
6284         strmovqi, strmovqi_rex64): Remove.
6285         (rep_mov*, strmov*): Prefix insn names with *.
6286         (strset, strset_singleop, rep_stos): New expanders.
6287         (strsetdi_rex64, strsetsi, strsetsi_rex64, strsethi, strsethi_rex64,
6288         strsetqi, strsetqi_rex64): Remove.
6289         (rep_stos*, strset*): Prefix insn names with *.
6290         (rep_stosqi_rex64): Likewise.  Fix mode of dirflag reg from DImode
6291         to SImode.
6292         (cmpstrsi): Rework cmpstrqi_1 handling so that memory attributes
6293         are preserved.
6294         (cmpstrqi_nz_1, cmpstrqi_nz_rex_1, cmpstrqi_1, cmpstrqi_rex_1):
6295         Prefix insn names with *.
6296         (cmpstrqi_nz_1, cmpstrqi_1): New expanders.
6297         (strlenqi_1, strlenqi_rex_1): Prefix insn names with *.
6298         (strlenqi_1): New expander.
6299         * config/i386/i386.h (ix86_set_move_mem_attrs): Remove prototype.
6300
6301         2004-01-24  Jan Hubicka  <jh@suse.cz>
6302         * emit-rtl.c (change_address, adjust_address_1, offset_address,
6303         widen_memory_access):  Return early when there is nothing to change.
6304
6305 2004-02-10  David Edelsohn  <edelsohn@gnu.org>
6306
6307         * configure.ac (gcc_cv_as_powerpc_mfcrf): Correct test for mfcr.
6308         * configure: Regenerate.
6309
6310 2004-02-10  Ulrich Weigand  <uweigand@de.ibm.com>
6311
6312         * cfganal.c (flow_call_edges_add): Never split a libcall block.
6313
6314 2004-02-10  Richard Sandiford  <rsandifo@redhat.com>
6315
6316         * config/mips/mips.h (TARGET_GPWORD): Return false for TARGET_NEWABI
6317         && TARGET_IRIX.
6318
6319 2004-02-09  Geoffrey Keating  <geoffk@apple.com>
6320
6321         PR 12028
6322         * config/rs6000/rs6000.c (ccr_bit): Don't let consistency check
6323         failure stop compilation, just print helpful message.
6324
6325 2004-02-09  Fariborz Jahanian <fjahanian@apple.com>
6326
6327         * expr.c (emit_group_load): split constant
6328         correctly into register components of PARALLEL insn.
6329
6330 2004-02-09  DJ Delorie  <dj@redhat.com>
6331
6332         * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): No
6333         longer modify standard_exec_prefix, standard_bindir_prefix, or
6334         standard_startfile_prefix.
6335
6336 2004-02-09  James E Wilson  <wilson@specifixinc.com>
6337
6338         PR c++/11295
6339         * c-common.c (c_expand_expr, case STMT_EXPR): Change expand_expr call
6340         to expand_expr_real call, and pass in alt_rtl as last argument.
6341
6342         PR libstdc++/5625
6343         * builtin-types.def (BT_WORD, BT_FN_WORD_PTR): New.
6344         * builtins.c (expand_builtin): Handle BUILT_IN_EXTEND_POINTER.
6345         * builtins.def (BUILT_IN_EXTEND_POINTER): New.
6346         * except.c (expand_builtin_extend_pointer): New.
6347         * except.h (expand_builtin_extend_pointer): Declare.
6348
6349 2004-02-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6350
6351         * config/mips/iris5.h (BSS_SECTION_ASM_OP): Define.
6352         * config/mips/iris6.h (BSS_SECTION_ASM_OP): Undef.
6353
6354         * config/mips/iris6.h (TARGET_ASM_NAMED_SECTION): Moved ...
6355         * config/mips/iris5.h: ... here.
6356         * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Remove.
6357
6358         * config/mips/iris6.h (EXTRA_SECTION_FUNCTIONS): Move ...
6359         * config/mips/iris5.h: ... here.
6360
6361 2004-02-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6362
6363         * configure.ac: Remove default executable files before AC_PROG_CC.
6364         * configure: Regenerate.
6365
6366 2004-02-09  Kazu Hirata  <kazu@cs.umass.edu>
6367
6368         PR target/13721
6369         * config/h8300/h8300.c (byte_reg): Call abort() if asked to
6370         print a operand other than a register.
6371
6372 2004-02-09  Nick Clifton  <nickc@redhat.com>
6373
6374         * Import these patches from mainline sources:
6375
6376         2004-01-21  Inaoka Kazuhiro  <inaoka.kazuhiro@renesas.com>
6377
6378         * config/m32r/m32r.h (CPP_SPEC): Define.
6379
6380         2004-01-20  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
6381
6382         * config/m32r/m32r.h (TARGET_M32R2). Test for TARGET_M32R2_MASK
6383         not TARGET_M32RX_MASK.
6384
6385 2004-02-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
6386
6387         * cpplib.h (cpp_get_line_maps): Un-constify the structure
6388         pointed to by the pointer returned by the function.
6389         * cpplib.c (cpp_get_line_maps): Likewise.
6390
6391 2004-02-08  Kazu Hirata  <kazu@cs.umass.edu>
6392
6393         * c-objc-common.c (c_cannot_inline_tree_fn): Fix a typo in a
6394         warning.
6395
6396 2004-02-08  Joseph S. Myers  <jsm@polyomino.org.uk>
6397
6398         * README.Portability: Change "ISO C89" to "ISO C90".
6399         * c-parse.in (primary, initelt): Likewise.
6400
6401 2004-02-07  Zack Weinberg  <zack@codesourcery.com>
6402
6403         Bug 13856
6404         * c-decl.c (diagnose_mismatched_decls): Only give special
6405         treatment when olddecl is DECL_BUILT_IN, if C_DECL_INVISIBLE
6406         is also true.
6407         (merge_decls): Don't clear DECL_BUILT_IN_CLASS and
6408         DECL_FUNCTION_CODE when defining a built-in function.
6409         Don't update DECL_ESTIMATED_INSNS.
6410         * dwarf2out.c (dwarf2out_decl): Don't ignore built-in
6411         FUNCTION_DECLs.
6412         * tree.h: Delete DECL_ESTIMATED_INSNS.
6413         * tree-inline.c (struct inline_data): Delete inlined_insns field.
6414         (expand_call_inline, optimize_inline_calls): Don't update
6415         DECL_ESTIMATED_INSNS nor inlined_insns.
6416         * cgraphunit.c (cgraph_analyze_function): Don't update
6417         DECL_ESTIMATED_INSNS.
6418
6419 2004-02-07  Zack Weinberg  <zack@codesourcery.com>
6420
6421         * c-common.c (shadow_warning): Delete.
6422         * c-common.h (free_parser_stacks, shadow_warning, sw_kind): Delete.
6423         * c-decl.c (warn_if_shadowing): Issue shadow warnings directly.
6424         * c-opts.c (c_common_parse_file): Don't call free_parser_stacks.
6425         * c-parse.in (free_parser_stacks): Delete.
6426
6427 2004-02-07  Kazu Hirata  <kazu@cs.umass.edu>
6428
6429         * c-opts.c, c-ppoutput.c, cppfiles.c, cpphash.h, cppinit.c,
6430         cpplib.h, diagnostic.h, fix-header.c, config/fp-bit.c,
6431         config/mips/iris5.h, doc/makefile.texi: Update copyright.
6432
6433 2004-02-06  James E Wilson  <wilson@specifixinc.com>
6434
6435         * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Only define for
6436         glibc 2.3 or better.
6437
6438 2004-02-06  Ulrich Weigand  <uweigand@de.ibm.com>
6439
6440         * loop.c (force_movables): Transitively increase the priorities of
6441         all insns forces by an insn, not just the first one.
6442
6443 2004-02-06  Falk Hueffner  <falk@debian.org>
6444
6445         PR target/12898
6446         * config/alpha/alpha.c (alpha_emit_set_const_1): If
6447         no_new_pseudos, use gen_rtx_SET directly for SImode constants
6448         which need multiple instructions to emit.
6449
6450 2004-02-06  H.J. Lu  <hongjiu.lu@intel.com>
6451
6452         * doc/invoke.texi: Remove the pni option from -mfpmath=.
6453
6454 2004-02-05  Kelley Cook  <kcook@gcc.gnu.org>
6455
6456         * doc/install.texi:  Update automake and autoconf version
6457         requirements.  Note where to find gcj automake version.
6458
6459 2004-02-05  Kelley Cook  <kcook@gcc.gnu.org>
6460
6461         * Makefile.in (generate-manpages): Move dependencies to ...
6462         (man): here.
6463         * doc/makefile.texi: Document new targets.
6464         * doc/sourcebuild.texi (Make-lang.in): Document new langhooks.
6465
6466 2004-02-05  Kelley Cook  <kcook@gcc.gnu.org>
6467
6468         PR/13485
6469         Makefile.in (srcextra):  Add a level of indirection to ...
6470         (gcc.srcextra): ... here.
6471         (po-generated): Delete.
6472         (po/$(PACKAGE).pot: Use srcextra instead of po-generated.  Depend on
6473         options.c.
6474         (start.encap): Remove superfluous lang.srcextra dependency.
6475         objc/Make-lang.in (po-generated):  Delete.
6476
6477 2004-02-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6478
6479         * config/mips/iris5gas.h (PREFERRED_DEBUGGING_TYPE): Define.
6480
6481 2004-02-05  Andreas Krebbel  <krebbel1@de.ibm.com>
6482
6483         * config/s390/s390.md ("*tmqidi_ext"): New insn.
6484         ("*extendqidi2_short_displ", "*extendsiqi2_short_displ"): Old
6485         pre-reload splitters are transformed to post-reload
6486         define_insn_and_split patterns.
6487         ("*tmqisi_ext"): Renamed old "*tmqi_ext".
6488
6489 2004-02-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6490
6491         PR middle-end/13750
6492         Revert:
6493         2004-01-15  Geoffrey Keating  <geoffk@apple.com>
6494         PR pch/13361
6495         * c-typeck.c (constructor_asmspec): Delete.
6496         (struct initializer_stack): Delete field 'asmspec'.
6497         (start_init): Delete saving of asmspec.
6498         (finish_init): Don't update constructor_asmspec.
6499         * dwarf2out.c (rtl_for_decl_location): Duplicate string from tree.
6500         * stmt.c (expand_asm): Duplicate strings from tree.
6501         (expand_asm_operands): Likewise.
6502         * tree.c (tree_size): Update computation of size of STRING_CST.
6503         (make_node): Don't make STRING_CST nodes.
6504         (build_string): Allocate string with tree node.
6505         * tree.def (STRING_CST): Update comment.
6506         * tree.h (TREE_STRING_POINTER): Adjust for change to STRING_CST.
6507         (tree_string): Place contents of string in tree node.
6508         * config/sh/sh.c (sh_handle_sp_switch_attribute): Duplicate string
6509         from tree.
6510
6511 2004-02-05  Joseph S. Myers  <jsm@polyomino.org.uk>
6512
6513         * diagnostic.h (DEFINE_DIAGNOSTIC_KIND): Change parameter M to
6514         msgid.
6515
6516 2004-02-05  Paul Brook  <paul@codesourcery.com>
6517
6518         Backport from mainline.
6519
6520         2003-11-22  Phil Edwards  <phil@codesourcery.com>
6521
6522         PR target/12476
6523         * config/arm/arm.c (arm_output_mi_thunk):  In Thumb mode, use
6524         'bx' instead of 'b' to avoid branch range restrictions.  Output
6525         the thunk immediately before the thunked-to function.
6526         * config/arm/arm.h (ARM_DECLARE_FUNCTION_NAME):  Do not emit
6527         .thumb_func if a thunk is being generated.  Emit .code 16 along
6528         with .thumb_func if a thunk is not being generated.
6529
6530         2003-11-05  Mark Mitchell  <mark@codesourcery.com>
6531
6532         * calls.c (initialize_argument_information): Add CALL_FROM_THUNK_P
6533         parameter.  Use it instead of current_function_is_thunk.
6534         * function.h (struct function): Update documentation for is_thunk.
6535         * tree.h (CALL_FROM_THUNK_P): New macro.
6536         * config/alpha/alpha.c (alpha_sa_mask): Do not check
6537         no_new_pseudos when testing current_function_is_thunk.
6538         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Likeiwse.
6539
6540 2004-02-05  Joseph S. Myers  <jsm@polyomino.org.uk>
6541
6542         * sourcebuild.texi (Test Idioms): Update testcase naming
6543         conventions.
6544
6545 2004-02-04  Per Bothner  <per@bothner.com>
6546
6547         Partially revert/redo 2003-10-01 change; fix -fworking-directory.
6548         * c-ppoutput.c (pp_dir_change):  New function.
6549         * c-common.h (pp_dir_change):  New declaration.
6550         * cpplib.h (struct cpp_options):  Remove working_directory field.
6551         * cppinit.c (cpp_find_main_file, cpp_push_main_file):  Merge back to
6552         (cpp_read_main_file):  as before 10-01.  Call _cpp_stack_file.
6553         Don't handle -fworking_directory here, but in c_common_post_options.
6554         (read_original_directory): Don't back up when done.
6555         Don't clear no-longer used working_directory flag.
6556         * cpplib.h:  Update declarations to match.
6557         * c-lex.c (cb_dir_change):  Move to c-opts.c.
6558         (init_c_lex):  Don't set dir_change callback here, since we want
6559         to set it even if flag_preprocess_only.
6560         * c-opts.c (cb_dir_change):  Function moved from c-lex.c.
6561         (c_common_post_options):  Set dir_change callback.
6562         Call pp_dir_change if approporiate.
6563         (finish_options):  Don't call cpp_find_main_file here.  Hence remove
6564         unneeded parameter and result. Do LC_RENAME for <built-in>.
6565         (c_common_post_options):  Call cpp_read_main_file here instead.
6566         (c_common_init):  Update accordingly.
6567         (push_command_line_include):  Don't cpp_push_main_file.
6568         Do LC_RENAME rather than LC_LEASE to get back to main file.
6569         Compared to pre-10-01 version, inline cpp_rename_to_main_file.
6570         (c_common_parse_file):  Call cpp_read_main_file for subsequent main
6571         files, but call finish_options for all files.
6572         * c-opts.c (sanitize_cpp_opts):  Don't set cpp_opts->working_directory.
6573         * fix-header.c (read_scan_file):  Call cpp_read_main_file instead of
6574         cpp_find_main_file + cpp_push_main_file.
6575         * c-lex.c (fe_file_change):  Don't set main_input_filename here.
6576         * opts.c (handle_options):  Only set main_input_filename first time.
6577
6578 2004-02-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6579
6580         * Makefile.in: Move target, host overrides after per-language
6581         fragments.
6582
6583         * config/mips/t-iris5-as (FORCE_DEBUG_ADAFLAGS): Clear.
6584         (GNATLIBCFLAGS): Remove -g.
6585
6586 2004-02-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
6587
6588         * config/sparc/sparc.c (function_arg_pass_by_reference): Return 1
6589         for all modes whose size is greater than 8 bytes if ARCH32.
6590         (sparc_va_arg): Handle all modes whose size is greater than 8 bytes
6591         by reference if ARCH32.
6592
6593 2004-02-04  Ulrich Weigand  <uweigand@de.ibm.com>
6594
6595         * config/s390/s390.md ("*la_64" + peepholes, "reload_indi"): Move
6596         to before adddi3 insn patterns.
6597         ("*la_31" + peepholes, "*la_31_and", "*la_31_and_cc", "force_la_31",
6598         "reload_insi"): Move to before addsi3 insn patterns.
6599
6600 2004-02-04  Kazu Hirata  <kazu@cs.umass.edu>
6601
6602         * doc/interface.texi, doc/tm.texi, doc/trouble.texi: Don't
6603         mention deprecated target macros.
6604
6605 2004-02-03  Wolfgang Bangerth  <bangerth@dealii.org>
6606
6607         * doc/invoke.texi (x86 options): Fix spelling/wording.
6608
6609 2004-02-03  Richard Sandiford  <rsandifo@redhat.com>
6610
6611         * config/mips/iris5.h (ASM_OUTPUT_ASCII): Use mips_output_ascii to
6612         put the original string in a comment.
6613         * config/mips/mips-protos.h (mips_output_ascii): Add prefix argument.
6614         * config/mips/mips.c (mips_output_ascii): Likewise.
6615         * config/mips/mips.h (ASM_OUTPUT_ASCII): Adjust accordingly.
6616
6617 2004-02-03  Mark Mitchell  <mark@codesourcery.com>
6618
6619         PR c++/13975
6620         * tree.h (enum tree_index): Add TI_PUBLIC, TI_PROTECTED, and
6621         TI_PRIVATE.
6622         (access_public_node): Redefine.
6623         (access_protected_node): Likewise.
6624         (access_private_node): Likewise.
6625         * tree.c (build_common_tree_nodes): Create access_public_node,
6626         access_protected_node, and access_private_node.
6627
6628 2004-02-03  Alan Modra  <amodra@bigpond.net.au>
6629
6630         PR target/13914
6631         * config/rs6000/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Use ap
6632         for retaddr_column.
6633
6634 2004-02-03  Kelley Cook  <kcook@gcc.gnu.org>
6635
6636         * opts.c (OPT_fwritable_strings): Deprecate -fwritable-strings.
6637
6638 2004-02-03  Steven Bosscher  <s.bosscher@student.tudelft.nl>
6639
6640         * toplev.c: Fix broken checkin of 2003-12-30, again.
6641
6642 2004-02-02  Eric Christopher  <echristo@redhat.com>
6643             Zack Weinberg  <zack@codesourcery.com>
6644
6645         * c-opts.c (c_common_handle_option): Add -finput-charset.
6646         * c.opt: Ditto.
6647         * cppcharset.c (_cpp_convert_input): New function.
6648         (_cpp_default_encoding): Ditto.
6649         * cpphash.h: Add prototypes for above.
6650         * cppfiles.c (read_file_guts): Use _cpp_convert_input.
6651         * cppinit.c (cpp_create_reader): Use _cpp_default_encoding
6652         for narrow execution and input character sets.
6653         * doc/cppopts.texi: Document -finput-charset.
6654
6655 2004-02-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
6656
6657         * doc/invoke.texi (SPARC options): Further improve.
6658
6659 2004-02-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
6660
6661         * config/sparc/sparc.c (function_arg_slotno): Align TImode
6662         arguments on a 16-byte boundary in the parameter array if ARCH64.
6663         Split handling of TFmode.
6664
6665 2004-02-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
6666
6667         * doc/invoke.texi (SPARC options): Document that -mflat is deprecated.
6668
6669 2004-02-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
6670
6671         * config/sparc/sol2-bi.h: Handle TARGET_CPU_ultrasparc3.
6672         (CPP_CPU_SPEC): Handle -mcpu=ultrasparc3.
6673         (ASM_CPU_SPEC): Likewise
6674         * config/sparc/sol2.h: Handle TARGET_CPU_ultrasparc3.
6675         (ASM_CPU_SPEC): Remove -mcpu=v8plus.  Handle -mcpu=ultrasparc3.
6676
6677 2004-02-01  Jan Hubicka  <jh@suse.cz>
6678
6679         PR c++/12850
6680         * cgraph.c (cgraph_remove_node): Clear out saved/insns/arguments and
6681         initial pointers.
6682         * cgraphunit.c (cgraph_finalize_function): Clear out DECL_SAVED_INSNS
6683         for functions that will be only inlined.
6684         (cgraph_mark_function_to_output): Likewise.
6685         (cgraph_expand_function): Sanity check that DECL_DEFER_OUTPUT is clear;
6686         do not clear function body.
6687         * tree-optimize.c (clear_decl_rtl): Use decl_function_context.
6688         (tree_rest_of_compilation): Reorganize the logic releasing function
6689         body to use callgraph datastructure.
6690
6691 2004-02-01  Richard Sandiford  <rsandifo@redhat.com>
6692
6693         * config/mips/mips.md (adddi3_internal_2): Remove superfluous %s.
6694
6695 2004-01-31  Eric Botcazou  <ebotcazou@libertysurf.fr>
6696
6697         * doc/invoke.texi (SPARC options): Restructure and update.
6698
6699 2004-01-31  Kazu Hirata  <kazu@cs.umass.edu>
6700
6701         * doc/invoke.texi: Follow spelling conventions.
6702         * doc/tm.texi: Likewise.
6703
6704 2004-01-31  Kazu Hirata  <kazu@cs.umass.edu>
6705
6706         * doc/install.texi: Fix typos.
6707         * doc/invoke.texi: Likewise.
6708
6709 2004-01-31  Ulrich Weigand  <uweigand@de.ibm.com>
6710
6711         * config/s390/s390.c (s390_decompose_address): Do not treat virtual
6712         registers as pointers.
6713         * config/s390/s390.md ("*la_31" second peephole2): Fix incorrect mode.
6714
6715 2004-01-31  Jan Hubicka  <jh@suse.cz>
6716
6717         Revert the following patch until after AIX linker bug is fixed:
6718         PR c++/12850
6719         * cgraph.c (cgraph_remove_node): Clear out saved/insns/arguments and
6720         initial pointers.
6721         * cgraphunit.c (cgraph_finalize_function): Clear out DECL_SAVED_INSNS
6722         for functions that will be only inlined.
6723         (cgraph_mark_function_to_output): Likewise.
6724         (cgraph_expand_function): Sanity check that DECL_DEFER_OUTPUT is clear;
6725         do not clear function body.
6726         * tree-optimize.c (clear_decl_rtl): Use decl_function_context.
6727         (tree_rest_of_compilation): Reorganize the logic releasing function
6728         body to use callgraph datastructure.
6729
6730 2004-01-31  Kazu Hirata  <kazu@cs.umass.edu>
6731
6732         alloc-pool.c, alloc-pool.h, c-lex.c, c-pragma.h,
6733         tree-optimize.c, config/alpha/alpha.c, config/alpha/alpha.h,
6734         config/alpha/alpha.md, config/alpha/vms.h, config/arm/arm.h,
6735         config/arm/linux-elf.h, config/avr/avr.c, config/c4x/c4x.c,
6736         config/c4x/c4x.md, config/d30v/d30v.h,
6737         config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
6738         config/frv/frv.md, config/frv/frvbegin.c, config/frv/frvend.c,
6739         config/i386/cygming.h, config/i386/djgpp.h,
6740         config/i386/emmintrin.h, config/i386/gthr-win32.c,
6741         config/i386/i386-interix.h, config/i386/i386-protos.h,
6742         config/i386/i386.c, config/i386/i386.h, config/i386/openbsd.h,
6743         config/i386/winnt.c, config/i386/xm-mingw32.h,
6744         config/i386/xmmintrin.h, config/ia64/ia64-protos.h,
6745         config/ia64/ia64.c, config/ia64/ia64.md, config/ip2k/ip2k.c,
6746         config/iq2000/iq2000-protos.h, config/iq2000/iq2000.c,
6747         config/iq2000/iq2000.md, config/m32r/m32r-protos.h,
6748         config/m32r/m32r.c, config/m32r/m32r.md, config/m68k/m68k.md,
6749         config/m68k/netbsd-elf.h, config/mcore/mcore-elf.h,
6750         config/mcore/mcore.c, config/mcore/mcore.h,
6751         config/mcore/mcore.md, config/mips/elf.h, config/mips/elf64.h,
6752         config/mips/iris5gas.h, config/mips/iris6.h,
6753         config/mips/iris6gas.h, config/mips/linux.h,
6754         config/mips/mips.md, config/mips/netbsd.h,
6755         config/mips/openbsd.h, config/mips/windiss.h,
6756         config/mn10300/mn10300.c, config/mn10300/mn10300.h,
6757         config/pdp11/pdp11.c, config/rs6000/aix.h,
6758         config/rs6000/altivec.h, config/rs6000/darwin.h,
6759         config/rs6000/xcoff.h, config/s390/s390-protos.h,
6760         config/s390/s390.c, config/s390/s390.h, config/s390/s390.md,
6761         config/sh/netbsd-elf.h, config/sh/sh.h, config/sh/vxworks.h,
6762         config/sparc/sol2.h, config/stormy16/stormy16.h: Update
6763         copyright.
6764
6765 2004-01-30  Dara Hazeghi  <dhazeghi@yahoo.com>
6766
6767         PR bootstrap/9249
6768         * doc/install.texi: document --enable-__cxa_atexit option.
6769         * configure.ac: Disable __cxa_atexit if not supported.
6770         * configure: Regenerate.
6771
6772 2004-01-30  Herman A.J. ten Brugge <hermantenbrugge@home.nl>
6773
6774         PR target/12978
6775         * c4x.md: (movstrqi*) Use match_scratch instead of match_dup.
6776         Remove movstrqi_small because it conflicts with movstrqi_large.
6777
6778 2004-01-30  Kelley Cook  <kcook@gcc.gnu.org>
6779
6780         * Makefile.in (abs_docdir, abs_srcdir): Define.
6781         (doc/%.dvi, doc/gccinstall.dvi): Use $(abs_docdir).
6782
6783 2004-01-30  Ulrich Weigand  <uweigand@de.ibm.com>
6784
6785         PR optimization/12147
6786         * reload1.c (reload_reg_free_p): RELOAD_OTHER conflicts with
6787         RELOAD_FOR_OPADDR_ADDR.
6788         (reload_reg_reaches_end_p): RELOAD_FOR_OTHER_ADDRESS register
6789         might be reused as RELOAD_FOR_OPADDR_ADDR register.
6790
6791 2004-01-30  Jan Hubicka  <jh@suse.cz>
6792
6793         * reload.c (get_secondary_mem):  Fix updating of
6794         secondary_memlocs_elim_used.
6795
6796 2004-01-30  Andrew Pinski <pinskia@physics.uc.edu>
6797
6798         * toplev.c: Include alloc-pool.h.
6799         * Makefile.in (toplev.c): Update dependencies.
6800
6801 2004-01-30  Eric Botcazou  <ebotcazou@libertysurf.fr>
6802
6803         * config/sparc/sparc.h: Update copyright.
6804
6805 2004-01-30  Eric Botcazou  <ebotcazou@libertysurf.fr>
6806
6807         PR c/12818
6808         * varasm.c (const_hash_1) <STRING_CST>: Use the
6809         address to compute the hash value if flag_writable_strings.
6810         (compare_constant) <STRING_CST>: Compare the addresses
6811         if flag_writable_strings.
6812         (build_constant_desc): Do not copy the expression for a
6813         STRING_CST if flag_writable_strings.
6814
6815 2004-01-30  Jan Hubicka  <jh@suse.cz>
6816
6817         PR c++/12850
6818         * cgraph.c (cgraph_remove_node): Clear out saved/insns/arguments and
6819         initial pointers.
6820         * cgraphunit.c (cgraph_finalize_function): Clear out DECL_SAVED_INSNS
6821         for functions that will be only inlined.
6822         (cgraph_mark_function_to_output): Likewise.
6823         (cgraph_expand_function): Sanity check that DECL_DEFER_OUTPUT is clear;
6824         do not clear function body.
6825         * tree-optimize.c (clear_decl_rtl): Use decl_function_context.
6826         (tree_rest_of_compilation): Reorganize the logic releasing function
6827         body to use callgraph datastructure.
6828
6829         * reload.c (secondary_memlocs_elim_used): New static variable.
6830         (get_secondary_mem): Update it.
6831         (find_reloads): Use it.
6832
6833         * alias.c (reg_base_value): Turn into varray.
6834         (reg_base_value_size): Kill.
6835         (old_reg_base_value): New deletable varray.
6836         (alias_invariant_size): New variable.
6837         (REG_BASE_VALUE): Update to use varray.
6838         (find_base_value): Likewise.
6839         (record_set): Likewise.
6840         (record_base_value): Likewise.
6841         (memrefs_conflict_p): Likewise.
6842         (record_set): Likewise
6843         (record_base_value): Likewise.
6844         (memrefs_conflict_p): Use alias_invariant_size.
6845         (init_alias_analysis): Use varray; set alias_invariant_size;
6846         rescale other arrays to be sized by maxreg.
6847         (end_alias_analysis): Save reg_base_value; clear alias_invariant_size.
6848
6849         * basic-block.h (PROP_POSTRELOAD): New macro.
6850         (CLEANUP_LOG_LINKS): New.
6851         * cfgcleanup.c (cleanup_cfg): Only PROP_LOG_LINKS when asked to.
6852         * toplev.c (rest_of_handle_life):  Preserve LOG_LINKS trought cleanup_cfg.
6853
6854         * alloc-pool.c: Include hashtab.h
6855         (alloc_pool_descriptor): New structure
6856         (alloc_pool_hash): New global variable.
6857         (hash_descriptor, eq_descriptor, alloc_pool_descriptor): New.
6858         (create_alloc_pool): Update statistics.
6859         (free_alloc_pool): Likewise.
6860         (pool_alloc): Likewise.
6861         (output_info): New structure
6862         (print_statistics, dump_alloc_pool_statistics): New function.
6863         * alloc-pool.h (alloc_pool_def): Turn name to be constant.
6864         (dump_alloc_pool_statistics): Declare.
6865         * toplev.c (finalize):  Dump statistics.
6866
6867         * varray.c:  Include hashtab.h
6868         (varray_descriptor): New structure.
6869         (hash_descriptor, eq_descriptor, varray_descriptor,
6870         print_statistics): New static functions
6871         (varray_init, varray_grow): Update statistics
6872         (dump_varray_statistics): New function.
6873         * varray.h (dump_varray_statistics): Declare.
6874         * toplev.c (finalize): Call it.
6875
6876 2004-01-30  Ulrich Weigand  <uweigand@de.ibm.com>
6877
6878         * configure.ac (gcc_cv_as_dwarf2_debug_line): Enable test for
6879         s390*-*-* targets by specifying a 'nop' insn.
6880         * configure: Regenerate.
6881
6882 2004-01-30  Eric Botcazou  <ebotcazou@libertysurf.fr>
6883
6884         PR target/11475
6885         * config/sparc/sparc.md (movhi_lo_sum): Tighten predicates.
6886
6887 2004-01-29  Bruce Korb  <bkorb@gnu.org>
6888
6889         * fixinc/inclhack.def(math_exception): bypass only for glibc.
6890         (matherr_decl): rename & relocate as exception_structure.
6891         This fix must precede the math_exception fix.
6892         * fixinc/fixincl.x: regen
6893
6894 2004-01-29  Richard Henderson  <rth@redhat.com>
6895
6896         * c-parse.in (extension): Use itype.
6897         (SAVE_EXT_FLAGS): Don't allocate a tree.
6898         (RESTORE_EXT_FLAGS): Don't read a tree.
6899
6900 2004-01-29  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
6901
6902         * c-lex.c (c_lex): Rename to...
6903         (c_lex_with_flags): Add new parameter to get CPP flags.
6904         (c_lex): Thunk to c_lex_with_flags while keeping the old interface.
6905         * c-pragma.h (c_lex_with_flags): Declare.
6906
6907 2004-01-29  Roger Sayle  <roger@eyesopen.com>
6908
6909         PR java/13824
6910         * tree.c (unsafe_for_reeval): Handle EXIT_BLOCK_EXPR nodes specially
6911         as their EXIT_BLOCK_LABELED_BLOCK operands can lead to unbounded
6912         recursion.
6913
6914 2004-01-28  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6915
6916         * pa.md: Change predicate of a peephole2 pattern from reg_or_0_operand
6917         to register_operand.
6918
6919 2004-01-28  Zack Weinberg  <zack@codesourcery.com>
6920
6921         * config/ia64/ia64.md (fetchadd_acq_si, fetchadd_acq_di)
6922         (cmpxchg_acq_si, cmpxchg_acq_di): Exchange match_dup and
6923         match_operand expressions so that all match_dups appear
6924         lexically after their corresponding match_operands.
6925
6926 2004-01-28  Zack Weinberg  <zack@codesourcery.com>
6927             Jim Wilson  <wilson@specifixinc.com>
6928
6929         * config/ia64/ia64.c (ia64_split_tmode, ia64_split_tmode_move):
6930         Rewrite to use POST_INC/POST_DEC/POST_MODIFY instead of a
6931         scratch pointer.
6932         (ia64_secondary_reload_class): Delete case GR_REGS.
6933         * config/ia64/ia64.md (movti, *movti_internal, movtf, *movtf_internal):
6934         Do not allocate a scratch register.
6935         (reload_inti, reload_outti, reload_intf, reload_outtf): Delete.
6936
6937 2004-01-27  Zack Weinberg  <zack@codesourcery.com>
6938
6939         * ia64.c (ia64_function_arg): When placing HFAs in integer
6940         registers, do not special case the mode used for complex
6941         types.  Do not advance int_regs until the current register
6942         is full.
6943
6944 2004-01-28  Jan Hubicka  <jh@suse.cz>
6945
6946         * function.c (allocate_struct_function): Do not initialize expr, emit
6947         and varasm.
6948         (prepare_function_start): Do it here.
6949         * c-parse.in (maybe_type_qual): Do not produce line number notes.
6950
6951 2004-01-28  Richard Sandiford  <rsandifo@redhat.com>
6952
6953         * config/fp-bit.c (pack_d): When using paired doubles to implement
6954         a long double, round the high part separately.
6955         (unpack_d): Fix the case in which the high part is a power of two
6956         and the low part is a nonzero value of the opposite sign.
6957
6958 2004-01-27  Roger Sayle  <roger@eyesopen.com>
6959
6960         * config/pa/pa.c (emit_move_sequence): Check that operand1 is a
6961         CONST_INT before using INTVAL.
6962
6963 2004-01-27  Ulrich Weigand  <uweigand@de.ibm.com>
6964
6965         * config/s390/s390.h (TARGET_DEFAULT): Default to !TARGET_BACKCHAIN.
6966         * config/s390/s390.c (s390_return_addr_rtx): Fail for all but current
6967         frame if !TARGET_BACKCHAIN.
6968         * config/s390/s390.md ("allocate_stack"): Use pattern only if
6969         TARGET_BACKCHAIN.
6970         * doc/invoke.texi (-mbackchain/-mno-backchain): Document new default.
6971
6972 2004-01-27  Richard Sandiford  <rsandifo@redhat.com>
6973
6974         PR target/7297
6975         * except.c (init_eh): Use a 5-word __jbuf for __builtin_setjmp().
6976
6977 2004-01-27  Bob Wilson  <bob.wilson@acm.org>
6978
6979         * config/xtensa/xtensa.c (xtensa_copy_incoming_a7): Remove SUBREG
6980         on CQImode and CHImode incoming arguments in register a7.
6981         (function_arg): Wrap BLKmode argument in register a7 in a PARALLEL.
6982         * config/xtensa/xtensa.h (BLOCK_REG_PADDING): Define.
6983         * config/xtensa/xtensa.md (movdi, movdf): Only call force_reg or
6984         xtensa_copy_incoming_a7 before reload.
6985
6986 2004-01-27  Ian Lance Taylor  <ian@wasabisystems.com>
6987
6988         * config/arm/arm.c (output_return_instruction): Only restore IP
6989         into SP if frame_pointer_needed.
6990
6991 2004-01-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
6992
6993         * config/sparc/sparc.c (function_arg_pass_by_reference): Return 1
6994         for SCmode and DCmode if ARCH32.
6995         (sparc_va_arg): Handle SCmode and DCmode by reference if ARCH32.
6996         * config/sparc/sparc.h (RETURN_IN_MEMORY): Return 0 for TCmode
6997         if ARCH32.
6998         (BASE_RETURN_VALUE_REG): Return 32 for all FP modes except TFmode
6999         if ARCH32.
7000         (BASE_OUTGOING_VALUE_REG): Likewise.
7001
7002 2004-01-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
7003
7004         PR target/10904
7005         PR target/13058
7006         * config/sparc/sparc.h (CANNOT_CHANGE_MODE_CLASS): New.
7007         Forbid mode changes from SImode for lower FP regs if ARCH64.
7008
7009 2004-01-27  Jakub Jelinek  <jakub@redhat.com>
7010
7011         * config/i386/i386.c (ix86_constant_alignment): Decrease alignment
7012         of long string literals from 32 bytes to sizeof (void *) when !-Os
7013         and to 1 with -Os.
7014
7015 2004-01-27  Kaz Kojima  <kkojima@gcc.gnu.org>
7016
7017         PR optimization/13567
7018         * cse.c (cse_basic_block): Call cse_insn with a non-null
7019         libcall_insn for the last SET insn of a no-confilict block.
7020
7021 2004-01-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7022
7023         * system.h (CHAR_BITFIELD): Delete.
7024         (BOOL_BITFIELD): New.
7025         * c-decl.c (c_scope): Use BOOL_BITFIELD.
7026         * gengtype-lex.l: Recognize BOOL_BITFIELD instead of CHAR_BITFIELD.
7027
7028 2004-01-26  J"orn Rennecke <joern.rennecke@superh.com>
7029
7030         * doc/tm.texi: Insert some weasel words when LOAD_EXTEND_OP
7031         may or may not return non-NIL.
7032         * postreload.c (reload_cse_simplify_operands): In LOAD_EXTEND_OP code,
7033         check CANNOT_CHANGE_MODE_CLASS
7034
7035 2004-01-26  Jeff Law  <law@redhat.com>
7036
7037         * doc/contrib.texi: Minor cleanup for Paolo Carlini's entry.  Add
7038         acute accents for Petur Runolfsson's entry.
7039
7040
7041 2004-01-26  Eric Botcazou  <ebotcazou@libertysurf.fr>
7042
7043         Backport from mainline:
7044
7045         2004-01-23  Eric Botcazou  <ebotcazou@act-europe.fr>
7046                     Olivier Hainque  <hainque@act-europe.fr>
7047
7048         * fold-const.c (fold_binary_op_with_conditional_arg): Only
7049         build a COMPOUND_EXPR if 'arg' is really a SAVE_EXPR.
7050
7051 2004-01-26  Eric Botcazou  <ebotcazou@libertysurf.fr>
7052
7053         PR target/13666
7054         * config/sparc/sparc.c (function_arg_union_value): New function.
7055         (function_arg): Use it to deal with unions.
7056         (function_value): Likewise.  Define 'regbase' only for ARCH64.
7057         Replace a conditional statement by a simpler one.
7058
7059 2004-01-26  Richard Sandiford  <rsandifo@redhat.com>
7060
7061         * config/mips/mips.c (mips16_optimize_gp): Delete.
7062         (mips_reorg): Don't call it.
7063
7064 2004-01-25  Richard Sandiford  <rsandifo@redhat.com>
7065
7066         * config/mips/mips.c (mips_offset_within_object_p): New function.
7067         (mips_symbolic_constant_p): Use it in the SYMBOL_SMALL_DATA and
7068         SYMBOL_CONSTANT_POOL cases.  Also use it for SYMBOL_GENERAL if the
7069         ABI has 64-bit pointers and the object file only allows 32-bit symbols.
7070
7071 2004-01-25  Eric Botcazou  <ebotcazou@act-europe.fr>
7072
7073         PR bootstrap/13853
7074         * cfgcleanup.c (try_optimize_cfg): Explicitly test against 0.
7075
7076 2004-01-25  Richard Sandiford  <rsandifo@redhat.com>
7077
7078         * config/mips/mips-protos.h (mips_reg_mode_ok_for_base_p): Delete.
7079         (mips_regno_mode_ok_for_base_p): Declare.
7080         * config/mips/mips.h (ARG_POINTER_REGNUM): Renumber to 77.
7081         (FRAME_POINTER_REGNUM): Renumber to 78.
7082         (FIRST_PSEUDO_REGISTER): Update comment accordingly.
7083         (BASE_REG_P, GP_REG_OR_PSEUDO_STRICT_P): Delete.
7084         (GP_REG_OR_PSEUDO_NONSTRICT_P): Delete.
7085         (REGNO_MODE_OK_FOR_BASE_P): Use mips_regno_mode_ok_for_base_p.
7086         (REG_MODE_OK_FOR_BASE_P): Likewise.
7087         * config/mips/mips.c (mips_reg_names, mips_sw_reg_names): Change
7088         entry for 77 to "$arg" and entry for 78 to "$frame".
7089         (mips_regno_to_class): Map 77 and 78 to ALL_REGS.
7090         (mips_reg_mode_ok_for_base_p): Remove.
7091         (mips_regno_mode_ok_for_base_p): New function, derived from old
7092         BASE_REG_P macro.  Don't enforce the mips16 stack pointer
7093         restrictions unless we're being strict.
7094         (mips_valid_base_register_p): Use mips_regno_mode_ok_for_base_p.
7095
7096 2004-01-24  Kazu Hirata  <kazu@cs.umass.edu>
7097
7098         * doc/frontends.texi: Update copyright.
7099         * doc/gcov.texi: Likewise.
7100         * doc/gty.texi: Likewise.
7101         * doc/sourcebuild.texi: Likewise.
7102
7103 2004-01-24  Kazu Hirata  <kazu@cs.umass.edu>
7104
7105         * config/h8300/coff.h: Update copyright.
7106         * config/h8300/elf.h: Likewise.
7107         * config/h8300/h8300-protos.h: Likewise.
7108         * config/h8300/h8300.c: Likewise.
7109         * config/h8300/h8300.h: Likewise.
7110         * config/h8300/h8300.md: Likewise.
7111
7112 2004-01-24  Hartmut Penner <hpenner@de.ibm.com>
7113
7114         PR target/13674
7115         * config/rs6000/rs6000.md (movdf_hardfloat64): Do not disparage
7116         loading into GPR.
7117
7118 2004-01-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
7119
7120         PR optimization/12440
7121         * loop.c: Include ggc.h.
7122         (loop_optimize): Run garbage collector between optimization of loops.
7123         * Makefile.in (loop.o): Add GGC_H dependency.
7124
7125 2004-01-24  Jakub Jelinek  <jakub@redhat.com>
7126
7127         * simplify-rtx.c (simplify_relational_operation): Don't
7128         simplify address == constant into address + -constant == 0.
7129
7130 2004-01-24  Kazu Hirata  <kazu@cs.umass.edu>
7131
7132         * gcc.c (process_command): Don't internationalize the
7133         Copyright message.
7134         * mips-tfile.c (main): Likewise.
7135
7136 2004-01-23  Kazu Hirata  <kazu@cs.umass.edu>
7137
7138         * recog.c: Fix a typo in copyright.
7139
7140 2004-01-23  Kazu Hirata  <kazu@cs.umass.edu>
7141
7142         * alias.c, basic-block.h, c-common.c, c-common.h,
7143         c-cppbuiltin.c, c-pragma.c, c-pretty-print.c, c-semantics.c,
7144         calls.c, cfg.c, cfgcleanup.c, cfgrtl.c, cgraph.h, collect2.c,
7145         combine.c, cppcharset.c, cpptrad.c, cse.c, cselib.c, cselib.h,
7146         defaults.h, df.c, dominance.c, et-forest.c, expmed.c, expr.c,
7147         expr.h, fold-const.c, function.h, gcc.c, gcse.c, genattrtab.c,
7148         genautomata.c, genconditions.c, genflags.c, gengtype.c,
7149         genopinit.c, genrecog.c, gensupport.c, ggc-zone.c, graph.c,
7150         haifa-sched.c, integrate.c, langhooks-def.h, langhooks.c,
7151         langhooks.h, local-alloc.c, optabs.c, optabs.h, postreload.c,
7152         ra.h, recog.c, reg-stack.c, regmove.c, reload.c, reorg.c,
7153         rtlanal.c, sched-deps.c, sched-ebb.c, sdbout.c, system.h,
7154         target.h, targhooks.c, toplev.h, tree-inline.c,
7155         unwind-dw2-fde.h, unwind-pe.h, unwind.h, varray.c, varray.h:
7156         Update copyright.
7157
7158 2004-01-23  Bob Wilson  <bob.wilson@acm.org>
7159
7160         * config/xtensa/xtensa.c (xtensa_va_arg): Handle complex values as
7161         separate real and imaginary parts.
7162         * config/xtensa/xtensa.h (SPLIT_COMPLEX_ARGS): Define.
7163
7164 2004-01-23  Richard Henderson  <rth@redhat.com>
7165
7166         PR opt/12941
7167         * combine.c (SHIFT_COUNT_TRUNCATED): Provide default value.
7168         (simplify_comparison): Don't simplify (eq (zero_extract c 1 r) 0)
7169         if SHIFT_COUNT_TRUNCATED is set.
7170
7171 2004-01-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7172
7173         * fixinc/inclhack.def (alpha___extern_prefix): Renamed to ...
7174         (alpha___extern_prefix_sys_stat): ... this.
7175         Apply to <sys/mount.h>, too.
7176         Tweak to match more variations.
7177         * fixinc/tests/base/sys/stat.h: Adapt for new hackname.
7178
7179         * fixinc/inclhack.def (alpha___extern_prefix,
7180         alpha___extern_prefix_standards): New hacks to obey
7181         __PRAGMA_EXTERN_PREFIX.
7182         * fixinc/tests/base/testing.h [ALPHA___EXTERN_PREFIX_CHECK]: New
7183         test.
7184         * fixinc/tests/base/standards.h: Likewise.
7185
7186         * fixincl/inclhack.def (alpha_pthread): Tweak to match more
7187         variations.
7188         New testcase.
7189         * fixinc/tests/base/pthread.h: Handle it.
7190
7191         * fixinc/fixincl.x: Regenerate.
7192
7193 2004-01-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7194
7195         * fixinc/inclhack.def (bad_lval): Renamed to ...
7196         (alpha_bad_lval): ... this.
7197         Removed file list.
7198         Restrict to alpha*-dec-osf*.
7199         * fixinc/fixincl.x: Regenerate.
7200         * fixinc/tests/base/libgen.h: Remove, moving test ...
7201         * fixinc/tests/base/testing.h: ... here, reflecting new name.
7202
7203 2004-01-23  Ian Lance Taylor  <ian@wasabisystems.com>
7204
7205         * doc/invoke.texi (Optimize Options): Note that --param arguments
7206         are subject to change without notice.
7207
7208 2004-01-23  Zack Weinberg  <zack@codesourcery.com>
7209
7210         PR c/13814
7211         * c-decl.c (diagnose_mismatched_decls): Also discard a
7212         built-in if we encounter an old-style definition with the
7213         same name.
7214
7215 2004-01-23  Jakub Jelinek  <jakub@redhat.com>
7216
7217         * config.gcc (powerpc*-*): Clear $with_cpu or $with_tune if it was
7218         set to default{32,64}.
7219
7220 2004-01-21  Jakub Jelinek  <jakub@redhat.com>
7221
7222         * config/rs6000/linux64.h (MD_FALLBACK_FRAME_STATE_FOR)
7223         [!__powerpc64__]: Corrected to handle kernels with changed ucontext.
7224
7225 2003-11-30  Jan Hubicka  <jh@suse.cz>
7226
7227         * i386.c (ix86_emit_restore_regs_using_mov):  Deal with large offsets.
7228
7229 2004-01-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
7230
7231         * config/sparc/sparc.c (scan_record_type): New function.
7232         (function_arg_slotno): Use it to determine which kinds of
7233         registers the record can be passed in.
7234
7235 2004-01-22  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7236
7237         * configure.ac (enable_werror): Fixed typo.
7238         * configure: Regenerate.
7239
7240 2004-01-22  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7241
7242         * config.gcc (mips-sgi-irix6*o32): Removed.
7243         * config/mips/iris6-o32-as.h: Likewise.
7244         * config/mips/iris6-o32-gas.h: Likewise.
7245         * config/mips/iris6-o32.h: Likewise.
7246
7247 2004-01-22  Bob Wilson  <bob.wilson@acm.org>
7248
7249         * config/xtensa/xtensa.c (function_arg): Generalize logic so that it
7250         handles complex and vector modes.
7251
7252 2004-01-22  Daniel Jacobowitz  <drow@mvista.com>
7253
7254         * c-semantics.c (genrtl_while_stmt, genrtl_do_stmt_1)
7255         (genrtl_for_stmt): Remove emit_nop calls.
7256
7257 2004-01-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
7258
7259         PR target/13713
7260         PR target/13324
7261         * pa.md (movstrsi_prereload, movstrsi_postreload, movstrdi_prereload,
7262         movstrdi_postreload, clrstrsi_prereload, clrstrsi_postreload,
7263         clrstrdi_prereload, clrstrdi_postreload): Fix constraints.
7264
7265 2004-01-22  Daniel Jacobowitz  <drow@mvista.com>
7266
7267         * config/arm/arm.c: Include "debug.h".
7268         (thumb_pushpop): Take two new arguments.  Add some commentary.
7269         Output frame information when pushing.
7270         (thumb_exit, thumb_unexpanded_epilogue): Update calls to
7271         thumb_pushpop.
7272         (thumb_output_function_prologue): Likewise.  Accumulate a CFA
7273         offset, and pass it to thumb_pushpop.  Output CFI information.
7274         (thumb_expand_prologue): Add some frame-related markers and notes.
7275
7276 2004-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
7277
7278         * config/s390/s390.c (s390_frame_info): Allow large frame sizes
7279         for TARGET_64BIT.
7280         (s390_arg_frame_offset): Change return type to HOST_WIDE_INT.
7281         * config/s390/s390-protos.h (s390_arg_frame_offset): Likewise.
7282
7283 2004-01-22  Kazu Hirata  <kazu@cs.umass.edu>
7284
7285         * doc/tm.texi (CASE_VECTOR_PC_RELATIVE): Mention that the
7286         macro need not be defined if jump-tables should contain
7287         relative addresses only when -fPIC or -fPIC is in effect.
7288
7289 2004-01-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
7290
7291         * config/sparc/sparc.c (function_arg_slotno): Use
7292         FLOAT_TYPE_P to detect FP fields in structures.
7293         (function_arg_record_value_1): Likewise.
7294         (function_arg_record_value_2): Likewise.
7295
7296 2004-01-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
7297
7298         PR target/13559
7299         * config/sparc/sparc.c (function_arg_record_value_3): Revert
7300         to 'word_mode' once the first slot has been filled.
7301
7302 2004-01-22  Olivier Hainque  <hainque@act-europe.fr>
7303
7304         * config/sparc/sparc.c (function_arg_record_value_1): Fix
7305         computation of the number of integer registers required.
7306
7307 2004-01-22  Hartmut Penner  <hpenner@de.ibm.com>
7308
7309         * gcc/config/rs6000/rs6000.c (function_arg) Handle
7310         vector register special in function without prototype.
7311         (function_arg_advance): Vector parameters get always
7312         GPRs allocated for the linux64 target.
7313
7314 2004-01-21  Andrew Pinski  <apinski@apple.com>
7315
7316         PR target/13785
7317         * config/rs6000/rs6000.md (call_value): Force operand
7318         1 not operand 0 into a register.
7319
7320 2004-01-21  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
7321
7322         * pa-protos.h: Update copyright.
7323         * pa.h: Likewise.
7324         * pa.md: Likewise.
7325
7326         * fixinc/inclhack.def (hpux10_stdio_declarations, ultrix_const3,
7327         ultrix_locale, ultrix_stdlib, ultrix_strings, ultrix_sys_time,
7328         ultrix_unistd): New hacks.
7329         * fixinc/tests/base/stdio.h (HPUX10_STDIO_DECLARATIONS_CHECK,
7330         ULTRIX_CONST2_CHECK): Add checks.
7331         * fixinc/tests/base/stdlib.h (ULTRIX_STDLIB_CHECK): Likewise.
7332         * fixinc/tests/base/strings.h (ULTRIX_STRINGS2_CHECK): Likewise.
7333         * fixinc/tests/base/unistd.h (ULTRIX_UNISTD_CHECK): Likewise.
7334         * fixinc/tests/base/sys/time.h (ULTRIX_SYS_TIME_CHECK): Likewise.
7335         * fixinc/tests/base/locale.h: New file.
7336         * fixincl.x: Rebuilt.
7337
7338 2004-01-21  Andreas Jaeger  <aj@suse.de>
7339             Michael Matz  <matz@suse.de>
7340
7341         * doc/extend.texi (Extended Asm): Clarify memory clobber.
7342
7343 2004-01-21  Zack Weinberg  <zack@codesourcery.com>
7344
7345         * c-decl.c (merge_decls): Kill different_binding_level and
7346         different_tu arguments; simplify throughout.
7347         (duplicate_decls): Likewise.
7348         (pushdecl, merge_translation_unit_decls): Update calls to
7349         duplicate_decls.
7350
7351 2004-01-20  Kelley Cook  <kcook@gcc.gnu.org>
7352
7353         PR bootstrap/12730
7354         * configure.ac: Delete definition and subsitution of docdir.
7355         Add info, man, srcman and srcinfo to target hooks. Create doc/
7356         directory.
7357         * configure: Regenerate.
7358         * Makefile.in: Don't substitute docdir and delete all references
7359         throughout.
7360         (MAKEINFOFLAGS): Define.
7361         (stmp-docobjdir): Delete.
7362         (INFOFILES, MANFILES): Define.
7363         (info): Call lang.info, srcinfo and lang.srcinfo.
7364         (generated-manpages): Call lang.man, srcman and lang.srcman.
7365         (srcinfo, srcman): New rules to copy back files to source directory.
7366         (doc/%.info, doc/%.dvi, doc/%.1, doc/%.7): New implict rule.
7367         (install-man): Revamp rule.
7368         (clean): Update dvi directory.
7369         (distclean): Delete TAGS from front end directorys.
7370         (maintainer-clean): Delete all document files in source directory.
7371
7372         objc/Make-lang.in (objc.man, objc.info): Dummy entries.
7373         (objc.srcman, objc.srcinfo): Likewise.
7374
7375 2004-01-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7376
7377         * Makefile.in (pretty-print.o): Depend on $(CONFIG_H) and
7378         $(SYSTEM_H).
7379         (print-rtl1.o): Depend on $(SYSTEM_H).
7380
7381 2004-01-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
7382
7383         * pa-protos.h (compute_frame_size): Use HOST_WIDE_INT for frame sizes.
7384         * pa.c (store_reg, store_reg_modify, load_reg, set_reg_plus_d):
7385         Likewise.  Handle frames larger than 0x7fffffff on 64-bit ports.
7386         (emit_move_sequence): Check scratch_reg first in various if statements.
7387         Extend source simplification to handle all 64-bit CONST_INTs.
7388         (pa_output_function_prologue): Use HOST_WIDE_INT_PRINT_DEC for printing
7389         frame size.
7390         (hppa_expand_prologue, hppa_expand_epilogue): Use HOST_WIDE_INT for
7391         frame offset calculations.
7392         * pa.h (NEW_HP_ASSEMBLER): Add comment.
7393         (MAX_LEGIT_64BIT_CONST_INT, MIN_LEGIT_64BIT_CONST_INT,
7394         LEGITIMATE_64BIT_CONST_INT_P): Define.
7395         (LEGITIMATE_CONSTANT_P): Use LEGITIMATE_64BIT_CONST_INT_P.  Treat
7396         any CONST_INT as legitimate during and after reload.
7397         (VAL_32_BITS_P, INT_32_BITS): Define.
7398         (LEGITIMIZE_RELOAD_ADDRESS): Handle large frame offsets.
7399
7400 2004-01-21  Alan Modra  <amodra@bigpond.net.au>
7401
7402         * config/rs6000/sysv4.h (DWARF2_FRAME_REG_OUT): Define.
7403         * dwarf2out.c (output_cfi): Map regs using DWARF2_FRAME_REG_OUT.
7404         * doc/tm.texi (DWARF_FRAME_REGNUM, DWARF2_FRAME_REG_OUT): Document.
7405
7406 2004-01-20  Geoffrey Keating  <geoffk@apple.com>
7407
7408         * alias.c (new_alias_set): Mark last_alias_set for PCH.
7409         (get_varargs_alias_set): Rename 'set' to 'varargs_set' and mark it
7410         for PCH.
7411         (get_frame_alias_set): Likewise, except rename it to 'frame_set'.
7412         * config/rs6000/rs6000.c (rs6000_sr_alias_set): Mark for PCH.
7413         (get_TOC_alias_set): Mark 'set' for PCH.
7414
7415 2004-01-20  Richard Sandiford  <rsandifo@redhat.com>
7416
7417         * config/mips/mips.c (mips_load_call_address): Make the call insn
7418         use $gp if it could be calling a lazy binding stub.
7419
7420 2004-01-20  Denis Chertykov  <denisc@overta.ru>
7421
7422         PR bootstrap/13735
7423         * config/avr/avr.h (BASE_REG_CLASS): Don't permit to use X
7424         register as pointer after reload.
7425
7426 2004-01-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
7427
7428         PR target/13557
7429         * config/sparc/sparc.c (function_arg): Reorder the cases.
7430
7431 2004-01-19  Kelley Cook  <kcook@gcc.gnu.org>
7432
7433         * Makefile.in (target_noncanonical, program_transform_name): Use
7434         immediate define instead of deferred.
7435         (GCC_INSTALL_NAME, GCC_TARGET_INSTALL_NAME, CPP_INSTALL_NAME,
7436         PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
7437         GCCBUG_INSTALL_NAME): Define via a immediate $(shell) instead of
7438         deferred backquote.
7439
7440 2004-01-19  Richard Henderson  <rth@redhat.com>
7441
7442         * config/alpha/alpha.c (aligned_memory_operand): Check MEM_ALIGN,
7443         don't check memory mode.
7444         (unaligned_memory_operand): Likewise.
7445         (reload_inqi, reload_inhi, reload_outqi, reload_outhi): Don't
7446         abort for op0 not MEM.
7447
7448         * config/alpha/alpha.c (alpha_expand_mov_nobwx): If the destination
7449         is not a reg, copy to a scratch first.
7450         (aligned_loadqi, aligned_loadhi, unaligned_loadqi, unaligned_loadhi,
7451         unaligned_loadqi_le, unaligned_loadqi_be, unaligned_loadhi_le,
7452         unaligned_loadhi_be): Expect op0 in DImode; don't SUBREG.
7453         (reload_inqi, reload_inhi): Fix mode of op0.
7454         (reload_inqi_help, reload_inhi_help, reload_outqi_help,
7455         reload_outhi_help): Likewise.  Use define_insn_and_split.
7456
7457         * config/alpha/alpha.md (call peepholes): Check for REG_NORETURN
7458         as well as $29 dead.
7459
7460 2004-01-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
7461
7462         * config/sparc/sol2.h (ASM_DECLARE_OBJECT_NAME): New.  Emit
7463         "tls_object" for thread-local objects.
7464         * config/sparc/sparc.c (sparc_elf_asm_named_section): Emit
7465         "#tls" for thread-local sections.
7466         * configure.ac (thread-local checks): Specify --fatal-warnings in
7467         every binutils-specific checks.  For sparc*-*-*, test whether the
7468         OS is Solaris and the tools are native and act accordingly.
7469         * configure: Rebuild.
7470
7471 2004-01-19  Jeff Law  <law@redhat.com>
7472
7473         * contrib.texi: Update Paolo Carlini's entry.  New entries for
7474         Jerry Quinn and Petur Runolfsson.
7475
7476 2004-01-19  Richard Henderson  <rth@redhat.com>
7477
7478         * alpha.h (HARD_REGNO_MODE_OK): Disallow SImode in FP regs.
7479         * alpha.md (UNSPEC_NT_LDA): Remove.
7480         (UNSPEC_CVTLQ, cvtlq): New.
7481         (extendsidi2_1): Rename from extendsidi2_nofix; remove f/f.
7482         (extendsidi2_fix): Remove.
7483         (extendsidi2 splitter): Use cvtlq.
7484         (extendsidi2 fp peepholes): Remove.
7485         (cvtql): Use SFmode instead of SImode.
7486         (fix_trunc?fsi): Update to match.
7487         (floatsisf2_ieee, floatsisf2, floatsidf2_ieee, floatsidf2): New.
7488         (movsi): Rename from movsi_nofix, remove f alternatives.
7489         (movsi_nt_vms): Similarly.
7490         (movsi_fix, movsi_nt_vms_fix): Remove.
7491         (nt_lda): Remove.
7492         * alpha.c (alpha_expand_prologue): Use adddi3, not nt_lda.
7493
7494 2004-01-19  Jan Hubicka  <jh@suse.cz>
7495
7496         * cgraph.c (cgraph_remove_node): Fix removal from linked list.
7497         * cgraphunit.c (cgraph_finalize_compilation_unit): Clear next_needed
7498         list.
7499         (cgraph_remove_unreachable_nodes): New function
7500         (cgraph_decide_inlining_of_small_function): Fix pasto.
7501         (cgraph_decide_inlining_incrementally): Fix pasto.
7502         (cgrpah_decide_inlining): Likewise; remove unreachable nodes.
7503
7504 2004-01-18  Roger Sayle  <roger@eyesopen.com>
7505
7506         * builtins.c (expand_builtin_expect_jump): Fix thinko of reusing
7507         live "next" variable, which can lead to an infinite loop.
7508
7509 2004-01-18  Daniel Jacobowitz  <drow@mvista.com>
7510
7511         * final.c (final_scan_insn): Make non-static again.
7512         * output.h (final_scan_insn): Re-add prototype.
7513         * config/arc/arc.c (arc_output_function_epilogue): Add NULL
7514         to final_scan_insn call.
7515         * config/cris/cris.c (cris_target_asm_function_epilogue): Likewise.
7516         * config/mips/mips.c (mips_output_conditional_branch): Likewise.
7517         * config/pa/pa.c (output_lbranch, output_call): Likewise.
7518         * config/sh/sh.c (print_slot): Likewise.
7519         * config/sparc/sparc.c (sparc_nonflat_function_epilogue): Likewise.
7520         (output_sibcall, sparc_flat_function_epilogue): Likewise.
7521
7522 2004-01-18  Jan Hubicka  <jh@suse.cz>
7523
7524         * basic-block.h (try_redirect_by_replacing_jump): Declare.
7525         * cfgcleanup.c (try_optimize_cfg): Use it.
7526         * cfgrtl.c (try_redirect_by_replacing_jump): Export.
7527         (rtl_redirect_edge_and_branch, cfg_layout_redirect_edge_and_branch):
7528         Kill hack.
7529         (cfg_layout_merge_blocks): Use try_redirect_by_replacing_jump.
7530
7531 2004-01-18  Andrew Pinski  <pinskia@physics.uc.edu>
7532
7533         * config/rs6000/altivec.h: Wrap C++ functions in extern "C++"
7534         block.
7535
7536         * config/rs6000/rs6000.c (rs6000_special_round_type_align):
7537         Check for NULL in the chain and remove repeated code.
7538
7539 2004-01-18  Jan Hubicka  <jh@suse.cz>
7540
7541         * coverage.c (checksum_string): Rename to ...
7542         (coverage_checksum_string): ... this one, Use crc32_string; recognize
7543         names containing random number and zero the number out in order to get
7544         match.
7545
7546 2004-01-18  Richard Sandiford  <rsandifo@redhat.com>
7547
7548         * config/mips/mips.c (mips_got_alias_set): Mark for PCH.
7549
7550 2004-01-18  Joseph S. Myers  <jsm@polyomino.org.uk>
7551
7552         * doc/c-tree.texi, doc/cpp.texi, doc/extend.texi,
7553         doc/frontends.texi, doc/gcov.texi, doc/gty.texi, doc/install.texi,
7554         doc/invoke.texi, doc/libgcc.texi, doc/md.texi, doc/rtl.texi,
7555         doc/sourcebuild.texi, doc/standards.texi, doc/tm.texi,
7556         doc/trouble.texi: Remove trailing whitespace.
7557
7558 2004-01-18  Richard Sandiford  <rsandifo@redhat.com>
7559
7560         PR target/7618
7561         * config/mips/mips.c: Include cfglayout.h.
7562         (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
7563         (mips_unspec_offset_high): Add temporary register argument.
7564         (mips_load_call_address): New function, split out from...
7565         (mips_expand_call): ...here.
7566         (mips_output_cplocal): New function.
7567         (mips_output_function_prologue, mips_output_function_epilogue): Use it.
7568         (mips_emit_loadgp): New function, split out from...
7569         (mips_expand_prologue): ...here.
7570         (mips_output_mi_thunk): New function.
7571
7572 2004-01-17  Roger Sayle  <roger@eyesopen.com>
7573
7574         * builtins.c (expand_builtin_expect_jump): Fix mistake in my
7575         last patch.  Use XEXP (x, 0) to get a LABEL_REF's CODE_LABEL.
7576
7577 2004-01-17  Andrew Pinski  <pinskia@physics.uc.edu>
7578
7579         * config/rs6000/rs6000.c (rs6000_special_round_type_align):
7580         Return type is unsigned int not int.
7581         * config/rs6000/rs6000-protos.h (rs6000_special_round_type_align):
7582         Likewise.
7583
7584 2004-01-18  Joseph S. Myers  <jsm@polyomino.org.uk>
7585
7586         * doc/contrib.texi, doc/cppenv.texi, doc/extend.texi,
7587         doc/install.texi, doc/invoke.texi, doc/tm.texi: Consistently use
7588         "GNU/Linux" and "Microsoft Windows" terminology.
7589
7590 2004-01-18  Joseph S. Myers  <jsm@polyomino.org.uk>
7591
7592         * doc/c-tree.texi, doc/compat.texi, doc/cpp.texi,
7593         doc/cppopts.texi, doc/extend.texi, doc/install.texi,
7594         doc/interface.texi, doc/invoke.texi, doc/libgcc.texi, doc/md.texi,
7595         doc/objc.texi, doc/rtl.texi, doc/tm.texi, doc/trouble.texi: Use
7596         @smallexample instead of @example.
7597
7598 2004-01-17  Ziemowit Laski  <zlaski@apple.com>
7599
7600         * objc/objc-act.c (build_objc_method_call): Use target
7601         hooks instead of macros to determine if ..._stret
7602         dispatchers should be used (NeXT runtime only).
7603
7604 2004-01-17  Daniel Jacobowitz  <drow@mvista.com>
7605
7606         * rtl.h (emit_insn_before_sameloc, emit_jump_insn_before_sameloc)
7607         (emit_call_insn_before_sameloc, emit_insn_after_sameloc)
7608         (emit_jump_insn_after_sameloc, emit_call_insn_after_sameloc): New
7609         macros.
7610         * reload1.c (emit_reload_insns): Use them.
7611         * emit-rtl.c (emit_insn_before_sameloc, emit_insn_after_sameloc)
7612         (emit_jump_insn_after_sameloc, emit_call_insn_after_sameloc): Check
7613         for NULL PATTERN.
7614
7615 2004-01-17  Daniel Jacobowitz  <drow@mvista.com>
7616
7617         * final.c (SEEN_BB, SEEN_NOTE, SEEN_EMITTED): Define.
7618         (final_scan_insn): Update to take an additional SEEN argument.  Emit
7619         a line note after the prologue.  Make static.
7620         (line_note_exists): Remove.
7621         (final): Don't initialize line_note_exists.  Update call to
7622         final_scan_insn.
7623         * output.h (final_scan_insn): Remove prologue.
7624         * function.c (set_insn_locators): Update comment.
7625         (thread_prologue_and_epilogue_insns): Add a comment.
7626
7627 2004-01-17  Joseph S. Myers  <jsm@polyomino.org.uk>
7628
7629         * doc/invoke.texi, doc/standards.texi: Point to 3.4 version of
7630         c99status.html.
7631
7632 2004-01-17  Andrew Pinski  <pinskia@physics.uc.edu>
7633
7634         PR target/10781
7635         * config/rs6000/rs6000-protos.h (rs6000_special_round_type_align):
7636         Prototype.
7637         * config/rs6000/rs6000.c (rs6000_special_round_type_align):
7638         New function.
7639         * config/rs6000/linux64.h (ROUND_TYPE_ALIGN): Use it.
7640         * config/rs6000/aix.h (ROUND_TYPE_ALIGN): Likewise.
7641         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Likewise.
7642
7643 2004-01-17  Jan Hubicka  <jh@suse.cz>
7644
7645         * toplev.c (rest_of_handle_reorder_blocks): Fix pasto in previous
7646         commit.
7647
7648         * toplev.c (HAVE_conditional_execution): Provide default.
7649         (rest_of_handle_reorder_blocks): For conditional_execution target
7650         update liveness once after all transformations
7651         (rest_of_compilation): Do crossjumping before ce3.
7652
7653 2004-01-17  J. Brobecker  <brobecker@gnat.com>
7654
7655         * dwarf2out.c (is_subrange_type): Renamed from is_ada_subrange_type().
7656         Remove checks for is_ada() and TREE_UNSIGNED.
7657         (subrange_type_die): Emit a byte_size attribute if the subrange
7658         type size is different from the base type size.
7659         (modified_type_die): Replace call to is_ada_subrange_type() by
7660         call to is_subrange_type().
7661
7662 2004-01-16  Mark Mitchell  <mark@codesourcery.com>
7663
7664         * configure.ac: Do not do internal checking or -Werror by default.
7665         * configure: Regenerated.
7666
7667         * doc/include/gcc-common.texi (DEVELOPMENT): @clear it.
7668         * version.c (version_string): Mark as prerelease.
7669
7670 2004-01-16  Andrew Pinski  <pinskia@physics.uc.edu>
7671
7672         * config/sh/sh.c: Include ggc.h.
7673
7674 2004-01-17  Jan Hubicka  <jh@suse.cz>
7675
7676         * c-common.c (c_estimate_num_insns_1): Handle builtin_constant_p and
7677         builtin_expect specially.
7678         * params.def (PARAM_MAX_INLINE_INSNS_AUTO): Set to 100.
7679         (PARAM_LARGE_FUNCTION_INSNS): Set to 3000.
7680         * invoke.texi (max-inline-insns-single): Set to 100.
7681         (large-function-insns): Set to 3000.
7682
7683 2004-01-16  Jan Hubicka  <jh@suse.cz>
7684
7685         * i386.md (load_tp_di): Fix pasto.
7686
7687         PR opt/13608
7688         * i386.c (ix86_compute_frame_layout): Fix for alloca on leaf function.
7689
7690         * c-pretty-print.c (pp_c_type_cast, pp_c_abstract_declarator,
7691         pp_c_character_constant, pp_c_floating_constant,
7692         pp_c_additive_expression, pp_c_shift_expression,
7693         pp_c_equality_expression, pp_c_and_expression,
7694         pp_c_exclusive_or_expression, pp_c_inclusive_or_expression,
7695         pp_c_logical_and_expression): Remove inline modifier.
7696         * dwarf2out.c (get_AT): Likewise.
7697         * et-forest.c (et_splay): Likewise.
7698         * ra.h (ra_alloc, ra_calloc): Likewise
7699
7700 2004-01-16  Kazu Hirata  <kazu@cs.umass.edu>
7701
7702         * config/frv/frv-protos.h: Fix comment formatting.
7703         * config/frv/frv.c: Likewise.
7704         * config/frv/frv.h: Likewise.
7705         * config/frv/frv.md: Likewise.
7706         * config/frv/frvbegin.c: Likewise.
7707         * config/frv/frvend.c: Likewise.
7708
7709 2004-01-16  Kazu Hirata  <kazu@cs.umass.edu>
7710
7711         * system.h (LINKER_DOES_NOT_WORK_WITH_DWARF2): Poison.
7712         * doc/tm.texi (PREFERRED_DEBUGGING_TYPE): Don't mention
7713         LINKER_DOES_NOT_WORK_WITH_DWARF2.
7714         (LINKER_DOES_NOT_WORK_WITH_DWARF2): Remove.
7715
7716 2004-01-16  J"orn Rennecke <joern.rennecke@superh.com>
7717
7718         PR 11864
7719         * postreload.c (reload_cse_simplify_operands): Don't remove
7720         implicit extension from LOAD_EXTEND_OP.
7721
7722 2004-01-16  Jan Hubicka  <jh@suse.cz>
7723
7724         PR opt/11350
7725         * cfgcleanup.c (try_optimize_cfg): Suppress tablejump removal
7726         after reload.
7727         * cfgrtl.c (rtl_can_merge_blocks, cfglayout_can_merge_blocks,
7728         rtl_try_redirect_by_replacing_branch): Likewise.
7729
7730 2004-01-15  Geoffrey Keating  <geoffk@apple.com>
7731
7732         PR pch/13689
7733         * alias.c (struct alias_set_entry): Mark for GC.
7734         (alias_sets): Make static, mark for GC.
7735         (record_alias_subset): Use GC to allocate alias structures.
7736         * varray.c (element): Make generic varrays GCed.
7737
7738         PR pch/13361
7739         * c-typeck.c (constructor_asmspec): Delete.
7740         (struct initializer_stack): Delete field 'asmspec'.
7741         (start_init): Delete saving of asmspec.
7742         (finish_init): Don't update constructor_asmspec.
7743         * dwarf2out.c (rtl_for_decl_location): Duplicate string from tree.
7744         * stmt.c (expand_asm): Duplicate strings from tree.
7745         (expand_asm_operands): Likewise.
7746         * tree.c (tree_size): Update computation of size of STRING_CST.
7747         (make_node): Don't make STRING_CST nodes.
7748         (build_string): Allocate string with tree node.
7749         * tree.def (STRING_CST): Update comment.
7750         * tree.h (TREE_STRING_POINTER): Adjust for change to STRING_CST.
7751         (tree_string): Place contents of string in tree node.
7752         * config/sh/sh.c (sh_handle_sp_switch_attribute): Duplicate string
7753         from tree.
7754
7755         * config/rs6000/rs6000.c (rs6000_va_arg): No need to special-case
7756         altivec operands.
7757
7758 2004-01-15  Kazu Hirata  <kazu@cs.umass.edu>
7759
7760         * c-common.h: Fix comment formatting.
7761         * c-cppbuiltin.c: Likewise.
7762         * c-pragma.c: Likewise.
7763         * calls.c: Likewise.
7764         * collect2.c: Likewise.
7765         * cppcharset.c: Likewise.
7766         * cpptrad.c: Likewise.
7767         * dbxout.c: Likewise.
7768         * defaults.h: Likewise.
7769         * dwarf2out.c: Likewise.
7770         * fold-const.c: Likewise.
7771         * genautomata.c: Likewise.
7772         * genconditions.c: Likewise.
7773         * genflags.c: Likewise.
7774         * gengtype.c: Likewise.
7775         * integrate.c: Likewise.
7776         * loop.c: Likewise.
7777         * predict.c: Likewise.
7778         * sdbout.c: Likewise.
7779
7780 2004-01-15  Zack Weinberg  <zack@codesourcery.com>
7781
7782         * config/ia64/ia64.md (*movti_internal): C output template
7783         extracted to ia64.c.
7784         (*movti_internal_reg): Delete.
7785         (reload_inti, reload_outti): Use the correct mode on operand 2
7786         in the first place, don't fix it up in the output template.
7787         (movtf, reload_ointf, reload_outtf): New expanders.
7788         (*movtf_internal): New define_insn_and_split.
7789         * config/ia64/ia64.c (ia64_split_timode): Rename to ia64_split_tmode;
7790         make static; do not hand TFmode CONST_DOUBLEs to split_double.
7791         (ia64_split_tmode_move): New function, body mostly pulled
7792         from ia64.md:*movti_internal.
7793         (ia64_function_arg_words): New function, extracted common
7794         logic from ia64_function_arg et seq.
7795         (ia64_function_arg_offset): Likewise.  Handle correctly the
7796         case of a scalar quantity 16 bytes wide with only 8-byte alignment.
7797         (ia64_function_arg, ia64_function_arg_partial_nregs)
7798         (ia64_function_arg_advance): Use ia64_function_arg_words and
7799         ia64_function_arg_offset.
7800         (ia64_function_value): TCmode does not go in float regs.
7801         (ia64_secondary_reload_class): Also handle TFmode.
7802         * config/ia64/ia64-protos.h: Remove prototype for
7803         ia64_split_timode; add prototype for ia64_split_tmode_move.
7804
7805 2004-01-15  Kelley Cook  <kcook@gcc.gnu.org>
7806
7807         * Makefile.in (MAINT): Make it an immediate assignment.
7808
7809 2004-01-15  Kazu Hirata  <kazu@cs.umass.edu>
7810
7811         * config/m32r/m32r.md: Remove useless calls to gen_lowpart.
7812
7813 2004-01-15  Kazu Hirata  <kazu@cs.umass.edu>
7814
7815         * config/h8300/coff.h: Replace Hitachi with Renesas.
7816         * config/h8300/elf.h: Likewise.
7817         * config/h8300/h8300-protos.h: Likewise.
7818         * config/h8300/h8300.c: Likewise.
7819         * config/h8300/h8300.h: Likewise.
7820         * config/h8300/h8300.md: Likewise.
7821         * config/h8300/lib1funcs.asm: Likewise.
7822
7823 2004-01-15  Andrew Pinski  <apinski@apple.com>
7824
7825         * config/rs6000/rs6000.c (uses_TOC): Wrap #if TARGET_ELF
7826         around it.
7827
7828 2004-01-15  Kazu Hirata  <kazu@cs.umass.edu>
7829
7830         * config/h8300/h8300.c (h8300_return_in_memory): New.
7831         (TARGET_STRUCT_VALUE_RTX): Likewise.
7832         (TARGET_RETURN_IN_MEMORY): Likewise.
7833         * config/h8300/h8300.h (STRUCT_VALUE): Remove.
7834         (RETURN_IN_MEMORY): Likewise.
7835
7836 2004-01-15  Richard Earnshaw  <rearnsha@arm.com>
7837
7838         PR optimization/13375
7839         * gcse.c (handle_avail_expr): Just return if the source is not a
7840         single set.
7841
7842 2004-01-15  Richard Earnshaw  <rearnsha@arm.com>
7843             Daniel Jacobowitz  <drow@mvista.com>
7844
7845         * arm/lib1funcs.asm (ARM_FUNC_START): Correct interworking case.
7846         (EQUIV): Define.
7847         (ARM_FUNC_ALIAS): New macro.
7848         * arm/ieee754-df.S (gedf2, ledf2, nedf2, eqdf2): Use it.
7849         * arm/ieee754-sf.S (gesf2, lesf2, nesf2, eqsf2): Use it.
7850
7851 2004-01-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
7852
7853         PR optimization/12372
7854         * calls.c (expand_call): Add call_fusage data for stack arguments in
7855         constant calls.
7856
7857 2004-01-15  Alan Modra  <amodra@bigpond.net.au>
7858
7859         * config/rs6000/rs6000.c (uses_TOC): Correct comment.  Make static.
7860         (rs6000_elf_declare_function_name): Formatting.
7861         * config/rs6000/rs6000-protos.h (uses_TOC): Remove declaration.
7862
7863 2004-01-15  Jan Hubicka  <jh@suse.cz>
7864
7865         PR bootstrap/13692
7866         * sched-deps.c (sched_analyze_1, sched_analyze_2): Fix thinko in
7867         previous patch.
7868
7869 2004-01-15  Richard Henderson  <rth@redhat.com>
7870
7871         * config/alpha/alpha.h (REG_ALLOC_ORDER): Reorder fp regs after
7872         integer regs of the same call-savedness.
7873
7874 2004-01-15  Andreas Schwab  <schwab@suse.de>
7875
7876         PR bootstrap/13562
7877         * config/m68k/m68k.c (output_move_const_into_data_reg): Clear cc
7878         status for NOTB/NOTW/NEGW methods.
7879
7880 2004-01-15  Kazu Hirata  <kazu@cs.umass.edu>
7881
7882         * doc/invoke.texi: Update dump file names.  Fix a typo.
7883
7884 2004-01-15  Kazu Hirata  <kazu@cs.umass.edu>
7885
7886         * builtins.c (expand_builtin_va_end): Don't use
7887         EXPAND_BUILTIN_VA_END.
7888         * system.h (EXPAND_BUILTIN_VA_END): Poison.
7889         * config/d30v/d30v.h: Remove a commented-out definition of
7890         EXPAND_BUILTIN_VA_END.
7891         * config/stormy16/stormy16.h: Likewise.
7892
7893 2004-01-15  Kazu Hirata  <kazu@cs.umass.edu>
7894
7895         * system.h (STRUCT_VALUE_INCOMING_REGNUM): Poison.
7896         * targhooks.c (default_struct_value_rtx): Don't use
7897         STRUCT_VALUE_INCOMING_REGNUM.
7898
7899 2004-01-15  Kelley Cook  <kcook@gcc.gnu.org>
7900
7901         PR bootstrap/12744
7902         * configure.in: Revamp enable-generated-files-in-srcdir rule to define
7903         GENINSRC and not parsedir.  Define srcextra as a langhook.
7904         * configure: Regenerate.
7905         * Makefile.in: Suppress default .l.c rule.  Don't substitute
7906         parsedir and delete all references throughout.  Conditionally define
7907         rule for srcextra dependent on GENINSRC.
7908         (stmp-docobjdir): Delete.
7909         (c-parse.o, gengtype-lex.o, gengtype-yacc.o): Use implicit build rule.
7910         (srcextra): Copy c-parse.y, c-parse.c, gengtype-lex.c, gengtype-yacc.c,
7911         and gengtype-yacc.h back to source directory.
7912         (maintainer-clean): Delete all parse files in source directory.
7913         (distclean): Delete generated files.
7914
7915         * objc/Make-lang.in (objc-parse.o): Use implicit build rule.
7916         (objc-parse.c, objc-parse.y): Don't use parsedir.
7917         (objc.srcextra): Copy objc-parse.y and objc-parse.c back to source
7918         directory if requested.
7919         (po-generated): Don't use parsedir.
7920         (objc.maintainer-clean): Delete above files from source directory.
7921
7922 2004-01-14  Kazu Hirata  <kazu@cs.umass.edu>
7923
7924         * doc/tm.texi (FUNCTION_VALUE): Fix a typo.
7925
7926 2004-01-14  Kazu Hirata  <kazu@cs.umass.edu>
7927
7928         * doc/tm.texi: Replace RETURN_IN_MEMORY with
7929         TARGET_RETURN_IN_MEMORY.
7930
7931 2004-01-15  Jan Hubicka  <jh@suse.cz>
7932
7933         * builtins.c (std_expand_builtin_va_arg): Align operand when needed.
7934         * i386.c (init_cumulative_args): Set warn_sse; fix handling of variadic
7935         functions accepting SSE arguments
7936         (function_arg): Warn only when asked to warn.
7937         * i386.h (ix86_args): Add warn_sse/warn_mmx fiels.
7938
7939 2004-01-14  Joseph S. Myers  <jsm@polyomino.org.uk>
7940
7941         * c-parse.in (stmts_and_decls): Make label at end of compound
7942         statement a hard error.
7943
7944 2004-01-14  Jan Hubicka  <jh@suse.cz>
7945
7946         * cgraph.c (create_edge): Use local.redefined_extern_inline.
7947         * cgraph.h (cgraph_local_info): Sort fields by size; add
7948         redefined_extern_inline
7949         (cgraph_global_info): Sort fields by size.
7950         (cgraph_node): Likewise.
7951         * cgraphunit.c (cgraph_finalize_function): Se
7952         local.redefined_extern_inline on redefinition.
7953         (cgraph_analyze_function): Use it; fix formating.
7954
7955 2004-01-14  Jan Hubicka  <jh@suse.cz>
7956
7957         PR c++/10776
7958         * sched-deps.c (trye_dependency_cache, anti_dependency_cache,
7959         outptu_dependency_cache, forward_dependency_cahe): Trun to vectors of
7960         bitmaps
7961         (cache_size): New variable
7962         (add_dependence): Update use; canonize early memory locations
7963         (sched_analyze_1): Likewise.
7964         (sched_analyze_2): Likewise.
7965         (init_dependency_caches): Initialize bitmaps.
7966         (free_dependency_caches): Free bitmaps
7967
7968 2004-01-14  Kazu Hirata  <kazu@cs.umass.edu>
7969
7970         * calls.c: Replace STRICT_ARGUMENT_NAMING in comments with
7971         targetm.calls.strict_argument_naming().
7972         * target.h: Likewise.
7973
7974 2004-01-14  Richard Henderson  <rth@redhat.com>
7975
7976         PR debug/13231
7977         * dwarf2out.c (dwarf2out_stack_adjust): Skip prologue and epilogue
7978         instructions.
7979
7980 2004-01-14  Richard Henderson  <rth@redhat.com>
7981
7982         PR c++/12491
7983         * except.c (struct eh_region): Add u.fixup.resolved.
7984         (resolve_one_fixup_region): Split out from ...
7985         (resolve_fixup_regions): ... here.
7986
7987 2004-01-14  Kazu Hirata  <kazu@cs.umass.edu>
7988
7989         * config/mn10300/mn10300.h (STRUCT_VALUE): Change to 0.
7990
7991 2004-01-14  Kazu Hirata  <kazu@cs.umass.edu>
7992
7993         * config/alpha/alpha.h (STRUCT_VALUE): Remove.
7994         * config/alpha/vms.h (STRUCT_VALUE_REGNUM): Remove #undef.
7995         (STRUCT_VALUE): Remove.
7996
7997 2003-01-14  Steven Bosscher  <stevenb@suse.de>
7998
7999         * system.h: Poison PROMOTED_MODE
8000         * integrate.c (expand_inline_function): Don't mention the
8001         PROMOTED_MODE.
8002         * loop.c (update_giv_derive): Same.
8003         * tree.h (DECL_RTL): Same.
8004
8005 2004-01-14  J"orn Rennecke <joern.rennecke@superh.com>
8006
8007         PR target/9365
8008         * sh.c (gen_block_redirect): Add special handling of RETURN.
8009         (gen_far_branch) Don't call gen_stuff_delay_slot if there is no
8010         far branch target (i.e. it's a return).
8011
8012 2004-01-14  Kazu Hirata  <kazu@cs.umass.edu>
8013
8014         * regrename.c (find_oldest_value_reg): Fix a warning.
8015
8016 2004-01-14  Richard Earnshaw  <rearnsha@arm.com>
8017
8018         PR bootstrap/12527
8019         * config.gcc (arm*-*-linux*): Don't include unknown-elf.h in tm_file.
8020         Move linux-gas.h and linux-elf.h before aout.h.
8021         * arm/arm.h (INITIALIZE_TRAMPOLINE): Only define if not already.
8022         * arm/linux-elf.h (SUBTARGET_CPU_DEFAULT): Define.
8023
8024 2004-01-14  Kazu Hirata  <kazu@cs.umass.edu>
8025
8026         * config/m32r/m32r.md: Use GEN_INT instead of gen_rtx
8027         (CONST_INT, VOIDmode, ...).
8028
8029 2004-01-14  Richard Earnshaw  <rearnsha@arm.com>
8030
8031         * regrename.c (find_oldest_value_reg): If the replacement uses
8032         multiple hard registers, check that all of them are in CLASS.
8033
8034 2004-01-14  Jan Hubicka  <jh@suse.cz>
8035
8036         * alias.c (get_alias_set):  Initialize alias set to 0 when subset is
8037         impossible.
8038
8039 2004-01-14  Kelley Cook  <kcook@gcc.gnu.org>
8040
8041         * Makefile.in: Define MAINT from --enable-maintainer-mode.
8042
8043 2004-01-14  Hartmut Penner  <hpenner@de.ibm.com>
8044
8045         * gcc/config/rs6000/rs6000.c (rs6000_stack_info)
8046         Calculate always vrsave_mask if TARGET_ALTIVEC.
8047         (rs6000_emit_prologue): Emit code for vrsave
8048         only if TARGET_ALTIVEC_VRSAVE.
8049         (rs6000_emit_epilogue): Likewise.
8050
8051 2004-01-14  Eric Botcazou  <ebotcazou@libertysurf.fr>
8052
8053         * config/sparc/sparc.md (tie_add32): Fix pasto.
8054         (tie_add64): Likewise.
8055
8056 2004-01-14  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
8057
8058         * config/i386/i386.md (*addqi_1_slp): Do not access operands[2].
8059
8060 2004-01-13  Kazu Hirata  <kazu@cs.umass.edu>
8061
8062         * config/iq2000/iq2000-protos.h: Fix comment formatting.
8063         * config/iq2000/iq2000.c: Likewise.
8064         * config/iq2000/iq2000.md: Likewise.
8065
8066 2004-01-14  J. Brobecker  <brobecker@gnat.com>
8067
8068         * dwarf2out.c (is_ada_subrange_type): No longer check the TYPE_NAME.
8069         (subrange_type_die): Add handle for nameless subrange types.
8070
8071 2004-01-13  Kazu Hirata  <kazu@cs.umass.edu>
8072
8073         * config/h8300/h8300-protos.h: Replace do_movsi with
8074         h8300_expand_movsi.
8075         * config/h8300/h8300.c (do_movsi): Change to
8076         h8300_expand_movsi.
8077         * config/h8300/h8300.md (movsi): Replace do_movsi with
8078         h8300_expand_movsi.
8079         (movsf): Likewise.
8080
8081 2004-01-13  Kazu Hirata  <kazu@cs.umass.edu>
8082
8083         * config/h8300/h8300.c (dosize): Change to
8084         h8300_emit_stack_adjustment.  Update callers.
8085
8086 2004-01-13  Kazu Hirata  <kazu@cs.umass.edu>
8087
8088         * config/h8300/h8300.md (movstrictqi): Add an alternative with
8089         the source being post_inc.  Tighten the predicate for the
8090         destination to register_operand.
8091         (movstricthi): Likewise.
8092
8093 2004-01-13  Kazu Hirata  <kazu@cs.umass.edu>
8094
8095         * system.h (SHARED_BSS_SECTION_ASM_OP): Poison.
8096         * varasm.c (bss_section): Don't use SHARED_BSS_SECTION_ASM_OP.
8097         * doc/tm.texi (SHARED_BSS_SECTION_ASM_OP): Remove.
8098
8099 2004-01-14  Jan Hubicka  <jh@suse.cz>
8100
8101         Partial fix PR c++/12850
8102         * cgraphunit.c (cgraph_finalize_function): Always ggc_collect when
8103         at zero nest level.
8104
8105 2004-01-13  Bernardo Innocenti  <bernie@develer.com>
8106
8107         * config/m68k/netbsd-elf.h (REGISTER_NAMES): Add missing "argptr"
8108         pseudo-register.
8109
8110 2004-01-13  Devang Patel <dpatel@apple.com
8111
8112         PR debug/7078
8113         * dbxout.c (dbxout_symbol_name): Emit mangled names for
8114         NAMESPACE_DECL memebers.
8115
8116 2004-01-13  Andrew Pinski  <pinskia@physics.uc.edu>
8117
8118         PR c++/12709
8119         * c-common.c (finish_fname_decls): Use the chain only if the
8120         tree is an expr_stmt.
8121
8122 2004-01-13  Vladimir Makarov  <vmakarov@redhat.com>
8123
8124         * rtl.def: Add comment about new option in automata_option.
8125
8126         * genautomata.c (PROGRESS_OPTION): New macro.
8127         (progress_flag): New global variable.
8128         (gen_automata_option): Process `progress'.
8129         (transform_insn_regexps, check_unit_distributions_to_automata,
8130         make_automaton, NDFA_to_DFA, build_automaton, create_automata,
8131         expand_automata, write_automata): Print about the progress only if
8132         progress_flag.  Remove fflush.
8133         (initiate_automaton_gen): Process command line flag `-progress'.
8134
8135         * doc/md.texi: Describe the new option.
8136
8137 2004-01-13  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
8138
8139         * cfg.c (dump_bb): Dump entry edges.
8140
8141 2004-01-13  Richard Earnshaw  <rearnsha@arm.com>
8142
8143         * arm.c (thumb_legitimate_address_p): Only allow constant pool
8144         references from SImode.
8145         * arm.md (thumb_movhi_insn): Don't allow minipool references.
8146
8147 2004-01-13  Kazu Hirata  <kazu@cs.umass.edu>
8148
8149         * system.h (TEXT_SECTION): Poison.
8150         * varasm.c (text_section): Don't use TEXT_SECTION.
8151         * config/sh/sh.c (sh_file_start): Fix a comment typo.
8152         * doc/tm.texi (TEXT_SECTION): Remove.
8153
8154 2004-01-13  Ben Elliston  <bje@wasabisystems.com>
8155
8156         * doc/rtl.texi (Vector Operations): Remove defunct vec_const item.
8157
8158 2004-01-12  James E Wilson  <wilson@specifixinc.com>
8159
8160         * unwind-libunwind.c: Delete.
8161
8162 2004-01-12  Zack Weinberg  <zack@codesourcery.com>
8163
8164         PR 13656
8165         * c-decl.c (diagnose_mismatched_decls): Whenever newtype or
8166         oldtype is set, set *newtypep or *oldtypep too.  Do not set
8167         them at the very end.
8168         (validate_proto_after_old_defn): Restructure for comprehensibility;
8169         make error messages clearer.
8170
8171 2004-01-12  Zack Weinberg  <zack@codesourcery.com>
8172
8173         * varray.h (VARRAY_POP): Add checking variant, aborts on underflow.
8174         (VARRAY_TOP): Use VARRAY_CHECK so the access is bounds-checked.
8175         * varray.c: No need to prototype error.
8176         (varray_check_failed): Wrap long string onto two lines.
8177         (varray_underflow): New function.
8178
8179 2004-01-13  Steven Bosscher  <stevenb@suse.de>
8180
8181         PR c++/13376
8182         * function.h (struct function): Kill `name' field.
8183         (current_function_name): Make it an extern function.
8184         * function.c (current_function_name): New function.
8185         * graph.c: Update all uses of current_function_name.
8186         * gcse.c: Likewise.
8187         * config/alpha/alpha.c, config/avr/avr.c, config/c4x/c4x.c,
8188         config/mips/mips.c, config/pdp11/pdp11.c: Likewise.
8189         * config/ip2k/ip2k.c (function_prologue): Use MAIN_NAME_P
8190         instead of a strcmp with "main".
8191
8192 2004-01-13  Jan Hubicka  <jh@suse.cz>
8193
8194         * c-decl.c (diagnose_mismatched_decls):  Fix warning calls.
8195
8196         * cgraphunit.c (cgraph_optimize_function):  Always do
8197         optimize_inline_calls when there is always_inline callee.
8198         (cgraph_decide_inlining): Fix formating.
8199         * tree-inline.c (inlinable_function_p): Do sorry for alwaysinline
8200         functions.
8201         (expand_call_inline): Likewise.
8202         * toplev.h (sorry): Fix prototype.
8203
8204 2004-01-12  Roger Sayle  <roger@eyesopen.com>
8205
8206         * builtins.c (expand_builtin_expect_jump): Simplify logic. Handle
8207         conditional jumps that drop through to unconditional jumps or the
8208         end of the sequence.
8209
8210 2004-01-13  Jan Hubicka  <jh@suse.cz>
8211
8212         * alias.c (new_alias_set): Construct the alias_set varray.
8213         (init_alias_once): Don't do it here.
8214
8215 2004-01-12  Marc Espie <espie@openbsd.org>
8216
8217         * system.h: handle YYBYACC like YYBISON.
8218
8219 2004-01-12  Jonathan Merriman <jonm@dualitymedia.com>
8220
8221         PR target/10847
8222         * config.gcc: No longer includes conflicting header sparc/sol2.h when
8223         building on sparc64-*-openbsd*.
8224
8225 2004-01-12  Andrew Pinski  <pinskia@physics.uc.edu>
8226
8227         PR debug/13539
8228         * dbxout.c (dbxout_type): Protected inheritance is not
8229         private but protected.
8230
8231 2004-01-12  Richard Sandiford  <rsandifo@redhat.com>
8232
8233         * config/mips/mips.c (mips_symbolic_constant_p): Revert last patch.
8234
8235 2004-01-12  Kazu Hirata  <kazu@cs.umass.edu>
8236
8237         PR optimization/12508.
8238         * combine.c (try_combine): Remove a dead set in a parallel
8239         even if its destination is a subreg.
8240
8241         Revert:
8242         2003-06-03  Kazu Hirata  <kazu@cs.umass.edu>
8243         * combine.c (simplify_set): Don't move a subreg in SET_SRC to
8244         SET_DEST if WORD_REGISTER_OPERATIONS is not defined.
8245
8246 2004-01-12  Geoffrey Keating  <geoffk@apple.com>
8247
8248         * real.c: Update copyright date.
8249         * emit-rtl.c: Likewise.
8250         * rtl.h: Likewise.
8251         * dwarf2out.c: Likewise.
8252         * config/rs6000/darwin-ldouble.c: Likewise.
8253         * config/rs6000/rs6000.md: Likewise.
8254
8255 2004-01-12  David Edelsohn  <edelsohn@gnu.org>
8256
8257         * config/rs6000/rs6000.c (rs6000_init_libfuncs): Add AIX
8258         TFmode to SImode libfuncs.
8259
8260 2004-01-12  Roger Sayle  <roger@eyesopen.com>
8261
8262         PR middle-end/11397
8263         * varasm.c (assemble_alias): Remove weak aliases from weak_decls.
8264
8265 2004-01-12  Jan Hubicka  <jh@suse.cz>
8266
8267         PR opt/12826
8268         * loop.c (insert_loop_mem): Preffer VOLATILE memory references to be
8269         stored.
8270
8271         PR opt/12863
8272         * cfgcleanup.c (label_is_jump_target_p): Move to...
8273         * rtlanal.c (label_is_jump_target_p): ... here.
8274         * cfgrtl.c (cfg_layout_redirect_edge_and_branch):  Fix redirecting of fallthru
8275         edges unified with branch edges.
8276
8277 2004-01-12  Richard Earnshaw  <rearnsha@arm.com>
8278
8279         * simplify-rtx.c (simplify_immed_subreg): Correctly extract the
8280         high word of an integral CONST_DOUBLE.
8281
8282 2004-01-12  Paul Brook  <paul@codesourcery.com>
8283
8284         * simplify-rtx.c (simplify_plus_minus): Always generate canonical form.
8285
8286 2004-01-12  J"orn Rennecke <joern.rennecke@superh.com>
8287
8288         PR target/13585
8289         * sh-protos.h (check_use_sfunc_addr): Declare.
8290         * sh.c (extract_sfunc_addr, check_use_sfunc_addr): New functions.
8291         * sh.md (use_sfunc_addr): Use check_use_sfunc_addr in insn predicate.
8292
8293 2004-01-12  Jan Hubicka  <jh@suse.cz>
8294
8295         * alias.c:  Invlude varray.h
8296         (alias_sets): Turn into varray.
8297         (get_alias_set_entry): Use VARRAY; mark inline.
8298         (mems_in_disjoint_alias_sets_p): Mark inline.
8299         (record_alias_subset): Use varray.
8300         (init_alias_once): Initialize varray.
8301         (new_alias_set): Grow array.
8302         * varray.c: Make VARRAY_GENERIC_PTR non GTYized.
8303
8304 2004-01-12  Jan Hubicka  <jh@suse.cz>
8305
8306         Partial fix for PR opt/10776 II
8307         * cselib.c: Include params.h
8308         (cselib_invalidate_mem):  Limit amount of nonconflicting memory
8309         locations.
8310         * params.def (PARAM_MAX_CSELIB_MEMORY_LOCATIONS): New.
8311         * Makefile.in (cselib.o): Depend on params.h
8312
8313 2004-01-12  Richard Sandiford  <rsandifo@redhat.com>
8314
8315         * combine.c (combine_simplify_rtx): Don't pass VOIDmode to
8316         simplify_unary_operation if the operand has a known mode.
8317
8318 2004-01-12  Hartmut Penner  <hpenner@de.ibm.com>
8319
8320         PR target/13534
8321         * gcc/config/rs6000/rs6000.c (word_offset_memref_operand): New
8322         predicate to handle 'ld' conform addresses.
8323         * gcc/config/rs6000/rs6000.h (EXTRA_CONSTRAINT): New 'Y'
8324         contraint.
8325         (EXTRA_MEMORY_CONSTRAINT): Tell reload which constraint
8326         are memory contraints.
8327         * gcc/config/rs6000/rs6000-protos.h (word_offset_memref_operand):
8328         New prototype.
8329         * gcc/config/rs6000/rs6000.md (*movdf_hardfloat64):
8330         Change 'o' to 'Y' constraint.
8331         (*movdf_softfloat64): Ditto.
8332
8333 2004-01-12  Bernardo Innocenti  <bernie@develer.com>
8334
8335         * gcc/config/m68k/m68k.md: Switch from the "*..." syntax to the
8336         brace-enclosed syntax in all C output statements.
8337
8338 2004-01-12  David Edelsohn  <edelsohn@gnu.org>
8339
8340         PR target/13401
8341         * config/rs6000/rs6000.c (rs6000_output_function_epilogue):
8342         Objective-C language type value is 14.
8343
8344 2004-01-12  Markus F.X.J. Oberhumer  <markus@oberhumer.com>
8345
8346         PR c/12148
8347         * config/m68k/fpgnulib.c: Fix `-mshort' bugs: Use `long' instead of
8348         `int' in a number of places to make sure we always have a SImode
8349         and not a HImode.  Add a 'L' suffix to a number of constants.
8350
8351 2004-01-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
8352
8353         * pa.c: Don't include obstack.h.
8354
8355         * pa.md: Correct constraint in pattern for loading PIC label address.
8356
8357 2004-01-11  Kaz Kojima  <kkojima@gcc.gnu.org>
8358
8359         * config/sh/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): Undefine
8360          before defining.
8361
8362 2004-01-11  Steven Bosscher  <stevenb@suse.de>
8363
8364         PR fortran/9972
8365         * toplev.c (rest_of_handle_inline): Also consider functions
8366         for deferral if the language is GNU F77.
8367
8368 2004-01-11  Zack Weinberg  <zack@codesourcery.com>
8369
8370         * c-decl.c (diagnose_arglist_conflict): Add missing space to
8371         diagnostic messages.
8372
8373 2004-01-11  Jakub Jelinek  <jakub@redhat.com>
8374
8375         PR middle-end/13392
8376         * builtins.c (expand_builtin_expect_jump): Handle conditional jumps
8377         to drop through label.  Don't fall back to SCC even when conditional
8378         jump has not been found.
8379
8380 2004-01-11  Jan Hubicka  <jh@suse.cz>
8381
8382         * invoke.texi: Fix syntax error in previous patch.
8383
8384         Partial fix for PR opt/10776
8385         * Makefile.in (reload.o): Include param.h
8386         * params.def (PARAM_MAX_RELOAD_SEARCH_INSNS): New parameter.
8387         * reload.c: Include params.h.
8388         (find_equiv_reg): Work limiting check.
8389         * invoke.texi: Document.
8390
8391 2004-01-11  Richard Sandiford  <rsandifo@redhat.com>
8392
8393         * config/mips/mips.c (mips_symbolic_constant_p): Don't allow
8394         out-of-bounds accesses to string constants.  Simplify mips16
8395         case accordingly.
8396
8397 2004-01-11  Richard Sandiford  <rsandifo@redhat.com>
8398
8399         PR optimization/13469
8400         * toplev.c (rest_of_compilation): Call purge_all_dead_edges after
8401         reload_cse_regs (-fnon-call-exceptions only).
8402
8403 2004-01-11  Kazu Hirata  <kazu@cs.umass.edu>
8404
8405         * config/mcore/lib1.asm: Fix comment formatting.
8406         * config/mcore/mcore-elf.h: Likewise.
8407         * config/mcore/mcore.c: Likewise.
8408         * config/mcore/mcore.h: Likewise.
8409         * config/mcore/mcore.md: Likewise.
8410
8411 2004-01-10  Zack Weinberg  <zack@codesourcery.com>
8412
8413         * c-decl.c (duplicate_decls): Break apart into...
8414         (diagnose_arglist_conflict, validate_proto_after_old_defn)
8415         (locate_old_defn, diagnose_mismatched_decls, merge_decls):
8416         ... these new functions.  Restructure for comprehensibility.
8417         Remove various archaic special cases.  Always report the
8418         location of the previous declaration when a diagnostic is issued.
8419         (redeclaration_error_message): Fold into diagnose_mismatched_decls.
8420         (match_builtin_function_types): Delete unnecessary forward declaration.
8421
8422 2004-01-10  Zack Weinberg  <zack@codesourcery.com>
8423
8424         * genautomata.c (make_automaton, NDFA_to_DFA):
8425         Print progress bars with '.' characters instead of '*'.
8426         (build_automaton): Change notes to match.
8427
8428 2004-01-10  Kazu Hirata  <kazu@cs.umass.edu>
8429
8430         * config/m32r/m32r.md: Use define_constants for unspec and
8431         unspec_volatile.
8432
8433 2004-01-10  Jan Hubicka  <jh@suse.cz>
8434
8435         PR opt/11635
8436         * expr.c (expand_expr_real):  More curefully expand union casts.
8437
8438 2004-01-10  Kazu Hirata  <kazu@cs.umass.edu>
8439
8440         * config/m32r/m32r.md (flush_icache): Use 1 for
8441         unspec_volatile.
8442
8443 2004-01-10  David Edelsohn  <edelsohn@gnu.org>
8444             James E Wilson  <wilson@specifixinc.com>
8445
8446         PR debug/12860
8447         * dbxout.c (dbxout_symbol): Remove initialization of
8448         current_sym_code, current_sym_value, and current_sym_addr.
8449         (dbxout_symbol_location): Same.
8450         (dbxout_prepare_symbol): Zero current_sym_code,
8451         current_sym_value, and current_sym_addr.
8452
8453 2004-01-10  Richard Sandiford  <rsandifo@redhat.com>
8454
8455         * tree.c (get_unwidened): Reorder conditions so that the null pointer
8456         check is done first.
8457
8458 2004-01-09  Eric Christopher  <echristo@redhat.com>
8459
8460         * toplev.c (rest_of_handle_cfg): Add reg_scan pass
8461         if we're running mark_constant_function.
8462
8463 2004-01-09  Jeff Bailey  <jbailey@nisa.net>
8464
8465         PR target/12561
8466         * config/t-gnu: Rename SYSTEM_HEADER_DIR to NATIVE_SYSTEM_HEADER_DIR.
8467
8468 2004-01-09  Andrew Pinski <pinskia@physics.uc.edu>
8469
8470         PR debug/11231
8471         * dbxout.c (dbxout_type_fields): Return if any item is
8472         error_mark_node or the type is error_mark_node.
8473
8474 2004-01-09  Geoffrey Keating  <geoffk@apple.com>
8475
8476         * config/rs6000/darwin-ldouble.c: Add big comment explaining
8477         exactly what is expected as a 'long double'.
8478         (_xlqadd): When a value to be returned is representable as a
8479         'double', just return it directly, do not construct it using a union.
8480         Also, correct final fixup.
8481         (_xlqmul): Likewise.
8482         (_xlqdiv): Likewise.
8483         * real.c (encode_ibm_extended): Make consistent with darwin-ldouble.c.
8484
8485         * config/rs6000/rs6000.md (fix_trunctfdi2): Delete.
8486
8487 2004-01-09  Richard Henderson  <rth@redhat.com>
8488
8489         * recog.c (constrain_operands): Validate mem operands.
8490
8491 2004-01-09   James E Wilson  <wilson@specifixinc.com>
8492
8493         * gcc.c (init_spec): Remove -lunwind from shared case.
8494         * conifg/ia64/t-hpux (SHLIB_LINK): Add -lunwind.
8495
8496 2004-01-09  Steve Ellcey  <sje@cup.hp.com>
8497
8498         * configure.ac: (gcc_cv_ld_hidden) Set to true for ia64*-*-hpux*.
8499         * configure: Regenerate
8500
8501 2004-01-09  Joseph S. Myers  <jsm@polyomino.org.uk>
8502
8503         PR c/11234
8504         * c-typeck.c (build_c_cast): If pedantic, warn for conversions
8505         between function and object pointers.
8506         (digest_init): When comparing a pointer to function type to the
8507         target type, only apply TREE_TYPE once to the pointer to function
8508         type.
8509         * except.c (for_each_eh_label_1): Treat data as a pointer to a
8510         function pointer rather than casting it to a function pointer.
8511         (for_each_eh_label): Update caller.
8512         * recog.h (struct insn_data): Use a struct or union for output.
8513         * genoutput.c (output_insn_data): Update.
8514         * final.c (get_insn_template): Update.
8515
8516 2004-01-09  Mark Mitchell  <mark@codesourcery.com>
8517
8518         * expr.h (expand_expr): Make it a macro, not a function.
8519         (expand_expr_real): New function.
8520         * expr.c (store_expr): Adjust logic for deciding whether or not to
8521         copy the value returned by expand_expr.
8522         (expand_expr): Rename to ...
8523         (expand_expr_real): ... this.  Add alt_rtl parameter.  Adjust
8524         calls to language hooks.
8525         * c-common.h (c_expand_expr): Adjust prototype.
8526         * c-common.c (c_expand_expr): Add alt_rtl parameter.
8527         * langhooks-def.h (lhd_expand_expr): Change prototype.
8528         * langhooks.c (lhd_expand_expr): Add all_rtl parameter.
8529         * langhooks.h (lang_hooks): Change type of expand_expr.
8530         * stmt.c (stmt_status): Add x_last_expr_alt_rtl.
8531         (last_expr_alt_rtl): Likewise.
8532         (expand_expr_stmt_value): Set last_expr_alt_rtl.
8533         (clear_last_expr): Clear it.
8534         (expand_end_stmt_expr): Set RTL_EXPR_ATL_RTL.
8535         (expand_end_bindings): Save and restor last_expr_alt_rtl.
8536         * tree.def (RTL_EXPR): Give it an additional operand.
8537         * tree.h (RTL_EXPR_ALT_RTL): New macro.
8538
8539 2004-01-09  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
8540
8541         * config/m32r/m32r.h (TARGET_CPU_CPP_BUILTINS): Add __m32r__.
8542         * config/m32r/m32r.c (call26_operand): Allow in PIC mode.
8543
8544 2004-01-09  Kazu Hirata  <kazu@cs.umass.edu>
8545
8546         PR target/13380.
8547         * config/m32r/m32r.md: Replace (reg:SI 17) with (reg:CC 17)
8548         or (ne:SI (reg:CC 17) (const_int 0)).
8549         Be specific about modes wherever possible.
8550
8551 2004-01-09  Kazu Hirata  <kazu@cs.umass.edu>
8552
8553         * config/m32r/m32r.c (m32r_expand_block_move): Call
8554         gen_movestrsi_internal with two more arguments.
8555         (m32r_output_block_move): Adjust operand numbers.
8556         Properly update the source and destination pointers.
8557         * config/m32r/m32r.md (movstrsi_internal): Use 'r' instead of
8558         'r+'.  Change the set detinations to match_operand.
8559
8560 2004-01-09  Kazu Hirata  <kazu@cs.umass.edu>
8561
8562         * final.c (FIRST_INSN_ADDRESS): Remove.
8563         (shorten_branches): Don't use FIRST_INSN_ADDRESS.
8564         * system.h (FIRST_INSN_ADDRESS): Poison.
8565         * config/avr/avr.h: Remove a comment about FIRST_INSN_ADDRESS.
8566         * config/m32r/m32r-protos.h: Remove the prototype for
8567         m32r_first_insn_address.
8568         * config/m32r/m32r.c (m32r_first_insn_address): Remove.
8569         * config/m32r/m32r.h (FIRST_INSN_ADDRESS): Likewise.
8570         * doc/md.texi (FIRST_INSN_ADDRESS): Likewise.
8571
8572 2004-01-09  J. Brobecker  <brobecker@gnat.com>
8573
8574         * dwarf2out.c (gen_enumeration_type_die): Return the DIE that
8575         we just created.
8576         (is_ada_subrange_type): DIEs for enumeration subtypes should be
8577         emitted as subrange types too.
8578         (subrange_type_die): Add handling of enumeration subtypes.
8579
8580 2004-01-08  Richard Henderson  <rth@redhat.com>
8581
8582         PR opt/12441
8583         Revert: Sat Mar 30 14:08:55 CET 2002  Jan Hubicka  <jh@suse.cz>
8584         * i386.c (aligned_operand): Be prepared for SUBREGed registers.
8585         (ix86_decompose_address): Use REG_P instead of GET_CODE (...) == REG.
8586         (ix86_address_cost): Be prepared for SUBREGed registers.
8587         (legitimate_address_p): Accept SUBREGed registers.
8588
8589 2004-01-08  Kelley Cook  <kcook@gcc.gnu.org>
8590
8591         * Makefile.in: Rename configure.in to configure.ac
8592         * doc/sourcebuild.texi: Likewise.
8593         * configure: Regenerate.
8594         * config.in: Regenerate.
8595
8596 2004-01-08  Stuart Hastings  <stuart@apple.com>
8597
8598         * config/i386/i386.md: Typos in MMX/SSE immediate shifts.
8599
8600 2004-01-08  Jan Hubicka  <jh@suse.cz>
8601
8602         * cgraphunit.c (cgraph_decide_inlining):  Fix typo.
8603
8604 2004-01-08  Geoffrey Keating  <geoffk@apple.com>
8605
8606         * config/rs6000/rs6000.md (cmptf_internal1): Correct branch offset.
8607         (UNSPEC_FIX_TRUNC_TF): New constant.
8608         (movtf_internal): Make splitter active only when insn is active.
8609         (extenddftf2): Rewrite to properly load zero into low part.
8610         (extenddftf2_internal): New.
8611         (extendsftf2): Rewrite.
8612         (truncdftf2): Correct length.
8613         (floatditf2): Delete.
8614         (fix_trunc_helper): New.
8615         (fix_trunctfdi2): Use fix_trunc_helper.
8616         (fix_trunctfsi2): Likewise.fix_trunc
8617         (fix_trunctfsi2_internal): New.
8618
8619         * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): lo_sum
8620         addresses are legitimate on Darwin even when flag_pic.
8621         (rs6000_legitimize_reload_address) [TARGET_MACHO]: Don't create
8622         non-offsettable addresses for loads of TFmode constants.
8623
8624 2004-01-08  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
8625
8626         * config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_BSS): Actually emit
8627         variables in the appropriate bss section.
8628
8629 2004-01-09  Alan Modra  <amodra@bigpond.net.au>
8630
8631         * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Ensure
8632         target_flags has MASK_POWERPC64 when -m64.
8633         * config/rs6000/rs6000.c (processor_target_table): Add MASK_POWERPC64
8634         to 620, 630, power3, power4 and rs64a entries.
8635         * config/rs6000/rs6000.h (MASK_64BIT): Expand comment.
8636
8637 2004-01-08  Richard Sandiford  <rsandifo@redhat.com>
8638
8639         * simplify-rtx.c (simplify_immed_subreg): Fix construction of
8640         floating-point constants.
8641
8642 2004-01-08  J. Brobecker  <brobecker@gnat.com>
8643
8644         * dwarf2out.c (subrange_type_die): Add context_die parameter.
8645         Create the subrange_type DIE using the given context DIE.
8646         (modified_type_die): Update call to subrange_type_die.
8647
8648 2004-01-08  Zack Weinberg  <zack@codesourcery.com>
8649
8650         * dwarf2.h, unwind-dw2-fde.h, unwind-pe.h, unwind.h:
8651         Add multiple-include guard.
8652
8653 2004-01-08  Hartmut Penner  <hpenner@de.ibm.com>
8654
8655         * gcc/config/rs6000/rs6000.c (easy_vector_constant): Accept
8656         all vector constant loadable by vsplt*.
8657         (output_vec_const_move): Likewise.
8658
8659 2004-01-07  Joseph S. Myers  <jsm@polyomino.org.uk>
8660
8661         PR c/6024
8662         * c-typeck.c (comptypes): Only treat enumerated types in the same
8663         translation unit as compatible with each other when they are the
8664         same type.
8665         * doc/extend.texi: Update.
8666
8667 2004-01-07  Joseph S. Myers  <jsm@polyomino.org.uk>
8668
8669         PR c/12165
8670         * c-decl.c (grokdeclarator): Take type qualifiers of typedefed
8671         array type from the array element type.
8672
8673 2004-01-07  Alan Modra  <amodra@bigpond.net.au>
8674
8675         * config/rs6000/rs6000.c (rs6000_dbx_register_number): New function.
8676         * config/rs6000/rs6000-protos.h (rs6000_dbx_register_number): Declare.
8677         * config/rs6000/rs6000.h (DWARF_FRAME_REGNUM): Define.
8678         (DWARF_REG_TO_UNWIND_COLUMN): Correct column adjustment and comment.
8679         * config/rs6000/sysv4.h (DBX_REGISTER_NUMBER): Define.
8680
8681 2004-01-06  Eric Christopher  <echristo@redhat.com>
8682
8683         * config/mips/mips.h (MDEBUG_ASM_SPEC): Change for dwarf2 default.
8684         (DWARF2_DEBUGGING_INFO): Define.
8685         (PREFERRED_DEBUGGING_TYPE): Set to dwarf2.
8686         * config/mips/openbsd.h (PREFERRED_DEBUGGING_TYPE): Remove.
8687         * config/mips/iris6.h (SUBTARGET_ASM_DEBUGGING_SPEC): Only pass -g0
8688         for irix as.
8689         (SUBTARGET_ASM_OPTIMIZING_SPEC): Only pass O0 for irix as.
8690         * config/mips/iris6gas.h (MDEBUG_ASM_SPEC): Remove.
8691         * config/mips/iris5gas.h: Ditto.
8692         (DBX_DEBUGGING_INFO): Remove.
8693         (DWARF2_DEBUGGING_INFO): Ditto.
8694         (MIPS_DEBUGGING_INFO): Ditto.
8695         (PREFERRED_DEBUGGING_TYPE): Ditto.
8696         * config/mips/elf.h (DWARF2_DEBUGGING_INFO): Remove.
8697         (PREFERRED_DEBUGGING_TYPE): Ditto.
8698         (SUBTARGET_ASM_DEBUGGING_SPEC): Ditto.
8699         * config/mips/elf64.h: Ditto.
8700
8701 2004-01-06  Jan Hubicka  <jh@suse.cz>
8702
8703         * Makefile.in (STAGEPROFILE_FLAGS_TO_PASS): Use -fprofile-generate.
8704         (STAGEFEEDBACK_FLAGS_TO_PASS): Use -fprofile-use.
8705
8706 2004-01-06  Geoffrey Keating  <geoffk@apple.com>
8707
8708         * config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Compile darwin-ldouble.c.
8709         (TARGET_LIBGCC2_CFLAGS): Use -mlong-double-128.
8710         * config/rs6000/darwin-ldouble.c: New.
8711
8712         * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg
8713         for constants.
8714         (constant_subword): Delete.
8715         * rtl.h (constant_subword): Delete prototype.
8716         (immed_double_const): Is not in varasm.c.
8717         * simplify-rtx.c (simplify_immed_subreg): New.
8718         (simplify_subreg): Use simplify_immed_subreg.
8719
8720         * config/rs6000/rs6000.md (floatsitf2): Use expand_float rather
8721         than trying to generate RTL directly.
8722         (fix_trunctfsi2): Use expand_fix rather than trying to generate
8723         RTL directly.
8724
8725         * dwarf2out.c (add_const_value_attribute): Remove incorrect comment.
8726
8727 2004-01-06  David Edelsohn  <edelsohn@gnu.org>
8728
8729         * config/rs6000/xcoff.h (EXTRA_SECTION_FUNCTIONS): Split each
8730         function into a separate macro.
8731         (read_only_data_section): Add void argument.
8732         (private_data_section): Same.
8733         (read_only_private_data_section): Same.
8734         (toc_section): Same.
8735
8736 2004-01-06  Jan Hubicka  <jh@suse.cz>
8737
8738         * invoke.texi:  Remove typo in last change.
8739
8740         PR target/10301
8741         * config.gcc: Accept opteron and athlon-64 as variants
8742         of k8.
8743         * i386.c (override_options): Likewise.
8744         * invoke.texi (i386 -mtune): Expand documentation.
8745
8746 2004-01-06  Kazu Hirata  <kazu@cs.umass.edu>
8747
8748         * alias.c: Fix comment typos.
8749         * builtins.c: Likewise.
8750         * cfg.c: Likewise.
8751         * df.c: Likewise.
8752         * dominance.c: Likewise.
8753         * dwarf2out.c: Likewise.
8754         * emit-rtl.c: Likewise.
8755         * expr.c: Likewise.
8756         * final.c: Likewise.
8757         * fold-const.c: Likewise.
8758         * gcse.c: Likewise.
8759         * genattrtab.c: Likewise.
8760         * genrecog.c: Likewise.
8761         * gensupport.c: Likewise.
8762         * ggc-zone.c: Likewise.
8763         * integrate.c: Likewise.
8764         * local-alloc.c: Likewise.
8765         * loop.c: Likewise.
8766         * recog.c: Likewise.
8767         * regmove.c: Likewise.
8768         * reg-stack.c: Likewise.
8769         * reorg.c: Likewise.
8770         * rtlanal.c: Likewise.
8771         * rtl.h: Likewise.
8772         * sched-ebb.c: Likewise.
8773         * simplify-rtx.c: Likewise.
8774         * toplev.c: Likewise.
8775         * varasm.c: Likewise.
8776
8777 2004-01-06  Kazu Hirata  <kazu@cs.umass.edu>
8778
8779         * doc/install.texi: Fix typos.
8780         * doc/invoke.texi: Likewise.
8781         * doc/md.texi: Likewise.
8782
8783 2004-01-06  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
8784
8785         * config/m32r/m32r.h (TRAMPOLINE_LINE_SIZE): Changed
8786
8787 2004-01-06  Jan Hubicka  <jh@suse.cz>
8788
8789         * i386.c (init_cumulative_args):  Add handling of MMX_REGPARM.
8790         (function_arg_advance):  Do not pass aggregates in SSE; deal handling
8791         of MMX_REGPARM.
8792         (function_arg): Add new warnings about ABI changes;  fix SSE_REGPARM;
8793         add MMX_REGPARM.
8794         * i386.h (ix86_args): Add mmx_words/mmx_regs/mmx_regno fields.
8795         (SSE_REGPARM_MAX): Default to 3 on i386 -msse ABI.
8796         (MMX_REGPARM_MAX): Similarly for -mmmx.
8797
8798 2004-01-05  Kazu Hirata  <kazu@cs.umass.edu>
8799
8800         * config/sh/linux.h: Fix comment formatting.
8801         * config/sh/netbsd-elf.h: Likewise.
8802         * config/sh/sh.c: Likewise.
8803         * config/sh/sh.h: Likewise.
8804         * config/sh/vxworks.h: Likewise.
8805
8806 2004-01-05  Kazu Hirata  <kazu@cs.umass.edu>
8807
8808         * system.h (ASM_OUTPUT_MAIN_SOURCE_FILENAME): Poison.
8809         * toplev.c (output_file_directive): Don't use
8810         ASM_OUTPUT_MAIN_SOURCE_FILENAME.
8811
8812 2004-01-05  Steven Bosscher <s.bosscher@student.tudelft.nl>
8813
8814         * toplev.c: Fix broken checkin of 2003-12-30.
8815
8816 2004-01-05  Daniel Berlin  <dberlin@dberlin.org>
8817
8818         * ggc-zone.c: Remove everything in #ifdef USING_MALLOC_PAGE_GROUPS
8819         (USING_MMAP): We don't support non-mmap.
8820         (struct alloc_chunk): Steal 1 bit from typecode, use it to mark
8821         large objects.
8822         (struct page_entry): Remove bytes_free.
8823         (struct page_table_chain): Remove.
8824         (struct globals): Remove page_table member.
8825         (loookup_page_table_entry): Function deleted.
8826         (set_page_table_entry): Ditto.
8827         (ggc_allocated_p): No longer need page table lookups.
8828         (ggc_marked_p): Ditto.
8829         (alloc_small_page): Don't care about bytes_free anymore.
8830         (alloc_large_page): Round up size.
8831         (ggc_alloc_zone_1): Mark large objects as such, and calculate
8832         their size the new way.
8833         Remove page table lookups and setting.
8834         (ggc_get_size): Calculate large object size the new way.
8835         (sweep_pages): Redo to account for fact that we no longer have
8836         bytes_free.
8837         (ggc_collect): No longer need to reincrement bytes_free.
8838         (ggc_pch_alloc_object): Handle new large objects properly.
8839         (ggc_pch_read): Put PCH stuff into it's own uncollected zone.
8840
8841 2004-01-05  Kazu Hirata  <kazu@cs.umass.edu>
8842
8843         * doc/invoke.texi: Remove a page break.
8844
8845 2004-01-05  Kazu Hirata  <kazu@cs.umass.edu>
8846
8847         * config/avr/avr.c (avr_output_function_prologue): Remove an
8848         extra pair of curly braces.
8849
8850 2004-01-05  Kazu Hirata  <kazu@cs.umass.edu>
8851
8852         * config/mn10300/mn10300.c: Fix comment formatting.
8853         * config/mn10300/mn10300.h: Likewise.
8854
8855 2004-01-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8856
8857         * tree.h: Update documentation on nothrow_flag.
8858         * print-tree.c (print_node): Print TREE_NOTHROW as "align-ok" for
8859         types.
8860
8861 2004-01-05  Kazu Hirata  <kazu@cs.umass.edu>
8862
8863         * doc/invoke.texi: Remove traces of dead ports.
8864
8865 2004-01-05  Richard Sandiford  <rsandifo@redhat.com>
8866
8867         * doc/invoke.texi: Add documentation for the MIPS -mexplicit-relocs
8868         option.
8869
8870 2004-01-05  Richard Sandiford  <rsandifo@redhat.com>
8871
8872         PR target/12945
8873         * coverage.c (coverage_counter_alloc): Set SYMBOL_FLAG_LOCAL for
8874         counter labels.
8875         * config/mips/mips.c (INTERNAL_SYMBOL_P): Delete.
8876         (mips_classify_symbol): Always treat SYMBOL_REF_FLAG as indicating
8877         string constants if TARGET_MIPS16.  Use SYMBOL_REF_DECL to check
8878         the binding of decl symbols, otherwise check SYMBOL_REF_LOCAL_P.
8879         (mips_symbol_insns): Don't trust the local/global classification.
8880         (m16_usym8_4, m16_usym5_4): Same mips16 change as mips_classify_symbol.
8881         (override_options): Make -mabicalls -fno-unit-at-a-time imply
8882         -mno-explicit-relocs.
8883         (mips_encode_section_info): Don't use SYMBOL_REF_FLAG to distinguish
8884         between local and global symbols.
8885
8886 2004-01-05  Richard Sandiford  <rsandifo@redhat.com>
8887
8888         * config/mips/mips-protos.h (mips_dangerous_for_la25_p): Declare.
8889         (mips_preferred_reload_class): Declare.
8890         * config/mips/mips.h (DANGEROUS_FOR_LA25_P): Replace with function.
8891         (EXTRA_CONSTRAINT): Update accordingly.
8892         (PREFERRED_RELOAD_CLASS): Use mips_preferred_reload_class.
8893         * config/mips/mips.c (mips_dangerous_for_la25_p): New function.
8894         (mips_preferred_reload_class): New function.  Prefer LEA_REGS if
8895         mips_dangerous_for_la25_p.
8896         (mips_secondary_reload_class): Use LEA_REGS rather than GR_REGS
8897         if mips_dangerous_for_la25_p.
8898
8899 2004-01-05  Bernardo Innocenti  <bernie@develer.com>
8900
8901         * config/m68k/m68k.c (output_andsi3): Fix signed/unsigned comparison
8902         warning.
8903
8904 2004-01-04  Nathanael Nerode  <neroden@gcc.gnu.org>
8905
8906         * configure.ac: Use AC_PROG_CPP_WERROR.
8907         * configure: Regenerate.
8908
8909 2004-01-04  Zack Weinberg  <zack@codesourcery.com>
8910
8911         * .cvsignore: Add autom4te.cache.
8912
8913 2004-01-04  Richard Sandiford  <rsandifo@redhat.com>
8914
8915         * doc/invoke.texi: Revamp documentation of MIPS options.  Remove
8916         -mabi=meabi, -mabi-fake-default, -mmips-as, -mgas, -mmips-tfile,
8917         -m4650, -mfix7000 and -(m)no-crt0.  Put endianness options first,
8918         then architecture options, then ABI options.  General rewording.
8919
8920 2004-01-04  Joseph S. Myers  <jsm@polyomino.org.uk>
8921
8922         PR c/3414
8923         * doc/extend.texi: Clarify definition of malloc attribute.
8924
8925 2004-01-04  Jan Hubicka  <jh@suse.cz>
8926
8927         * Makefile.in (cgraph.o, cgraphunit.o): Add intl.h dependency.
8928         * cgraph.c (create_edge, dump_cgraph): Update to use inline_failed
8929         * cgraph.h (cgraph_edge): Replace inline_call by inline_failed
8930         (cgraph_inline_p): Add extra argument reason.
8931         * cgraphunit.c: Minor formating fixes.
8932         cgraph_first_inlined_callee): New functions.
8933         (record_call_1): Record builtins too.
8934         (cgraph_analyze_function): Update inline_failed messages.
8935         (cgraph_mark_functions_to_output, cgraph_expand_function, cgraph_inlined_into,
8936         cgraph_inlined_callees, cgraph_estimate_growth): Update to use inline_failed.
8937         (cgraph_check_inline_limits): Likewise; Add argument reason.
8938         (cgraph_set_inline_failed): New static function.
8939         (cgraph_decide_inlining_of_small_function, cgraph_decide_inlining): Set
8940         reasons.
8941         (cgraph_inline_p): Add new argument reason.
8942         * tree-inline.c (expand_call_inline):  Update warning.
8943
8944 2004-01-03  Nathanael Nerode  <neroden@gcc.gnu.org>
8945
8946         * configure.ac: Replace AC_INIT, AC_OUTPUT, AC_CANONICAL_SYSTEM
8947         with modern equivalents.
8948         * configure: Regenerate.
8949
8950         * configure.ac: Replace gcc_AC_CHECK_TYPE with AC_CHECK_TYPE.
8951         * aclocal.m4 (gcc_AC_CHECK_TYPE): Remove.
8952         * configure: Regenerate.
8953
8954         * doc/install.texi: Note that 'gcc' is now a 2.57 directory.
8955
8956         * configure.in: Rename to configure.ac.
8957         * configure.ac: Renamed from configure.in; make minimum necessary
8958         changes for autoconf 2.5x.
8959         * aclocal.m4: Make minimum necessary changes for autoconf 2.5x.
8960         * configure: Regenerate with autoconf 2.57.
8961
8962 2004-01-03  Kazu Hirata  <kazu@cs.umass.edu>
8963
8964         * config/mips/linux.h: Fix comment formatting.
8965         * config/mips/mips.c: Likewise.
8966         * config/mips/mips.h: Likewise.
8967         * config/mips/mips.md: Likewise.
8968         * config/mips/netbsd.h: Likewise.
8969         * config/mips/windiss.h: Likewise.
8970
8971 2004-01-02  Richard Henderson  <rth@redhat.com>
8972
8973         * config/i386/i386.md (fp constant pool splitter): Reorg suppression
8974         for sse and 387; add suppression for mmx.
8975
8976 2004-01-02  Andrew Pinski  <pinskia@physics.uc.edu>
8977
8978         * loop.c (loop_optimize): Free all loops_info's mems.
8979
8980         * c-typeck.c (finish_init): Free spelling_base before
8981         setting it again.
8982
8983         * cfgloop.c (flow_loops_find): Always free the sbitmap
8984         headers.
8985
8986         * predict.c (estimate_probability): Free bbs after being
8987         done with it.
8988
8989 2004-01-02  Kazu Hirata  <kazu@cs.umass.edu>
8990
8991         * config/mn10300/mn10300.h (PREDICATE_CODES): Add
8992         const_8bit_operand and call_address_operand.
8993
8994 2004-01-02  Jan Hubicka  <jh@suse.cz>
8995
8996         * cgraphunit.c (cgraph_optimize_function):  Call optimize_inline_calls
8997         when there is nothing to inline but warnings are requested.
8998         (cgraph_decide_inlining):  Fix memory leak.
8999
9000 2004-01-02  Jan Hubicka  <jh@suse.cz>
9001
9002         * expr.c (store_constructor):  Fix pasto in previous patch.
9003
9004 2004-01-02  Kazu Hirata  <kazu@cs.umass.edu>
9005
9006         * config/i386/cygming.h: Fix comment formatting.
9007         * config/i386/djgpp.h: Likewise.
9008         * config/i386/gthr-win32.c: Likewise.
9009         * config/i386/i386-interix.h: Likewise.
9010         * config/i386/i386.c: Likewise.
9011         * config/i386/i386.h: Likewise.
9012         * config/i386/openbsd.h: Likewise.
9013         * config/i386/winnt.c: Likewise.
9014         * config/i386/xm-mingw32.h: Likewise.
9015
9016 2004-01-02  Joseph S. Myers  <jsm@polyomino.org.uk>
9017
9018         * doc/gcc.texi, doc/invoke.texi, doc/install.texi: Update
9019         copyright and last modification dates.
9020
9021 2004-01-02  Andreas Jaeger  <aj@suse.de>, Gerald Pfeifer  <gp@suse.de>
9022
9023         * doc/install.texi (Specific): Mention x86_64.
9024
9025 2004-01-01  Hans-Peter Nilsson  <hp@bitrange.com>
9026
9027         * builtins.c (expand_builtin_apply_args_1) [STACK_GROWS_DOWNWARD]:
9028         Call force_operand on plus_constant result.
9029
9030 2004-01-01  Jan Hubicka  <jh@suse.cz>
9031
9032         * expmed.c (store_bit_field, extract_bit_field): Use new named patterns
9033         * expr.c (store_constructor): Use vec_init pattern.
9034         * genopinit.c (optabs): Initailize vec_set/vec_extract/vec_init.
9035         * optabs.h (optab_index): ADD OTI_vec_set/OTI_vec_extract/OTI_vec_init
9036         (vec_set_optab, vec_extract_optab, vec_init_optab): New.
9037         * i386.md (vec_setv2df, vec_extractv2df, vec_setv4sf, vec_extractv4sf):
9038         New patterns.
9039         (sse2_unpc?pd): Fix pattern.
9040         (sse2_movlpd): Kill.
9041         (sse2_movsd): Deal with movlpd too.
9042         * i386.c (ix86_expand_builtin): Use sse2_movsd instead of sse2_movlpd.
9043         (ix86_expand_vector_init): New.
9044         * emmintrin.h (__mm_set_pd, __mm_set_ps): Use vector extensions.
9045         * md.texi (vec_set, vec_extract): Document
9046
9047 2003-12-31  Jan Hubicka  <jh@suse.cz>
9048
9049         PR opt/13473
9050         * recog.c (validate_replace_rtx_1):  Take care for RTL sharing inside
9051         ASM input operands
9052
9053         PR opt/12617
9054         * toplev.c (dump_file_index): Reorder ce3 and bbro.
9055         (dump_file): Likewise.
9056         (rest_of_compilation): Likewise.
9057
9058         PR debug/13367
9059         * cgraph.c (cgraph_function_possibly_inlined):  Even with
9060         flag_really_no_inline we inline always_inline functions.
9061         * cgraphunit.c (cgraph_analyze_function): Clear inlinable flag
9062         for non-always_inline functions when there is flag_really_no_inline.
9063         (cgraph_decide_inlining): Limit work done when not inlining.
9064         (cgraph_decide_inlining_incrementally): Likewise.
9065         (cgraph_optimize_function): Check whether something got inlined.
9066         * c-objc-common.c (c_disregard_inline_limits): Do not always inline
9067         extern inline functions when not inlining.
9068
9069         * opts.c (decode_options):  Disable crossjumping at -O1
9070         * invoke.texi (-O1): Document change.
9071
9072 See ChangeLog.10 for earlier changes.