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