blob: 0254af9c82bb35a5cf2475ce71eebd63c9d1b6ed [file] [log] [blame]
2004-05-31 Release Manager
* GCC 3.3.4 Released.
2004-05-31 Eric Botcazou <>
PR target/15693
* config/sparc/sparc.c (compare_operand): New predicate.
* config/sparc/sparc.h (PREDICATE_CODES): Add it.
* config/sparc/ (cmpsi expander): Use it. If the first
operand is a ZERO_EXTRACT and the second operand is not zero,
force the former to a register.
(cmpdi expander): Likewise.
2004-05-29 Eric Botcazou <>
PR optimization/13653
* loop.c (loop_givs_rescan): When reducing a non-replaceable giv,
clear the RTX_UNCHANGING_P flag.
2004-05-28 John David Anglin <>
PR bootstrap/14671
* alias.c (init_alias_analysis): Allocate alias_invariant array with
ggc_alloc_cleared instead of xrealloc.
(end_alias_analysis): Don't free alias_invariant.
2004-05-27 Richard Henderson <>
Backport from mainline:
2004-01-19 Richard Henderson <>
* (UNSPEC_NT_LDA): Renumber.
(UNSPEC_CVTLQ, cvtlq): New.
(extendsidi2_1): Rename from extendsidi2_nofix; remove f/f.
(extendsidi2_fix): Remove.
(extendsidi2 splitter): Use cvtlq.
(extendsidi2 fp peepholes): Remove.
(cvtql): Use SFmode instead of SImode.
(fix_trunc?fsi): Update to match.
(floatsisf2_ieee, floatsisf2, floatsidf2_ieee, floatsidf2): New.
(movsi): Rename from movsi_nofix, remove f alternatives.
(movsi_nt_vms): Similarly.
(movsi_fix, movsi_nt_vms_fix): Remove.
2004-05-26 Hans-Peter Nilsson <>
PR optimization/15296
* reorg.c (fill_simple_delay_slots): Use next_real_insn when
getting last consecutive label at a branch.
(relax_delay_slots): Similar, near top of loop.
2004-05-17 H.J. Lu <>
Backport from mainline
PR target/15301
PR target/15302
2004-05-17 Jan Hubicka <>
* i386.c (construct_container): Do not produce BLKmode registers.
(classify_argument): Properly compute alignment of complex types.
2004-05-17 Eric Botcazou <>
PR optimization/11841
* loop.h (REGNO_LAST_NOTE_LUID): New macro.
* unroll.c (unroll_loop): Take into account notes when deciding
whether a pseudo is local to the loop.
2004-05-16 Gabriel Dos Reis <>
Backport from mainline
2004-05-01 Ulrich Weigand <>
PR middle-end/15054
* expr.c (expand_expr_real): Do not call preserve_temp_slots
on a TARGET_EXPR temp.
* function.c (assign_stack_temp_for_type): Set 'keep' flag for
TARGET_EXPR temp slots.
2004-05-13 Kaz Kojima <>
PR target/15130
* config/sh/sh-protos.h (sh_expand_epilogue): Change prototype.
* config/sh/sh.c (output_stack_adjust): Generate a special
push/pop sequence when failing to get a temporary register for
non SHmedia epilogue.
(sh_expand_epilogue): Add an argument to show whether it's for
sibcall or not. Take the sibcall epilogue into account.
(sh_need_epilogue): Call sh_expand_epilogue with 0.
* config/sh/ (sibcall_epilogue): Call sh_expand_epilogue
with 1.
(epilogue): Call sh_expand_epilogue with 0.
2004-05-08 Kaveh R. Ghazi <>
* alias.c (set_reg_known_value, set_reg_known_equiv_p):
(get_reg_known_value, set_reg_known_value,
get_reg_known_equiv_p, set_reg_known_equiv_p): Use traditional
style function definitions.
(set_reg_known_equiv_p): Change parameter from bool to int.
2003-06-13 Matt Kraai <>
* unwind-c.c: Define NO_SIZE_OF_ENCODED_VALUE.
* unwind-pe.h (size_of_encoded_value): Do not define if
2003-10-27 Kaveh R. Ghazi <>
* unwind-dw2.c (NO_SIZE_OF_ENCODED_VALUE): Define when
2003-05-07 Richard Henderson <>
* unwind-dw2.c (_Unwind_GetCFA): Cast pointer to _Unwind_Ptr,
not _Unwind_Word.
2004-05-08 Eric Botcazou <>
* doc/install.texi (sparc-sun-solaris2*): Document bootstrap
problems with earlier versions of the GNU compiler.
2004-05-07 Steven Bosscher <>
PR opt/14749
* expr.c (do_jump): If TREE_CONSTANT_OVERFLOW is set, don't
trust integer_zerop. Just expand both branches.
2004-04-29 Matthias Klose <>
2004-03-04 Eric Botcazou <>
PR optimization/14235
* expr.c (convert_move): Copy the source to a new pseudo
when converting from a sub-word source to a larger-than-word
register which conflicts with the source.
2004-04-29 Jakub Jelinek <>
DI <-> TF libfuncs for TARGET_ARCH32.
* config/sparc/linux.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1.
* config/sparc/linux64.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1.
* config.gcc (sparc-*-linux*): Revert 2004-03-25 change.
* config/sparc/t-linux64 (TARGET_LIBGCC2_CFLAGS): Likewise.
* config/sparc/t-linux: Removed.
2004-04-28 H.J. Lu <>
PR target/15084
* config/i386/ (*movsi_insv_1_rex64): Changed to DImode
and renamed to movdi_insv_1_rex64.
(insv): Support SImode for 32bit and DImode for 64bit.
2004-04-24 Richard Henderson <>
PR bootstrap/14671
* alias.c (alias_invariant, alias_invariant_size): Mark GTY.
(reg_known_value, reg_known_value_size): Likewise; make static.
(reg_known_equiv_p): Make static.
(clear_reg_alias_info): Update for new indexing.
(get_reg_known_value, set_reg_known_value): New.
(get_reg_known_equiv_p, set_reg_known_equiv_p): New.
(canon_rtx): Use them.
(init_alias_analysis): Likewise. Allocate reg_known_value with gc.
Don't play queer offsetting games with reg_known_value and
(end_alias_analysis): Don't free reg_known_value.
* rtl.h (get_reg_known_value, get_reg_known_equiv_p): Declare.
* sched-deps.c (reg_known_equiv_p, reg_known_value): Remove.
(deps_may_trap_p, sched_analyze_1, sched_analyze_2): Use the new
functions instead.
2004-04-21 John David Anglin <>
* pa64-hpux.h (LIB_SPEC): Fix library specification used with GNU ld.
* pa64-regs.h (DBX_REGISTER_NUMBER): Simplify and correct mapping of
SAR register. Fix comment.
(ADDITIONAL_REGISTER_NAMES): Correct register number of SAR register
2004-04-14 Zack Weinberg <>
PR 14936
Backport from mainline:
2004-03-12 Matt Austern <>
* varasm.c (make_decl_one_only): Don't use DECL_COMMON if
we're compiling for a SUPPORTS_ONE_ONLY target.
2004-04-13 H.J. Lu <>
PR debug/14919
From gcc-3_2-rhl8-branch:
2003-02-04 Jakub Jelinek <>
* dwarf2out.c (dwarf2out_finish): Add AT_comp_dir attribute
even if input file name is absolute, but one of the includes
is relative.
2004-04-06 Devang Patel <>
PR 14467
* config/darwin.h (LINK_COMMAND_SPEC): Use c++filt instead of c++filt3.
2004-03-25 Ulrich Weigand <>
* expr.c (store_constructor): Use gen_int_mode to correctly
sign-extend CONST_INT value.
2004-04-01 Alan Modra <>
Jakub Jelinek <>
* gcc.c (init_gcc_specs): If HAVE_LD_AS_NEEDED, link with
-lgcc --as-needed -lgcc_s --no-as-needed by default.
* (HAVE_LD_AS_NEEDED): Check for ld --as-needed.
* configure: Rebuilt.
* Rebuilt.
* (stage1-start): Copy also libgcc_s*$(SHLIB_EXT).
(stage2-start, stage3-start, stage4-start): Likewise.
(stageprofile-start, stagefeedback-start): Likewise.
2004-04-01 Jakub Jelinek <>
PR c++/14755
* fold-const.c (fold) <EQ_EXPR>: Properly compute newconst in
"bitfld++ == const" to "++bitfld == const + incr" transformations.
2004-04-01 Jakub Jelinek <>
PR c/14069
* c-decl.c (finish_struct): Change type of incorrect flexible array
field into error_mark_node.
Backport from mainline:
2003-04-07 J"orn Rennecke <>
* c-typeck.c (output_init_element): Check for type == error_mark_node.
2004-04-01 Alan Modra <>
* dwarf2out.c (DEBUG_STR_SECTION_FLAGS): Heed flag_merge_constants.
2004-03-30 Matthias Klose <>
2004-01-14 Richard Earnshaw <>
PR bootstrap/12527
* config.gcc (arm*-*-linux*): Don't include unknown-elf.h in tm_file.
Move linux-gas.h and linux-elf.h before aout.h.
* arm/arm.h (INITIALIZE_TRAMPOLINE): Only define if not already.
* arm/linux-elf.h (SUBTARGET_CPU_DEFAULT): Define.
2003-05-15 Philip Blundell <>
* config/arm/arm.c (arm_is_xscale): Rename to arm_arch_xscale.
All uses updated.
(arm_tune_xscale): New variable.
(arm_override_options): Set it.
(arm_adjust_cost): Use it in place of arm_arch_xscale.
(arm_gen_load_multiple): Likewise.
(arm_gen_store_multiple): Likewise.
* config/arm/ (is_xscale): Likewise.
* config/arm/arm.h (arm_tune_xscale): Declare.
2003-04-28 Nick Clifton <>
* config/arm/elf.h (ASM_OUTPUT_ALIGNED_COMMON): Remove definition.
2004-03-29 Matthias Klose <>
2003-09-17 Daniel Jacobowitz <>
* config/rs6000/sysv4.h (LIB_LINUX_SPEC): Give -lpthread before -lc.
2004-03-29 Matthias Klose <>
2004-01-15 Andreas Schwab <>
PR bootstrap/13562
* config/m68k/m68k.c (output_move_const_into_data_reg): Clear cc
status for NOTB/NOTW/NEGW methods.
2004-03-29 Aldy Hernandez <>
PR 14219
* c-typeck.c (build_binary_op): Do not allow comparisons of
2004-03-27 Matthias Klose <>
PR target/11716
Michael Eager <>
* config/mips/ Limit the maximum length of a short branch to
64K instead of 128K.
2004-03-26 Richard Henderson <>
PR 11527
* c-typeck.c (pop_init_level): Emit pending init elements earlier
rather than later.
2004-03-26 Jan Hubicka <>
H.J. Lu <>
PR Target/14723
* config.gcc: Add support --with-cpu=nocona.
* config/i386/i386.c (override_options): Add support for
Prescott and Nocona.
* doc/invoke.texi: Extend documentation of -mcpu/-march for new
2004-03-25 Jakub Jelinek <>
* config.gcc (sparc-*-linux*): Add sparc/t-linux to tmake_file.
* config/sparc/t-linux64 (TARGET_LIBGCC2_CFLAGS): Set.
* config/sparc/t-linux: New file.
2004-03-24 Kelley Cook <>
2004-03-01 Mark Mitchell <>
PR bootstrap/14356
* gcc.c (process_command): Remove const-qualification from argv.
(main): Likewise.
2004-03-24 Alexandre Oliva <>
PR preprocessor/14438
* cpplib.c (do_pragma): Remove line_change call after pragma
2004-03-22 Andrew Pinski <>
2004-01-09 Andrew Pinski <>
PR debug/11231
* dbxout.c (dbxout_type_fields): Return if any item is error_mark_node or the
type is error_mark_node.
2004-03-22 Eric Botcazou <>
PR middle-end/14470
* expr.c (mark_queue): New function.
(emit_insns_enqueued_after_mark): New function replacing
emit_queue. Clear the body of emitted queued insns.
(emit_queue): Call emit_insns_enqueued_after_mark.
(store_expr): Mark the increment queue on entry. Emit
only the incrementations queued when expanding the source.
2004-03-17 Ralf Corsepius <>
PR target/14260
* config/rtems.h: Add STD_LIB_SPEC and LIB_SPEC.
2004-03-21 Roger Sayle <>
* fold-const.c (fold) <EQ_EXPR>: Rewrite optimization to transform
"foo++ == const" into "++foo == const+incr".
2004-03-21 Roger Sayle <>
PR target/13889
* cse.c (fold_rtx): Avoid substituting constants into unary
conversion operations.
2004-03-17 Ian Lance Taylor <>
2003-11-08 Joseph S. Myers <>
* c-typeck.c (pedantic_lvalue_warning): Deprecate compound
expressions as lvalues.
* doc/extend.texi: Document that all extended lvalues are now
2003-11-05 Joseph S. Myers <>
* c-typeck.c (pedantic_lvalue_warning): Deprecate use of
conditional expressions as lvalues.
2003-10-22 Joseph S. Myers <>
* c-typeck.c (pedantic_lvalue_warning): Unconditionally warn of
deprecation of casts as lvalues.
* fixinc/inclhack.def (obstack_lvalue_cast): New fix.
* fixinc/fixincl.x: Regenerate.
2004-03-15 Richard Henderson <>
PR middle-end/14535
* except.c (collect_one_action_chain): Record action for cleanup
outer of exception spec.
2004-03-13 Dara Hazeghi <>
* doc/install.texi: Note status of -fnew-ra.
2004-03-13 Jakub Jelinek <>
PR target/14533
* config/s390/s390.c (legitimize_pic_address): Don't abort on UNSPEC
other than 100.
2004-03-13 Alan Modra <>
PR debug/11983
* dwarf2out.c (enum dw_val_class): Rename dw_val_class_float to
dw_val_class_vec. Replace use throughout file.
(dw_float_const): Delete.
(dw_vec_const): New.
(dw_val_struct_union): Rename val_float to val_vec. Replace use
throughout file.
(add_AT_vec): Rename from add_AT_float. Add elt_size param.
(same_dw_val_p): Adjust vec comparison. Use memcmp.
(size_of_die): Adjust dw_val_class_vec sizing.
(output_die): Output dw_val_class_vec.
(insert_int, extract_int, insert_float): New functions.
(add_const_value_attribute): Use insert_float for CONST_DOUBLE.
(add_location_or_const_value_attribute): Handle CONST_VECTOR.
2004-03-12 Gabriel Dos Reis <>
2004-03-13 Eric Botcazou <>
PR middle-end/14470
* expr.c (store_expr): Call emit_queue before generating the move
from the temporary to the original target. Protect the temporary
from emit_queue.
2004-03-10 James E Wilson <>
PR target/13877
* unroll.c (unroll_loop): If precondition loop, clear the initial_value
field in loop_info.
2004-03-12 Gabriel Dos Reis <>
2004-03-05 Nathan Sidwell <>
PR driver/13577
* gcc.c (cc1_options): Robustify -auxbase-strip from multiple -o
2004-03-12 Gabriel Dos Reis <>
2004-01-10 Eric Botcazou <>
PR optimization/13472
* reload1.c (reload): Don't record unchanging memory locations.
2004-03-12 Gabriel Dos Reis <>
2004-02-27 Mark Mitchell <>
PR middle-end/13448
* c-tree.h (readonly_warning): Rename to ...
(readonly_error): ... this.
* c-typeck.c (build_unary_op): Adjust accordingly.
(readonly_warning): Rename to ...
(readonly_error): ... this and issue errors, not warnings.
(build_modify_expr): Call readonly_error, not readonly_warning.
(c_expand_asm_operands): Likewise.
* tree-inline.c (optimize_inline_calls): Do not inline
functions after errors have occurred.
2004-03-12 Philip Blundell <>
PR target/10730
Backport from trunk:
2003-05-15 Philip Blundell <>
* config/arm/arm.c (adjacent_mem_locations): Reject offsets
involving invalid constants.
2004-03-12 Philip Blundell <>
PR target/14558
Backport from trunk:
2004-02-25 Richard Earnshaw <>
* arm.h (ARM_GO_IF_LEGITIMATE_INDEX): For QImode the range of
an offset is -4095...+4095 inclusive.
2004-03-11 Richard Henderson <>
PR target/14539
* config/alpha/alpha.h (STACK_BOUNDARY): Set to 128.
2004-03-10 Roger Sayle <>
PR middle-end/14289
* c-typeck.c (c_mark_addressable): A register variable should
be considered global if its not automatic, i.e. TREE_PUBLIC,
* function.c (put_var_into_stack): Call abort when placing a
hard register into the stack, if x_parm_reg_stack_loc is NULL.
2004-03-10 Andrew Haley <>
PR optimization/14381
* function.c (expand_function_end): Emit a blockage insn before
the epilogue when -fnon-call-exceptions is used.
2004-03-10 Joel Sherrill <>
PR target/14480
* config.gcc (powerpc*-*-rtems*): Use rs6000/t-rtems.
2004-03-07 Aldy Hernandez <>
* config/rs6000/ (ashrdi3): Do not call ashrdi3_no_power
for little endian.
("ashrdi3_no_power"): Disable for little endian.
(ashrdi3): Same.
2004-03-07 Richard Henderson <>
* config/alpha/alpha.h (MASK_LONG_DOUBLE_128): New.
(TARGET_SWITCHES): Add long-double-{128,64}.
* config/alpha/alpha.c (override_options): Clear MASK_LONG_DOUBLE_128
* config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): Remove.
2004-03-08 Hans-Peter Nilsson <>
PR target/14471
* doc/invoke.texi (CRIS Options): Document -mmul-bug-workaround
and -mno-mul-bug-workaround.
* config/cris/ ("smulsi3_highpart", "umulsi3_highpart")
("mulsidi3", "umulsidi3"): Prefix output template with "%!".
("umulhisi3", "umulqihi3", "mulsi3", "mulqihi3", "mulhisi3"):
Ditto. Make attribute "slottable" dependent on TARGET_MUL_BUG.
* config/cris/mulsi3.asm (__Mul) [__CRIS_arch_version >= 10]: Make
sure mulu.d is not last on cache-line.
* config/cris/cris.h (ASM_SPEC): Translate -mno-mul-bug-workaround
into -no-mul-bug-abort depending on HAVE_AS_MUL_BUG_ABORT_OPTION.
(TARGET_SWITCHES): New options -mmul-bug-workaround and
* config/cris/cris.c (cris_operand_extend_operator): Clarify
relation to MULT in head comment.
(cris_op_str): Abort for MULT.
(cris_print_operand) <case '!'>: New case.
2004-03-06 Richard Henderson <>
* config/alpha/alpha.c (alpha_in_small_data_p): False for functions.
2004-03-05 Ulrich Weigand <>
* config/s390/ ("load_multiple", "*load_multiple_di",
"*load_multiple_si"): Allow only if reload_completed.
("store_multiple", "*store_multiple_di", "*store_multiple_si"):
2004-03-05 Ulrich Weigand <>
* config/s390/s390.c (s390_expand_movstr): Clobber double-word
register before initializing high and low parts separately.
(s390_expand_clrstr): Likewise.
(s390_expand_cmpstr): Likewise.
2004-03-05 Ulrich Weigand <>
PR optimization/12147
* reload1.c (reload_reg_free_p): RELOAD_OTHER conflicts with
(reload_reg_reaches_end_p): A RELOAD_FOR_OTHER_ADDRESS register
might be reused as RELOAD_FOR_OPADDR_ADDR register.
2004-03-05 Ian Lance Taylor <>
PR target/1532
Backport from mainline:
2004-02-24 Kazu Hirata <>
* cse.c (cse_change_cc_mode_insns): Stop at any instruction
which modifies NEWREG.
(cse_condition_code_reg): Update the mode of CC_REG in
CC_SRC_INSN on our own.
2004-02-11 Richard Henderson <>
* flow.c (insn_dead_p): A clobber of a dead hard register is a
dead insn after reload.
2004-01-24 Ian Lance Taylor <>
* cse.c (cse_cc_succs): Change the mode of the source expression
as soon as decide we need a new mode. Don't permit changing modes
if we found a match in a successor block.
(cse_condition_code_reg): Save original mode of source expression
so that we know whether we have to change the mode in other
2004-01-24 Andreas Tobler <>
* cse.c: (cse_cc_succs) Fix comparison warning.
2004-01-23 Ian Lance Taylor <>
* cse.c: Include "target.h".
(cse_change_cc_mode): New static function.
(cse_change_cc_mode_insns, cse_cc_succs): Likewise.
(cse_condition_code_reg): New function.
(default_cc_modes_compatible): New function.
* rtl.h (cse_condition_code_reg): Declare.
(default_cc_modes_compatible): Declare.
* toplev.c (rest_of_compilation): Call cse_condition_code_reg.
* target.h (struct gcc_target): Add fixed_condition_code_regs and
* target-def.h (TARGET_FIXED_CONDITION_CODE_REGS): Define.
(TARGET_INITIALIZER): Add new initializers.
* targhooks.c (default_cc_modes_compatible): Declare.
* hooks.c (hook_bool_intp_intp_false): New function.
* hooks.h (hook_bool_intp_intp_false): Declare.
* config/i386/i386.c (TARGET_FIXED_CONDITION_CODE_REGS): Define.
(ix86_fixed_condition_code_regs): New static function.
(ix86_cc_modes_compatible): Likewise.
* doc/gccint.texi: Add copyright 2004.
* doc/tm.texi (Condition Code): Document new hooks.
* (cse.o): Depend upon $(TARGET_H).
PR inline-asm/6162
* reload.c (find_reloads): Only support one pair of commutative
2004-03-02 Richard Henderson <>
PR middle-end/11767
* optabs.c (prepare_cmp_insn): Force trapping memories to registers
before the compare, if flag_non_call_exceptions.
2004-03-02 Richard Henderson <>
PR middle-end/14327
* stmt.c (expand_computed_goto): Do do_pending_stack_adjust before
emitting the label, not after.
2004-03-02 Danny Smith <>
* cppinit.c (init_standard_includes): Check that sysroot
string is not empty.
2004-03-01 Gabriel Dos Reis <>
Backport from 3.4.0:
2004-02-29 Mark Mitchell <>
PR debug/14328
* dwarf2out.c (gen_enumeration_type_die): Output all enumeration
constants as signed values.
2004-01-16 J"orn Rennecke <>
PR optimization/11864
* reload1.c (reload_cse_simplify_operands): Don't remove
implicit extension from LOAD_EXTEND_OP.
2004-02-29 Hans-Peter Nilsson <>
PR target/14346
* config/cris/cris.c (cris_asm_output_mi_thunk): For PIC, prepend
TAB to jumping "add.d" insn. Avoid PLT indirection by equating a
local symbol and jumping through it.
2004-02-29 Gabriel Dos Reis <>
Backport from mainline:
2004-01-27 Eric Botcazou <>
PR target/10904
PR target/13058
* config/sparc/sparc.h (CANNOT_CHANGE_MODE_CLASS): New.
Forbid mode changes from SImode for lower FP regs if ARCH64.
2004-02-28 John David Anglin <>
* (anddi3, dcacheflush, icacheflush): Likewise.
* pa64-hpux.h (LIB_SPEC): Fix linking under HP-UX 11.00 with -p and -pg.
2004-02-27 Ian Lance Taylor <>
PR optimization/7871
* flow.c (mark_set_1): Don't add LOG_LINKS for global registers
from or to call insns.
2004-02-27 Eric Botcazou <>
PR optimization/7871
* flow.c (propagate_one_insn): Interpret calls as setting global
registers, not merely clobbering them.
2004-02-26 Richard Earnshaw <>
Daniel Jacobowitz <>
PR target/14302
* arm.h (ARM_GO_IF_LEGITIMATE_ADDRESS): Don't check the mode
size for minipool references.
2004-02-25 Richard Earnshaw <>
PR target/14166
* arm.h (THUMB_GO_IF_LEGITIMATE_ADDRESS): Only allow constant pool
references from SImode.
* (thumb_movhi_insn): Don't allow minipool references.
2004-02-24 Bob Wilson <>
Backport from mainline (changes to xtensa_expand_prologue go into
xtensa_reorg instead; remove irrelevant portions of the patch)
2004-02-09 Bob Wilson <>:
* config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Update.
(init_cumulative_args): Likewise.
(a7_overlap_mentioned_p): Delete prototype.
* config/xtensa/xtensa.c (struct machine_function): Replace
incoming_a7_copied field with need_a7_copy and vararg_a7 flags.
Add set_frame_ptr_insn field.
(xtensa_emit_move_sequence): Update call to xtensa_copy_incoming_a7.
(xtensa_copy_incoming_a7): Rewrite to check need_a7_copy flag and check
if the operand is an argument in a7. If so, copy a7 to a new pseudo
at the function entry and replace the operand with the pseudo.
(init_cumulative_args): Remove unused arguments. Add new "incoming"
argument and record this flag in CUMULATIVE_ARGS.
(function_arg): Remove result_mode and special-case code to handle
arguments in a7. Instead, set need_a7_copy flag when there is an
incoming argument in a7.
(xtensa_expand_prologue): Remove code to search for set_frame_ptr insn
and use the value recorded in cfun->machine->set_frame_ptr_insn.
(xtensa_builtin_saveregs): Check for negative gp_left value. Set
need_a7_copy and vararg_a7 flags. Use move_block_from_reg instead of
special-case code.
(a7_overlap_mentioned_p): Delete.
* config/xtensa/xtensa.h (CUMULATIVE_ARGS): Add "incoming" flag.
arguments to init_cumulative_args and pass "incoming" flag instead.
* config/xtensa/ (movdi, movsf, movdf): Remove unnecessary
checks for reload_in_progress and reload_completed. Update calls to
(ashlsi3): Rename existing insn to ashlsi3_internal. Add expander
to call xtensa_copy_incoming_a7.
2004-02-22 Jakub Jelinek <>
* config/i386/i386.c (override_options): Don't imply 3DNow! for -m64
by default.
2004-02-22 James E Wilson <>
PR target/13918
* sched-ebb.c (ebb_sched_info): Disable use of cselib.
2004-02-22 Hans-Peter Nilsson <>
PR target/14209
* config/cris/ ("*andsi_movu", "*andhi_movu"): Tweak
constraints to not match postincrement. Adjust the predicate to
exclude a volatile memory reference.
("*andsi_clear"): Tweak constraints to not match postincrement.
Adjust the predicate to exclude a volatile memory reference.
("*andhi_clear"): Ditto. Rename from "*andhi_clear_signed".
("*andhi_clear_unsigned"): Remove, non-matching pattern.
2004-02-14 Release Manager
* GCC 3.3.3 Released.
2004-02-12 Eric Botcazou <>
PR target/14113
Backport from mainline:
2004-02-03 Eric Botcazou <>
* config/sparc/ (call followed by jump define_peephole's):
2004-02-06 H.J. Lu <>
* doc/invoke.texi: Mention SSE2 and SSE3.
* config/i386/i386.h: Deprecate -mpni/-mno-pni.
2004-02-06 Kelley Cook <>
* config/i386/i386.c: Rename pni to sse3.
* config/i386/i386.h: Likewise.
* config/i386/ Likewise.
* config/i386/pmmintrin.h: Likewise.
* doc/extend.texi: Likewise.
* doc/invoke.texi: Likewise.
2004-02-03 Wolfgang Bangerth <>
PR other/14003
* doc/invoke.texi (x86 options): Fix spelling/wording.
2004-02-01 Geoffrey Keating <>
PR bootstrap/13960
* config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Accept
lo_sum addresses on Darwin.
2004-01-30 Eric Botcazou <>
* config/sparc/sparc.c: Update copyright.
* config/sparc/sparc.h: Likewise.
* config/sparc/ Likewise.
2004-01-29 Roger Sayle <>
PR java/13824
* tree.c (unsafe_for_reeval): Handle EXIT_BLOCK_EXPR nodes specially
as their EXIT_BLOCK_LABELED_BLOCK operands can lead to unbounded
2004-01-29 H.J. Lu <>
* doc/invoke.texi: Remove the pni option from -mfpmath=.
2004-01-29 Gabriel Dos Reis <>
Backport from mainline
2004-01-20 Zdenek Dvorak <>
PR optimization/12440
* loop.c: Include ggc.h.
(loop_optimize): Run garbage collector between optimization of loops.
* (loop.o): Add GGC_H dependency.
2004-01-24 Matthias Klose <>
* objc/objc-act.c (is_public): Fix typo in message.
2004-01-23 Richard Henderson <>
PR opt/12941
* combine.c (SHIFT_COUNT_TRUNCATED): Provide default value.
(simplify_comparison): Don't simplify (eq (zero_extract c 1 r) 0)
2004-01-23 Ian Lance Taylor <>
* doc/invoke.texi (Optimize Options): Note that --param arguments
are subject to change without notice.
2004-01-23 John David Anglin <>
* reload.c (can_reload_into): Add prototype and K&R style function
2004-01-21 Andreas Jaeger <>
Michael Matz <>
* doc/extend.texi (Extended Asm): Clarify memory clobber.
2004-01-21 Ralf Corsepius <>
PR target/13073
* config/h8300/t-rtems (h8300-*-rtems*): New.
* config.gcc: Use config/h8300/t-rtems.
2004-01-20 Gabriel Dos Reis <>
Backport from mainline
2004-01-10 Jan Hubicka <>
PR opt/12826
* loop.c (insert_loop_mem): Prefer VOLATILE memory references to be
2004-01-16 Jan Hubicka <>
PR opt/13608
* i386.c (ix86_compute_frame_layout): Fix for alloca on leaf function.
2004-01-16 Segher Boessenkool <>
PR target/11793
* config/rs6000/rs6000.h (LEGITIMATE_CONSTANT_P): Handle
2004-01-16 Jan Hubicka <>
PR opt/11350
* cfgcleanup.c (try_optimize_cfg): Suppress tablejump removal
after reload.
* cfgrtl.c (try_redirect_by_replacing_branch): Likewise.
2004-01-15 J"orn Rennecke <>
PR optimization/10392
* reload.c (can_reload_into): New function.
(push_reload): Use it.
2004-01-14 J"orn Rennecke <>
PR target/9365
* sh.c (gen_block_redirect): Add special handling of RETURN.
(gen_far_branch) Don't call gen_stuff_delay_slot if there is no
far branch target (i.e. it's a return).
2004-01-14 Hartmut Penner <>
* gcc/config/rs6000/rs6000.c (rs6000_stack_info)
Calculate always vrsave_mask if TARGET_ALTIVEC.
(rs6000_emit_prologue): Emit code for vrsave
(rs6000_emit_epilogue): Likewise.
2003-01-14 Nicola Pero <>
PR objc/7993
* objc-act.c (is_private): Do not emit the 'instance variable %s
is declared private' error.
(is_public): Emit the error after calling is_private.
(lookup_objc_ivar): If the instance variable is private, return 0
- the instance variable is invisible here.
2004-01-12 Marc Espie <>
* system.h: handle YYBYACC like YYBISON.
2004-01-12 Matthias Klose <>
Backport from mainline
2003-12-08 Stuart Hastings <>
* config/i386/ Typo in split of fp-valued if_then_else.
2004-01-12 Roger Sayle <>
PR middle-end/11397
* varasm.c (assemble_alias): Remove weak aliases from weak_decls.
2004-01-12 J"orn Rennecke <>
PR target/13585
* sh-protos.h (check_use_sfunc_addr): Declare.
* sh.c (extract_sfunc_addr, check_use_sfunc_addr): New functions.
* (use_sfunc_addr): Use check_use_sfunc_addr in insn predicate.
2004-01-12 Matthias Klose <>
Backport from mainline
2004-01-11 Richard Henderson <>
PR opt/12441
Revert: Sat Mar 30 14:08:55 CET 2002 Jan Hubicka <>
* i386.c (aligned_operand): Be prepared for SUBREGed registers.
(ix86_decompose_address): Use REG_P instead of GET_CODE (...) == REG.
(ix86_address_cost): Be prepared for SUBREGed registers.
(legitimate_address_p): Accept SUBREGed registers.
2004-01-11 Richard Henderson <>
* config/alpha/alpha.c (alpha_encode_section_info): Use 'I'
(tls_symbolic_operand_1): Update to match.
(tls_symbolic_operand_type): Likewise.
2004-01-11 Jakub Jelinek <>
PR middle-end/13392
* builtins.c (expand_builtin_expect_jump): Handle conditional jumps
to drop through label. Don't fall back to SCC even when conditional
jump has not been found.
2004-01-09 Jeff Bailey <>
PR target/12561
2004-01-09 Richard Henderson <>
* recog.c (constrain_operands): Validate mem operands.
2004-01-02 Nathanael Nerode <>
PR target/13069
Backport the following from mainline:
2003-03-08 Neil Booth <>
* config/sh/rtemself.h (TARGET_OS_CPP_BUILTINS): Use instead of
* config/sh/rtems.h (TARGET_OS_CPP_BUILTINS): Use instead of
2003-09-27 Kelley Cook <>
* config/sh/rtemself.h, config/sh/rtems.h: GNU CC -> GCC.
2004-01-02 Roger Sayle <>
* tree.h (integer_nonzerop): Use PARAMS macro with prototype.
* tree.c (integer_nonzerop): Use K&R style function declaration.
2004-01-02 Andreas Schwab <>
* doc/c-tree.texi: Fix @item vs. @itemx.
* doc/cpp.texi: Likewise.
* doc/install.texi: Likewise.
* doc/invoke.texi: Likewise.
2004-01-02 Andreas Jaeger <>, Gerald Pfeifer <>
* doc/install.texi (Specific): Mention x86_64.
2004-01-01 Jakub Jelinek <>
PR optimization/13521
Backport from mainline:
2003-03-22 Richard Henderson <>
* cfgcleanup.c (insns_match_p): Do not do EQUIV substitution
after reload.
2003-12-31 Roger Sayle <>
PR fortran/12632
* tree.c (integer_nonzerop): New predicate for nonzero integers.
* tree.h (integer_nonzerop): Add function prototype.
* fold-const.c (fold) <COND_EXPR>: Don't fold a constant condition,
if we'd replace a COND_EXPR of non-void type by one of its operands
of void type.
2003-12-31 Kazu Hirata <>
Backport from mainline:
2003-09-12 Richard Sandiford <>
PR target/13373
* config/mcore/mcore-protos.h (mcore_r15_operand_p): Declare.
(mcore_secondary_reload_class): Declare.
(mcore_output_inline_const_forced): Remove.
* config/mcore/ (movsi): Remove the code that forced
non-inlineable constants into a register if the target was r15
or the stack pointer. Remove constant restrictions from the main
define_insn. Remove r <- I, r <- M and r <- N alternatives in favor
of an r <- P alternative. Remove fallback define_insn for reload.
(movhi, movqi): Use gen_lowpart rather than gen_SUBREG. Remove reload
define_insn. Use mcore_output_move in the remaining define_insn.
Adjust condition and constraints in the way as for movsi.
(movdi): Always split unacceptable constants into two. Use
simplify_gen_subreg instead of operand_subword{,_force}.
* config/mcore/mcore.c (mcore_output_inline_const_forced): Remove.
(mcore_output_move): Support HImode and QImode moves as well.
(mcore_m15_operand_p): New function.
(mcore_reload_class): Use it to detect cases where LRW_REGS are better.
(mcore_secondary_reload_class): New function.
* config/mcore/mcore.h (SECONDARY_RELOAD_CLASS): Redefine in
terms of mcore_secondary_reload_class.
2003-12-31 Zack Weinberg <>
* config/ia64/ia64.c (ia64_va_arg): Pass pointer for
variable-sized type through convert_memory_address.
(ia64_in_small_data_p): Always return false for FUNCTION_DECLs.
2003-12-24 Andrew Pinski <>
PR bootstrap/13068
Backport from mainline:
2003-05-09 Matt Kraai <>
* Remove extra quotes.
2003-05-08 Aldy Hernandez <>
* Use mkinstalldirs when installing multilib
2003-12-24 Roger Sayle <>
Backport from mainline:
2003-09-18 Mark Mitchell <>
* explow.c (convert_memory_address): Define even when
POINTERS_EXTEND_UNSIGNED is not defined. Do nothing if the address
is already in the right mode.
2003-12-23 Andrew Pinski <>
PR middle-end/13475
Backport from mainline:
2003-06-19 Aldy Hernandez <>
* expr.c (const_vector_from_tree): Initialize remaining
elements to 0.
2003-12-23 Kazu Hirata <>
PR target/11576
* config/h8300/h8300.h (CONSTANT_ADDRESS_P): Allow CONST and
HIGH on all variants.
2003-12-23 Matthias Klose <>
* config/mips/linux.h (LIB_SPEC): Use -lpthread when
-pthread was specified.
2003-12-23 Eric Botcazou <>
PR optimization/13394
* toplev.c (rest_of_compilation): Move call to
check_function_return_warnings right after the sibcall
optimization pass.
2003-12-23 Eric Botcazou <>
PR c/13382
* c-typeck.c (convert_for_assignment): When converting from
integral type to pointer type, always call convert.
2003-12-22 Gabriel Dos Reis <>
PR target/11271
* reload.c: Revert last backport from mainline. It breaks s390.
2003-12-21 Roger Sayle <>
* config/ia64/hpux.h (TARGET_OS_CPP_BUILTINS): Define _ILP32
when compiling in ILP32 mode.
2003-12-21 Gabriel Dos Reis <>
Backport from mainline:
2003-10-31 Richard Earnshaw <>
PR target/11271
* reload.c (find_reloads_address): Handle any register in
2003-12-21 Roger Sayle <>
PR middle-end/13400
* ifcvt.c (noce_process_if_block): Disable unconditional write
optimizations if we could introduce a store to trapping memory
that wasn't present previously.
2003-12-20 Roger Sayle <>
PR optimization/13031
* gcse.c (cprop_jump): Backport code clean-up and bug-fix
from mainline [2003-05-20 Sayle, Hirata and Rennecke patch].
(cprop_insn): Don't attemp further substitutions if the
current instruction has been deleted.
(local_cprop_pass): Likewise.
2003-12-19 Jakub Jelinek <>
PR c++/13239
* builtins.c (expand_builtin_expect_jump): Update
TREE_VALUE (arglist) if unsave_expr_now langhook
created a new tree.
2003-12-18 Mark Mitchell <>
* config/sol2.h (LINK_ARCH32_SPEC): Define in terms of ...
(LINK_ARCH32_SPEC_BASE): ... this new macro.
* config/sparc/sol2-bi.h (LINK_ARCH64_SPEC): Define in terms of
(LINK_ARCH64_SPEC_BASE): ... this new macro.
* config/sparc/sol2-gld-bi.h (LINK_ARCH32_SPEC): New macro.
(LINK_ARCH64_SPEC): Likewise.
2003-12-17 Ulrich Weigand <>
PR target/11992
* config/s390/ ("*cmpmem_long_64"): Use CLCLE instruction
instead of CLCL.
("*cmpmem_long_31"): Likewise.
2003-12-16 Zack Weinberg <>
Backport the following patches from mainline.
2003-12-05 Mark Mitchell <>
* config/ia64/ia64.h (MUST_PASS_IN_STACK): Define.
2003-12-01 James E Wilson <>
* config/ia64/ia64.h (FUNCTION_ARG_REGNO_P): Use AR_REG_FIRST not
2003-10-21 Zack Weinberg <>
* config/ia64/ (cmpxchg_acq_si): Mark operand 3 as DImode.
* config/ia64/ia64.c (ia64_expand_fetch_and_op,
ia64_expand_op_and_fetch): Make sure the REG for ar.ccv is
DImode. Use convert_move to load ar.ccv.
(ia64_expand_compare_and_swap): Likewise.
If expand_expr doesn't put 'old' and 'new' in the proper
modes, run them through convert_to_mode.
2003-10-14 Steve Ellcey <>
* config/ia64/ia64.c (ia64_expand_call): Force function address
to DImode.
* config/ia64/ (call_gp): Put DImode on operand 0.
2003-06-11 Richard Henderson <>
* config/ia64/ (call_gp): Fix memory mode.
2003-05-14 Eric Christopher <>
* combine.c: Fix header comments.
(distribute_notes): Remove usage of elim_i1, elim_i2. Propagate
to all calls and prototype.
2003-12-16 David O'Brien <>
* config/alpha/freebsd.h (FBSD_TARGET_CPU_CPP_BUILTINS): Add __LP64__.
* config/sparc/freebsd.h (FBSD_TARGET_CPU_CPP_BUILTINS): Likewise.
* config/i386/freebsd64.h (FBSD_TARGET_CPU_CPP_BUILTINS): Conditionally
add __LP64__.
2003-12-16 Hartmut Penner <>
* altivec.h (vec_cmple, vec_all_numeric): Fix typo.
* testsuite/gcc.dg/altivec-10.c: Test for above.
2003-12-15 Kazu Hirata <>
PR target/13122
* config/h8300/ (pushqi1_h8300hs_normal): New.
(pushqi1): Call gen_pushqi1_h8300hs_normal in normal mode.
(pushhi1_h8300hs_normal): New.
(pushhi1): Call gen_pushqi1_h8300hs_normal in normal mode.
* config/h8300/h8300.h (LINK_SPEC): Support normal mode.
* config/h8300/h8300.c (asm_file_start): Correctly output
an architecture directive.
* config/h8300/lib1funcs.asm: Correctly specify an
architecture directive.
2003-12-12 Roger Sayle <>
PR optimization/13037
* loop.c (update_giv_derive): Ignore redundant sets of a biv when
calculating how to derive a giv from a biv.
2003-12-12 Jakub Jelinek <>
* config/ia64/linux.h (IA64_GATE_AREA_END): Increase by 64K.
(MD_FALLBACK_FRAME_STATE_FOR): Set fpsr_loc, br_loc[6] and
br_loc[7]. Update comment.
* config/ia64/unwind-ia64.c (struct unw_state_record): Add
unwabi field.
(struct _Unwind_Context): Increase br_loc array size to 8 entries.
(desc_abi): Set unwabi.
(uw_update_reg_address): Allow br up to 7.
(uw_update_context): Invoke MD_HANDLE_UNWABI if defined.
(uw_install_context): Load b1..b5 from correct locations.
Fix insn loading ar.fpsr.
* doc/tm.texi: Document MD_HANDLE_UNWABI.
2003-12-12 Hans-Peter Nilsson <>
PR target/13256
Backport from mainline:
* resource.h (enum mark_resource_type): Remove member MARK_DEST.
The only user changed as follows:
* resource.c (mark_set_resources) <case SET>: Always recurse for
SET_SRC (x).
<case SIGN_EXTRACT, case ZERO_EXTRACT>: Always recurse on
<case STRICT_LOW_PART>: Delete, deferring to default code.
PR target/12598
Backport from mainline:
* config/cris/ (define_split "*mov_sidesi_biap_mem"+1)
(define_splits "*mov_sidesi_mem"+1, "casesi"+9, +10, +11, +12):
Use cris_mem_op and replace_equiv_address, not gen_rtx_MEM.
("call", "call_value", define_split "*mov_sidesi_mem"+19, +20)
(define_split "*mov_sidesi_mem"+21, +22, +23, +24, +25, +26, +27)
(define_split "*mov_sidesi_mem"+28, +29, +30): Use
replace_equiv_address, not gen_rtx_MEM.
* config/cris/cris.c (cris_mem_op): New match_operator function.
(cris_notice_update_cc): Use replace_equiv_address, not
* config/cris/cris.h (PREDICATE_CODES): Add cris_mem_op.
2003-12-11 Eric Botcazou <>
Backport from mainline:
2003-12-07 Eric Botcazou <>
PR optimization/13318
* loop.c (express_from): Protect integer division from overflow.
2003-12-11 Eric Botcazou <>
Backport from mainline:
2003-12-07 Eric Botcazou <>
PR optimization/13060
* function.c (fixup_var_refs_1) [SUBREG]: Recognize even if a
replacement already exists. Fix again the whole insn if that fails.
2003-12-11 Eric Botcazou <>
Backport from mainline:
2003-12-07 Eric Botcazou <>
PR optimization/12965
* caller-save.c (save_call_clobbered_regs): Do not save/restore
registers around no-return calls.
2003-12-10 Andrew Pinski <>
* emit-rtl.c (copy_rtx_if_shared_1): Fix warning.
2003-12-10 Nathanael Nerode <>
Backport from mainline (fixes unreported regression):
* cpptrad.c (_cpp_scan_out_logical_line): Improve test for
whether directive begins at the beginning of a line.
2003-12-10 Eric Botcazou <>
PR target/13354
* config/sparc/sparc.c (sparc_output_mi_thunk): Load DELTA
manually if one can do that with only one instruction.
2003-12-09 Kelley Cook <>
2003-06-04 Kelley Cook <>
PR optimization/4490
* config/i386/ Don't use XFMode if TARGET_128BIT_LONG_DOUBLE.
2003-12-08 David Edelsohn <>
Graham Reed <>
PR target/13150
* collect2.c (GCC_OK_SYMBOL): Add support for AIX C_WEAKEXT.
2003-12-08 Andrew Pinski <>
PR middle-end/10060
* emit-rtl.c (copy_rtx_if_shared): Split out into ...
(copy_rtx_if_shared_1): here and optimize the last one
in the sequence into tail-recursion.
(reset_used_flags): Optimize the last one
in the sequence into tail-recursion.
2003-12-07 Alan Modra <>
* config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Don't
2003-12-05 Andrew Pinski <>
PR driver/13211
* gcc.c (execute) Increment execution_count when returning
early because verbose_only_flag is true.
2003-12-05 Stuart Menefy <>
J"orn Rennecke <>
PR target/13302
* sh.c (sh_build_builtin_va_list): Use (*lang_hooks.types.make_type).
2003-12-04 Andrew Pinski <>
PR target/11322
* config/sh/netbsd-elf.h (NO_PROFILE_COUNTERS): Define.
PR target/12467
* config/rs6000/ (altivec_vmsummbm): Fix typo.
2003-12-04 H.J. Lu <>
* (stmp-fixinc): Don't bail out if SYSTEM_HEADER_DIR
does not exist and it's the default sys-include directory.
2003-12-03 Mark Mitchell <>
* config/ia64/hpux.h (TARGET_HAVE_TLS): Define it to false.
* config/ia64/ia64.h (TARGET_HAVE_TLS): Define it to true if
HAVE_AS_TLS is true.
* config/ia64/ia64.c (TARGET_HAVE_TLS): Do not define it.
2003-12-03 James E Wilson <>
2003-11-29 James E Wilson <>
* gcc.c (init_spec): Pass -lunwind to init_gcc_specs in eh_name
instead of in shared_name.
2003-12-03 David Mosberger <>
2003-11-20 David Mosberger <>
* config/t-libunwind (LIB2ADDEH): Add unwind-c.c.
(SHLIB_LC): Define.
* unwind-libunwind.c (_Unwind_GetCFA): Implement.
(_Unwind_GetBSP) [UNW_TARGET_IA64]: New function.
2003-12-03 Jakub Jelinek <>
* expr.c (store_constructor): Only set RTX_UNCHANGING_P for
read-only field if cleared is 0.
2003-12-03 Kean Johnston <>
PR 12969
* fixinc/inclhack.def (AAB_svr4_replace_byteorder): Revert the
change I made on 2003-08-11 that removes the mach lines.
Restore them to the same list thats in the head, as per
Nathanael Nerode's changes.
* fixinc/fixincl.x: Regenerated
* fixinc/tests/base/ansi/string.h: Fix test case
2003-12-03 James E Wilson <>
2003-12-01 James E Wilson <>
PR target/8407
* config/ia64/ia64.c (ia64_function_arg): For single-reg HFA, call
gen_rtx_REG to create new reg with argument mode.
2003-12-03 Josef Zlomek <>
Backport from mainline
2003-10-31 Josef Zlomek <>
* cfgrtl.c (delete_insn): Decrease LABEL_NUSES for all
REG_LABEL notes.
2003-10-31 Josef Zlomek <>
* cfgrtl.c (try_redirect_by_replacing_jump): Move jump
immediatelly before BARRIER.
2003-12-01 Kaz Kojima <>
Backport from mainline
2002-11-19 Kaz Kojima <>
* config.gcc (sh*-*-linux*): Add t-slibgcc-elf-ver and t-linux.
to tmake_file.
* config/sh/libgcc-glibc.ver: New file.
Backport from mainline
2003-10-08 Kaz Kojima <>
* config/sh/t-linux (SHLIB_LINK): Override to use a linker script
(SHLIB_INSTALL): Likewise.
2003-12-01 Roger Sayle <>
PR optimization/11634
* recog.c (split_insn): Factor test of INSN_P and handling of
set_noop_p out of here into the two callers.
(split_all_insns): Add INSN_P test and set_noop_p handling here.
If deleting a no-op set after reload that has a REG_UNUSED note,
mark the basic block as changed and recalculate life information.
(split_all_insns_noflow): Add INSN_P test and set_noop_p handling
2003-12-01 Zack Weinberg <>
PR 12505
* Check for system-provided 'uchar' type.
* configure, Regenerate.
* cpphash.h: Only typedef 'uchar' if the system doesn't.
2003-12-01 Ulrich Weigand <>
* unroll.c (find_splittable_givs): Add missing extend_value_for_giv.
2003-12-01 Eric Botcazou <>
Backport from mainline:
2003-11-27 Eric Botcazou <>
PR optimization/13041
* final.c (frame_pointer_needed): Fix comment.
* reload1.c (reload): Decrease alignment of the frame
pointer if it was used for register allocation.
2003-12-01 Eric Botcazou <>
Backport from mainline:
2003-11-27 Eric Botcazou <>
PR target/12900
* reg-stack (move_for_stack_reg): New prototype. Return
whether a control flow insn was deleted.
(subst_stack_regs_pat): Likewise, using the information provided
by move_for_stack_reg.
(subst_stack_regs): Likewise, using the information provided
by subst_stack_regs_pat.
(convert_regs_1): Record whether a control flow insn was deleted,
using the information provided by subst_stack_regs. Purge dead
edges only if a control flow insn was deleted.
2003-12-01 Gabriel Dos Reis <>
* doc/c-tree.texi (Function Bodies): Update HANDLER documentation.
2003-11-29 Ulrich Weigand <>
* config/s390/ ("cmpint_di"): Fix incorrect instruction lengths.
2003-11-19 Alan Modra <>
Backport 2003-03-26 Alan Modra <>
* cppinit.c (init_standard_includes): Add both "translated" and
non-translated header paths.
2003-11-18 Gerald Pfeifer <>
Fix links in online manuals.
* doc/invoke.texi (H8/300 Options): @xref to ld, not
2003-11-17 Gerald Pfeifer <>
* doc/invoke.texi (Warning Options): Simplify and clarify the
description of -Wnonnull.
2003-11-14 Matthias Klose <>
Backport from mainline
2003-06-04 Jakub Jelinek <>
* function.c (trampolines_created): New variable.
(expand_function_end): Set it when doing INITIALIZE_TRAMPOLINE.
* function.h (trampolines_created): Add.
* config/s390/linux.h (ASM_FILE_END): Define.
* config/alpha/linux-elf.h (ASM_FILE_END): Define.
* config/m68k/linux.h (ASM_FILE_END): Define.
* config/rs6000/linux.h (ASM_FILE_END): Define.
* config/rs6000/linux64.h (ASM_FILE_END): Define.
* config/sparc/linux.h (ASM_FILE_END): Define.
* config/sparc/linux64.h (ASM_FILE_END): Define.
* config/i386/i386.c (ix86_asm_file_end): Use SUBTARGET_FILE_END.
* config/i386/linux.h (SUBTARGET_FILE_END): Define.
* config/i386/linux64.h (SUBTARGET_FILE_END): Define.
2003-06-05 Jakub Jelinek <>
* Propagate .note.GNU-stack section if needed into
the .hidden assembly stubs.
2003-11-13 Eric Botcazou <>
PR optimization/12926
* expr.c (expand_assignment) [COMPONENT_REF]: Don't put
the UNCHANGING_RTX_P flag on memory references to read-only
components that are not addressable.
2003-11-12 Alexey Starovoytov <>
PR optimization/12953
* c-objc-common.c (inline_forbidden_p): Added check for BUILT_IN
before switch by FUNCTION_CODE.
2003-11-10 Waldek Hebisch <>
PR target/12865
* config/sparc/sparc.c (sparc_initialize_trampoline): Call
__enable_execute_stack only after writing onto the stack.
(sparc64_initialize_trampoline): Likewise.
2003-11-08 Roger Sayle <>
Backport from mainline
PR optimization/10467, PR optimization/11741
* gcse.c (pre_insert_copy_insn): Tweak the logic for finding the
appropriate set to match the code in hash_scan_insn.
2003-11-06 H.J. Lu <>
* cppinit.c (init_standard_includes): Updated.
* ( Updated.
Backport from 3.4-branch
2003-07-16 Daniel Jacobowitz <>
* gcc.c (STANDARD_STARTFILE_PREFIX): Remove unnecessary definition.
(main): Remove unnecessary case. Only use standard_startfile_prefix
if native.
2003-04-11 Alexandre Oliva <>
* fixinc/ (defs): Add LIBERTY.
* (STMP_FIXINC, STMP_FIXPROTO): Don't disable on
build != host sysrooted builds.
* (SYSTEM_HEADER_DIR): Make sure it contains
TARGET_SYSTEM_ROOT even on sysrooted natives.
* configure: Rebuilt.
2003-03-04 Daniel Jacobowitz <>
* Don't always define TARGET_SYSTEM_ROOT.
* configure: Regenerated.
* gcc.c: Check whether TARGET_SYSTEM_ROOT is defined.
2003-01-16 Daniel Jacobowitz <>
* (PREFIX_INCLUDE_DIR): Don't define if $with_sysroot
is specified or if building a cross compiler.
if the sysroot is under $exec_prefix.
* configure: Regenerated.
* cppdefault.h: Use native include paths if TARGET_SYSTEM_ROOT is
(struct default_include): Add add_sysroot field.
(cpp_SYSROOT): Declare.
* cppdefault.c (cpp_include_defaults): Fill in add_sysroot
(cpp_SYSROOT): New variable.
* cppinit.c (cpp_create_reader): Initialize
CPP_OPTION (pfile, sysroot).
(init_standard_includes): Handle add_sysroot. Do not
add unrelocated copies of relocated directories.
(COMMAND_LINE_OPTIONS): Add -isysroot.
(cpp_handle_option): Handle -isysroot.
* cpplib.h (struct cpp_options): Add sysroot member.
* gcc.c (The Specs Language): Update description of %I.
(target_system_root_changed): New variable.
(process_command): Conditionalize make_relative_prefix call
(do_spec_1): Add -isysroot to %I.
* doc/invoke.texi (Spec Files): Update description of %I.
* doc/install.texi (--with-sysroot): Update comment about
2002-10-19 Alexandre Oliva <>
Angela Marie Thomas <>
Brendan Kehoe <>
Nick Clifton <>
Andrew Haley <>
* (--with-sysroot): New. Don't inhibit libc if
* configure: Rebuilt.
* (CROSS_SYSTEM_HEADER_DIR): Set in configure.
(install-gcc-tooldir): New target.
(stmp-fixinc): Do not create $(libsubdir), but rather bail out
of SYSTEM_HEADER_DIR does not exist.
(deduced.h, stmp-fixproto): Quote SYSTEM_HEADER_DIR properly.
(install-mkheaders): Likewise.
* gcc.c (target_system_root): New variable.
(add_sysrooted_prefix): New function.
(process_command): Recompute run-time target_system_root from
gcc_exec_prefix, keeping it unchanged if the relocated sysroot
does not exist.
(do_spec_1): Process 'R' spec.
(main): Add md_exec_prefix to exec_prefixes regardless of
startfile_prefix_spec. Use add_sysrooted_prefix for
startfile_prefixes, and don't skip the default ones when cross
compiling with sysroot enabled. Removed unused case of
non-absolute standard_startfile_prefix.
* config/interix.h: Remove the only potential, yet disabled,
occurrence of non-absolute (empty) standard_startfile_prefix.
* config/sh/linux.h (LIB_SPEC): Add -rpath-link in non-static
* config/mips/linux.h (LIB_SPEC): Define as in sh/linux.h.
* doc/install.texi (--with-sysroot): Document.
(--with-headers, --with-libs): Deprecate.
2003-11-06 Ulrich Weigand <>
* config/s390/s390-protos.h (s390_output_dwarf_dtprel): Declare.
* config/s390/s390.c (s390_output_dwarf_dtprel): New function.
* config/s390/s390.h (ASM_OUTPUT_DWARF_DTPREL): Define.
2003-11-06 Ulrich Weigand <>
* config/s390/s390.c (s390_function_arg_pass_by_reference): Return
true for all arguments larger than 8 bytes, as well as for all vector
type arguments.
* config/s390/s390.h (RETURN_IN_MEMORY): Likewise for return values.
2003-11-05 Roger Sayle <>
PR optimization/10339
* builtins.c (expand_builtin_strcmp): Try to emit cmpstrsi insn
directly instead of unsafely transforming call into a memcmp.
(expand_builtin_strncmp): Likewise.
2003-11-03 Alexander Kabaev <>
* real.c (encode_ieee_single): Ensure proper promotion.
2003-11-04 H.J. Lu <>
Backport from 3.4-branch
2003-07-13 Andreas Jaeger <>
* config.gcc: Add pmmintrin.h for x86_64-*-*.
2003-06-26 H.J. Lu <>
* config.gcc (extra_headers): Add pmmintrin.h for i[34567]86-*-*.
* config/i386/i386.c (override_options): Turn on MASK_SSE2
for -mpni.
(bdesc_2arg): Add PNI builtins with 2 args.
(bdesc_1arg): Add PNI builtins with 1 arg.
(ix86_init_mmx_sse_builtins): Handle PNI builtins.
(ix86_expand_builtin): Likewise.
* config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A,
(TARGET_SWITCHES): Add -mpni and -mno-pni.
(ix86_builtins): Add PNI builtins.
(config/i386/ Add PNI patterns.
* config/i386/pmmintrin.h: New file.
* config/i386/i386.c (override_options): Turn on MASK_SSE for
(MASK_SSE1): Removed.
(MASK_SSE164): Removed.
(MASK_SSE264): Removed.
(bdesc_2arg): Replace MASK_SSE1 with MASK_SSE. Replace
MASK_SSE164 with MASK_SSE | MASK_64BIT. Replace MASK_SSE264
with MASK_SSE2 | MASK_64BIT.
(bdesc_1arg): Likewise.
(ix86_init_mmx_sse_builtins): Likewise.
* config/i386/i386.h (TARGET_SSE): Remove MASK_SSE2.
2003-06-20 H.J. Lu <>
* doc/extend.texi: Document new builtin functions for Intel
Prescott New Intrunctions.
* doc/invoke.texi: Document new command-line options, -mpni and
-mno-pni, for Intel Prescott New Intrunctions.
2003-06-05 H.J. Lu <>
* config.gcc (extra_headers): Add emmintrin.h for i[34567]86-*-*
and x86_64-*-*.
* config/i386/mmintrin.h: Update version and add alternate
intrinsic names.
* config/i386/xmmintrin.h: Likewise.
* config/i386/xmmintrin.h: Include <emmintrin.h>. Move SSE2
intrinsics to ...
* config/i386/emmintrin.h: Here. New file.
2003-11-04 H.J. Lu <>
Backport from 3.4-branch
2003-04-25 H.J. Lu <>
* config/ia64/ia64.c (ia64_expand_compare_and_swap): Add rmode
for return mode.
(ia64_expand_builtin): Set rmode to SImode for
2003-04-24 H.J. Lu <>
* config/ia64/ia64.c (ia64_init_builtins): Add si_ftype_pdi_di_di
for __sync_bool_compare_and_swap_di for int return type.
* config/ia64/ia64intrin.h (__sync_bool_compare_and_swap_di):
Change return type to int.
(__sync_bool_compare_and_swap): Likewise.
2003-11-03 Volker Reichelt <>
* doc/contrib.texi: Add Giovanni Bajo, Dara Hazeghi, Falk Hueffner,
and Andrew Pinski.
2003-11-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* fixinc/inclhack.def (stdio_va_list): Allow tab before va_list.
Merge two substitutions.
* fixinc/fixincl.x: Regenerate.
Fixes PR bootstrap/12666.
2003-10-28 Franz Sirl <>
PR target/11598
PR libgcj/10610
* config/rs6000/sysv4.h (PREFERRED_STACK_BOUNDARY): New macro.
2003-10-27 Falk Hueffner <>
PR target/12654
* config/alpha/alpha.c (alpha_emit_conditional_branch): Don't do
comparison against constant by adjusting the argument except for
EQ and NE.
2003-10-26 Ottavio Campana <>
PR target/12690
* config/i386/mmintrin.h (_mm_set1_pi8): Fix comment.
2003-10-25 Bruce Korb <>
* gcc/fixinc/tests/base/ansi/string.h:
This fixes a result from a broken sed or a hand-edited output file.
The '__GNUC__' wrappers were misplaced.
2003-10-25 Eric Botcazou <>
PR target/12712
* reg-stack.c (convert_regs_1): Create an arbitrary input stack
if the block has no predecessors.
(convert_regs_2): Document the problem with successors whose
only predecessor is the block to be processed.
(convert_regs): Don't create the arbitrary input stack here.
2003-10-22 David Taylor <>
PR debug/12500
* dbxout.c (dbxout_typedefs): Use COMPLETE_OR_VOID_TYPE_P.
2003-10-20 Zack Weinberg <>
* fixinc/inclhack.def (hpux11_snprintf): New edit.
* fixinc/fixincl.x: Regenerate.
* fixinc/tests/base/stdio.h: Add test for hpux11_snprintf.
2003-05-16 Jakub Jelinek <>
* config/ia64/unwind-ia64.c (uw_update_reg_address): Handle
.save XX, r0.
2003-10-19 Mark Mitchell <>
* doc/include/gcc-common.texi: Bump version number.
* version.c (version_string): Reset to prerelease format.
2003-10-18 Kazu Hirata <>
* doc/extend.texi: Fix typos.
2003-10-16 Release Manager
* GCC 3.3.2 Released.
2003-10-14 Jason Merrill <>
PR c/11885
* stor-layout.c (update_alignment_for_field): Packed non-bit-fields
get byte alignment.
2003-10-14 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* fixinc/inclhack.def (alpha_pthread_gcc): New fix.
* fixinc/fixincl.x: Regenerate.
* fixinc/tests/base/pthread.h [ALPHA_PTHREAD_GCC_CHECK]: New
Fixes PR bootstrap/9330.
2003-10-14 Steven Bosscher <>
PR target/11087
Backport from gcc-3_3-rhl-branch and mainline.
2003-07-17 Jakub Jelinek <>
* loop.c (basic_induction_var): Check if convert_modes
emitted any instructions. Remove them and return 0 if so.
2003-10-13 Matt Kraai <>
PR target/11949
Backport from mainline:
2003-05-05 Aldy Hernandez <>
* testsuite/gcc.c-torture/compile/simd-6.c: New.
* c-typeck.c (digest_init): Handle arrays of vector constants.
2003-10-11 Eric Botcazou <>
PR optimization/12544
* function.c (put_var_into_stack): Don't generate ADDRESSOFs
for DECL_NONLOCAL decls.
2003-10-09 Eric Botcazou <>
PR optimization/12510
Backport from mainline:
2003-09-08 Jakub Jelinek <>
* toplev.c (rest_of_compilation): Call split_all_insns before
regstack if optimizing but not scheduling after reload.
2003-10-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* fixinc/inclhack.def (stdio_va_list): Removed _ap fix.
(irix_stdio_va_list): Don't require leading printf, IRIX 6.5.21
introduced some multi-line prototypes.
* fixinc/fixincl.x: Regenerate.
Fixes PR libf2c/12263.
2003-10-08 Timo Kokkonen <>
Eric Botcazou <>
PR bootstrap/12490
* scan-decls.c (MAX_EXTERN_C_BRACES): New preprocessor constant
to define the size of the extern_C_braces array. Set it to 200.
(scan_decls): Abort when extern_C_braces_length is out-of-bounds.
2003-10-06 Eric Botcazou <>
PR optimization/12215
* cse.c (cse_set_around_loop): Emit the move at the beginning
of the next basic block for trapping sets.
2003-10-06 Eric Botcazou <>
PR optimization/11637
* combine.c (adjust_for_new_dest): New function to adjust the
notes and LOG_LINKS when the dest of an insn has changed.
(try_combine): Use it when deleting the first insn of a two-insn
parallel or splitting a two-load parallel.
2003-10-04 Stephane Carrez <>
* config/m68hc11/t-m68hc11-gas (MULTILIB_MATCHES): m68hcs12 is
identical to m68hc12 as far as libraries are concerned.
2003-10-04 Eric Botcazou <>
PR c/12446
* c-typeck.c (convert_for_assignment): Issue an error for
array to pointer assignment after default conversion.
(digest_init): Likewise.
2003-10-03 Gerald Pfeifer <>
* doc/extend.texi (Function Attributes): Fix title of GNU C
Preprocessor manual.
(C++ Extensions): Fix reference to "Predefined Macros" in the
GNU C Preprocessor manual.
2003-10-03 Zdenek Dvorak <>
* cfgloop.c (flow_loops_find): Fix handling of abnormal edges.
2003-10-02 Mark Mitchell <>
PR optimization/12180
* c-objc-common.c (inline_forbidden_p): Do not permit inlining of
functions containing calls to __builtin_next_arg.
2003-10-02 Josef Zlomek <>
* combine.c (make_field_assignment): Check whether rtx's code
is CONST_INT before using INTVAL.
2003-10-02 Josef Zlomek <>
Waldek Hebisch <>
* varasm.c (compare_constant): Fix thinko.
2003-10-01 John David Anglin <>
* aclocal.m4: Add hpux10* and hpux11.00 to /dev/zero blacklist.
* configure: Rebuilt.
2003-10-01 John David Anglin <>
* aclocal.m4: Add ultrix* to /dev/zero blacklist.
* configure: Rebuilt.
2003-10-01 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* config.gcc (sparc-*-solaris2*): Handle Solaris 10 and up like
Solaris 7-9.
* fixinc/inclhack.def (solaris_widec): Replace solaris2.[0-5]* by
wildcards which explicitly match micro versions.
* fixinc/fixincl.x: Regenerate.
2003-10-01 Richard Henderson <>
* dwarf2out.c (expand_builtin_init_dwarf_reg_sizes): Honor
* unwind-dw2.c (dwarf_reg_size_table): Expand by one.
(_Unwind_GetGR, _Unwind_SetGR): Validate lookup column.
(uw_frame_state_for): Return end-of-stack for null return address.
* config/alpha/alpha.c (alpha_sa_mask): Add r31 for eh_return.
(alpha_expand_prologue): Store a zero for it.
(alpha_expand_epilogue): Don't reload it.
* config/alpha/alpha.h (DWARF_ALT_FRAME_RETURN_COLUMN): New.
* config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Use column 64
for the sigframe return address.
2003-10-01 Nick Clifton <>
* Import this patch from mainline:
2003-02-01 John David Anglin <>
* collect2.c (pexecute_pid): Rename to pid.
(collect_wait, collect_execute, scan_prog_file, scan_libraries): Use
2003-09-23 David S. Miller <>
* config/sparc/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Undefine
before redefining.
* config/sparc/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Likewise.
2003-10-01 Eric Botcazou <>
PR optimization/11753
* config/sparc/ (length attribute) [fcc branch]: Add 1 to
the length in the non-V9 case.
2003-09-27 Eric Botcazou <>
PR optimization/12340
* loop.h (struct induction): Document the new semantics
of the 'same' field for bivs.
* unroll.c (biv_total_increment): Don't count the same
biv increment several times.
(loop_iterations) [GENERAL_INDUCT]: Likewise.
2003-09-26 John David Anglin <>
PR bootstrap/12358
* pa.c (output_bvb): Fix typo.
2003-09-24 Alexandre Oliva <>
* cpplib.c (do_pragma): Reintroduce cb_line_change call in the
code path that calls a handler.
2003-09-23 Geoffrey Keating <>
* config/t-darwin (crt2.o): Add stmp-int-hdrs to dependencies.
* config/rs6000/rs6000.c (function_arg_pass_by_reference): Don't
pass zero-size arrays by reference.
(rs6000_va_arg): Likewise.
2003-09-22 Joel Sherrill <>
* combine.c, config/mips/t-elf, config/c4x/rtems.h: Revert patches
which should not have been committed with other RTEMS changes.
2003-09-22 Olivier Hainque <>
PR target/9786
* reg-stack.c (convert_regs_1): Purge possible dead eh edges
after potential deletion of trapping insn. Avoids later ICE
from call to fixup_abnormal_edges.
(convert_regs_2): Stack the current block successors before
processing this block, that is, before the potential deletion of
dead edges by convert_regs_1, because these edges have been used
to initialize the predecessors count.
2003-09-21 Eric Botcazou <>
PR target/12301
* reorg.c (stop_search_p): Return 1 for insns that can
throw internally.
2003-09-19 Joel Sherrill <>
* config/m68k/t-m68kbare, config/m68k/t-rtems: Change 68681 to
2003-09-19 Ralf Corsepius <>
* config/m68k/t-rtems (m68k-*-rtems*): New.
* config.gcc: Use config/m68k/t-rtems.
2003-09-19 Ralf Corsepius <>
* config/mips/t-rtems: New.
* config.gcc (mips*-*-rtems*): Use config/mips/t-rtems.
2003-09-19 T. Papadopoulo <>
Eric Botcazou <>
PR target/12166
* config/sparc/sol2-c1.asm (start): Set __Argv if GCRT1.
2003-09-18 Mark Mitchell <>
PR target/11184
* builtins.c (expand_builtin_apply): Use convert_memory_address
before returning the value.
2003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* (gcc_cv_as_hidden): Only disable if no GNU ld
* configure: Regenerate.
Fixes PR target/12248.
2003-09-17 Richard Henderson <>
* config/alpha/alpha.c (alpha_expand_mov): Do gen_movdi_er_maybe_g
always during initial code generation.
* config/alpha/ (movdi_er_maybe_g): Don't conditionalize
on flag_inline_functions.
2003-09-17 Eric Botcazou <>
PR optimization/11646
* cfgrtl.c (purge_dead_edges) [JUMP_INSN]: Rematerialize the
EDGE_ABNORMAL flag for EH edges.
* toplev.c (rest_of_compilation): Delete unreachable blocks
if dead edges were purged after the first CSE pass.
2003-09-16 Jakub Jelinek <>
* config/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
* config/alpha/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
* config/arm/linux-elf.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
* config/rs6000/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
* config/rs6000/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
* config/sh/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
* config/sparc/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
* config/sparc/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
2003-09-15 Alexandre Oliva <>
* cpplib.c (do_pragma): Remove unnecessary cb_line_change.
2003-09-14 Alexandre Oliva <>
* cppmain.c (cb_line_change): Revert 2003-08-04's change.
* c-lex.c (cb_line_change): Skip line changing whenever
cppmain.c would.
2003-09-11 Alexandre Oliva <>
PR fortran/11522
* dwarf2out.c (gen_inlined_subroutine_die): Emit abstract function
for ultimate origin even if block is abstract.
2003-09-10 Martin Husemann <>
PR target/11965
* config/sparc/sparc.c (sparc_v8plus_shift): Protect against
constants greater than 63.
* config/sparc/ (ashlsi3, ashrsi3, lshrsi3): Protect
against constants greater than 31.
(*ashldi3_sp64, *ashrdi3_sp64, *lshrdi3_sp64): Protect against
constants greater than 63.
2003-09-09 Richard Henderson <>
PR target/12224:
* config/ia64/ia64.c (ia64_expand_move): Properly truncate
result when op0 is SImode.
2003-09-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* (gcc_cv_as_ix86_cmov_sun_syntax): Check if
assembler supports Sun syntax for cmov.
* configure: Regenerate.
* Li{ewise.
* config/i386/i386.c: Rename CMOV_SUN_AS_SYNTAX to
* config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Remove.
Fixes PR target/12101.
2003-09-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* (gcc_cv_as_hidden): Disable unless using GNU ld.
* configure: Regenerate.
2003-09-08 Mark Mitchell <>
* (libcc.a): Depend on stmp-dirs.
(libgov.a): Likewise.
(libgcc_eh.a): Likewise.
2003-09-07 Eric Botcazou <>
PR target/11689
* config/i386/i386.c (memory_address_length): Fix computation when
the base is esp or ebp.
2003-09-07 Mark Mitchell <>
PR c++/11852
* varasm.c (initializer_constant_valid_p): Correct logic for
Sun Sep 7 14:53:36 CEST 2003 Jan Hubicka <>
* cfgcleanup.c (try_simplify_condjump): Fix again the preivous patch.
2003-09-07 Christian Ehrhardt <>
PR optimization/11662
Backport from mainline:
2003-07-10 Denis Chertykov <>
Richard Kenner <>
* combine.c (gen_binary): Handle the CLOBBER rtx and
don't build a binary operation with it.
Sat Sep 6 23:16:35 CEST 2003 Jan Hubicka <>
* cfgcleanup.c (try_simplify_condjump): Fix my previous patch.
PR target/12070
* calls.c (emit_library_call_value_1): Fix saving of BLKmode arguments.
PR opt/12082
* cfgcleanup.c (try_simplify_condjump): Avoid unreachable code warning.
2003-09-06 Steven Bosscher <>
PR c/9862
* c-decl.c (c_expand_body): Move return warning from here...
(finish_function): here.
2003-09-05 Jan Hubicka <>
PR target/8869
* expr.c (convert_modes): Deal properly with integer to vector
constant conversion.
2003-09-05 Andrew Pinski <>
PR c/10962
* c-decl.c (field_decl_cmp): Add back function.
(finish_struct): Sort fields if number greater than 15
and no anymous structs/unions.
2003-09-04 Jakub Jelinek <>
* config/ia64/libgcc-ia64.ver: Export _Unwind_GetBSP@@GCC_3.3.2.
* config/ia64/unwind-ia64.c (_Unwind_GetBSP): New function.
* unwind.h (_Unwind_GetBSP): New prototype.
* libgcc-std.ver: Add empty GCC_3.3.2 version.
* mkmap-symver.awk: For symbol versions with no exported symbols,
don't put anything into version script, just change all symbol
versions which inherit from it to inherit from its ancestor.
2003-09-02 Kazuhiro Inaoka <>
This is a fix for PR 10988:
* m32r.c (m32r_print_operand): Correct comment.
(m32r_expand_block_move): Correct the handling of leftover/small
(m32r_block_small_immediate_operand): New predicate.
* (movstrsi_small_internal): New pattern.
* m32r.h (PREDICATE_CODES): Add m32r_block_small_immediate_operand.
* m32r-protos.h: Add prototype for m32r_block_small_immediate_operand.
2003-08-25 Richard Henderson <>
* config/i386.i386.c (ix86_return_in_memory): Reformat. Return true
for 16-byte vector modes if sse not enabled; warn for abi change.
(ix86_value_regno): Only return xmm0 for 16-byte vector types.
2003-08-25 Zack Weinberg <>
* config.gcc (hppa*-*-hpux11*, ia64*-*-hpux*): Remove
commented-out logic to use DCE threads (if present), add
support for POSIX threads.
* config/ia64/hpux.h: Define CPP_SPEC to set appropriate
#defines for -pthread. Add -lpthread to LIB_SPEC when
-pthread. In both cases take -mt as a synonym for -pthread
for acc compatibility.
* config/pa/pa-hpux11.h: Likewise for CPP_SPEC and LIB_SPEC.
Remove old logic for DCE threads from LIB_SPEC.
* config/pa/pa64-hpux.h: Define GTHREAD_USE_WEAK to 0.
2003-08-25 Ulrich Weigand <>
* combine.c (distribute_notes): Handle REG_ALWAYS_RETURN.
2003-08-23 Jakub Jelinek <>
* c-decl.c (pushdecl): Only put decls which finish_struct will do
something about onto incomplete chain.
(finish_struct): If not removing type from incomplete
list, update prev.
2003-08-23 Alexandre Oliva <>
* cppmain.c (cb_line_change): Don't skip line changing while
parsing macro arguments in the top-level context.
2003-08-22 Mark Mitchell <>
* config/ia64/hpux.h (SUPPORTS_INIT_PRIORITY): Define to 0.
* config/ia64/ia64.c (ia64_output_mi_thunk): Support ILP32 mode.
2003-08-21 Kazu Hirata <>
PR target/11805
* config/h8300/ (two anonymous patterns): Remove.
2003-08-20 Kaveh R. Ghazi <>
* stmt.c (expand_asm_operands): Avoid string concatenation.
* tree.c (default_flag_random_seed): Avoid ISO C definition.
* varasm.c (output_constant_def): Delete unused variable.
2003-08-18 Matt Kraai <>
PR c/11207
* c-typeck.c (set_init_index): Check for negative index.
2003-08-14 Mark Mitchell <>
* version.c (version_string): Use "prerelease" not "experimental".
2003-08-11 James E Wilson <>
PR optimization/11319
PR target/10021
* alias.c (find_base_value, case REG): Return 0 not src if no base
2003-08-11 Kean Johnston <>
* fixinc/inclhack.def (sco_math): Updated test text and select trigger
according to bkorb's review.
* fixinc/inclhack.def (sco_regset): Ditto.
* fixinc/inclhack.def (AAB_svr4_replace_byteorder): Remove all mach
lines so that this file is unconditionally replaced.
* fixinc/inclhack.def (sco_string): Use ansi/string.h as the first file
to check so that the Ultrix string.h check doesnt overwrite the test
case with its replacement text.
* fixinc/fixincl.x: Regenerated
* fixinc/tests/base/math.h: Updated sco_math result text
* fixinc/tests/base/ansi/string.h: New file.
* fixinc/tests/base/sys/regset.h: Compacted result text to fewer lines.
2003-08-11 Dale Johannesen <>
* config/rs6000/ (ctrsi, ctrdi): Reenable handling of
decrement-and-branch farther away than 32 bits.
2003-08-10 Zack Weinberg <>
Backport the following changes from mainline:
2003-05-08 David Mosberger <>
* unwind-libunwind.c (_Unwind_FindEnclosingFunction): New.
2003-04-03 Richard Henderson <>
* unwind-libunwind.c (_Unwind_GetCFA): New.
2003-03-27 David Mosberger <>
* unwind-libunwind.c (uw_frame_state_for): Adjust for libunwind
v0.9 API change: replace read of UNW_REG_HANDLER with
(_Unwind_GetLanguageSpecificData): Replace read of UNW_REG_LSDA
with unw_get_proc_info().
(_Unwind_GetRegionStart): Replace UNW_REG_PROC_START with
2003-03-13 Nathanael Nerode <>
* unwind-libunwind.c: Replace "GNU CC" with "GCC".
2002-10-02 David Mosberger-Tang <>
* config/t-libunwind: Mention unwind-sjlj.c.
* unwind-libunwind.c: Change #ifdef __USING_LIBUNWIND_EXCEPTIONS__
* Move sjlj-exceptions and --enable-libunwind-exceptions
before inclusion of config.gcc, but after configuring the compiler etc.
Determine default value for --enable-libunwind-exceptions based on
whether the host has a libunwind library (not guaranteed to be correct,
but it's a reasonable first guess and can always be overridden with an
explicit --enable/disable-libunwind-exceptions.
* config.gcc: For target ia64*-*-linux*, mention t-libunwind as a
tmake_file when $use_libunwind_exceptions is enabled.
* Update comment: LIB2ADDEH is updated not just by
ia64 (e.g., config/t-linux also updates it).
* gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS]: Mention -lunwind
along with the shared version of libgcc since the latter requires
the former.
* unwind-libunwind.c: New file.
* config/t-libunwind: Ditto.
2003-08-10 Richard Henderson <>
PR target/11693
* config/ia64/ia64.c (ia64_emit_nops): Skip L slots when
padding before inline assembly.
2003-08-10 John David Anglin <>
PR c++/11712
* pa-hpux.h, pa-hpux10.h, pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define
__STDC_EXT__ when using C++ dialect.
2003-08-08 Kean Johnston <>
PR target/9877
PR target/8336
* config.gcc (sco3.2v5*): Use elfos.h and dbxelf.h in tm_file;
Eliminate need for t-sco5gas target fragment.
No longer build crt{begin,end}S.o, that were used for COFF support.
* tlink.c (recompile_files): Add missing = in putenv() calls.
* unwind-dw2.c (_Unwind_GetCFA): Correct return cast.
* config/i386/sco5.h: Major overhaul to remove all COFF support
* config/i386/t-sco5: Multilib for PIC support
* config/i386/t-sco5gas: Remove
* config/i386/i386.c: Check value as well as presence of
* doc/install.texi: Update for modern SCO instructions
* fixinc/check.tpl: Allow user to specify diff program for make check
* fixinc/inclhack.def: Fix several SCO header files, namely string.h,
math.h, sys/byteorder.h and sys/regset.h.
* fixinc/fixincl.x: Regenerate
* fixinc/tests/base/math.h: Update
* fixinc/tests/base/sys/byteorder.h: Update
* fixinc/tests/base/string.h: Added
* fixinc/tests/base/sys/regset.h: Added
* testsuite/gcc.dg/nest.c: Allow failure on SCO (-pg not supported)
2003-08-08 Roger Sayle <>
PR c/11370
* calls.c (emit_call_1): Don't bother popping the arguments off of
the stack after a noreturn function call; The adjustment is dead.
(expand_call): Likewise.
2003-08-08 SUGIOKA Toshinobu <>
* config.gcc: Do not override sh/t-linux with sh/t-le.
2003-08-08 Kaz Kojima <>
* config/sh/linux.h (SUBTARGET_LINK_SPEC): Don't set rpath.
(LIB_SPEC): Set -lpthread always when -pthread set. Set -lieee
when -mieee-fp set and -shared not set.
2003-08-08 Richard Henderson <>
PR target/11535
* config/ia64/ia64.c (ia64_initial_elimination_offset): Remove
(ia64_expand_prologue): Don't frob it.
(ia64_output_function_epilogue): Likewise.
(ia64_return_addr_rtx): New.
(ia64_split_return_addr_rtx): New.
* config/ia64/ia64-protos.h: Update.
* config/ia64/ia64.h (FIRST_PSEUDO_REGISTER): Decrement.
(GENERAL_REGNO_P): Don't check it.
(AR_*_REGNUM): Renumber.
(RETURN_ADDR_RTX): Use ia64_return_addr_rtx.
* config/ia64/ (UNSPEC_RET_ADDR): New.
(movdi_ret_addr): New.
2003-08-03 Geoffrey Keating <>
PR 11709
* varasm.c (output_constant_def_contents): Use
* doc/tm.texi (Label Output): Document ASM_DECLARE_CONSTANT_NAME.
* config/darwin.h (ASM_DECLARE_OBJECT_NAME): Ensure zero-sized
objects get at least one byte to prevent assembler problems.
2003-08-07 Mark Mitchell <>
* version.c (version_string): Reset to prerelease.
* doc/include/gcc-common.texi: Update version.
2003-08-04 Release Manager
* GCC 3.3.1 Released.
2003-08-04 Release Manager
* GCC 3.3.1 Released.
2003-08-03 Neil Booth <>
PR preprocessor/11534
* cppexp.c (parse_defined): Warn only if -pedantic.
2003-08-03 Mark Mitchell <>
(stage1_build): Likewise.
2003-08-03 Jan Hubicka <>
PR 10510
* config/pa/pa.h (MAYBE_FP_REG_CLASS_P): New.
2003-08-01 Geoffrey Keating <>
PR 11709 (partial fix)
* config/rs6000/rs6000.c (rs6000_output_function_epilogue): Don't
insert a label at the end of an function under Mach-O.
PR 11313
* c-pragma.c (maybe_apply_pragma_weak): Don't get DECL_ASSEMBLER_NAME
when it's not needed.
2003-07-29 Richard Henderson <>
PR target/10681
2003-06-27 J"orn Rennecke <>
* flow.c (propagate_one_insn): Use proper test for a register
being part of the return value.
2003-06-26 Richard Henderson <>
* flow.c (propagate_one_insn): Preserve live-at-end registers
across tail calls.
2003-06-26 Richard Henderson <>
* config/ia64/ia64.c (ia64_expand_call): Don't add ar.pfs for sibcalls.
(ia64_split_call): Only load descriptor for GP register inputs.
(ia64_expand_epilogue): Check current_frame_info.mask not
current_function_is_leaf to restore ar.pfs.
2003-07-26 Gerald Pfeifer <>
* doc/install.texi (Testing): Adjust required versions of DejaGnu.
2003-07-24 Aldy Hernandez <>
Backport the folling patch.
2003-04-01 Aldy Hernandez <>
* expr.c (expand_expr): Handle VECTOR_CST.
(const_vector_from_tree): New.
* varasm.c (output_constant): Handle VECTOR_CST.
* c-typeck.c (digest_init): Build a vector constant from a
2003-07-23 John David Anglin <>
PR target/11607 and PR target/11516
* (extzv, extv, insv): Revert latter half of last patch.
2003-07-23 Mark Mitchell <>
PR optimization/10679
* tree-inline.c (inlinable_function_p): Honor MIN_INLINE_INSNS.
2003-07-22 Bob Wilson <>
* unwind-c.c (PERSONALITY_FUNCTION): Delete duplicate define.
2003-07-23 Dave Fluri <>
* doc/extend.texi: Fixes to spelling, grammar, and diction.
2003-07-21 H.J. Lu <>
PR optimization/11599
* config/ia64/ (prefetch): Support predicate.
2003-07-17 Eric Botcazou <>
PR optimization/11536
* unroll.c (loop_iterations): Do not replace a register holding
the final value by its equivalent before the loop if it is not
2003-07-21 Ben Elliston <>
* doc/invoke.texi (V850 Options): Spelling fixes.
2003-07-21 Lisa M. Goldstein <>
* doc/invoke.texi: Fixes to style, grammar and diction.
2003-07-20 Mark Mitchell <>
PR debug/11279
* dwarf2out.c (gen_enumeration_type_die): Remember that
enumerators can be unsigned.
2003-07-19 Kelley Cook <>
* c-tree.texi: Backport changes from mainline.
* c-tree.texi: Ditto.
* collect2.texi: Ditto.
* cpp.texi: Ditto.
* cppopts.texi: Ditto.
* extend.texi: Ditto.
* fragments.texi: Ditto.
* headerdirs.texi: Ditto.
* install.texi: Ditto.
* invoke.texi: Ditto.
* md.texi: Ditto.
* portability.texi: Ditto.
* rtl.texi: Ditto.
* sourcebuild.texi: Ditto.
* trouble.texi: Ditto.
2003-07-19 Kelley Cook <>
PR optimization/4490
* doc/invoke.texi (m96bit-long-double, m128bit-long-double): Reword
documentation to accurately reflect what these options do.
2003-07-18 Richard Henderson <>
David S. Miller <>
PR target/11556
* optabs.c (prepare_operand): Fail gracefully instead of abort
if the predicate doesn't satisfy.
(gen_cond_trap): Allow prepare_operand to fail.
Pass correct opnum argument to prepare_operand.
2003-07-18 Eric Botcazou <>
PR optimization/11083
* toplev.c (rest_of_compilation): Delete unreachable blocks
if dead edges were purged after the addressof pass.
2003-07-17 Mark Mitchell <>
PR optimization/11557
* calls.c (flags_from_decl_or_type): Do not set ECF_LIBCALL_BLOCK
unless we know which function is being called.
2003-07-17 Nathanael Nerode <>
PR bootstrap/11043
* config/arc/t-arc: Replace bogus references to "x-crtinit.o",
"x-crtfini.o" with "crtinit.o", "crtfini.o".
2003-07-17 Eric Botcazou <>
PR other/11466
* doc/invoke.texi (SPARC Options): Document "-mlittle-endian"
and its restrictions for the SPARC64 port.
Backport from mainline:
2003-06-13 Florian Weimer <>
* doc/invoke.texi (SPARC Options): Document "-mimpure-text".
2003-07-17 Eric Botcazou <>
Phil Edwards <>
* doc/install.texi (*-*-solaris2*): Document the step-by-step
procedure to bootstrap and install.
Document the preference for the legacy Sun tools in /usr/bin
over the POSIX tools in /usr/xpg4/bin for the build process.
2003-07-16 Richard Henderson <>
PR target/10907
* config/ia64/ia64.c (ia64_epilogue_uses): GP is live at end
even with !TARGET_CONST_GP.
(ia64_function_ok_for_sibcall): Reject non-local functions.
2003-07-15 Geoffrey Keating <>
* config/darwin.c (machopic_select_section): Use decl_readonly_section
to do most of the work.
2003-07-15 David S. Miller <>
* config/sparc/sparc.c (sparc_nonflat_function_epilogue): Only
emit nop if the last real insn is CALL_INSN.
2003-07-15 Loren James Rittle <>
* config/i386/freebsd.h (SET_ASM_OP): Remove.
2003-07-15 Mark Mitchell <>
PR debug/11473
* dbxout.c (dbxout_type): Use TYPE_SIZE to determine the sizes of
base classes.
2003-07-15 James A. Morrison <>
* doc/include/texinfo.tex: Upgrade to texinfo 4.6.
2003-07-15 Eric Botcazou <>
PR optimization/11320
* sched-int.h (struct deps) [reg_conditional_sets]: New field.
(struct sched_info) [compute_jump_reg_dependencies]: New prototype.
* sched-deps.c (sched_analyze_insn) [JUMP_INSN]: Update call to
current_sched_info->compute_jump_reg_dependencies. Record which
registers are used and which registers are set by the jump.
Clear deps->reg_conditional_sets after a barrier.
Set deps->reg_conditional_sets if the insn is a COND_EXEC.
Clear deps->reg_conditional_sets if the insn is not a COND_EXEC.
(init_deps): Initialize reg_conditional_sets.
(free_deps): Clear reg_conditional_sets.
* sched-ebb.c (compute_jump_reg_dependencies): New prototype.
Mark registers live on entry of the fallthrough block and conditionally
set as set by the jump. Mark registers live on entry of non-fallthrough
blocks as used by the jump.
* sched-rgn.c (compute_jump_reg_dependencies): New prototype.
Mark new parameters as unused.
2003-07-14 Mark Mitchell <>
PR debug/11098
* integrate.c (copy_decl_for_inlining): Do not mark copied decls
2003-07-14 Franz Sirl <>
PR optimization/11440
* gcse.c (try_replace_reg): Don't attach notes to ZERO_EXTRACT or
2003-07-13 Aaron W. LaFramboise <>
* config/i386/gthr-win32.c (__GTHREAD_HIDE_WIN32API): Define to 1.
2003-07-13 Roger Sayle <>
PR optimization/11059
* expr.c (can_store_by_pieces): Return true if length is zero.
(store_by_pieces): Do nothing if length is zero.
(clear_by_pieces): Do nothing if length is zero.
(clear_storage): Do nothing if length is zero.
(store_constructor): Simplify code when size is zero, or the
target has already been cleared. This avoids emitting a
blockage instruction when initializing empty structures.
2003-07-13 Richard Henderson <>
* libgcc-std.ver (GCC_3.3.1): Export __gcc_personality_sj0,
2003-07-11 Dara Hazeghi <>
PR optimization/10877
* doc/install.tex: Update required binutils for i?86-*-linux*
2003-07-11 Ben Elliston <>
PR c++/1607
* doc/extend.texi (Function Attributes): Document the effect of
the C++ "this" parameter on the counting of arguments for the
"format" and "format_arg" attributes.
2003-07-11 Danny Smith <>
Backport from mainline.
2003-05-13 Richard Henderson <>
* c-decl.c (duplicate_decls): Re-invoke make_decl_rtl if
the old decl had instantiated DECL_RTL.
2003-05-21 Danny Smith <>
PR c++/9738
* config/i386/winnt.c (i386_pe_encode_section_info): Enable
even if not first.
2003-07-04 Danny Smith <>
PR c++/5287, PR c++/7910, PR c++/11021
* config/i386/winnt.c (ix86_handle_dll_attribute): Don't add
dllimport attribute if function is defined at declaration, but
report error instead. Likewise for dllimport'd variable
definitions. Set implicit TREE_PUBLIC for dllimport'd variables
declared within functions, Report error if dllimport or dllexport
symbol is not global.
(i386_pe_dllimport_p): Ignore dllimport attribute of functions
if defined after declaration or if inlined. Don't allow definition
of static data members of C++ classes. Don't dllimport virtual
(i386_pe_mark_dllexport): Warn about inconsistent dll attributes.
(i386_pe_mark_dllimport): Remove unnecessary checks.
(i386_pe_encode_section_info): Warn if the dllimport attribute
and symbol prefix have been instantiated and then overridden.
* doc/extend.texi: Document dllimport and dllexport attributes.
2003-07-10 James E Wilson <>
PR optimization/9745
* loop.c (loop_iv_add_mult_emit_before): Call loop_regs_update before
(loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
2003-07-10 Dara Hazeghi <>
PR bootstrap/10758
* doc/install.texi: Document requirements for ia64-*-hpux* target.
2003-07-09 Mark Mitchell <>
PR c++/10032
* doc/invoke.texi (C++ Dialect Options): Change documentation of
2003-07-10 Matt Kraai <>
* doc/invoke.texi: Fix misspelling of "@item".
2003-07-09 Hans-Peter Nilsson <>
* doc/install.texi (Configuration): Document the valgrind option
to --enable-checking.
2003-07-08 John David Anglin <>
PR Target/11453
* Disparage all mtsar constraints.
(extzv, extv, insv): Don't fail on length of {32|64}.
2003-07-08 James E Wilson <>
PR target/10021
* emit-rtl.c (set_mem_attribute_minus_bitpos): When handle ARRAY_REF,
loop over new variable t2 instead of t.
2003-07-08 Stephane Carrez <>
* config/m68hc11/m68hc11.h (HAVE_AS_DWARF2_DEBUG_LINE): Don't define
as .file/.loc directives are incompatible with linker relaxation.
2003-07-08 Jakub Jelinek <>
PR c/11420
* config/i386/i386.c (ix86_check_movabs): New function.
* config/i386/i386-protos.h (ix86_check_movabs): New prototype.
* config/i386/ (movabs[shqd]i_1_rex64): Kill broken alternative.
(movabs[shqd]i_[12]_rex64): Add ix86_check_movabs check to conditions.
* config/i386/ (movdi_1_rex64): Set Y<-m alternative's type
to ssemov.
2003-07-08 Jakub Jelinek <>
* unroll.c (reg_dead_after_loop): Check for reg in REG_EQUAL and
REG_EQUIV notes as well.
2003-07-07 Dale Johannesen <>
PR 10900
* config/rs6000/darwin-tramp.asm: Fix trampolines.
2003-07-07 Andrew Pinski <>
PR optimization/11368
* doc/invoke.texi (-falign-functions): Document that
when n is zero then a machine-dependent default is used.
(-falign-labels): Document that when n is zero then a
machine-dependent default is used and that -falign-labels =1
is equivalent to -fno-align-labels.
(-falign-loops): Likewise.
(-falign-jumps): Likewise.
2003-07-07 Richard Kenner <>
Eric Botcazou <>
PR optimization/11198
* alias.c (objects_must_conflict_p): Return 1 if the types have
the same alias set, not if the alias sets only conflict.
2003-07-06 Matthias Klose <>
Backport from mainline:
2003-07-04 Zack Weinberg <>
* doc/extend.texi: Delete entire section on multiline strings.
2003-07-04 H.J. Lu <>
* Replace PWD with PWD_COMMAND.
2003-07-03 Eric Botcazou <>
PR optimization/11304
Backport from mainline:
2003-04-18 Richard Kenner <>
* cfgcleanup.c (flow_find_cross_jump): Use INSN_P, not active_insn_p.
2003-07-03 Roger Sayle <>
PR target/10700
* fold-const.c (extract_muldiv_1): There's nothing that can be done
if the expression is a SAVE_EXPR.
2003-07-03 Eric Botcazou <>
PR optimization/11381
* simplify-rtx.c (simplify_relational_operation): Check that
two equal operands have no side-effects before simplifying
the comparison.
2003-07-01 Zack Weinberg <>
PR 2873
* fixinc/inclhack.def (avoid_wchar_t_type): Add bypass
expressions to prevent triggering on recent curses.h,
linux/nls.h, or X11/Xlib.h.
(stdio_va_list): Add _G_va_list to bypass pattern.
(strict_ansi_not): Add bypass pattern for __SCO_VERSION__.
* fixinc/fixincl.x: Regenerate.
2003-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* fixinc/inclhack.def (irix_stdio_va_list): Apply to IRIX 6.5
<internal/stdio_core.h> too.
(stdio_va_list): Apply to IRIX 6.5 <internal/stdio_core.h> and
<internal/wchar_core.h> too.
Substitute va_list uses in inline definition.
* fixinc/fixincl.x: Regenerate.
2003-07-01 Richard Henderson <>
(blame to: Loren James Rittle <>)
* real.h (ieee_extended_intel_96_round_53_format): New.
* real.c (ieee_extended_intel_96_round_53_format): New.
* config/i386/freebsd.h (SUBTARGET_OVERRIDE_OPTIONS): Use it
for XFmode and TFmode.
2003-07-01 Kazu Hirata <>
* doc/contrib.texi: Fix typos.
* doc/sourcebuild.texi: Likewise.
2003-06-27 Gunther Nikl <>
PR target/11014
* config/m68k/m68k.c (m68k_output_mi_thunk): Use correct assembly
syntax for MIT / MOTOROLA.
2003-06-27 Ulrich Weigand <>
* config/s390/s390.h (SECONDARY_OUTPUT_RELOAD_CLASS): Define.
* config/s390/s390.c (s390_secondary_output_reload_class): New function.
* config/s390/s390-protos.h (s390_secondary_output_reload_class):
Declare it.
* config/s390/ ("reload_outti", "reload_outdi",
"reload_outdf"): New expanders.
* config/s390/ ("movti" + splitters): Handle non-offsettable
memory operands as source.
("movdi" + splitters): Likewise.
("movdf" + splitters): Likewise.
* config/s390/s390.c (s390_split_ok_p): New function.
* config/s390/s390-protos.h (s390_split_ok_p): Declare it.
2003-06-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* config/mips/ (trap): Use break 0 when !TARGET_GAS.
* config/mips/iris6-o32.h (MIPS_ISA_DEFAULT): Remove.
(MIPS_CPU_STRING_DEFAULT): Redefine to mips2.
* config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
!TARGET_IRIX6]: Define as NULL.
* config/mips/iris5gas.h (MDEBUG_ASM_SPEC): Override to match
DWARF 2 default.
* config/mips/dbxmdebug.h: New file.
* config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it with
gas and --with-stabs.
2003-06-27 Andreas Schwab <>
* config.gcc (m68k-*-linux*): Don't override extra_parts and
gnu_ld, use the generic *-*-linux* settings instead.
2003-06-26 Roger Sayle <>
PR optimization/11054
* rtlanal.c (reg_overlap_mentioned_p): Handle ZERO_EXTRACT
2003-06-25 Zack Weinberg <>
PR bootstrap/3163
* Check for sys/mman.h and mmap in AC_CHECK_HEADERS
and AC_CHECK_FUNCS lists, respectively. Use
* configure, Regenerate.
* ggc-page.c (init_gcc): Call fatal_io_error, not abort,
if opening /dev/zero fails.
2003-06-25 Roger Sayle <>
* builtins.c (expand_builtin_strcpy): Construct new argument list
manually instead of using chainon to modify the original arglist.
(expand_builtin_strcmp): Likewise.
2003-06-25 David O'Brien <>
* config/i386/i386.h (builtin_define): Remove duplicate __amd64
and __amd64__.
2003-06-25 Dhananjay Deshpande <>
* config/sh/sh.c (sh_register_move_cost):
Add case for moving between MAC_REGS.
2003-06-24 Jerry Quinn <>
PR other/11280
* gcc/doc/invoke.texi (Optimization Options): Remove -Os from
-freorder-functions description.
2003-06-25 Richard Sandiford <>
PR target/11084
* config/mips/mips.c (mips_expand_prologue): Fix setting of regno
for the end of a variable argument list.
2003-06-25 Josef Zlomek <>
* dwarf2out.c (gen_field_die): Return if type of decl is error mark.
2003-06-24 Falk Hueffner <>
PR target/11260
* config/alpha/ (sqrtdf2): Fix operand substitution.
2003-06-24 Jakub Jelinek <>
* builtins.c (expand_builtin_strcpy): Don't evaluate side-effects in
src twice.
2003-06-23 Jakub Jelinek <>
* config/s390/s390.c (s390_output_mi_thunk): Avoid .plt in -m31
mode, as it requires pic register loaded.
2003-06-23 Kazu Hirata <>
* doc/extend.texi: Fix typos.
* doc/md.texi: Likewise.
2003-06-23 Roger Sayle <>
Gerald Pfeifer <>
* doc/contrib.texi (Contributors): Add a note on testing and
remove duplicates from testers list.
2003-06-23 Kazu Hirata <>
* doc/invoke.texi: Document dump options, dT and dW.
2003-06-23 Andreas Schwab <>
* doc/invoke.texi: Remove leading `-' from options in index.
2003-06-22 Kazu Hirata <>
* doc/invoke.texi: Document dump, .cfg.
2003-06-22 Kazu Hirata <>
* doc/invoke.texi: Alphabetize dump options.
2003-06-22 Kazu Hirata <>
* doc/invoke.texi: Remove a duplicate -dk.
2003-06-22 Kazu Hirata <>
* doc/rtl.texi: Fix the @findex for pre_modify.
Sat Jun 21 13:37:52 CEST 2003 Jan Hubicka <>
* i386.c (ix86_va_arg): Fix allocation of temporary slot.
2003-06-21 Gerald Pfeifer <>
* doc/contrib.texi (Contributors): Use Windows instead of Win32.
Update Andreas Jaeger's entry.
Merge the two entries of Kaveh Ghazi, David Edelsohn, and
Loren J. Rittle.
2003-06-20 Geoffrey Keating <>
PR c++/9393
* doc/invoke.texi (Debugging Options): Document -frandom-seed.
* Check for gettimeofday.
* tree.c (flag_random_seed): Define.
(default_flag_random_seed): New.
(append_random_chars): Use flag_random_seed rather than trying
to acquire randomness here.
* tree.h (default_flag_random_seed): Declare.
* toplev.c (display_help): Add -frandom-seed and -fstack-limit-*
(decode_f_option): Handle -frandom-seed.
(print_switch_values): Call default_flag_random_seed.
* flags.h (flag_random_seed): Declare.
* configure: Regenerate.
* Regenerate.
2003-06-20 Mark Mitchell <>
PR c++/10888
* tree-inline.c (expand_call_inline): Do not warn about failing to
inline functions declared in system headers.
* doc/invoke.texi (-Winline): Expand on documentation.
2003-06-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* (gcc_cv_as_gstabs_flag): Disable if assembler warns.
* configure: Regenerate.
Fixes PR driver/9362.
2003-06-19 Vladimir Makarov <>
* haifa-sched.c (max_isse): Backport from the mainline.
(choice_entry): New structure.
(choice_stack, cycle_issued_insns, max_lookahead_tries,
cached_first_cycle_multipass_dfa_lookahead, cached_issue_rate):
New variables.
(choose_ready): Calculate max_lookahead_tries. Initiate
(schedule_block): Allocate/deallocate choice_stack. Change
cycle_issued_insns value as necessary.
(sched_init): Check cached_issue_rate.
2003-06-20 Daniel Egger <>
Gerald Pfeifer <>
* doc/install.texi (Building): Correct and improve statement
about parallel builds.
2003-06-20 Eric Botcazou <>
* doc/install.texi (--with-gnu-as): Mention SPARC/Solaris and
SPARC64/Solaris as platforms where --with-gnu-as makes a difference.
(--with-as): Add @anchor.
(--with-gnu-ld): Fix typo.
(--with-ld): Add @uref to --with-as.
2003-06-19 Kazu Hirata <>
* flow.c (initialize_uninitialized_subregs): Use
emit_move_insn instead of emitting a hardcoded move.
2003-06-19 David Edelsohn <>
* config/rs6000/rs6000.c (init_cumulative_args): Limit CALL_LIBCALL
to ABI_V4.
2003-06-19 DJ Delorie <>
PR preprocessor/11022
* cppmacro.c (warn_of_redefinition): Handle cases where the two
definitions have different numbers of tokens.
2003-06-18 Richard Henderson <>
* config/ia64/unwind-ia64.c (_Unwind_GetCFA): New.
(_Unwind_FindEnclosingFunction): Implement.
2003-06-18 Franz Sirl <>
* config/rs6000/rs6000.c (init_cumulative_args): Add and handle LIBCALL
(function_arg): Handle CALL_LIBCALL flag.
* config/rs6000/rs6000-protos.h (init_cumulative_args): Update
* config/rs6000/rs6000.h (CALL_LIBCALL): New macro.
2003-06-17 Jason Merrill <>
PR c++/10929
* tree-inline.c (expand_call_inline): Don't warn about failing to
inline a function which was made inline by -finline-functions.
2003-06-17 Ranjit Mathew <>
* install.texi (Testing): Add information on how to run Java
runtime tests separately.
2003-06-17 Christopher Faylor <>
* doc/install.texi: Add msvc rebuild caveat.
2003-06-17 Kazu Hirata <>
* doc/contrib.texi: Replace Hitachi with Renesas.
* doc/install.texi: Likewise.
* doc/invoke.texi: Likewise.
2003-06-17 Franz Sirl <>
* config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Partly revert
2003-01-23 patch. Corrected to handle kernels with changed ucontext.
* config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Error on invalid
-msdata=eabi usages.
2003-06-14 Richard Earnshaw <>
PR optimization/10842
From trunk:
2003-01-20 Nick Clifton <>
* config/arm/ (sibcall_epilogue): Add an
UNSPEC_PROLOGUE_USE to prevent the link register from being
considered dead.
2003-02-02 Richard Earnshaw <>
* (sibcall_epilogue): Set the "conds" to "clob".
(epilogue_insns): Likewise.
2003-06-14 Richard Earnshaw <>
PR target/11183
* arm.c (output_move_double): Pass SImode to adjust_address.
2003-06-13 Janis Johnson <>
* doc/install.texi (m32r-*-elf): Change company to Renesas.
2003-06-13 Richard Earnshaw <>
* arm.c (output_call_mem): If the address references the link-register
use an instruction sequence that avoids early-clobbering IP.
(eliminate_lr2ip): Delete.
2003-06-12 Richard Henderson <>
PR target/11089
* config/i386/ (sse_movaps): Use an expander to force
one operand to be a register.
(sse_movups): Likewise.
2003-06-12 Richard Henderson <>
PR middle-end/10557
* rtlanal.c (subreg_offset_representable_p): Relax subreg check.
2003-06-13 Eric Botcazou <>
Christian Ehrhardt <>
PR target/10142
* config/sparc/sparc.c (function_arg_record_value_parms): Add
new 'stack' field.
(function_arg_record_value_1): Set 'stack' to 1 if we run out of
integer slots for an integer field.
(function_arg_record_value_3): Shift vector index.
(function_arg_record_value_2): Likewise.
(function_arg_record_value): Initialize 'stack' to 0.
Set 'stack' to 1 if we run out of integer slots for an integer field.
Generate (parallel [(expr_list (nil) ...) ...]) if 'stack' is set to 1.
2003-06-13 Eric Botcazou <>
PR optimization/10955
* unroll.c (unroll_loop): Fix off-by-one bug.
2003-06-12 Richard Henderson <>
PR middle-end/10475
* expmed.c (emit_store_flag): Use simplify_gen_subreg directly
for extracting sub-words.
2003-06-12 Richard Henderson <>
PR target/7594
* config/m68k/ (zero_extendhisi2): Use gen_lowpart_SUBREG.
(zero_extendqihi2, zero_extendqisi2): Likewise.
2003-06-12 Richard Henderson <>
PR inline-asm/4823
* reg-stack.c (any_malformed_asm): New.
(check_asm_stack_operands): Set it.
(convert_regs_1): Check it before aborting.
2003-06-12 Jakub Jelinek <>
* c-decl.c (c_expand_body): Save input_filename and lineno,
set it before tree inlining and restore before return.
2003-06-12 Ulrich Weigand <>
* config/s390/s390.c (s390_emit_prologue): Use LA instead of AR
to initialize GOT register.
2003-06-12 Jakub Jelinek <>
* c-opts.c (complain_wrong_lang): Add on argument.
Print no- switch if on is false.
(c_common_decode_option): Adjust caller.
2003-06-11 Richard Henderson <>
* stmt.c (expand_asm_operands): Don't warn for memories with
queued addresses.
2003-06-11 Andrew Pinski <>
PR target/8787
* config/i386/djgpp.h (ASM_FILE_START): emit `.intel_syntax'
if -masm=intel.
2003-06-10 Andrew Haley <>
* langhooks-def.h (LANG_HOOKS_DECL_OK_FOR_SIBCALL): New.
(lhd_decl_ok_for_sibcall): New.
* langhooks.c (lhd_decl_ok_for_sibcall): New.
* langhooks.h (lang_hooks_for_decls.ok_for_sibcall): New field.
* calls.c (expand_call): Check lang_hook before generating a
2003-06-09 Richard Henderson <>
2003-05-11 Ulrich Weigand <>
* except.c (EH_RETURN_STACKADJ_RTX): Do not define.
(expand_builtin_eh_return): Do not copy stack adjustment
if EH_RETURN_STACKADJ_RTX is not defined.
(expand_eh_return): Likewise. Also, do not pass stack
adjustment as argument to the eh_return pattern.
* except.h (MUST_USE_SJLJ_EXCEPTIONS): Do not define just
because EH_RETURN_STACKADJ_RTX is not defined.
* unwind-dw.c (uw_update_context_1): If EH_RETURN_STACKADJ_RTX
is not defined, treat stack pointer like a regular register.
(uw_init_context_1): Set up fake initial stack pointer register.
(uw_install_context_1): Do not compute stack adjustment if
EH_RETURN_STACKADJ_RTX is not defined.
* config/i386/ ("eh_return"): Remove first argument.
* config/mips/ ("eh_return"): Likewise.
* config/rs6000/ ("eh_return"): Likewise.
* config/sh/ ("eh_return"): Likewise.
* config/s390/s390.h (EH_RETURN_STACKADJ_RTX): Remove.
2003-06-08 Richard Henderson <>
* stmt.c (expand_asm_operands): Re-word warning.
2003-06-08 Richard Henderson <>
* expr.h (EXPAND_MEMORY): New.
* expr.c (expand_expr): Check it.
* stmt.c (expand_asm_operands): Provide it when the constraint
requires a memory. Warn for memory input constraints without
a memory operand.
2003-06-07 Richard Henderson <>
* c-common.c (cb_register_builtins): Define __EXCEPTIONS for C also.
2003-06-07 Kelley Cook <>
* (HAVE_LD_RO_RW_SECTION_MIXING): Remove quotes in
section names.
* configure: Regenerate.
2003-06-07 Alan Modra <>
* config/rs6000/linux64.h (CRT_CALL_STATIC_FUNCTION): Define.
2003-06-06 James E Wilson <>
PR inline-asm/10890
* reload1.c (merge_assigned_reloads): Abort only if two reloads have
different in fields.
2003-06-06 Richard Earnshaw <>
PR target/11052
* ifcvt.c (noce_process_if_block): Fail if the destination has
2003-06-06 Dan Kegel <>
Kaz Kojima <>
PR target/10331
* config/sh/t-linux (STMP_FIXPROTO): Define.
PR target/11096
* config/sh/linux.h (CPLUSPLUS_CPP_SPEC): Redefine so to include
2003-06-05 David Miller <>
Richard Henderson <>
* optabs.c (HAVE_conditional_trap): Provide default.
(gen_conditional_trap): Likewise.
(init_optabs): Merge init_traps.
(gen_cond_trap): Use prepare_operand. Restructure and avoid ifdef.
2003-06-05 Eric Botcazou <>
* doc/md.texi (Machine Constraints): Correct the meaning of
constraints related to floating-point registers on SPARC.
2003-06-05 Eric Botcazou <>
Paolo Bonzini <>
PR target/10663
assembler and linker output to /dev/null.
Use a 'sed' construct instead of 'grep -A1'.
* configure: Regenerate.
2003-06-04 David Edelsohn <>
* doc/install.texi (*-ibm-aix*): Native as and ld required
to bootstrap on AIX 5L.
2003-06-04 Richard Henderson <>
* c-common.c (handle_cleanup_attribute): New.
(c_common_attributes): Add it.
* c-decl.c (finish_decl): Honor the cleanup attribute.
* doc/extend.texi (Variable Attributes): Document it.
* unwind-c.c: New file.
* (LIB2ADDEH): Add it.
* config/t-darwin, config/t-linux, config/t-linux-gnulibc1,
config/ia64/t-ia64: Likewise.
2003-06-04 Eric Botcazou <>
PR optimization/11018
* config/sparc/sparc.c (sparc_v8plus_shift): Use which_alternative
consistently to decide whether the scratch register is really
2003-06-04 Eric Botcazou <>
PR optimization/10876
* config/sparc/sparc.h (CONST_OK_FOR_LETTER): Add
new 'O' constraint for constant 4096.
* config/sparc/ (adddi3 expander): Canonicalize pattern.
Do not transform into MINUS insn for constant 4096.
(*adddi3_sp64 insn): Canonicalize pattern. Add new alternative
for constant 4096 as third operand.
(addsi3 expander): Remove.
(*addsi3 insn): Rename into 'addsi3'. Canonicalize pattern. Add
new alternative for constant 4096 as third operand.
(subdi3 expander): Do not transform into PLUS insn for constant 4096.
(*subdi3_sp64 insn): Add new alternative for constant 4096 as third
(subsi3 expander): Remove.
(*subsi3 insn): Rename into 'subsi3'. Add new alternative for
constant 4096 as third operand.
* doc/md.texi (Machine Constraints): Document new 'O' constraint for
the SPARC port.
2003-06-03 Richard Henderson <>
* (_Unwind_Resume_or_Rethrow): Fix return type.
* unwind.h (_Unwind_Resume_or_Rethrow): Update.
(_Unwind_SjLj_Resume_or_Rethrow): Likewise.
2003-06-03 Douglas B Rupp <>
* (TEXI_GCC_FILES): Remove vms.texi entry.
* doc/gcc.texi: Remove vms.texi section.
* doc/vms.texi: Remove obsolete file.
2003-06-03 Richard Henderson <>
PR target/10673
* config/i386/i386.c (ix86_split_long_move): Fix base register
mode for XFmode splits for TARGET_64BIT.
2003-06-02 Kazuhiro Inaoka <>
* gcc/config.gcc Add support multilib parts for m32rx processor.
2003-06-01 Eric Botcazou <>
PR target/11044
* config/i386/ (length attribute): Set length to 4
for instructions of type "fcmp".
2003-06-01 Josef Zlomek <>
* rtl.def (CONST_DOUBLE): Update comment.
2003-06-01 Seth Arnold <>
Aldy Hernandez <>
* config/rs6000/rs6000.c (rs6000_stack_info): Do not add
vrsave_size twice.
2003-05-31 Eric Botcazou <>
* doc/install.texi (mips-sgi-irix5): Add missing
HTML <hr> marker.
2003-05-31 Eric Botcazou <>
* doc/md.texi (Machine Constraints): Document
missing SPARC constraints.
2003-05-31 Eric Botcazou <>
* doc/md.texi (Automaton pipeline description): Use
"type" instead of "cpu" as the attribute in the examples.
2003-05-30 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Move
-mdebug/-no-mdebug switches ...
(MDEBUG_ASM_SPEC): ... here.
Use only with gas.
(EXTRA_SPECS): Initialize mdebug_asm_spec.
(CONSTANT_ADDRESS_P): Allow native IRIX 6 O32 assembler.
2003-05-29 Gabriel Dos Reis <>
* diagnostic.h (output_verbatim): Remove printf attribute.
(verbatim): Likewise.
* diagnostic.c (output_pointer): New function.
(output_format): Use it. Handle %p format specifier.
2003-05-27 Denis Chertykov <>
* cselib.c (cselib_invalidate_regno): Abort if hardreg have a
* cselib.c (cselib_process_insn): Pass reg_raw_mode for hardreg in
call of cselib_invalidate_regno.
2003-05-25 Gerald Pfeifer <>
* doc/contrib.texi (Contributors): Update Kean Johnston.
Fri May 23 21:19:31 CEST 2003 Jan Hubicka <>
Andreas Jaeger <>
* i386.h (TARGET_CPU_CPP_BUILTINS): Define __amd64 and __amd64__;
do not use assertion.
Fri May 23 20:55:39 CEST 2003 Jan Hubicka <>
* (sse_loadss, sse_loadss_1, sse2_loadsd, sse2_loadsd_1):
2003-05-23 Eric Botcazou <>
* doc/install.texi: Remove sparc64-*-*. Add sparc64-*-solaris2*.
Document sparcv9-*-solaris2* as a synonym for sparc64-*-solaris2*.
2003-05-22 Eric Botcazou <>
PR bootstrap/10805
* doc/install.texi (sparc-sun-solaris2.7): Document bootstrap
failure with Sun assembler 5.0 Alpha 03/27/98.
2003-03-21 Loren James Rittle <>
* config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Add -D__sparcv9
-D__sparc__ to match system compiler convention.
2003-05-20 Kevin Ryde <>
Wolfgang Bangerth <>
PR c/10355
* doc/extend.texi: Put a warning into the documentation
of attribute regparm.
2003-05-20 Ulrich Weigand <>
* config/s390/ ("*iordi3_oi"): Do not mark commutative.
("*iorsi3_oi"): Likewise.
2003-05-19 John David Anglin <>
* pa/milli64.S ($$mulI): Fix typo.
2003-05-19 Gabriel Dos Reis <>
* hashtable.h (struct ht_identifier): Add new field "hash_value".
* hashtable.c (ht_lookup): Use it.
(ht_expand): Likewise. Avoid doing the same computation twice.
* tree.h (IDENTIFIER_HASH_VALUE): New macro.
2003-05-19 Nick Clifton <>
* config/arm/arm.c (use_return_insn): Do not use a single return
instruction for interrupt handlers which have to create a stack
(arm_expand_prologue): Do not pre-bias the return address of
interrupt handlers which create a stack frame.
2003-05-19 Eric Botcazou <>
Backport from mainline:
2003-05-10 Alexander Aganichev <>
* config/i386/i386.h (MODES_TIEABLE_P): Fix typo.
2003-05-16 Wolfgang Bangerth <>
* doc/bugreport.texi: Remove most of the preface of the
bugs section.
2003-05-16 Nick Clifton <>
* config/mcore/ (jump): Use emit_jump_insn to generate the
jump insn.
2003-05-15 Gerald Pfeifer <>
* doc/invoke.texi (Warning Options): Mark -Wmissing-declarations
as a C only option.
2003-05-15 Wolfgang Bangerth <>
* doc/bugreport.texi: Remove most of the bug reporting
instructions and merge them into bugs.html.
2003-05-14 Kaveh R. Ghazi <>
* sparc.c (print_operand): Fix uninitialized warning.
2003-05-14 Mark Mitchell <>
* version.c: Reset to prerelease format.
* doc/include/gcc-common.texi: Update version number.
2003-05-13 Release Manager
* GCC 3.3 Released.
2003-05-12 Mark Mitchell <>
PR other/10745
* Correct detection of GNU ld version number.
* configure: Regenerated.
2003-05-08 J"orn Rennecke <>
* sh.c (gen_block_redirect, split_branches): Use
CODE_FOR_jump_compact instead of CODE_FOR_jump
2003-05-06 Eric Christopher <>
* config/mips/linux.h: Fix typo.
2003-05-06 Ulrich Weigand <>
PR other/10650
* unwind-dw2.c (uw_update_context_1): Don't set sp as cfa on s390.
(uw_init_context_1): Set initial sp to outer cfa on s390.
2003-05-06 Mark Mitchell <>
PR other/10658
* gcc.c (process_command): Update copyright date.
2003-05-06 Bruce Korb <>
* inclhack.def: fix up whitespace differences from mainline.
mark fix tests that fail on BSD systems (like mainline).
Fixup the solaris_mutex_init test to cope with Sol. 2.6 (like mainline).
Removed unused SONY commentary (its obsolete anyway).
(svr4_mach_defines): remove i860 machine from comment (like mainline).
* gcc/fixinc/tests/base/pthread.h: solaris_mutex_init fix tests
* gcc/fixinc/tests/base/testing.h: remove ^M chars from some mistake
* gcc/fixinc/tests/base/Xm/Traversal.h: accommodate BSD's sed
* gcc/fixinc/tests/base/sys/stat.h: accommodate BSD's sed
* gcc/fixinc/fixincl.x: regenerated
2003-05-06 Phil Edwards <>
* doc/install.texi (mips-*-*): Add note about libstdc++.
2003-05-05 Mark Mitchell <>
Kean Johnston <>
* toplev.c (check_global_declarations): Do not warn about unused
static consts.
2003-05-05 Richard Henderson <>
* builtins.c (expand_builtin) <BUILT_IN_DWARF_FP_REGNUM>: Remove.
* builtins.def (BUILT_IN_DWARF_FP_REGNUM): Remove.
* dwarf2out.c (expand_builtin_dwarf_fp_regnum): Remove.
(expand_builtin_dwarf_sp_column): New.
* except.h: Update to match.
* unwind-dw2.c (execute_stack_op): Correct stack push typo.
(execute_cfa_program): Record location expression address
before extracting length.
(uw_update_context_1): Install old CFA into stack pointer column.
(uw_init_context_1): Set cfa_reg to stack pointer column.
2003-05-05 David O'Brien <>
* config/rs6000/sysv4.h (CPP_OS_FREEBSD_SPEC): Add __ELF__ to mirror
other FreeBSD ports.
(LINK_OS_FREEBSD_SPEC): Mirror conventions on other FreeBSD ports.
2003-05-05 Jason Merrill <>
* stor-layout.c (update_alignment_for_field): Set DECL_ALIGN for
the field.
2003-05-02 Zack Weinberg <>
PR c/10604
* c-opts.c (c_common_decode_option <OPT_Wall>): Set
warn_sign_compare for C++ only.
* doc/invoke.texi: Clarify documentation of -Wsign-compare.
2003-05-03 Falk Hueffner <>
Gerald Pfeifer <>
* doc/contrib.texi (Contributors): Add Zdenek Dvorak, Aldy
Hernandez, and Kazu Hirata.
2003-05-02 Richard Henderson <>
PR c++/10570
* except.c: Revert 04-01 and 04-02 forced-unwind changes.
* flags.h, toplev.c, doc/invoke.texi: Likewise.
* unwind-dw2.c (_Unwind_GetCFA): Fix ptr->int conversion warning.
* (_Unwind_DeleteException): Check for null
* unwind-sjlj.c (_Unwind_SjLj_Resume_or_Rethrow): New.
* (_Unwind_Resume_or_Rethrow): New.
* unwind.h: Declare them.
* libgcc-std.ver (GCC_3.3): Export them.
2003-05-02 Steven Bosscher <>
* tree-inline.c (find_alloca_call):
Use walk_tree_without_duplicates, instead of walk_tree.
(find_builtin_longjmp_call): Ditto.
* c-objc-common.c (c_cannot_inline_fn): Ditto.
2003-05-02 Gerald Pfeifer <>
* doc/contrib.texi (Contributors): Add Daniel Berlin.
2003-05-01 Rodney Brown <>
* rtl.h (subreg_offset_representable_p): Prototype.
2003-05-01 Roger Sayle <>
PR fortran/9974
* gcse.c (reg_killed_on_edge): New function to test whether the
given reg is overwritten by any instruction queued on an edge.
(bypass_block): Ignore substitutions killed on incoming edges.
Don't bypass outgoing edges that have queued instructions.
2003-04-30 Andreas Schwab <>
* doc/extend.texi (Other Builtins): Enclose multiple word data
type in braces for @deftypefn.
2003-04-29 Jason Merrill <>
PR middle-end/10336
* jump.c (never_reached_warning): Really stop looking if we reach
the beginning of the function.
Tue Apr 29 21:07:00 CEST 2003 Jan Hubicka <>
* cse.c (count_reg_usage): Revert my previous patch.
2003-04-29 Alexander Kabaev <kan@FreeBSD.ORG>
* gengtype-yacc.y: Improve portability.
2003-04-29 Zack Weinberg <>
* config.gcc: Install obsolete target list for GCC 3.3.
* doc/install.texi: Mention in specific-target instructions
that certain configurations are deprecated.
2003-04-29 Kriang Lerdsuwanakij <>
* c-pragma.c (maybe_apply_renaming_pragma): Fix typo.
* gcc.c (display_help): Likewise.
* toplev.c (f_options): Likewise.
* params.def (PARAM_MAX_INLINE_SCOPE): Likewise.
* config/c4x/c4x.h (TARGET_SWITCHES): Likewise.
* config/mcore/mcore.h (TARGET_SWITCHES): Likewise.
* config/s390/s390.h (TARGET_SWITCHES): Likewise.
* config/v850/v850.h (TARGET_SWITCHES): Likewise.
2003-04-29 Danny Smith <>
* config/i386/mingw32.h (LIBGCC_SPEC): Add libmingwex.a.
Update copyright.
* config/i386/cygwin.h (LIBGCC_SPEC): Add libmingwex.a, for
-mno-cygwin case.
2003-04-29 J"orn Rennecke <>
* varasm.c (default_assemble_visibility): Use assemble_name.
2003-04-29 David O'Brien <>
* config/i386/freebsd64.h (LINK_SPEC): Mirror FreeBSD linker.
* config/rs6000/freebsd.h (LINK_SHLIB_SPEC): New macro.
(SIZE_TYPE): New macro.
* config/i386/freebsd-aout.h (NO_PROFILE_COUNTERS): New macro.
(SET_ASM_OP): New macro.
(ASM_WEAKEN_LABEL): New macro.
2003-04-28 Mark Mitchell <>
PR c++/10180
* tree-inline.c (expand_call_inline): Call push_srcloc when
encountering EXPR_WITH_FILE_LOCATION. Honor warn_inline.
2003-04-28 Mike Stump <>
* Update to reflect new identifier structure.
2003-04-28 Richard Henderson <>
* config/sparc/sparc.c (print_operand): Add 's' to sign-extend.
* config/sparc/ (const_mulsidi3_v8plus): Fix mode of
integral constant mult operand.
(const_mulsidi3_sp32, const_mulsidi3_sp64): Likewise.
(const_smulsi3_highpart_v8plus): Likewise.
(const_smulsi3_highpart): Likewise.
(const_umulsidi3_sp32): Likewise; sign-extend it in the output.
(const_umulsidi3_sp64, const_umulsidi3_v8plus): Likewise.
(const_umulsi3_highpart_v8plus): Likewise.
(const_umulsi3_highpart): Likewise.
2003-04-28 David O'Brien <>
* config/i386/i386.h (builtin_define): Add __amd64 and __amd64__.
Mon Apr 28 09:54:56 CEST 2003 Jan Hubicka <>
PR c/10308
* reload.c (find_reloads_address_1): Reload plus at the place of
index register.
2003-04-26 Richard Henderson <>
* config/ia64/ia64.c (ia64_compute_frame_size): Allow inline asm
to clobber ar.pfs and ar.unat.
(ia64_expand_prologue): Force alloc instruction if ar.pfs saved;
fix test for spilling ar.pfs to the stack.
2003-04-26 Stephane Carrez <>
* doc/install.texi (Binaries): Mention binaries for HC11/HC12.
2003-04-26 Stephane Carrez <>
* doc/extend.texi (Function Attributes): Document "near" and "far"
for 68HC11 and 68HC12.
2003-04-25 Bob Wilson <>
* config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Back out previous
addition of __PIC__ and __pic__ macros.
* config/xtensa/xtensa.h: Clean up indentation.
2003-04-25 Bob Wilson <>
* config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Remove definition of
_GNU_SOURCE. Add definitions of __PIC__ and __pic__.
(LIB_SPEC): Delete.
* config/xtensa/xtensa-protos.h (xtensa_declare_object): Delete.
* config/xtensa/xtensa.c (xtensa_declare_object): Delete.
* config/xtensa/xtensa.h (CPP_SPEC, SUBTARGET_CPP_SPEC, EXTRA_SPECS):
2003-04-25 Richard Henderson <>
PR opt/10315
* config/rs6000/rs6000.c (rs6000_emit_move): Only elide proper
checks during reload; use validize_mem instead of adjust_address.
Fri Apr 25 15:43:23 CEST 2003 Jan Hubicka <>
* emit-rtl.c (subreg_hard_regno): Check that register is
* reload.c (reload_inner_reg_of_subreg): When register is not
representable, reload the whole thing.
(find_reloads): Likewsie.
* rtlanal.c (subreg_representable_p): New function.
Sun Apr 20 18:23:18 CEST 2003 Richard Henderson <>
(backported to 3.3 by Jan Hubicka)
* config/ia64/ (UNSPECV_SETJMP_RECEIVER): New.
(builtin_setjmp_receiver): Delay call to ia64_reload_gp
until after reload.
* emit-rtl.c (try_split): Handle 1-1 splits of call insns properly.
* config/ia64/ia64.c (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
(ia64_gp_save_reg): Remove.
(struct ia64_frame_info): Move to the beginning of the file;
add reg_save_gp.
(ia64_expand_call): Rearrange for new call patterns.
(ia64_reload_gp): New.
(ia64_split_call): New.
(ia64_compute_frame_size): Allocate reg_save_gp.
(ia64_expand_prologue): Save reg_save_gp.
(ia64_expand_epilogue): Don't restore gp.
(ia64_hard_regno_rename_ok): Remove R4 hack.
(ia64_function_ok_for_sibcall): New.
(ia64_output_mi_thunk): Set reload_completed, no_new_pseudos;
call try_split on sibcall pattern.
* config/ia64/ia64-protos.h: Update.
* config/ia64/ (call_nogp, call_value_nogp, sibcall_nogp):
Rename from nopic versions. Confiscate 2nd argument to call as
a marker.
(call_pic, call_value_pic, sibcall_pic): Remove.
(call_gp, call_value_gp, sibcall_gp): New.
(builtin_setjmp_setup): Remove.
(builtin_setjmp_receiver): Call ia64_reload_gp.
2003-04-24 John David Anglin <>
PR opt/8705
* gcse.c (try_replace_reg): On a successful substitution of a constant
into a single set, try to simplify the source of the set.
* loop.c (scan_loop): Don't try to optimize a MODE_CC set with a
constant source.
2003-04-24 Alexander Kabaev <kan@FreeBSD.ORG>
* config/sparc/ (umulsidi3, mulsidi3): Avoid using
const_umulsidi3_sp32 and const_mulsidi3_sp32 on 64bit targets
where they might be not present. Use their _sp64 equivalent
2003-04-23 Richard Henderson <>
PR opt/8300
* toplev.c (rest_of_compilation): Delay no_new_pseudos until
after initialize_uninitialized_subregs; update reg info assuming
new pseudos were created.
2003-04-23 Olivier Hainque <>
* config/pa/ (extv, extzv): FAIL if the bitfield length is zero.
2003-04-23 James A Morrison <>
* invoke.texi: Eliminate extra white-space caused by @gccoptlist{
on its own line.
Ensure there are two spaces between each pair of options and add
@gol where appropriate.
2003-04-23 Ulrich Weigand <>
* config/s390/s390.c (s390_expand_cmpstr): Disable CLC loop.
2003-04-22 Devang Patel <>
* cpptrad.c (_cpp_replacement_text_len): Add check for macro parameter count.
(_cpp_copy_replacement_text): Same.
2003-04-22 Richard Henderson <>
PR 8866
* rtl.h (MEM_NOTRAP_P): New.
* rtlanal.c (may_trap_p): Check it.
* expr.c (do_tablejump): Set it.
* cfgrtl.c (try_redirect_by_replacing_jump): Revert last three changes.
2003-04-22 David Turner <>
* gbl-ctors.h: Add special license exception.
* libgcc2.h: Likewise.
* tsystem.h: Likewise.
* gcov-io.h: Likewise.
2003-04-21 Mark Mitchell <>
* (calls.o): Depend on except.h.
* calls.c: Include except.h.
(emit_call_1): Call note_eh_region_may_contain_throw if
* except.c (eh_region): Add may_contain_throw.
(expand_eh_region_end_cleanup): Do not include handler code when
it cannot be reached.
(note_eh_region_may_contain_throw): New function.
* except.h (note_eh_region_may_contain_throw): New function.
2003-04-21 Mark Mitchell <>
* config/i386/winnt.c (i386_pe_mark_dllimport): Revert previous
2003-04-21 Mark Mitchell <>
* config/i386/winnt.c (i386_pe_}ark_dllimport): Make the new RTL
have the same form as the old RTL.
2003-04-18 Mark Mitchell <>
* cfgrtl.c (try_redirect_by_replacing_jump): Create a basic block
for orphaned jump tables.
2003-04-20 John David Anglin <>
* (movccfp): New expander.
(setccfp0, setccfp1): Rename to movccfp0 and movccfp1, respectively.
Reverse fcmp conditions.
2003-04-20 Marek Michalkiewicz <>
* config/avr/ (*cmpqi_sign_extend): Handle negative values
of operand 1 correctly.
2003-04-19 John David Anglin <>
* cfgrtl.c (try_redirect_by_replacing_jump): Remove unused variables.
* flow.c (life_analysis): Fix warning.
2003-04-18 Gerald Pfeifer <>
* doc/contrib.texi (Contributors): Prefer "bug fix" over "bugfix".
Add Segher Boessenkool.
2003-04-18 Alexander Sotirov <>
PR c/9177
* c-decl.c (c_expand_body): Don't garbage collect the function
body if we are going to dump it later.
2003-04-18 Eric Botcazou <>
PR optimization/7675
* c-typeck.c (build_external_ref): Set the DECL_NONLOCAL flag
nested functions if they refer to declarations from parent functions.
* stmt.c (expand_decl): Don't put automatic variables in registers
if the DECL_NONLOCAL flag is set.
2003-04-17 Janis Johnson <>
* doc/sourcebuild.texi (Test Suites): Document support for testing
binary compatibility (moved from testsuite/README.compat).
2003-04-17 Simon Law <>
* doc/include/gpl.texi: Fix double-spacing after "MA" to match
the one provided by the FSF.
2003-04-17 Gerald Pfeifer <>
* doc/install.texi (Binaries): Update URL and list of platforms
provided by
2003-04-17 Eric Botcazou <>
* doc/invoke.texi (inline-limit): Fix pasto.
2003-04-16 Mark Mitchell <>
PR middle-end/8866
* cfgtrl.c (try_redirect_by_replacing_jump): Do not delete
2003-04-16 John David Anglin <>
* pa-protos.h (function_arg): Remove last argument.
* pa.c (function_arg): Likewise. Use CUMULATIVE_ARGS struct instead.
* pa.h (struct hppa_args): Add member incoming.
member incoming.
(FUNCTION_ARG): Revise call to function_arg.
2003-04-15 J"orn Rennecke <>
PR target/9594:
* sh.c (barrier_align): Also recognize stuff_delay_slot as
an indicator that a barrier was created by branch splitting.
merge from mainline:
2003-03-05 J"orn Rennecke <>
* sh.h (OVERRIDE_OPTIONS): For TARGET_SHMEDIA, the minimum value
for align_jumps is 4.
2003-03-03 J"orn Rennecke <>
* sh.h (OVERRIDE_OPTIONS): Set default values for align_loops
and align_jumps if not set.
Force align_jumps to be at least 2.
When relaxing, force align_functions to be at least the maximum of
align_loops, align_jumps and 4.
* sh.c (find_barrier, barrier_align): Honour align_jumps_log.
(sh_loop_align): Honour align_loops_log.
* (length attribute): Use prev_nonnote_insn instead of PREV_INSN
to check for indirect_jump_scratch.
(indirect_jump_scratch): Add second set.
* sh.c (output_far_jump): Use prev_nonnote_insn instead of PREV_INSN
when looking for indirect_jump_scratch.
Extract scratch register taking new structure of indirect_jump_scratch
into account.
(gen_block_redirect): Set INSN_SCOPE for indirect_jump_scratch.
2003-04-15 James A. Morrison <>
* invoke.texi (Spec Files): Wrap if-exists-else example.
(MCore): Remove duplicate @itemx entries and @opindex entries.
2003-04-15 Ulrich Weigand <>
* (_Unwind_Backtrace): New function.
* unwind.h (_Unwind_Backtrace): Declare it.
* libgcc-std.ver (_Unwind_Backtrace): Export it.
2003-04-15 Jason Merrill <>
PR middle-end/10336, c++/10401
* jump.c (never_reached_warning): Also stop looking if we reach the
beginning of the function.
2003-04-15 Kaveh R. Ghazi <>
PR target/10338
PR bootstrap/10198
PR bootstrap/10140
* fixinc/gnu-regex.c (regerror): Use mempcpy not __mempcpy.
2003-04-15 Jakub Jelinek <>
* config/rs6000/rs6000.h (EPILOGUE_USES): Use register 2,
instead of TOC_REGISTER in epilogue in
current_function_calls_eh_return functions.
2003-04-14 Hans-Peter Nilsson <>
PR target/10377
* config/cris/ ("*mov_sideqi", "*mov_sidehi")
("*mov_sidesi", "*mov_sideqi_mem", "*mov_sidehi_mem")
("*mov_sidesi_mem", "*clear_sidesi", "*clear_sidehi")
("*clear_sideqi", "*ext_sideqihi", "*ext_sideqisi")
("*ext_sidehisi", "*op_sideqi", "*op_sidehi", "*op_sidesi")
("*op_swap_sideqi", "*op_swap_sidehi", "*op_swap_sidesi")
("*extopqihi_side", "*extopqisi_side", "*extophisi_side")
("*extopqihi_swap_side", "*extopqisi_swap_side")
("*extophisi_swap_side", 8th, 9th, 10th, 11th, 14th peepholes):
When next to constraint R, replace constraint i with n.
Mon Apr 14 16:14:37 CEST 2003 Jan Hubicka <>
PR opt/10024
* cfgrtl.c (force_nonfallthru_and_redirect): Use unchecked_make_edge.
2003-04-14 Kriang Lerdsuwanakij <>
* doc/contrib.texi (Contributors): Correct my entry.
2003-04-12 Stephane Carrez <>
* config/m68hc11/m68hc11-protos.h
(m68hc11_eq_compare_operator): Declare
* config/m68hc11/m68hc11.h (PREDICATE_CODES): Register new predicate.
* config/m68hc11/m68hc11.c (m68hc11_eq_compare_operator): New predicate
(d_register_operand): Check the operand mode.
(hard_addr_reg_operand): Likewise.
2003-04-12 Stephane Carrez <>
* config/m68hc11/ ("decrement_and_branch_until_zero"): New
pattern for dbcc/ibcc generation for 68HC12.
("doloop_end"): New pattern.
("m68hc12_dbcc_dec_hi"): New pattern for dbeq/dbne.
("m68hc12_dbcc_inc_hi"): New pattern for ibeq/ibne.
("m68hc12_dbcc_dec_qi"): New pattern.
("m68hc12_dbcc_inc_qi"): New pattern.
(split): Add split for the above when we can't use dbcc/ibcc due to
(peephole2): Add peephole2 to generate the above when possible.
2003-04-12 Stephane Carrez <>
* config/m68hc11/ ("bitcmpqi" split): No need to test the
mode of operand 0.
(peephole2 optimize const load): Likewise for operand 2.
("*rotlhi3_with_carry"): Change pattern to a const 1 rotate which
clobbers CC_REGNUM.
("*rotrhi3_with_carry"): Likewise.
(ashift:DI 1 split): Update pattern to create the above rotate.
(lshiftrt:DI 1 split): Likewise.
2003-04-12 Stephane Carrez <>
* config/m68hc11/ (SOFT_Z_REGNUM): New constant.
("tstqi_z_used" split): Use it.
("cmphi_z_used"): Likewise.
("bitcmpqi_z_used"): Likewise; also use SP_REGNUM constant.
("cmpqi_z_used"): Likewise.
2003-04-12 Mark Mitchell <>
PR c++/7910
* config/i386/winnt.c (i386_pe_mark_dllimport): Fix thinko.
2003-04-12 Stephane Carrez <>
* config/m68hc11/m68hc11.h (TARGET_SWITCHES): Fix -mnominmax option;
recognize -mnorelax.
(reg_class): Add Z_OR_S_REGS to represent soft registers with Z
(REG_CLASS_NAMES): Add its name.
(REG_CLASS_CONTENTS): Define its content.
2003-04-12 Stephane Carrez <>
* config/m68hc11/larith.asm (memcpy): Use ARG macro to access stack
parameters so that offsets are valid for far definition.
(__mulsi3): Likewise and use ret to return.
(___adddi3, ___subdi3, ___notdi2, ): Don't use it to save the result.
2003-04-11 Geoffrey Keating <>
* doc/extend.texi (Empty Structures): New.
2003-04-11 Richard Henderson <>
PR c++/10202
* expr.c (expand_expr): Use COMPLETE_OR_UNBOUND_ARRAY_TYPE_P
not COMPLETE_TYPE_P for re-invoking layout_decl.
2003-04-11 Simon Law <>
* doc/bugreport.texi: Fix paragraph breaking between sections
in preparation for TeXinfo's paragraph indentation fixes.
* doc/extend.texi: Ditto.
* doc/invoke.texi: Ditto.
* doc/objc.texi: Ditto.
* doc/gcov.texi: Wrap 'gcov' in @command{}.
* doc/invoke.texi (Darwin Options): Add a preamble.
2003-04-11 Richard Henderson <>
PR c/10201
* expr.c (expand_expr): Move DECL_RTL frobbing ...
* stor-layout.c (layout_decl): ... here.
2003-04-11 John David Anglin <>
* doc/install.texi (hppa): Update links for HP-UX patches. Revise
notes on linker selection and con