blob: 655b81a625fccdfe3cc57a95777de17e5b5cd346 [file] [log] [blame]
2004-10-31 Jakub Jelinek <>
PR middle-end/18129
* varasm.c (copy_constant): Don't copy STRING_CSTs if
(build_constant_desc): Call copy_constant unconditionally.
2004-10-30 Roger Sayle <>
PR rtl-optimization/17581
* cselib.c (cselib_process_insn): The last instruction of a libcall
block, with the REG_RETVAL note, should be considered in the libcall.
* gcse.c (do_local_cprop): Allow constants to be propagated outside
of libcall blocks.
(adjust_libcall_notes): Use simplify_replace_rtx instead of
replace_rtx to avoid creating invalid RTL in REG_RETVAL notes.
2004-10-27 Andrew Pinski <>
PR other/18186
* common.opt (--param): Fix spelling of parameter.
2004-10-27 Andreas Krebbel <>
* config/s390/ ("*subdf3_cc"): Replaced plus by minus.
2004-10-26 Richard Sandiford <>
PR bootstrap/15747
* doc/install.texi (mips-sgi-irix5): Document that /bin/sh has been
reported to hang during bootstrap and that CONFIG_SHELL=/bin/ksh
can be used to work around this.
2004-10-26 Roger Sayle <>
John David Anglin <>
Backport 3.4 regression fix from mainline
* cse.c: Change encoding of quantity numbers to avoid undefined
pointer arithmetic on qty_table.
(REGNO_QTY_VALID_P): A quantity is now valid if it isn't negative.
(get_cse_reg_info): Initialize reg_qty to a unique negative value.
(new_basic_block): Assign "real" quantity numbers from zero.
(delete_reg_equiv): Do nothing if quantity is invalid. Reset the
REG_QTY to its unique negative value.
(merge_equiv_classes): Calculate need_rehash if quantity is valid.
(cse_main): Don't include max_reg when determining max_qty.
(cse_basic_block): Avoid subtracting a large offset from qty_table,
which causes undefined C99 behaviour. Only allocate needed memory.
2004-10-25 Jakub Jelinek <>
* dwarf2out.c (rtl_for_decl_location): Avoid segfault if
2004-10-21 Eric Christopher <>
* config/rs6000/rs6000.c (setup_incoming_varargs): Align DFmode
2004-10-22 Bernardo Innocenti <>
Backport from the mainline:
2004-10-22 Peter Barada <>
* config/m68k/m68k.h (HARD_REGNO_RENAME_OK): New macro.
* config/m68k/m68k.c (m68k_hard regno_rename_ok): Disallow
renaming of non-live registers in interrupt functions.
* config/m68k/m68k-protos.h (m68k_hard_regno_rename_ok): Add prototype.
2004-10-21 Giovanni Bajo <>
* config/arc/lib1funcs.asm (___umulsidi3): Fix typo.
2004-10-21 Aldy Hernandez <>
PR 18004.
* expmed.c (store_bit_field): Pass original 'value' before
2004-10-21 Ramana Radhakrishnan <>
* config/arc/lib1funcs.asm (___umulsidi3): Correct usage of flags.
PR target/17317
REG_OK_FOR_BASE, REG_OK_FOR_INDEX): Consider blink(r31) as a valid
base and index register for loads.
* config/arc/t-arc: Fix multilib handling.
2004-10-18 H.J. Lu <>
PR bootstrap/17684
* (clean): Remove libgcc_s$(SHLIB_EXT).1.stage?.
(stage1-start): Remove and copy libunwind.a and
libunwind*$(SHLIB_EXT) instead of libunwind*.
(stage2-start): Likewise.
(stage3-start): Likewise.
(stage4-start): Likewise.
(stageprofile-start): Likewise.
(stagefeedback-start): Likewise.
* config/alpha/t-osf4 (SHLIB_LINK): Use a temporary file for
the shared library to be created and don't remove the existing
shared library.
* config/arm/t-netbsd (SHLIB_LINK): Likewise.
* config/mips/t-iris5-6 (SHLIB_LINK): Likewise.
* config/pa/t-hpux-shlib (SHLIB_LINK): Likewise.
* config/sh/t-linux (SHLIB_LINK): Likewise.
* config/t-libunwind-elf (SHLIBUNWIND_LINK): Likewise.
* config/t-slibgcc-darwin (SHLIB_LINK): Likewise.
* config/t-slibgcc-elf-ver (SHLIB_LINK): Likewise.
* config/t-slibgcc-sld (SHLIB_LINK): Likewise.
* (libgcc-stage-start): Also move "*${objext}s"
2004-10-18 Jakub Jelinek <>
* config/i386/ (addqi_1_slp): Test for incdec_operand
operand 1 instead of 2
2004-10-17 David O'Brien <>
* config/rs6000/sysv4.h (LINK_OS_FREEBSD_SPEC): Sync '-p' handling with
other FreeBSD platforms.
2004-10-14 Richard Henderson <>
PR debug/14492
* dwarf2out.c (loc_descriptor_from_tree): Handle FIX_*_EXPR.
2004-10-14 Richard Henderson <>
PR c/17023
* (compstmt_primary_start): Check last_tree non-null,
not current_function_decl non-null.
2004-10-14 Roger Sayle <>
PR other/17361
* c-opts.c (c_common_init_options): Scan command line options for
"-lang-asm" and if found allow any of the C-family front-end options.
Likewise, scan all command line options for g77's -traditional-cpp.
2004-10-14 Kaveh R. Ghazi <>
* doc/install.texi (*-*-solaris2*): Update with info about kernel
patches to solve spurious testsuite failures.
2004-10-13 Andrew Pinski <>
* dwarf2out.c (rtl_for_decl_location): Do not use MEM_P but use
2004-10-13 Richard Henderson <>
PR debug/15860
* dwarf2out.c (rtl_for_decl_location): Apply big-endian correction
2004-10-13 Richard Henderson <>
PR c/17384
* c-common.c (handle_mode_attribute): Disallow mode changes that
alter the CODE of the top-level type.
* crtstuff.c (__FRAME_END__): Remove mode attribute. Find 32-bit
integer from internal limits macros.
* config/i386/emmintrin.h (__v2df): Fix base type.
* config/i386/xmmintrin.h (__m128, __v4sf): Likewise.
2004-10-13 Richard Henderson <>
PR debug/13841
* function.c (instantiate_decl): Recurse for CONCAT.
2004-10-13 Eric Botcazou <>
PR target/14454
* config/sparc/sparc.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Set to
(sparc_output_mi_thunk): Simplify handling of delta offset. Add
handling of vcall offset.
(sparc_can_output_mi_thunk): New predicate.
* config/sparc/ (movdi): Remove redundant test.
2004-10-12 Richard Henderson <>
PR rtl-opt/17503
* regclass.c (subregs_of_mode): Turn into an htab. Make static.
(som_hash, som_eq): New.
(init_subregs_of_mode, record_subregs_of_mode): New.
(cannot_change_mode_set_regs): Rewrite for htab implementation.
(invalid_mode_change_p): Likewise.
* combine.c (gen_lowpart_for_combine): Use record_subregs_of_mode.
* flow.c (mark_used_regs): Likewise.
(life_analysis): Use init_subregs_of_mode.
* regs.h (subregs_of_mode): Remove.
* rtl.h (init_subregs_of_mode, record_subregs_of_mode): Declare.
2004-10-10 Roger Sayle <>
PR rtl-optimization/17853
* combine.c (combine_simplify_rtx): Don't attempt any simplifications
of vector mode comparison operators.
* cse.c (fold_rtx): Likewise.
* simplify-rtx.c (simplify_gen_relational): Avoid calling
simplify_relational_operation with vector mode comparison operators.
(simplify_rtx): Likewise.
2004-10-09 Joseph S. Myers <>
* config/rs6000/spe.h (atosfix16, atosfix32, atosfix64, atoufix16,
atoufix32, atoufix64, strtosfix16, strtosfix32, strtosfix64,
strtoufix16, strtoufix32, strtoufix64): Declare.
2004-10-08 Andrew Pinski <>
PR c/16999
* c-ppoutput.c (cb_ident): Don't quote string as it is already
2004-10-08 Eric Botcazou <>
PR target/17245
* config/sparc/sparc.c (input_operand): Remove redundant code
for handling LO_SUM.
(legitimate_address_p) <REG+REG>: Do not recheck TARGET_V9.
<LO_SUM>: If LO_SUM is offsettable, accept it for TFmode on V9.
Otherwise only accept it for TFmode if quad move insns are available.
2004-10-07 Giovanni Bajo <>
PR c++/17115
* tree-inline.c (expand_call_inline): Do not warn for functions
marked with attribute noinline.
2004-10-07 Eric Botcazou <>
* doc/install.texi (*-*-solaris2*): Fix marker for URL.
2004-10-07 Richard Sandiford <>
PR target/17770
* config/mips/ (mov_lwl): Remove hazard=none attribute.
2004-10-07 Eric Botcazou <>
PR rtl-optimization/17027
Backport from mainline:
* cfglayout.c (fixup_fallthru_exit_predecessor): If the first block
falls through to exit, split it.
* cfgrtl.c (rtl_split_block): If no insn is specified, split on the
first insn in the basic block.
2004-10-06 H.J. Lu <>
* doc/invoke.text (freorder-functions): Add a leading `.' to
"" and "text.unlikely" sections.
2004-10-06 Eric Botcazou <>
PR target/16007
* doc/install.texi (*-*-solaris2*): Mention potential problem
with Sun assembler + GNU linker and C++ programs.
Document status of binutils 2.15 release.
2004-10-06 Alan Modra <>
PR 16406
* doc/tm.texi (LIBGCC_SPEC): Mention modifications.
2004-10-03 Alan Modra <>
* config/rs6000/linux.h (TARGET_C99_FUNCTIONS): Define.
(OS_MISSING_POWERPC64): Move, and comment.
* config/rs6000/linux64.h (TARGET_C99_FUNCTIONS): Define.
(OS_MISSING_POWERPC64): Move, and comment.
2004-10-01 Nick Clifton <>
* config/stormy16/stormy16.c (TARGET_BUILD_BUILTIN_VA_LIST_TYPE):
Fix typo in macro name, it should be: TARGET_BUILD_BUILTIN_VA_LIST.
2004-09-30 Richard Henderson <>
* config/alpha/qrnnd.asm: Mark for noexecstack.
2004-09-30 Richard Henderson <>
* unwind-dw2.c (_Unwind_GetGR): Honor DWARF_ZERO_REG.
* doc/tm.texi (DWARF_ZERO_REG): New.
* config/alpha/alpha.c (alpha_sa_mask, alpha_expand_prologue,
alpha_expand_epilogue): Revert 2003-09-30 change to store zero.
* config/alpha/alpha.h (DWARF_ZERO_REG): New.
2004-09-29 David Edelsohn <>
PR target/17493
Backport from mainline
2004-07-16 Segher Boessenkool <>
* config/rs6000/eabi.asm (__eabi_convert): Fix typo (cmpi vs. cmpwi).
2004-09-28 Giovanni Bajo <>
PR target/14064
Backport from mainline
2004-09-01 James E Wilson <>
* config/avr/avr.c (avr_unique_section): Delete prototype and
2004-09-26 Roger Sayle <>
PR other/15526
Backport from mainline
2004-05-20 Falk Hueffner <>
* libgcc2.c (__mulvsi3): Fix overflow test.
2004-09-24 Roger Sayle <>
PR rtl-optimization/9771
* regclass.c (CALL_REALLY_USED_REGNO_P): New macro to eliminate
conditional compilation in init_reg_sets_1.
(init_reg_sets_1): Let global_regs[i] take priority over the frame
(but not stack) pointer exceptions to regs_invalidated_by_call.
(globalize_reg): Globalizing a fixed register may need to update
2004-09-23 Denis Chertykov <>
PR target/16884
* config/avr/ ("movmemhi"): Substitute match_dup to
(*movmemqi_insn): Likewise.
(*movmemhi): Likewise.
(clrmemhi): Likewise.
(*clrmemqi): Likewise.
(*clrmemhi): Likewise.
2004-09-23 H.J. Lu <>
PR bootstrap/17369
* (@set_gcc_lib_path@): Added.
* Include ../config/gcc-lib-path.m4. Use
* configure: Regenerated.
2004-09-23 Joseph S. Myers <>
PR c/16566
* c-typeck.c (build_component_ref): Don't special-case
2004-09-22 Ralf Corsepius <>
PR target/15583
* config/rs6000/rtems.h (TARGET_OS_CPP_BUILTINS): Add
builtin_define ("__USE_INIT_FINI__").
2004-09-20 Richard Sandiford <>
PR target/17565
* config/mips/ (define_asm_attributes): Set can_delay to no.
2004-09-15 James E Wilson <>
PR target/17455
* config/ia64/ia64.c (ia64_function_ok_for_sibcall): Return false
if current_function_decl is a sibcall.
2004-09-15 Alan Modra <>
* config/rs6000/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Save
location of CR.
* config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Ditto.
2004-09-15 Eric Botcazou <>
* doc/install.texi (sparc-sun-solaris2*): Properly format warning.
2004-09-14 Richard Henderson <>
PR rtl-opt/17186
* function.c (expand_function_end): Revert last change.
* sibcall.c (call_ends_block_p): Fix thinko finding the
last real insn in a block.
2004-09-14 Joseph S. Myers <>
PR c/15498
* doc/invoke.texi (Environment Variables): Correct example locale.
2004-09-14 Daniel Jacobowitz <>
* reload.c (find_reloads): Swap operand_loc pointers for
find_dummy_reload if we have swapped two operands.
2004-09-13 Richard Henderson <>
PR inline-asm/6806
* cselib.c (cselib_invalidate_rtx): Export. Remove unused args.
(cselib_invalidate_rtx_note_stores): New.
(cselib_record_sets, cselib_process_insn): Update to match.
* cselib.h (cselib_invalidate_rtx): Declare.
* postreload.c (reload_cse_simplify): Invalidate asm clobbers.
2004-09-11 Ramana Radhakrishnan <>
PR target/11476
* gcc/config/arc/arc.c (arc_va_args): Call build1 instead
of build for unary tree operators.
2004-09-11 Andrew Pinski <>
PR target/17167
backport from the mainline:
2004-02-28 Andrew Pinski <>
* config/darwin.h (machopic_finish): Output stub even if
the symbol is already defined.
2004-02-27 Dale Johannesen <>
* config/darwin.c (machopic_output_possible_stub_label):
config/darwin-protos.h: Ditto.
config/darwin.h: Remove call to it.
2004-09-11 David Edelsohn <>
PR target/17277
* config/rs6000/aix.h (MD_FROB_UPDATE_CONTEXT): Use __64BIT__ to
choose 64-bit version.
2004-09-09 Kaz Kojima <>
PR 15886
Backport from mainline:
2004-06-11 J"orn Rennecke <>
* sh.h (ALLOCATE_INITIAL_VALUE): Use return_address_pointer_rtx.
2004-09-09 Alan Modra <>
* config/rs6000/rs6000.c (rs6000_stack_info): Correct alignment of
2004-09-08 H.J. Lu <>
* configure: Regenerated.
2004-09-08 Richard Henderson <>
PR rtl-opt/17186
* function.c (expand_function_end): Have fall-off-the-end
return path jump around return register setup.
2004-09-08 H.J. Lu <>
PR target/14925: (LIB2ADDEHSTATIC): New.
(clean): Remove libunwind*
(stage1-start): Remove and copy stage1/libunwind*.
(stage2-start): Remove and copy stage2/libunwind*.
(stage3-start): Remove and copy stage3/libunwind*.
(stage4-start): Remove and copy stage4/libunwind*.
(stageprofile-start): Remove and copy stageprofile/libunwind*.
(stagefeedback-start): Remove and copy stagefeedback/libunwind*.
* config.gcc (ia64*-*-linux*): Always add t-libunwind to
tmake_file. Add t-libunwind-elf and ia64/t-glibc-libunwind to
tmake_file if --with-system-libunwind isn't used.
* config/ia64/t-glibc-libunwind: New file.
* config/t-libunwind-elf: Likewise.
* unwind-compat.c: Likewise.
* unwind-compat.h: Likewise.
* unwind-dw2-fde-compat.c: Likewise.
* config/ia64/t-glibc (LIB2ADDEH): Updated.
* config/ia64/t-hpux (T_CFLAGS): Add -DUSE_LIBUNWIND_EXCEPTIONS.
* config/ia64/unwind-ia64.c: Include "unwind-compat.h". Define
aliases if needed.
* unwind-dw2-fde-glibc.c: Likewise.
* unwind-dw2.c: Likewise.
* config/t-libunwind (LIB2ADDEH): Updated.
* Change --enable-libunwind-exceptions to
--with-system-libunwind. Don't define USE_LIBUNWIND_EXCEPTIONS.
* configure: Regenerated.
* Updated.
* doc/install.texi (ia64-*-linux): Require libunwind 0.98 or
above and mention --with-system-libunwind.
(ia64-*-hpux*): Mention --enable-libunwind-exceptions is
removed in gcc 3.4.3 and later.
* gcc.c (init_spec): Add -lunwind to -lgcc_s if
* Support libunwind.
2004-09-07 Mark Mitchell <>
* version.c (version_string): Restore pre-release marker.
* doc/include/gcc-common.texi: Set version to 3.4.3.
2004-09-06 Release Manager
* GCC 3.4.2 released.
2004-09-05 Mark Mitchell <>
PR bootstrap/17325
Backport from mainline
2004-06-23 Wu Yongwei <>
* gthr-win32.h (__GTHREAD_MUTEX_INIT_DEFAULT): Adjust.
(__gthr_i486_lock_cmp_xchg): New inline assembly function.
(__GTHR_W32_InterlockedCompareExchange): New macro to choose a
suitable function for interlocked compare-and-exchange.
(__gthread_mutex_trylock): Use
(__gthread_mutex_init_function, __gthread_mutex_lock,
__gthread_mutex_trylock, __gthread_mutex_unlock): Adjust the
initial counter value to work correctly under Windows 95.
* config/i386/gthr-win32.c: Adjust include order.
Define __GTHREAD_I486_INLINE_LOCK_PRIMITIVES before including
(__gthr_win32_mutex_init_function, __gthr_win32_mutex_lock,
__gthr_win32_mutex_trylock, __gthr_win32_mutex_unlock): Adjust
to match inline versions in gthr-win32.h.
2004-04-27 Wu Yongwei <>
* gthr-win32.h (__gthread_mutex_t): Change typedef to new structure.
(__gthread_mutex_init_function): Replace CreateMutex with
initialization of custom mutex using CreateSemaphore.
(__gthread_mutex_lock): Use InterlockedIncrement.
(__gthread_mutex_trylock): Use InterlockedCompareExchange.
(__gthread_mutex_unlock): Use InterlockedDecrement and
ReleaseSemaphore to unlock
* config/i386/gthr-win32.c (__gthread_mutex_init_function,
__gthread_mutex_lock, __gthread_mutex_trylock,
__gthread_mutex_unlock): Adjust to match inline versions in
2004-09-03 Kaz Kojima <>
PR target/17303
Backport from mainline:
2004-08-31 Kaz Kojima <>
* config/sh/sh.c (output_branch): Check the insn length possibly
in the delayed slot.
2004-09-01 Zdenek Dvorak <>
PR rtl-optimization/16408
* gcse.c (replace_store_insn): Fix LIBCALL/RETVAL notes.
2004-09-01 Richard Henderson <>
* config/ns32k/ns32k.h (TRANSFER_FROM_TRAMPOLINE): Remove.
(TRAMPOLINE_TEMPLATE): Merge code from __trampoline inline.
2004-09-01 Jakub Jelinek <>
* libgcc-std.ver (GCC_3.4.2): Export also __trampoline_setup.
2004-09-01 Jakub Jelinek <>
* fold-const.c (operand_equal_p): Require equal sign also for
2004-08-31 Jeff Law <>
* gcse.c (remove_reachable_equiv_notes): Scan loops where
the store expression is killed for REG_EQUAL/REG_EQUIV notes
that need to be removed.
2004-08-30 Mark Mitchell <>
2004-08-29 Mark Mitchell <>
PR rtl-optimization/16590
* gcse.c (pre_delete): Do not create invalid REG_EQUAL notes.
2004-08-29 Mark Mitchell <>
PR rtl-optimization/16590
* gcse.c (pre_delete): Do not create invalid REG_EQUAL notes.
2004-08-26 Richard Henderson <>
* config/alpha/alpha.h (HARD_REGNO_MODE_OK): Allow complex float
2004-08-26 Kazuhiro Inaoka <>
PR target/17119.
* config/m32r.c (gen_compare): Use reg_or_int16_operand when
checking for a valid constant, regardless of sign.
2004-08-25 Richard Henderson <>
PR target/16974
* config/alpha/ (adddi_fp_hack): Don't rely on splitting
if the constant satisfies add_operand.
2004-08-25 Richard Henderson <>
PR debug/10695
* config/alpha/alpha.c (emit_frame_store_1, emit_frame_store): New.
(alpha_expand_prologue): Handle >32-bit frames. Generate proper
unwind info for >16-bit frames.
2004-08-25 Richard Henderson <>
* config/alpha/alpha.c (alpha_cannot_force_const_mem): New.
2004-08-25 Richard Earnshaw <>
PR target/15927
* arm.h (THUMB_SECONDARY_OUTPUT_RELOAD_CLASS): Don't need a secondary
reload if CLASS is BASE_REGS.
2004-08-25 Richard Earnshaw <>
* PR target/15948
* (bicsi3_cbranch): Add alternative to handle tying operands
one and two.
2004-08-24 Richard Henderson <>
PR target/16298
* config/i386/i386.c (legitimate_constant_p): Rework to not accept
random codes within CONST.
2004-08-24 Paolo Bonzini <>
PR target/17113
* config/i386/ (movv16qi_internal): Fix typo.
2004-08-24 Kazuhiro Inaoka <>
PR target/17093
* config/m32r/ (movsi_sda): Add SI mode specification to
2004-08-24 Jonathan Wakely <>
* doc/trouble.texi (C++ misunderstandings): Fix example code.
2004-08-23 Roger Sayle <>
PR rtl-optimization/17078
* c-semantics.c (expand_unreachable_if_stmt): If the end of the
specified statement list is reachable, always return a non-NULL
pointer. If necessary, return error_mark_node.
2004-08-23 Mark Mitchell <>
PR c/14492
* dwarf2out.c (loc_descriptor_from_tree): Robustify.
PR c/16180
* jump.c (duplicate_loop_exit_test): If the location reached by
the unconditional jump at the top of the loop is outside the loop,
then do not treat it as the exit test.
2004-08-23 Janis Johnson <>
Backports from mainline:
2004-02-11 Ziemowit Laski <>
2004-02-21 Ziemowit Laski <>
2004-02-27 Ziemowit Laski <>
2004-03-04 Ziemowit Laski <>
2004-03-20 Ziemowit Laski <>
2004-03-24 Ziemowit Laski <>
2004-05-11 Fariborz Jahanian <>
2004-07-23 Janis Johnson <>
2004-08-12 Janis Johnson <>
2004-08-12 Ben Elliston <>
2004-08-16 Janis Johnson <>
* c-common.c (vector_size_helper): Remove; call
reconstruct_complex_type() instead.
* hooks.c (hook_constcharptr_tree_null): New hook.
* hooks.h (hook_constcharptr_tree_null): New prototype.
* target-def.h (TARGET_MANGLE_FUNDAMENTAL_TYPE): New target hook.
* target.h (mangle_fundamental_type): New target hook.
* tree.c (reconstruct_complex_type): New function
(formerly vector_size_helper() in c-common.c).
(make_vector): Make externally visible.
* tree.h (reconstruct_complex_type, make_vector): Add prototypes.
* doc/extend.texi (AltiVec builtins): Document additional differences
from the Motorola AltiVec PIM.
* doc/tm.texi (TARGET_MANGLE_FUNDAMENTAL_TYPE): Document.
* config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Refer to
SUBTARGET_OPTION_TRANSLATE_TABLE for architecture-specific options.
* config/i386/darwin.h (SUBTARGET_OPTION_TRANSLATE_TABLE): Define it.
* config/rs6000/altivec.h: #error out if '-maltivec' not specified.
(vector, pixel, bool): #define to __vector, __pixel and __bool.
Change vector to __vector (except for the `vector' macro itself).
(__un_args_eq, __bin_args_eq, __tern_args_eq): Move to C-specific
portion of header.
(__altivec_link_error_invalid_argument): Remove prototype; will use
__builtin_altivec_compiletime_error("vec_*") instead.
(vec_*): Fix/complete set of available operation overloads given the
existence of distinct 'vector bool ...' and 'vector pixel' types;
tighten cv-correctness of pointer arguments; in C, always check for
correct argument types before macro expansion.
(vec_splat_s8, vec_splat_s16, vec_splat_s32, vec_splat_u8,
vec_splat_u16, vec_splat_u32): Change C++ definitions to accept a
'const int' argument; the prototypes already do.
(vec_dst, vec_dstst, vec_dststt, vec_dstt, vec_sld, vec_splat): Add
prototypes, marked with always_inline attribute.
* config/rs6000/darwin.h (SUBTARGET_OPTION_TRANSLATE_TABLE): New macro
defining Darwin/PowerPC-specific '-f[no-]altivec' and
'-W[no-]altivec-long-deprecated' switches.
* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Pre-define
'__vector', '__pixel' and '__bool' macros using
'__attribute__((altivec(...)))' types.
* config/rs6000/rs6000.c (bool_char_type_node, bool_short_type_node,
bool_int_type_node, pixel_type_node, bool_V16QI_type_node,
bool_V8HI_type_node, bool_V4SI_type_node, pixel_V8HI_type_node):
New type nodes.
(rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch): New, for
handling '-W[no-]altivec-long-deprecated'.
(rs6000_override_options): Handle '-W[no-]altivec-long-deprecated'.
(rs6000_expand_binop_builtin, rs6000_expand_ternop_builtin,
altivec_expand_dst_builtin): Remove casts from integer literals.
(altivec_expand_builtin): Likewise; handle expansion of new
'__builtin_altivec_compiletime_error' function.
(rs6000_init_builtins): Initialize 'vector bool ...' and 'vector pixel'
types, and make them distinct from other vector types; register
'__builtin_altivec_compiletime_error' function.
(print_operand): For 'P', print a full target register name instead of
merely its number.
(rs6000_attribute_table): Add "altivec" attribute.
(rs6000_handle_altivec_attribute): New function.
(rs6000_common_init_builtins): Rename v4si_ftype_char, v8hi_ftype_char,
v16qi_ftype_char, v4sf_ftype_v4si_char, v4si_ftype_v4sf_char,
v4si_ftype_v4si_char, v8hi_ftype_v8hi_char, v16qi_ftype_v16qi_char,
v16qi_ftype_v16qi_v16qi_char, v8hi_ftype_v8hi_v8hi_char,
v4si_ftype_v4si_v4si_char and v4sf_ftype_v4sf_v4sf_char to
end in ..._int; change them to accept an int instead of a char
as the last parameter.
(altivec_expand_dst_builtin): Treat expansion as completed even if
literal argument is invalid (so that other expansions are not tried
in vain).
(rs6000_mangle_fundamental_type): New function.
* config/rs6000/rs6000.h (TARGET_OPTIONS): Describe
'-m[no-]-warn-altivec-long' (which '-W[no-]altivec-long-deprecated'
maps to).
(rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch): Forward
(ALTIVEC_BUILTIN_COMPILETIME_ERROR): New built-in enumeration.
2004-08-20 Jakub Jelinek <>
PR target/16195
* config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Make r30
* config/rs6000/rs6000.c (first_reg_to_save): Pretend
call_used_regs[30] is 0 if TARGET_TOC && TARGET_MINIMAL_TOC.
(rs6000_emit_prologue, rs6000_emit_epilogue): Likewise.
2004-08-17 Joseph S. Myers <>
* c-decl.c (grokdeclarator): Allow for function definition where
innermost declarator has attributes.
2004-08-17 Daniel Bornstein <>
PR target/17019
* (addsi3_cbranch_scratch): Correct case labels.
2004-08-14 Roger Sayle <>
David Billinghurst <>
PR libgfortran/15930
* fixinc/inclhack.def (irix___generic1, irix___generic2): New.
* fixinc/fixincl.x: Regenerate.
* fixinc/tests/base/internal/math_core.h: New file
2004-08-14 Roger Sayle <>
Bruce Korb <>
* fixinc/inclhack.def (aix_syswait_2): New fix.
* fixinc/fixincl.x: Regenerate.
* fixinc/tests/base/sys/wait.h: Update for new test.
2004-08-14 Gerald Pfeifer <>
Dimitri Papadopoulos-Orfanos <>
Dave Korn <>
* doc/install.texi (Building): Avoid duplicate reference to GNU
make requirement.
(*-*-solaris2*): Do not recommend GNU make any longer. Simplify.
2004-08-13 J"orn Rennecke <>
* (cbranch define_delay) Use cond_delay_slot for
non-anulled condition too.
2004-08-11 Mark Mitchell <>
PR c++/16618
* ginclude/stddef.h (offsetof): Refine C++ definition.
2004-08-12 Alan Modra <>
Merge from mainline.
2004-07-01 Alan Modra <>
* config/rs6000/rs6000.c (rs6000_mixed_function_arg): Rewrite.
(function_arg): Use rs6000_arg_size rather than CLASS_MAX_NREGS in
calculating gpr size for altivec. Simplify and correct
rs6000_mixed_function_arg calls. Call rs6000_mixed_function_arg
for ABI_V4 gpr case too. Fix off-by-one error in long double
reg test. Generate the correct PARALLEL to handle long double
for ABI_AIX 32-bit. Use this for -m32 -mpowerpc64 fpr case too.
(function_arg_partial_nregs): Align before calculating regs left.
Don't return info on partial fprs when we need info on gprs.
Correct long double fpr off-by-one error.
2004-08-11 James E Wilson <>
PR rtl-optimization/16490
* cfgrtl.c (cfg_layout_split_edge): Set global_live_at_start and
global_live_at_end for new basic block if already set for other blocks.
2004-08-07 Roger Sayle <>
PR middle-end/16790
* fold-const.c (expand_muldiv_1) <NOP_EXPR>: Disallow local
truncations, not just global truncations.
2004-08-07 Alan Modra <>
* config/rs6000/rs6000.c (function_arg_padding): Revert 2004-07-28.
2004-08-04 Zack Weinberg <>
PR 13956
* dbxout.c (dbx_output_lbrac, dbx_output_rbrac): New
functions, broken out of dbxout_block.
(dbxout_block): The block at depth 0 should get LBRAC/RBRAC
stabs too, if it contains symbols. Use the begin_label and
the Lscope label (emitted by dbxout_function_end) for the
range of this block.
(dbxout_function_decl): Always call dbxout_function_end.
(dbxout_function_end): Return after emitting the "Lscope" symbol
under the same conditions that this function formerly wasn't called.
Add explanatory comments.
2004-08-03 Yossi Markovich <>
Mostafa Hagog <>
* config/rs6000/ (altivec_vnmsubfp): Fix wrong pattern.
2004-07-31 Andrew Pinski <>
PR other/16842
* (libsubdir): s/gcc-lib/gcc/.
2004-07-28 Aldy Hernandez <>
* config/rs6000/ ("move_from_CR_gt_bit"): Rename to
* config/rs6000/ ("e500_flip_gt_bit"): Rename to
* config/rs6000/rs6000-protos.h: Rename output_e500_flip_gt_bit to
* config/rs6000/rs6000.c (output_e500_flip_gt_bit): Rename to
(rs6000_emit_sCOND): Rename call to output_e500_flip_gt_bit to
Rename gen_move_from_CR_gt_bit to gen_move_from_CR_eq_bit.
(print_operand): case D. Get to EQ bit.
2004-07-28 Alan Modra <>
* config/rs6000/rs6000.c (function_arg_padding): Pad SFmode upwards.
2004-07-24 Alexander Kabaev <>
* config/ia64/ia64.h (SUBTARGET_EXTRA_SPECS): Default to nothing.
2004-07-26 David Edelsohn <>
PR target/16239
* config/rs6000/ (movdi_internal64): Further disparage
2004-07-26 Richard Sandiford <>
PR rtl-optimization/16643
* cfglayout.h (cfg_layout_initialize): Add a flags parameter.
* cfglayout.c (cfg_layout_initialize): Pass it to cleanup_cfg.
* basic-block.h (reorder_basic_blocks): Add a flags parameter.
* cfglayout.c (reorder_basic_blocks): Pass it to cfg_layout_initialize.
* loop-init.c (loop_optimizer_init): Pass 0 to cfg_layout_initialize.
* rtl.h (tracer): Add a flags parameter.
* tracer.c (tracer): Pass it to cfg_layout_initialise.
* toplev.c (rest_of_handle_stack_regs): Pass 0 to reorder_basic_blocks.
(rest_of_handle_reorder_blocks): Update calls to tracer and
reorder_basic_blocks, passing CLEANUP_UPDATE_LIFE if appropriate.
(rest_of_handle_tracer): Pass 0 to tracer.
2004-07-24 Zack Weinberg <>
* config/ia64/hpux.h: Do not disable TLS.
2004-07-24 Alexander Kabaev <>
Zack Weinberg <
PR 16684
* c-decl.c (diagnose_mismatched_decls): Don't issue a
redundant-declaration warning the first time a builtin is
declared explicitly.
2004-07-21 Jakub Jelinek <>
Jan Hubicka <>
PR middle-end/15345
PR c/16450
* toplev.c (rest_of_handle_inlining): Set DECL_DEFER_OUTPUT on C
nested functions as well.
* tree-optimize.c (tree_rest_of_compilation): Don't clear decl rtls
for deferred nested inlines.
2004-07-17 Eric Botcazou <>
* libgcc2.c (__enable_execute_stack): New symbol.
* libgcc-std.ver (GCC_3.4.2): New version. Inherit from GCC_3.4
and declare __enable_execute_stack.
* (lib2funcs): Add _enable_execute_stack.
* config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): ANSIfy.
* config/sol2.h (TRANSFER_FROM_TRAMPOLINE): Rename into
* config/alpha/alpha.c (alpha_initialize_trampoline): Conditionalize
* config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Rename into
* config/alpha/osf.h (TRANSFER_FROM_TRAMPOLINE): Likewise.
* config/i386/i386.c (x86_initialize_trampoline): Conditionalize
* config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Rename into
* config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Likewise.
* config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Likewise.
* config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Likewise.
* config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Likewise.
* config/sparc/sparc.c (sparc_initialize_trampoline): Conditionalize
(sparc64_initialize_trampoline): Likewise.
* doc/tm.texi (trampolines): Add ENABLE_EXECUTE_STACK macro.
2004-07-16 Andris Pavenis <>
PR preprocessor/16366
* internal.h (struct cpp_reader): New field dir_hash.
* files.c (make_cpp_dir): Use dir_hash, not file_hash.
(_cpp_init_files, _cpp_cleanup_files): Update for new field.
2004-07-15 James E Wilson <>
Backport from mainline:
2004-02-19 Steve Ellcey <>
* config/ia64/ia64.h (HARD_REGNO_CALLER_SAVE_MODE): New macro.
* testsuite/gcc.dg/20040219-1.c: New test.
2004-07-15 Aldy Hernandez <>
* config/rs6000/ ("*cceq_ior_compare"): Allow
* config/rs6000/ ("e500_cceq_ior_compare"): Remove.
2004-07-14 James E Wilson <>
PR target/16325
* config/mips/mips.h (STARTING_FRAME_OFFSET): When flag_profile_value
2004-07-14 Eric Botcazou <>
Backport from mainline:
2004-07-13 Eric Botcazou <>
PR target/13926
* config/sparc/sparc-protos.h (output_ubranch): New prototype.
* config/sparc/sparc.c (output_ubranch): New function.
* config/sparc/ (jump pattern): Use it.
2004-07-13 Richard Sandiford <>
PR rtl-optimization/16380
* loop.c (check_dbra_loop): Sink comparison instructions if they
do something other than set cc0.
2004-07-13 Eric Botcazou <>
PR target/16494
* config/sparc/sparc.c (output_cbranch): Properly guard
the code handling far branches with TARGET_V9.
* config/sparc/ (length attribute): Document the
side-effect of having a length greater or equal to 3.
2004-07-13 Eric Botcazou <>
Lloyd Parkes <>
PR target/15186
* config/sparc/sol2-bi.h (LINK_ARCH64_SPEC_BASE): Pass
/usr/ucblib/sparcv9 as -R path when -compat-bsd is specified.
2004-07-13 Eric Botcazou <>
Martin Sebor <>
PR target/12602
* doc/invoke.texi (SPARC options): Document -threads
and -pthreads on Solaris.
2004-07-13 Anthony Heading <>
* (gcc_cv_as_offsetable_lo10): Fix a typo.
* configure: Rebuilt.
2004-07-12 Vladimir Makarov <>
PR target/16445
* config/ia64/ia64.c (bundling): Don't count ignored insns.
2004-07-10 John David Anglin <>
* pa.c (output_indirect_call): Only use %r2 as the link register in
indirect calls with the long PA 2.0 pc-relative branch.
2004-07-10 James E Wilson <>
* config/gofast.h (gofast_maybe_init_libfuncs): Use SImode for litodp.
2004-07-10 Jakub Jelinek <>
* Backport from mainline:
2004-07-08 Paolo Bonzini <>
Jakub Jelinek <>
* config/i386/i386.c (override_options): Enable
SSE prefetches with -mtune, as long as we are
compiling for i686 or higher. All i686 processors
accept SSE prefetches as NOPS, some i586's don't.
2004-07-07 Jakub Jelinek <>
* config/i386/i386.c (override_options): Don't set x86_prefetch_sse
from -mtune= option.
2004-07-10 Jakub Jelinek <>
PR tree-optimization/16372
* fold-const.c (build_range_check): Use TYPE_MODE's precision for
2004-07-09 John David Anglin <>
PR target/16459
* pa.c (output_indirect_call): Use %r2 as the link register when
calling $$dyncall with a pc-relative branch.
2004-07-08 Gerald Pfeifer <>
* doc/install.texi (Binaries): Mention OpenPKG.
2004-07-09 Eric Botcazou <>
PR target/16416
* config/sparc/sol2-bi.h (OPTION_DEFAULT_SPECS): New macro.
Override default settings to account for -m32 and -m64.
2004-07-08 Vladimir Makarov <>
PR target/16414
* config/ia64/ia64.c (ia64_dfa_new_cycle): Fix typo in comparison
of asm_noperands result.
2004-07-08 Eric Botcazou <>
PR target/16430
* config/sparc/sparc.c (function_value): In 64-bit mode,
return the aggregates larger than 16 bytes like unions.
2004-07-08 Eric Botcazou <>
PR target/16199
* config/sparc/sparc.c (sparc_emit_set_symbolic_const64): When
'temp' is zero, generate new pseudos as needed and emit the
sequence of insns in single-assignment form. Resync comments
with code.
(sparc_emit_set_const64): Pass zero as 'temp' argument to above
function before reload.
2004-07-07 Richard Sandiford <>
PR target/16407
* config/mips/mips-protos.h (mips_declare_common_object): Declare.
* config/mips/mips.c (mips_declare_common_object): New function,
mostly split out from...
* config/mips/mips.h (ASM_OUTPUT_LOCAL): Remove in favor of...
(ASM_OUTPUT_ALIGNED_LOCAL): ...this new definition.
* config/mips/iris6.h (ASM_OUTPUT_ALIGNED_LOCAL): Undefine this
rather than ASM_OUTPUT_LOCAL. Call mips_declare_common_object.
2004-07-07 Jason Merrill <>
PR c++/15815
* doc/extend.texi (C++ Interface): Correct information and
discourage use.
2004-07-07 Andreas Schwab <>
* config/ia64/ Define new attribute "empty".
(prologue_use, nop_x, insn_group_barrier): Set it.
* config/ia64/ia64.c (ia64_reorg): When looking for trailing call
skip over "empty" insns.
2004-07-07 Vladimir Makarov <>
PR target/16130
PR target/16142
PR target/16143
* config/ia64/ia64.c (ia64_dfa_new_cycle): Reset DFA state for asm
2004-07-06 Kazuhiro Inaoka <>
PR target/1679.
* config/m32r/m32r.c (m32r_function_symbol): New function:
Generate a symbol name RTX with the correct m32r specific flags
(block_move_call): Use new function to generate correct symbol.
* config/m32r/m32r-protos.h: Add prototype for new funcion.
* config/m32r/m32r.h (INITIALIZE_TRAMPOLINE): Use the new
2004-07-07 Richard Sandiford <>
PR target/16357
* config/mips/mips.c (mips_block_move_straight): Pass BLKmode memrefs
to mips_expand_unaligned_load, mips_expand_unaligned_store, and
2004-07-07 Richard Sandiford <>
PR target/15869
* config/mips/mips.c (mips_avoid_hazards): Call split_all_insns_noflow.
2004-07-06 Mark Mitchell <>
* doc/include/gcc-common.texi: Increment version number.
* version.c (version_string): Likewise.
2004-07-06 Joseph S. Myers <>
* doc/sourcebuild.texi: Use semicolons instead of commas in
section title.
2004-07-06 Joseph S. Myers <>
* doc/bugreport.texi, doc/configterms.texi, doc/contrib.texi,
doc/contribute.texi, doc/cpp.texi, doc/cppinternals.texi,
doc/extend.texi, doc/install.texi, doc/invoke.texi, doc/md.texi,
doc/portability.texi, doc/trouble.texi: Avoid some first-person
references and patronizing comments. Based on printed manual.
* doc/invoke.texi: Don't reference
* doc/trouble.texi (Warning when a non-void function value is
ignored): Rewrite. From Russ Allbery and Chris Devers.
2004-07-06 Joseph S. Myers <>
* doc/cppinternals.texi, doc/install.texi, doc/invoke.texi,
doc/md.texi, doc/sourcebuild.texi, doc/tm.texi, doc/trouble.texi:
Use terminology "testsuite" and "enumerated".
2004-07-06 Eric Christopher <>
PR rtl-optimization/14700
Backport from mainline:
2004-06-30 Zack Weinberg <>
* combine.c (distribute_notes): Don't look at global_regs for
2004-06-24 Eric Christopher <>
* combine.c (distribute_notes): Don't delete sets to
global register variables.
2004-07-04 Gerald Pfeifer <>
* doc/contrib.texi (Contributors): Adjust link for GNU Classpath.
2004-07-01 Release Manager
* GCC 3.4.1 released.
2004-06-28 Neil Booth <>
PR preprocessor/16192
PR preprocessor/15913
PR preprocessor/15572
* cppexp.c (_cpp_parse_expr): Handle remaining cases where an
expression is missing.
* cppinit.c (post_options): Traditional cpp doesn't do // comments.
* doc/cpp.texi: Don't document what we do for ill-formed expressions.
* doc/cppopts.texi: Clarify processing of command-line defines.
2004-06-28 Richard Sandiford <>
PR target/16176
* config/mips/mips.c (mips_expand_unaligned_load): Use a temporary
register for the destination of the lwl or ldl.
2004-06-25 Philip Blundell <>
PR wrong-code/15089
* loop.c (scan_loop): Do not move user-specified register
2004-06-25 Mark Mitchell <>
PR wrong-code/16129
* alias.c (get_alias_set): Adjust setting of
DECL_POINTER_ALIAS_SET for pointers to aggregates.
2004-06-25 Richard Sandiford <>
PR target/16144
* config/mips/ (divsf, divdf): Don't FAIL if the first operand
is 1.0; force it into a register instead.
2004-06-24 Alan Modra <>
* calls.c (expand_call): Call INIT_CUMULATIVE_ARGS earlier, and
pass raw n_named_args to it.
2004-06-22 Richard Henderson <>
PR middle-end/16026
* function.c (assign_parms): Don't abort for overaligned PARALLEL.
2004-06-21 Kelley Cook <>
PR target/15551
(allocate_stack_worker): Make unspec_volatile.
(allocate_stack_worker_rex64): Likewise.
(allocate_stack_worker_postreload): Likewise.
(allocate_stack_worker_rex64_postreload): Likewise.
2004-06-21 John David Anglin <>
PR rtl-optimization/14782
* pa.c (emit_move_sequence): Use SFmode for 4-byte modes when doing
the address checks for secondary reloads for loads from and stores
to floating-point registers.
* pa.h (EXTRA_CONSTRAINT, case T): Use SFmode for 4-byte modes
in the address check. Move work around for ELF32 targets to
(GO_IF_LEGITIMATE_ADDRESS): Require constant offsets to be
correctly aligned for DImode loads and stores. Don't allow long
SFmode displacements on ELF32.
2004-06-21 Richard Henderson <>
PR rtl-opt/16114
* cse.c (merge_equiv_classes): Also rehash in response to
delete_reg_equiv changes.
(rehash_using_reg): Don't exclude REGs from rehashing.
2004-06-21 Richard Sandiford <>
PR rtl-optimization/15159
* tree.c (unsafe_for_reeval): Return 2 for TRY_CATCH_EXPRs.
2004-06-19 Richard Henderson <>
PR target/15941
* function.c (assign_parms): If not padding upward or intentionally
forcing upward padding, take offset_rtx into account when determining
the alignment for stack_parm.
2004-06-19 Richard Henderson <>
PR target/15550
* ifcvt.c (noce_try_move): Recognize all generated instructions.
2004-06-19 Andrew Pinski <>
PR target/10129
* config/darwin.c (darwin_encode_section_info): When the decl has
a DECL_INITIAL, it is only defined also when it is not a common.
2004-06-17 Zack Weinberg <>
Bug 14610
* (min-insn-modes.o): Correct dependencies.
* real.c (encode_ieee_extended, decode_ieee_extended): Always
produce/consume 12-byte little-endian Intel format.
(encode_ieee_extended_128, decode_ieee_extended_128): Delete.
(encode_ieee_extended_motorola, decode_ieee_extended_motorola)
(encode_ieee_extended_intel_96, decode_ieee_extended_intel_96)
(encode_ieee_extended_intel_128, decode_ieee_extended_intel_128):
New functions which convert between 12-byte little-endian Intel
format and the desired format.
(ieee_extended_motorola_format, ieee_extended_intel_96_round_53_format)
(ieee_extended_intel_96_format, ieee_extended_intel_128_format):
2004-06-16 James E Wilson <>
PR c++/14808
* config/i386/cygwin.h (TARGET_IS_PE_COFF): Delete duplicate macro.
2004-06-16 Bernardo Innocenti <>
Backport from mainline:
2004-06-16 Bernardo Innocenti <>
PR target/13292
* config/m68k/m68k.h (TARGET_SWITCHES): Don't remove MASK_68040_ONLY
on -msoft-float.
(TARGET_FLT_EVAL_METHOD): Don't advertise extended precision for
68040 and soft-float.
* config/m68k/ (truncdfsf2): Explicitly require TARGET_68881
in the TARGET_68040_ONLY case.
2004-06-16 Vladimir Makarov <>
PR target/15653
* config/ia64/ia64.c (ia64_dfa_new_cycle): Do not insert nops
after shifts before asm.
2004-06-15 Chris Demetriou <>
* config/mips/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): Remove
* config/mips/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Remove
#undef and #if 0'd definition.
2004-06-15 Kazuhiro Inaoka <>
* config/m32r/m32r.h (RETURN_ADDR_RTX): Define.
* config/m32r/m32r-protos.h (m32r_return_addr): Added.
* config/m32r/m32r.c (m32r_exppand_prologue): Changed for
(m32r_return_addr): Added for __builtin_return_address(0).
(m32r_reload_lr): Ditto.
* longlong.h: Fix macros for m32r add_ssaaaa and sub_ddmmss.
2004-06-15 Giovanni Bajo <>
* Update optimization -> tree-optimization/rtl-optimization.
2004-06-14 Eric Botcazou <>
* real.c: Fix bit count in head comment.
2004-06-14 Jakub Jelinek <>
PR middle-end/15945
* simplify-rtx.c (simplify_binary_operation): Don't optimize out
Inf + -Inf, Inf - Inf, Inf / Inf and 0 * Inf if flag_trapping_math.
2004-06-14 Jakub Jelinek <>
PR target/15178
* config/i386/sol2.h (ASM_OUTPUT_DEF_FROM_DECLS): Define.
2004-06-14 Alan Modra <>
* config/rs6000/rs6000.h (ASM_CPU_SPEC): Handle -mpowerpc64 and -mcpu
for power5 and rs64a. Correct condition for default. Correct power3,
620, 630, 7400, 7450, G4, 970 and G5 -mcpu entries. Add -many.
2004-06-13 Alan Modra <>
Apply mainline 2004-01-27 Alan Modra <>
* config/rs6000/rs6000.h: Correct target_flags free bits comment.
(PREDICATE_CODES): Remove duplicate.
* config/rs6000/linux64.h (CPP_SYSV_SPEC): Don't define.
(MASK_PROFILE_KERNEL): Adjust define.
2004-06-13 Hans-Peter Nilsson <>
PR rtl-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-06-12 Andreas Jaeger <>
* libgcc-std.ver: Add __unorddf2 and __unordsf2 with version 3.3.4.
* libgcc-darwin.ver: Likewise.
2004-06-11 Bernardo Innocenti <>
PR target/8309
PR target/13312
Backport from mainline:
2004-05-27 Peter Jakubek <>
* reload.c (find_reloads): Force reload for pseudo registers on big
endian machines.
2004-06-11 J"orn Rennecke <>
* sh.c (dump_table): New argument start. Changed caller.
(fixup_mova): New function.
(find_barrier): Use it.
(sh_reorg): Likewise. Check for CODE_FOR_casesi_worker_2.
If the label a mova refers to is above the mova itself, change
the mova into a load.
* (*casesi_worker): Rename to:
(casesi_worker_2): New insn.
2004-06-11 Hartmut Penner <>
Backport from mainline:
* config/rs6000/rs6000.c (output_vec_const_move):
Find all cases of EASY_VECTOR_15_ADD_SELF.
(easy_vector_constant_add_self): Accept
all vector constant loadable by vsplt* and vadd*.
(easy_vector_same): Use easy_vector_splat_const.
(easy_vector_const): Use easy_vector_splat_const.
(easy_vector_splat_const): New function.
(gen_easy_vector_constant_add_self): New function.
* config/rs6000/rs6000-protos.c (gen_easy_vector_constant_add_self):
New prototype.
* config/rs6000/ (movv4si splitter): Change to
emit move insn with halfed vector constant.
(*movv8hi splitter): Likewise.
(*movv16qi splitter): Likewise.
2004-06-10 Joseph S. Myers <>
* doc/sourcebuild.texi (Front End): Add details of more
installation documentation required.
2004-06-10 Vladimir Makarov <>
PR target/15653
* haifa-sched.c (schedule_block): Finish cycle after issuing asm
2004-06-10 Volker Reichelt <>
PR web/15263
* doc/install.texi: Remove superfluous linebreak.
2004-06-10 Bernardo Innocenti <>
PR target/13803
Backport from mainline:
2004-05-05 Peter Barada <>
* config/m68k/m68k.h(EXTRA_CONSTRAINT): Add 'U' for register offset
* config/m68k/ Add 'U,U' alternative to ColdFire variants of
movsi, movhi, movqi insn patterns.
2004-06-10 Alan Modra <>
Apply from mainline:
2004-03-12 Jakub Jelinek <>
* config/rs6000/rs6000-protos.h (rs6000_output_dwarf_dtprel): Add
* config/rs6000/rs6000.c (rs6000_output_dwarf_dtprel): New.
* config/rs6000/rs6000.h (ASM_OUTPUT_DWARF_DTPREL): Define.
2004-06-10 Jakub Jelinek <>
* config/ia64/unwind-ia64.c (uw_frame_state_for): Don't assume a
leaf function without unwind info at RP 0.
2004-06-10 Alan Modra <>
PR target/15191
2004-05-15 Alan Modra <>
* config/rs6000/rs6000.c (rs6000_va_arg <ABI_V4>): Don't use
UNITS_PER_WORD to calculate gpr size. Re-instate code to set reg
count to 8 to handle n_reg > 2.
2004-05-10 Alan Modra <>
* config/rs6000/rs6000.c (function_arg_boundary): Always align
AltiVec vectors.
(function_arg_advance): Pass TARGET_32BIT -mabi=no-altivec AltiVec
vectors by refererence. Align the same for TARGET_64BIT to a 16
byte boundary. Remove useless code. Add function comment.
(function_arg): Similarly. Move gpr rs6000_mixed_function_arg
call to where it belongs.
(function_arg_partial_nregs): Return true for all TARGET_32BIT
-mabi=no-altivec AltiVec vectors. Fix debug output.
(rs6000_va_arg): Adjust for AltiVec change.
2004-05-10 Alan Modra <>
* config/rs6000/rs6000.c (function_arg_boundary): Align for ABI_V4
when size is 8 bytes.
(function_arg_advance): Account for stack space used by AltiVec
args when -mabi=altivec. Simplify alignment calculations. For
ABI_V4, pass AltiVec vectors by reference when -mabi=no-altivec.
(function_arg): Similarly.
(function_arg_pass_by_reference): True for ABI_V4 AltiVec when
not AltiVec ABI.
(rs6000_va_arg): Correct fp arg test. Adjust for AltiVec change.
Correct alignment, and align before testing reg count. Remove
TREE_THIS_VOLATILE from reg. Don't emit unused labels.
(rs6000_complex_function_value): Check TARGET_HARD_FLOAT and
(rs6000_function_value): .. not here before call.
2004-05-07 Alan Modra <>
* config/rs6000/rs6000.h (STACK_BOUNDARY): Use 128 bit for either
* config/rs6000/sysv4.h (ABI_STACK_BOUNDARY): Likewise.
2004-06-10 Alan Modra <>
PR target/14960
2004-04-24 Alan Modra <>
* config/rs6000/rs6000.c (rs6000_stack_info): Rename total_raw_size
to non_fixed_size, and leave out fixed_size from the sum.
(generate_set_vrsave): Correct clobbers.
(rs6000_emit_epilogue): Test TARGET_ALTIVEC with TARGET_ALTIVEC_SAVE.
(rs6000_function_value): Test TARGET_ALTIVEC and TARGET_ALTIVEC_ABI.
(rs6000_libcall_value): Likewise.
* config/rs6000/rs6000.h (FUNCTION_VALUE_REGNO_P): Likewise.
2004-06-10 Alan Modra <>
PR target/14567
2004-03-13 Alan Modra <>
* config/rs6000/rs6000.h (UNITS_PER_ARG, RS6000_ARG_SIZE): Delete.
(HARD_REGNO_MODE_OK): Disallow TFmode for fp31.
* config/rs6000/rs6000.c (rs6000_arg_size): New function.
Update all users of RS6000_ARG_SIZE.
(function_arg_advance): Count fregno using mode size.
(function_arg): Handle long double split over regs and memory.
(function_arg_partial_nregs): Likewise.
(rs6000_va_arg): Repackage complex args.
2004-02-23 Fariborz Jahanian <>
* config/rs6000/rs6000.c (function_arg): call to
rs6000_mixed_function_arg for DFmode moved to allow
normal DFmode incoming register assignment.
2004-06-09 Mark Mitchell <>
PR c++/15815
2004-06-07 Mark Mitchell <>
* doc/extend.texi: Deprecate #pragma interface and #pragma
2004-06-08 Zdenek Dvorak <>
PR rtl-optimization/15761
* cfgloopanal.c (count_strange_loop_iterations,
count_loop_iterations): Use gen_int_mode instead
2004-06-08 Roger Sayle <>
PR c/14649
* c-typeck.c (require_constant_value, require_constant_elements):
Move declarations to the top of the file.
(build_function_call): If we require a constant value, fold with
fold_initializer. If the result is a constant, and the function
wasn't called using __builtin_foo, issue a pedantic warning.
(build_unary_op): If we require a constant value, fold tree with
(build_binary_op): Use require_constant_value to determine whether
to call fold or fold_initializer.
2004-06-08 Richard Henderson <>
PR middle-end/15228
* function.c (assign_parms): Always set_mem_align with the computed
2004-06-08 Vladimir Makarov <>
PR target/15598
* config/ia64/ia64.c (bundling): Add missed TYPE_A.
2004-06-08 Zdenek Dvorak <>
PR rtl-optimization/15717
* config/i386/i386.c (legitimate_constant_p): Do not allow
x - symbol_ref.
2004-06-07 James E Wilson <>
PR target/15569
* config/ia64/ (call_value_nogp): Add constraints for op0.
(vall_value_gp): Likewise.
2004-06-07 Dan Kegel <>
PR c++/14808
* config/i386/cygwin.h (TARGET_IS_PE_COFF): New.
* config/i386/cygming.h (TARGET_IS_PE_COFF): New.
2004-06-07 Eric Botcazou <>
PR target/15783
* config/sparc/sparc.c (function_arg_union_value): Add 'mode'
parameter. Enumerate the registers inside the PARALLEL.
(function_arg): Adjust call to function_arg_union_value.
(function_value): Likewise.
2004-06-07 John David Anglin <>
* pa.c (emit_move_sequence): Fix loading of non 14-bit CONST operands
when generating PIC code.
* Disable the peephole2 patterns that generate indexed
floating-point stores when indexing is disabled.
2004-06-07 Joseph S. Myers <>
PR c/14765
* (compstmt_primary_start): Set last_expr_type to
2004-06-07 Mark Mitchell <>
PR c++/15815
* doc/extend.texi: Deprecate #pragma interface and #pragma
2004-06-07 Richard Henderson <>
PR rtl-opt/15193
* expmed.c (extract_bit_field): Fix vector_extract return.
2004-06-07 Mark Mitchell <>
PR c++/15337
* c-common.c (c_sizeof_or_alignof_type): Use more detailed error
2004-06-06 Stephane Carrez <>
PR target/14542
* config/m68hc11/ (move peephole2): Emit a use note to avoid
a live change of a register after peephole replacement.
2004-06-06 Stephane Carrez <>
PR target/14457
* config/m68hc11/m68hc11.c (splitable_operand): New predicate.
* config/m68hc11/m68hc11-protos.h (splitable_operand): Declare.
* config/m68hc11/m68hc11.h (PREDICATE_CODES): Register it.
(inhibit_libc): Must define.
* config/m68hc11/ ("movhi_const0"): Use splitable_operand.
("*andhi3_gen", "iorhi3", "*iorhi3_gen"): Likewise.
("xorhi3"): Likewise.
2004-06-05 David S. Miller <>
* config/sparc/linux.h (TARGET_C99_FUNCTIONS): Set.
* config/sparc/linux64.h (TARGET_C99_FUNCTIONS): Likewise.
2004-06-04 Eric Christopher <>
Backport from mainline:
2004-06-02 Eric Christopher <>
* c-typeck.c (common_type): Don't lose type qualifiers
when creating new variants.
2004-06-03 Bernardo Innocenti <>
PR target/15782
Backport from mainline:
2004-06-01 Peter Barada <>
Peter Jakubek <>
* config/m68k/m68k.c(m68k_output_mi_thunk): For ColdFire, use %d0 as
a scratch to perform an add to memory.
2004-06-01 Paul Eggert <>
PR target/15626
* doc/install.texi (sparc-sun-solaris2*): Document messages issued
by the Sun linker in conjunction with the Sun assembler.
(sparc-sun-solaris2.7): Update revision info for Sun patch 106950.
2004-06-01 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-06-01 Eric Botcazou <>
* doc/invoke.texi (-static-libgcc): Explicitly mention
non-GNU linkers.
2004-05-31 Kaz Kojima <>
PR target/13250
Backport from mainline:
2004-05-28 Kaz Kojima <>
* config/sh/ (rotlsi3): Use emit_move_insn.
2004-05-31 H.J. Lu <>
PR middle-end/15666
* cgraph.c (cgraph_remove_node): Don't call htab_clear_slot if
we can't find the slot. Abort if we can't find slot and the
node isn't for a builtin function.
2004-05-31 Roger Sayle <>
PR middle-end/15069
* fold-const.c (fold_single_bit_test): Only perform "(X & C) != 0"
into "X < 0" (where C is the signbit) if X's type is a full mode.
2004-05-31 Joseph S. Myers <>
PR c/15749
* c-decl.c (grokdeclarator, finish_struct): Don't pedwarn for
misuses of structures with flexible array members if
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-31 Danny Smith <>
* c-incpath.c (add_path): Canonicalize paths to use '/' if
2004-05-28 John David Anglin <>
PR bootstrap/14671
* alias.c (init_alias_analysis): Allocate alias_invariant array with
ggc_calloc instead of xrealloc.
(end_alias_analysis): Don't free alias_invariant.
2004-05-28 DJ Delorie <>
* stor-layout.c (place_field): Revert erroneous commit.
2004-05-28 Nick Clifton <>
Bug 14093
* config/sh/sh-protos.h (sh_promote_prototypes): Declare.
* config/sh/sh.c (sh_promote_prototypes): Remove declaration.
Delete static from definition.
* config/sh/sh.h (FUNCTION_VALUE): Add sh_promote_prototypes call.
2004-05-27 Kaz Kojima <>
Backport from mainline:
* config/sh/t-linux (SHLIB_MAPFILES): Use sh specific
* config/sh/libgcc-std.ver: New file.
2004-05-27 Olivier Hainque <>
* expr.c (store_constructor): Restore sanity check on
the size of the type before clearing.
2004-05-27 Alan Modra <>
PR target/14478
* config/rs6000/rs6000.c (reg_or_neg_short_operand): Don't allow zero.
2004-05-26 Aldy Hernandez <>
* config/rs6000/rs6000.c (spe_expand_stv_builtin): New.
2004-05-23 Joseph S. Myers <>
* doc/gcc.texi, doc/gccint.texi, doc/include/gcc-common.texi:
Update based on printed manual. Enable setting of offsets for
FSFPRINT and move it to gcc-common.texi.
* doc/gcc.texi: Update FSF printing details.
* doc/gccint.texi: Remove FSF printing details.
2004-05-21 Jakub Jelinek <>
* config/sparc/linux64.h (OPTION_DEFAULT_SPECS): If SPARC_BI_ARCH,
override sparc.h definition.
2004-05-20 Jakub Jelinek <>
* config/sparc/linux64.h (TARGET_DEFAULT): Make 64-bit by default
also for TARGET_CPU_DEFAULT == TARGET_CPU_ultrasparc3.
2004-05-18 John David Anglin <>
PR target/15202
* (movdi, movsi, movhi, movqi): Support move from shift amount
register to general register for DI, SI, HI and QI modes. Remove
move to shift amount register in DF mode.
2004-05-18 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-18 Kaz Kojima <>
PR optimization/15100
Backport from mainline:
2004-05-11 Kaz Kojima <>
* combine.c (distribute_notes): Don't create a dangling
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-15 Joseph S. Myers <>
* doc/extend.texi: Update WG14 URL.
2004-05-11 Aldy Hernandez <>
* config/rs6000/ (spe_evneg): Rename to negv2si2.
* config/rs6000/rs6000.c (bdesc_1arg): Change spe_evneg to
2004-05-10 Kaz Kojima <>
PR target/15130
Backport from mainline:
* config/sh/sh-protos.h (sh_expand_epilogue): Change prototype.
* config/sh/sh.c (output_stack_adjust): Take the sibcall epilogue
into account. Compute the correct number of general registers
for the return value. 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. Set the 3rd argument of output_stack_adjust to
-1 if needed.
(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-09 Aldy Hernandez <>
* config/rs6000/ ("tstsflt_gpr"): Fix typo in unspec.
2004-05-08 Eric Botcazou <>
* doc/install.texi (sparc-sun-solaris2*): Document bootstrap
problems with earlier versions of the GNU compiler.
2004-05-07 Eric Botcazou <>
PR c++/14962
* c-pragma.c (handle_pragma_redefine_extname): Only change
the assembler name of FUNCTION_DECLs and VAR_DECLs.
2004-05-07 Loren James Rittle <>
* config/alpha/freebsd.h (SUBTARGET_EXTRA_SPECS): Proper redefinition.
* config/arm/freebsd.h: Likewise.
* config/ia64/freebsd.h: Likewise.
* config/sparc/freebsd.h: Likewise.
2004-05-06 Richard Henderson <>
* stmt.c (parse_output_constraint): Don't warn for read-write
memory operand.
2004-05-06 Jan Hubicka <>
PR c/15004
* function.c (do_warn_unused_parameter): Break out form ...
(expand_function_end): ... here; warn only when not using cgraphunit.
* function.h (do_warn_unused_parameter): Declare.
* cgraphunit.c: Include function.h.
(cgraph_finalize_function): Do unused parameter warning.
* (cgraphunit.o): Depend on function.h
2004-05-05 H.J. Lu <>
PR target/15290
* config/i386/i386.c (ix86_split_to_parts): Use real_to_target
2004-05-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* fixinc/inclhack.def (svr4_profil): Don't apply on IRIX 5/6.
* fixinc/fixincl.x: Regenerate.
2004-05-02 Josef Zlomek <>
* cfgrtl.c (cfg_layout_redirect_edge_and_branch): Print the debug
message before redirecting the edge.
2004-05-02 Eric Botcazou <>
PR optimization/15112
* reload1.c (reload): Don't record unchanging memory locations.
2004-04-30 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
PR other/1963
* config/alpha/osf.h (SWITCHES_NEED_SPACES): Define.
2004-04-30 David Edelsohn <>
Backport from mainline:
2004-04-19 David Edelsohn <>
* doc/install.texi (*-ibm-aix*): Add AIX 5.1 assembler and archiver
fix information.
2004-04-17 Alan Modra <>
PR target/14715
* config/rs6000/rs6000.c (rs6000_stack_info): Make parm_size agree
2004-04-07 David Edelsohn <>
* config/rs6000/rs6000.c (processor_target_table): Add MASK_MFCRF
to power4 and power5 entries.
2004-04-05 David Edelsohn
* config/rs6000/rs6000.c (VTABLE_NAME_P): Add _ZTI to special
symbol handling.
2004-03-30 Hartmut Penner <>
PR 11591
* config/rs6000/rs6000.c (rs6000_legitimate_address):
Allow any offset to argument pointer in no-strict case.
2004-03-25 David Edelsohn <>
* config/rs6000/rs6000.c (rs6000_always_hint): New variable.
(rs6000_sched_groups): New variable.
(processor_target_table): Add power5.
(rs6000_override_options): Set rs6000_sched_insert_nops,
rs6000_sched_costly_dep and rs6000_sched_restricted_insns_priority
from rs6000_sched_groups.
(output_cbranch): Use rs6000_always_hint.
(rs6000_variable_issue): Use rs6000_sched_groups.
(rs6000_adjust_cost): Add CPU_POWER5.
(is_microcoded_insn): Use rs6000_sched_groups.
(is_dispatch_slot_restricted): Use rs6000_sched_groups.
Return 2 for POWER5 cracked instructions.
(is_cracked_insn): Use rs6000_sched_groups.
(is_branch_slot_insn): Use rs6000_sched_groups.
(rs6000_issue_rate): Add CPU_POWER5.
(rs6000_sched_finish): Use rs6000_sched_groups.
(rs6000_rtx_costs): Add PROCESSOR_POWER5.
* config/rs6000/rs6000.h (processor_type): Add PROCESSOR_POWER5.
* config/rs6000/ (define_attr "cpu"): Add power5.
* config/rs6000/ New file.
* doc/invoke.texi: Add power5 option.
2004-03-17 Fariborz Jahanian <>
* config/rs6000/rs6000.c (rs6000_stack_info): correct reg_size
for mixed mode.
(rs6000_emit_prologue): Ditto.
(rs6000_emit_epilogue): Ditto.
* config/rs6000/rs6000.h: Definition of DWARF_CIE_DATA_ALIGNMENT
macro for mixed mode.
2004-03-04 David Edelsohn <>
GP <>
* config/rs6000/rs6000.c (output_function_profiler): Append @plt
when compiling PIC.
2004-04-30 Paolo Bonzini <>
* config/altivec/altivec.h [__cplusplus] (vec_subsubs): Rename
to vec_sububs.
[__cplusplus] (vec_subsuhs): Rename to vec_subuhs,
eliminating duplicates.
2004-04-29 Richard Sandiford <>
PR target/15189
* config/mips/ (load_df_low): Use default length.
(load_df_high, store_df_high): Likewise.
2004-04-29 Philip Blundell <>
* Merge from trunk:
2004-04-20 Paul Brook <>
* config/arm/arm.c (arm_legitimate_address_p): Use rtx_equal_p.
2004-04-29 Aldy Hernandez <>
* config/rs6000/rs6000.c (rs6000_emit_cmove): Disable comparisons
of floats on the E500.
(branch_positive_comparison_operator): Do not allow NE even on the
(ccr_bit): Remove E500 specific code.
Remove miscompilation warning for e500.
(print_operand): Add 'c' and 'D'.
(rs6000_generate_compare): Rewrite to generate correct rtl.
(rs6000_emit_sCOND): Handle E500.
(output_cbranch): Adjust for changes in rs6000_generate_compare.
(output_e500_flip_gt_bit): New.
(rs6000_override_options): Error when user wants altivec and e500
* config/rs6000/ (UNSPEC_MV_CR_GT): New constant.
(move_from_CR_gt_bit): New.
(cceq_ior_compare): Name previously unnamed pattern. Disable for
(cceq_rev_compare): Name previously unnamed pattern. Allow for
* config/rs6000/ (cmpsfeq_gpr): Rewrite as unspec.
(tstsfeq_gpr): Same.
(cmpsfgt_gpr): Same.
(tstsfgt_gpr): Same.
(cmpsflt_gpr): Same.
(tstsflt_gpr): Same.
(e500_cceq_ior_compare): New.
(e500_flip_gt_bit): New.
* config/rs6000/rs6000-protos.h (output_e500_flip_gt_bit):
2004-04-28 Ben Elliston <>
* doc/invoke.texi (Objective-C Dialect Options): Don't prefix
options with "-" in the option index.
(SPARC Options): Likewise.
(M32R/D Options): Likewise.
2004-04-28 Joseph S. Myers <>
* ($(DESTDIR)$(infodir)/ Don't condition
calling install-info on $(DESTDIR)$(infodir)/dir already being
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-27 John David Anglin <>
PR debug/14829
* dwarf2out.c (reg_number): Rename to dbx_reg_number. Adjust all
(multiple_reg_loc_descriptor, reg_loc_descriptor): Use gcc register
number for indexing hard_regno_nregs array.
2004-04-27 Bob Wilson <>
* config/xtensa/xtensa.c (call_insn_operand): Check
* config/xtensa/xtensa.h (LEGITIMATE_PIC_OPERAND): Likewise.
* config/xtensa/ (call, call_value): Likewise.
2004-04-26 Zack Weinberg <>
* config/ia64/hpux.h: Predefine __STDCPP__ when compiling C++.
* config/pa/pa-hpux10.h: Likewise.
* config/pa/pa-hpux11.h: Likewise.
2004-04-23 Eric Botcazou <>
PR optimization/13985
* cfgloopmanip.c (fix_loop_placements): New prototype.
Call fix_bb_placements on the preheader of loops that have
been reparented.
(remove_path): Adjust call to fix_loop_placements.
2004-04-23 Nick Clifton <>
* Import this patch from mainline:
2004-04-16 Kazuhiro Inaoka <>
* config/m32r/m32r.h (BIG_ENDIAN_BIT): Deleted to fix endian
TARGET_DEFAULT): Changed. Ditto.
* config/m32r/little.h (TARGET_LITTLE_ENDIAN): Deleted.
2004-04-22 Per Bothner <>
* cppinit.c (cpp_read_main_file): Return NULL rather than false.
Fixes PR preprocessor/15067.
2004-04-22 Ulrich Weigand <>
* function.c (thread_prologue_and_epilogue): Move
before the epilogue.
2004-04-22 Ulrich Weigand <>
* dbxout.c (dbxout_symbol_location): Do not output references
to optimized-out constant pool symbols.
2004-04-22 Ulrich Weigand <>
* expr.c (store_constructor): Use gen_int_mode to correctly
sign-extend CONST_INT value.
2004-04-22 Ulrich Weigand <>
* combine.c (if_then_else_cond): Check for NULL return value of
2004-04-22 Ulrich Weigand <>
* reload1.c (emit_reload_insns): Set reg_has_output_reload to one
after setting reg_last_reload_reg for optional output reloads.
2004-04-22 John David Anglin <>
* 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-21 Kaz Kojima <>
Backport from mainline:
2004-04-05 Kaz Kojima <>
* config/sh/sh.c (prepare_move_operands): Use emit_call_insn
when the TLS address is generated by a function call.
* config/sh/ (tls_global_dynamic): Use a call expression.
(tls_local_dynamic): Likewise.
2004-04-21 H.J. Lu <>
PR target/14813
Backport from mainline:
* config/ia64/crtend.asm: Move pointer to __do_global_ctors_aux
in .init_array section to ...
* config/ia64/crtbegin.asm: Here.
* config/ia64/crtend.asm: Mark __do_global_ctors_aux global
and hidden if HAVE_INITFINI_ARRAY is defined.
2004-04-21 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.
2004-04-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* doc/install.texi (Specific, mips-sgi-irix5): Fix IRIX 5.3 IDO
download URL.
2004-04-21 H.J. Lu <>
PR target/14857
Backport from mainline:
* config/ia64/ia64.c (ia64_encode_section_info): Don't prod
global register variables.
2004-04-21 H.J. Lu <>
* PR target/14723
Backport from mainline:
2004-02-14 Jan Hubicka <>
* config.gcc: Add support for nocona/prescott/pentium-m/pentium3m
* i386.c (override_options): Add support for new CPUs.
* i386.h (TARGET_CPU_DEFAULT_NAMES): New names.
* invoke.texi: Extend documentation of -mtune/-march for new CPUs.
2004-04-20 Mark Mitchell <>
* version.c (version_string): Mark as prerelease.
* doc/include/gcc-common.texi: Bump version number.
2004-04-18 Release Manager
* GCC 3.4.0 released.
2004-04-18 Alan Modra <>
PR bootstrap/14992
* Define HAVE_LD_AS_NEEDED only for linux.
* configure: Regenerate.
* gcc.c (init_gcc_specs): Revert earlier change.
2004-04-18 Mark Mitchell <>
PR other/14918
* doc/invoke.texi (-fprofile-generate): Document requirement to
use -fprofile-generate when linking.
PR bootstrap/14992
* gcc.c (init_gcc_specs): Only honor HAVE_LD_AS_NEEDED on
* doc/extend.texi (Strong Using): Warn users against using this
2004-04-17 Richard Sandiford <>
* (gcc_cv_ld_as_needed): Use AC_CACHE_CHECK.
* configure: Regenerate.
2004-04-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* config.gcc (i[34567]86-*-solaris2*): Default to DWARF-2
debugging on Solaris 7 and up.
2004-04-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* doc/install.texi (Specific, mips-sgi-irix5): Reflect working
IRIX 5 port.
Remove -save-temps workaround, handled automatically.
Require GNU binutils 2.15 for debugging.
Remove SGI make warnings since GNU make is now required.
(Specific, mips-sgi-irix6): Some markup fixes.
Describe MIPSpro C problems and workarounds.
Mention working O32 ABI support.
Recommend GNU as 2.15 for O32 with debugging.
Remove description of fixed structure pass/return bug.
2004-04-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* aclocal.m4 (gcc_AC_PROG_GNAT): Check if ${CC} produces object
file for Ada compilation.
Fix gcc_cv_cc_supports_ada spelling.
* configure: Regenerate.
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-09 Zack Weinberg <>
* config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Look only at
mode argument.
* config/ia64/ia64.c (ia64_hpux_file_end): Check
2004-04-08 Mark Mitchell <>
* doc/invoke.texi (Precompiled Headers): Warn about known
2004-04-08 Joel Sherrill <>
PR ada/14538
* ada/5rosinte.adb: Remove fake mprotect() body.
* ada/ Add SA_SIGINFO. Make pthread_key_t a type
which can be set since Finalize_TCB in 7staprop.adb does not
go through the Set_Specific interface.
* ada/5rtpopsp.adb: Rewrite to use new interface.
* ada/init.c: Reorder so the simple single OS conditional __rtems__
is tested before more complex ones which mix UNIX and embedded
systems in the conditional.
2004-04-08 Joel Sherrill <>
PR ada/14665
* ada/osint.adb (Find_Program_Name): Rework to properly handle
filenames which end in .exe or have versioning suffixes like VMS.
2004-04-08 Joseph S. Myers <>
* fixinc/inclhack.def (rpc_xdr_lvalue_cast_a,
rpc_xdr_lvalue_cast_b): New fixes.
* fixinc/fixincl.x: Regenerate.
* fixinc/tests/base/rpc/xdr.h: Add new tests.
2004-04-06 Mark Mitchell <>
* config/darwin.h (LINK_COMMAND_SPEC): Change c++filt3 to c++filt.
2004-04-05 John David Anglin <>
* doc/install.texi: Update HP-UX 11 installation procedure.
2004-04-05 Jakub Jelinek <>
John David Anglin <>
PR optimization/13424 (hppa), bootstrap/14462, c/14828
* Use replace_equiv_address to retain the attributes of the
memory operands used in the split and peephole2 patterns for optimizing
the pre-reload movstrsi, movstrdi, clrstrsi and clrstrdi patterns.
2004-04-05 Alexandre Oliva <>
* cppinit.c (cpp_read_main_file): Return file name obtained by
read_original_filename. Missed in 2004-02-04's check in to 3.4
branch by Per Bothner.
2004-04-05 Eric Botcazou <>
* config/sparc/sol2-bi.h (PREFERRED_DEBUGGING_TYPE): Set
to DWARF2_DEBUG unconditionally.
(ASM_DEBUG_SPEC): Set the default to --gdwarf2 unconditionally.
2004-04-04 Mark Mitchell <>
PR c++/14804
* varasm.c (initializer_constant_valid_p): Allow NOP_EXPRs to
2004-04-02 Jakub Jelinek <>
Eric Botcazou <>
PR optimization/13424, optimization/12419
* explow.c (maybe_set_unchanging): Revert 2003-04-07 patch.
Set RTX_UNCHANGING_P even for read-only DECL_EXTERNAL decls.
* expr.c (store_constructor): When clearing aggregate because
of an incomplete or mostly zero constructor, do the clearing
without /u flag and then emit a blockage.
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 <>
* config/sparc/sparc.h (DITF_CONVERSION_LIBFUNCS): Define to 0.
* config/sparc/linux.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1.
* config/sparc/linux64.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1.
* config/sparc/sol2.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1.
* config/sparc/sparc.c (sparc_init_libfuncs): Initialize optabs
with _Q_qtoll, _Q_qtoull and _Q_lltoq if DITF_CONVERSION_LIBFUNCS.
* config.gcc (sparc-*-linux*): Revert 2004-03-23 change.
* config/sparc/t-linux64 (TARGET_LIBGCC2_CFLAGS): Likewise.
* config/sparc/t-linux: Removed.
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-03-30 Aldy Hernandez <>
PR 14219
* c-typeck.c (build_binary_op): Do not allow comparisons of
2004-03-26 Ian Lance Taylor <>
PR target/14206
* doc/install.texi (Specific): Document that exec-shield-randomize
interferes with precompiled headers.
2004-03-26 Richard Henderson <>
PR 11527
* c-typeck.c (pop_init_level): Emit pending init elements earlier
rather than later.
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-25 Jan Hubicka <>
PR debug/13974
* cfgrtl.c (try_redirect_by_replacing_jump,
force_nonfallthru_and_redirect, commit_one_edge_insertion,
cfg_layout_merge_blocks): Do not attach any line number information
to newly inserted instructions.
* emit-rtl.c (emit_insn*_before, emit_insn*_after): Rename to
(emit_*insn_before, emit_insn*_after): New.
(emit_*insn_before_setloc, emit_*insn_after_setloc): Do not overwrite
existing locators.
* rtl.h (emit_*insn_before_noloc, emit_*insn_after_noloc): Declare.
(emit_*insn_before_sameloc, emit_*insn_after_sameloc): Kill.
2004-03-24 Steven Bosscher <>
PR pch/14137
* c-pch.c (struct c_pch_validity): New flags_info field.
(FLAG_UNIT_AT_A_TIME_SET): New definition.
(pch_init): Write out the flags_info field to the PCH. Set the
FLAG_UNIT_AT_A_TIME_SET bit of the field if flag_unit_at_a_time
is set.
(c_common_valid_pch): Make sure the flag settings used for compiling
the PCH are the same as those used in the current compilation.
2004-03-24 Alexandre Oliva <>
PR preprocessor/14438
* cpplib.c (do_pragma): Remove line_change call after pragma
2004-03-23 Ian Lance Taylor <>
* doc/extend.texi (ARM Built-in Functions): Replace with correct
2004-03-23 Kazu Hirata <>
PR optimization/14669
* fold-const.c (fold): Only unwiden integer comparisons for equality
and inequality operators, or when the signedness doesn't change.
2004-03-23 Jason Merrill <>
PR c++/14587
* config/i386/winnt.c (associated_type): Look for attributes on
the TYPE_MAIN_VARIANT of *this.
2004-03-21 Mark Mitchell <>
PR c/13129
* c-decl.c (warn_if_shadowing): Don't warn about a new declaration
of a file-scope entity.
2004-03-22 Jakub Jelinek <>
PR c/14069
* c-decl.c (finish_struct): Change type of incorrect flexible array
field into error_mark_node.
2004-03-22 Ralf Corsepius <>
PR target/14260
* config/rtems.h: Add STD_LIB_SPEC and LIB_SPEC.
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-22 Danny Smith <>
* gcov-io.h: Update copyright year.
2004-03-22 Danny Smith <>
PR target/14291
* gcov-io.h (gcov_truncate): Define ftruncate as _chsize for
2004-03-21 Roger Sayle <>
PR target/13889
* cse.c (fold_rtx): Avoid substituting constants into unary
conversion operations.
2004-03-21 Joseph S. Myers <>
* frontends.texi: Add missing line.
2004-03-21 Zack Weinberg <>
Chris Devers <>
Joseph S. Myers <>
* doc/frontends.texi: Rewrite.
* doc/gcc.texi: Update last modification date.
2004-03-20 Ian Lance Taylor <>
PR c/12373
* c-typeck.c (tagged_types_tu_compatible_p): Don't use
DECL_ORIGINAL_TYPE if there isn't one.
2004-03-20 Joseph S. Myers <>
PR other/14630
* doc/install.texi: Add info directory category and entry.
2004-03-20 Joseph S. Myers <>
PR c/14635
* builtins.def (nan, nanf, nanl, nans, nansf, nansl): Change to
2004-03-18 Mark Mitchell <>
* c-common.c (pointer_int_sum): Do not complain about using
pointers to pointers-to-members.
* c-decl.c (grokdeclarator): Do not complain about redeclaring
visible "static" identifiers "extern" in a local scope.
* dwarf2out.c (loc_descriptor_from_tree): Handle pre- and
2004-03-17 Jakub Jelinek <>
* config/rs6000/t-linux64 (bispecs): Don't add -mlong-double-128 for
32-bit builds when defaulting to 32-bit.
2004-03-17 Richard Sandiford <>
PR target/14599
* config/mips/ (UNSPEC_GP): New constant.
* config/mips/mips.c (CONST_GP_P): Expect the CONST to contain
an UNSPEC instead of (reg $gp).
(mips16_gp_pseudo_reg): Change accordingly.
(print_operand): Print $gp directly when handling CONST_GP_P.
2004-03-16 Mark Mitchell <>
PR c++/14481
* fold-const.c (fold): Set TREE_NO_UNUSED_WARNING on implicitly
generated COMPOUND_EXPRs.
2004-03-16 Nathanael Nerode <>
PR bootstrap/12974
* Pass $(INCLUDES) down to explicitly.
2004-03-16 Richard Henderson <>
PR middle-end/14535
* except.c (collect_one_action_chain): Create action record for
cleanup outer of exception spec.
2004-03-16 Ralf Corsepius <>
PR target/14577
* config.gcc: Switch sh-*-rtems* to ELF. Add sh-*-rtemscoff.
2004-03-15 Richard Henderson <>
PR target/14547
* target.h (struct gcc_target): Move calls substructure before
booleans. Add split_complex_arg.
* function.c (assign_parms, split_complex_args): Use it.
* calls.c (expand_call): Likewise.
(split_complex_values): Likewise. Check for splittable types
before allocating memory.
(split_complex_types): Likewise.
* system.h (SPLIT_COMPLEX_ARGS): Poison.
* expr.h (SPLIT_COMPLEX_ARGS): Remove.
* target-def.h (TARGET_SPLIT_COMPLEX_ARG): New.
* config/alpha/alpha.c (alpha_split_complex_arg): New.
* config/alpha/alpha.h (SPLIT_COMPLEX_ARGS): Remove.
* config/rs6000/rs6000.c (TARGET_SPLIT_COMPLEX_ARG): New.
(rs6000_override_options): Zap it for non-AIX.
(rs6000_function_value): Use targetm.calls.split_complex_arg.
* config/rs6000/rs6000.h (SPLIT_COMPLEX_ARGS): Remove.
* config/xtensa/xtensa.c (TARGET_SPLIT_COMPLEX_ARG): New.
* config/xtensa/xtensa.h (SPLIT_COMPLEX_ARGS): Remove.
* doc/tm.texi (TARGET_SPLIT_COMPLEX_ARG): Modify from old
2004-03-15 Eric Botcazou <>
* config/sparc/sparc.h: Rework comments about the code model
in 64-bit environment and the mode 'Pmode'.
* doc/invoke.texi (SPARC options): Rework description of the
different code models supported in 64-bit environment.
2004-03-14 Joseph S. Myers <>
* doc/contrib.texi, doc/extend.texi, doc/gcov.texi,
doc/install.texi, doc/invoke.texi, doc/makefile.texi,
doc/sourcebuild.texi, doc/tm.texi, doc/trouble.texi: Capitalize
"gcc", "g++" and "g77" or mark up with appropriate markup. Adjust
wording and grammar.
2004-03-13 Eric Botcazou <>
PR c/14114
* c-decl.c (merge_decls): Do not copy the C_DECL_INVISIBLE flag
from the new decl to the old decl.
(pushdecl): Use lookup_name to search for a previous decl with the
same identifier.
2004-03-13 Dara Hazeghi <>
* doc/install.texi: Note status of -fnew-ra.
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-13 Jakub Jelinek <>
PR target/14533
* config/s390/s390.c (legitimize_pic_address): Don't abort on UNSPEC
other than UNSPEC_GOTOFF.
2004-03-13 Dean Ferreyra <>
PR target/14047
* config/avr/avr.c (avr_progmem_p): Add "attributes" parameter.
(avr_insert_attributes): Pass "attributes" to avr_progmem_p.
* config/avr/avr-protos.h (avr_progmem_p): Change prototype.
2004-03-12 David Edelsohn <>
* doc/install.texi (*-ibm-aix*): Document assembler and achiver
fixes required by libstdc++ and update installation instructions
for libstdc++.a. Document use of Bash to speed up configuration.
2004-03-12 Eric Botcazou <>
* doc/tm.texi (registers) <Values in Registers>: Add
2004-03-11 Richard Henderson <>
PR target/14539
* config/alpha/alpha.h (STACK_BOUNDARY): Set to 128.
2004-03-12 Alan Modra <>
* real.c (encode_ibm_extended): Do round low word.
2004-03-11 Richard Henderson <>
PR middle-end/14477
* except.c (remove_unreachable_regions): Look thru CALL_PLACEHOLDER.
2004-03-11 Richard Sandiford <>
PR target/14496
* config/mips/mips.h (UNITS_PER_FPVALUE): Fix value for
2004-03-11 Kelley Cook <>
PR other/14536
* configure: Regenerated with autoconf 2.57.
* Regenerated with autoheader 2.57.
2004-03-11 Alan Modra <>
* config/rs6000/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Don't
bump retaddr here.
2004-03-11 Alan Modra <>
* config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Add darwin-ldouble.c.
(SHLIB_MAPFILES): Add libgcc-ppc64.ver.
(bispecs): Add rule.
* config/rs6000/libgcc-ppc64.ver: New file.
* config/rs6000/ppc64-fp.c (__fixtfdi, __floatditf): New functions.
(__floatdidf, __floatdisf): Optimize multiply.
(__fixunstfdi): New function.
* config/rs6000/rs6000.c (rs6000_complex_function_value): Allow for
real and imag parts larger than one register.
(function_arg): Correct type of reg used when fp arg split partially
to stack.
* config/rs6000/darwin-ldouble.c: Protect with #if !_SOFT_FLOAT
and __MACH__ or __powerpc64__.
2004-03-10 Richard Henderson <>
PR c/14517
* c-decl.c (grokdeclarator): Don't warn for duplicate qualifiers
except for pedantic c90 mode.
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-10 Roman Zippel <>
PR bootstrap/12371
* config/m68k/m68k.h (FIXED_REGISTERS): Add arg pointer.
(REGNO_REG_CLASS): Use regno_reg_class.
* config/m68k/m68k.c: Add regno_reg_class array.
2004-03-10 Alan Modra <>
Hartmut Penner <>
* config/rs6000/rs6000.c (invalid_gpr_mem): New function.
(base_reg_operand): New function.
(legitimate_offset_address_p): Don't test modes in an attempt to
distinguish gpr vs fpr mem loads/stores. Don't prohibit offsets
invalid for 64-bit gpr loads/stores here.
(secondary_reload_class): Add "inp" parameter. Generate a reload
for 64-bit gpr loads/stores.
* config/rs6000/rs6000.h (SECONDARY_RELOAD_CLASS): Delete.
(PREDICATE_CODES): Add invalid_gpr_mem and base_reg_operand.
* config/rs6000/rs6000-protos.h (secondary_reload_class): Update.
* config/rs6000/ (movdf_hardfloat64): Correct attrs.
Add m->b alternative and split.
(movdi_internal64): Replace r->m and m->r with r->Y and Y->r.
Add m->b alternative and split.
* reload.c (find_reloads): Invoke DISPARAGE_RELOAD_CLASS.
2004-03-10 Hans-Peter Nilsson <>
PR other/14474
* doc/md.texi (Pattern Ordering, Dependent Patterns)
(Jump Patterns, Looping Patterns): Wrap in separate "@ifset
2004-03-09 Zack Weinberg <>
* config/ia64/hpux.h (MULTILIB_DEFAULTS): Define.
(LIBGCC_SPEC): Update to match.
2004-03-09 Ralf Corsepius <>
* config/h8300/t-rtems (h8300-*-rtems*): New.
* config.gcc: Use config/h8300/t-rtems.
2004-03-09 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-08 David Edelsohn <>
* collect2.c (main): Only export initfunc and finifunc if
LD_INIT_SWITCH not defined.
(scan_prog_file): Only export constructors and destructors if
LD_INIT_SWITCH not defined. Only export symbols not found in
shared objects.
2004-03-09 Alan Modra <>
* doc/tm.texi (INIT_CUMULATIVE_ARGS): Update doco.
* calls.c (expand_call): Pass n_named_args to INIT_CUMULATIVE_ARGS.
(emit_library_call_value_1): Likewise pass nargs.
* expr.c (block_move_libcall_safe_for_call_parm): Pass 3 here.
* function.c (assign_parms): Pass -1 to INIT_CUMULATIVE_ARGS.
* config/rs6000/rs6000.c (init_cumulative_args): Use n_named_args
parameter instead of scanning TYPE_ARGS_TYPES to count args.
* config/rs6000/rs6000-protos.h (init_cumulative_args): Update
* config/rs6000/rs6000.h (INIT_CUMULATIVE_ARGS): Pass extra arg.
(INIT_CUMULATIVE_INCOMING_ARGS): Set extra arg to 1000.
* config/sh/sh.c (sh_output_mi_thunk): Pass 1 as n_named_args to
* config/alpha/alpha.h (INIT_CUMULATIVE_ARGS): Update.
* config/alpha/unicosmk.h, config/alpha/vms.h, config/arc/arc.h,
config/arm/arm.h, config/avr/avr.h, config/c4x/c4x.h,
config/cris/cris.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
config/fr30/fr30.h, config/frv/frv.h, config/h8300/h8300.h,
config/i370/i370.h, config/i386/i386.h, config/i860/i860.h,
config/i960/i960.h, config/ia64/ia64.h, config/ip2k/ip2k.h,
config/iq2000/iq2000.c, config/iq2000/iq2000.h, config/m32r/m32r.h,
config/m68hc11/m68hc11.h, config/m68k/m68k.h, config/mcore/mcore.h,
config/mips/mips.h, config/mmix/mmix.h, config/mn10300/mn10300.h,
config/ns32k/ns32k.h, config/pa/pa.h, config/pdp11/pdp11.h,
config/s390/s390.h, config/sh/sh.h, config/sparc/sparc.h,
config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
config/xtensa/xtensa.h: Likewise.
2004-03-09 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-08 Joel Sherrill <>
PR target/14480
* config/rs6000/t-rtems: Add missing file on branch.
2004-03-08 Roger Sayle <>
* fold-const.c (fold) <EQ_EXPR>: Rewrite optimization to transform
"foo++ == const" into "++foo == const+incr".
2004-03-08 Ulrich Weigand <>
* config/s390/ ("*extendqidi2_short_displ"): Add CC clobber.
("*extendqisi2_short_displ"): Likewise.
2004-03-08 Eric Botcazou <>
* expr.c (highest_pow2_factor_for_type): Rename into
highest_pow2_factor_for_target. Use DECL_ALIGN instead of
TYPE_ALIGN when the target is a COMPONENT_REF.
(expand_assignment): Ajust call to highest_pow2_factor_for_type.
2004-03-08 Alan Modra <>
* config/rs6000/rs6000.c: Formatting fix.
(legitimate_offset_address_p): Correct offset range check.
* config/rs6000/rs6000.c (rs6000_override_options): Don't override
-msoft-float by -mcpu. Consolidate similar code for MASK_MULTIPLE
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 Aldy Hernandez <>
* config/rs6000/rs6000.c (rs6000_parse_abi_options): SPE and
AltiVec abi cannot co-exist.
* config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Same.
2004-03-07 Hans-Peter Nilsson <>
PR target/14471
* (Target-specific assembler checks) <cris-*-*>: New
case, checking for -no-mul-bug-abort option.
* configure, Regenerate.
* 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-07 Stephane Carrez <>
* config/m68hc11/ ("*lshrsi3_const"): Disable for 68HC12.
("*lshrsi3"): Also accept an immediate for 68HC12.
("*ashrsi3_const"): Likewise.
("*ashrsi3"): Likewise.
("*ashlsi3_const"): Likewise.
("*ashlsi3"): Likewise.
("cmphi_1_hc12"): Compare two hard register by pushing them and
comparing with a pop; don't use a split for that.
("cmphi split"): Disable compare split for 68HC12.
* config/m68hc11/m68hc11.c (m68hc11_notice_update_cc): Invalidate
the status operands if they have side effects.
2004-03-07 Richard Sandiford <>
* config/mips/mips.c (mips_in_small_data_p): Return false if
2004-03-06 Stephane Carrez <>
* config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Use 2,-sp to push
the stack register.
(expand_prologue): Don't make an interrupt or a trap handler a far
(m68hc11_initial_elimination_offset): Likewise.
2004-03-06 Richard Henderson <>
* config/alpha/alpha.c (alpha_in_small_data_p): False for functions.
2004-03-06 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-06 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-06 Eric Botcazou <>
PR c/14465
PR c/14114
* c-decl (pushdecl): Revert previous change.
2004-03-06 John David Anglin <>
* (icacheflush): Reorder operands to make match_scratch operand
* pa.h (INITIALIZE_TRAMPOLINE): Remove unnecessary scratch argument
from calls to gen_icacheflush.
2004-03-06 Eric Botcazou <>
PR target/14343
* config/i386/ (movv2di_internal): Conditionalize on
2004-03-06 Eric Botcazou <>
PR c/14114
* c-decl (pushdecl): Do not record a previous, not-in-scope,
external decl for restoration.
2004-03-05 Waldek Hebisch <>
PR middle-end/14203
* function.c (uninitialized_vars_warning): Use DECL_RTL_SET_P
instead of testing whether DECL_RTL is not NULL.
2004-03-05 Andreas Krebbel <>
* rtl.h (mem_expr_equal_p): Function prototype added.
* cfgcleanup.c (merge_memattrs): New function.
(flow_find_cross_jump): Call merge_memattrs for matching insns.
* emit-rtl.c (mem_expr_equal_p): New function.
2004-03-05 Bob Wilson <>
* config/xtensa/xtensa.c (function_arg): Handle 16-byte aligned args.
(xtensa_va_start): Initialize __va_stk to ($arg_ptr - 32). Adjust
__va_ndx by 2 words when referencing an argument on the stack.
(xtensa_va_arg): Handle 16-byte aligned args. Adjust __va_ndx by 2
words when an arg on the stack is first seen.
2004-03-05 Nathan Sidwell <>
PR driver/13577
* gcc.c (cc1_options): Robustify -auxbase-strip from multiple -o
2004-03-04 Bob Wilson <>
* config/xtensa/xtensa.c (xtensa_return_in_msb): New function.
(TARGET_RETURN_IN_MSB): Define to xtensa_return_in_msb.
2004-03-04 Alan Modra <>
* real.c (encode_ibm_extended): Don't bother rounding low double.
* c-cppbuiltin.c (builtin_define_float_constants): Tweak MAX
when fmt->pnan < fmt->p.
2004-03-04 Alan Modra <>
PR target/14406
* config/rs6000/ (abstf2, abstf2+1): Delete define_insn.
(abstf2, abstf2_internal): New define_expand.
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-03-03 Zack Weinberg <>
PR 13728
* c-decl.c (diagnose_mismatched_decls): Issue an error for two
parameters with the same name, unless one is a forward decl.
Do not issue a redundant-redeclaration warning for forward
decls of parameters.
2004-03-03 Stephane Carrez <>
* config/m68hc11/m68hc11.c (m68hc11_override_options): Disable -fweb
because it breaks the 32-bit shift patterns that rely on a match_dup.
(print_operand): Don't print a * before the base address.
2003-03-03 Richard Henderson <>
PR opt/13862
* cselib.c (cselib_record_sets): Don't record multiple sets in
asm insns.
2004-03-03 Nicolas Pitre <>
* config/arm/ieee754-df.S (muldf3, divdf3): Fix denormalization of
small negative values.
2004-03-02 Kazu Hirata <>
* config/h8300/lib1funcs.asm (___fixunssfsi): Change the
threshold to 0x4f.
2004-02-27 Kazu Hirata <>
* config/h8300/fixunssfsi.c (__fixunssfsi): Enable on H8/300
as well.
* config/h8300/lib1funcs.asm (___fixunssfsi): Remove.
* config/h8300/t-h8300 (LIB1ASMFUNCS): Remove _fixunssfsi_asm.
2004-03-02 Richard Henderson <>
PR middle-end/11767
* coverage.c (coverage_counter_ref): Set MEM_NOTRAP_P.
* 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 David O'Brien <>
* config/freebsd-spec.h (FBSD_DYNAMIC_LINKER): Add.
* config/alpha/freebsd.h (SUBTARGET_EXTRA_SPECS): Define
(LINK_SPEC): Use %(fbsd_dynamic_linker), and sync style with
* config/arm/freebsd.h: Ditto.
* config/i386/freebsd.h: Ditto.
* config/i386/freebsd64.h: Ditto.
* config/ia64/freebsd.h: Ditto.
* config/rs6000/sysv4.h: Ditto.
* config/sparc/freebsd.h: Ditto.
2004-03-02 Stephane Carrez <>
* config/m68hc11/m68hc11.c (m68hc11_addr_mode): New variable.
(m68hc11_mov_addr_mode): Likewise.
(m68hc11_override_options): Initialize them based on target.
(register_indirect_p): Allow a MEM for indirect addressing modes and
use flags to control what is allowed.
(m68hc11_small_indexed_indirect_p): Use m68hc11_mov_addr_mode for
supported addressing modes.
(m68hc11_register_indirect_p): Use m68hc11_addr_mode.
(go_if_legitimate_address_internal): Likewise.
(m68hc11_indirect_p): Likewise and check the mode.
(print_operand): Allow a (MEM (MEM)) and generate indirect addressing.
2004-03-02 Stephane Carrez <>
* config/m68hc11/ (move peephole2): New peepholes to optimize
sequences of moves.
(add peepholes): New peepholes to optimize sequences adding small
(bset peepholes): New peepholes to transform an OR in a bset form
(bclr peepholes): Likewise for bclr form.
(cmp peepholes): New peepholes to avoid register copies when comparing.
2004-03-02 Stephane Carrez <>
* config/m68hc11/ ("*pushdi_internal"): New insn and split
to separate push from moves.
("*pushdf_internal"): Likewise.
("*pushsf_internal"): Likewise.
("*pushsi_internal"): Likewise.
("movdi_internal"): Use define_insn_and_split; non push operand.
("movdf_internal"): Likewise.
("movsf_internal"): Likewise.
("movsi_internal"): Likewise.
("*movhi_68hc12", "*addhi3_68hc12"): Fix and tune constraints
("*addhi3", "*subhi3", "*andhi3_mem", "*iorhi3_mem"): Likewise.
("*ashlsi3_const1", "*lshrsi3_const1"): Likewise.
2004-03-02 Stephane Carrez <>
* config/m68hc11/ ("tstqi_z_used"): Use define_insn_and_split.
("cmphi_z_used", "cmpqi_z_used"): Likewise.
("movstrictsi", "movstricthi", "movstrictqi"): Likewise.
("anddi3", "andsi3", "iordi3", "iorsi3"): Likewise.
("xordi3", "xorsi3", "*logicalsi3_zexthi"): Likewise.
("*logicalsi3_zextqi", "*logicalhi3_zexthi_ashift8"): Likewise.
("logicalhi3_zexthi", "*logicalsi3_silshr16"): Likewise.
("*logicalsi3_silshl16", "*logicalsi3_silshl16_zext"): Likewise.
("*ashldi3_const32", "*ashldi3_const1", "addsi_silshr16"): Likewise.
("addsi_andshr16", "*ashlsi3_const16_zexthi"): Likewise.
("*lshrdi3_const32", "*lshrdi_const1"): Likewise.
2004-03-02 Stephane Carrez <>
* config/m68hc11/ (SOFT_TMP_REGNUM): Define.
(cmp split): Use the above instead of hard coded numbers.
(8-bit op split): No need to check the mode; allow Q_REG.
(ashift split): Adjust the first operand if it uses the SP and we
are pushing the shifted value.
(plus shift split): Fix when a source is in register D+X.
("doloop_end"): Pass dummy arguments to gen_rtx_NE.
2004-03-02 Stephane Carrez <>
* config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix when
comparing with Z register.
2004-03-02 Loren James Rittle <>
* gcc/doc/install.texi (*-*-freebsd*): Update target information.
2004-03-01 Mark Mitchell <>
PR bootstrap/14356
* gcc.c (process_command): Remove const-qualification from argv.
(main): Likewise.
2004-03-01 Mircea Namolaru <>
* cfgloop.h (get_var_set_from_bct, is_bct_cond): Declaration of
new functions.
* cfgloopanal.c: Include loop.h.
(get_var_set_from_bct): New function.
(is_bct_cond): New function.
(blocks_single_set_registers): Handle branch and count jumps.
(count_loop_iterations): Likewise.
(simple_increment): Likewise
* doloop.c (doloop_condition_get): Export.
* loop-init.c (fixup_loop_exit_succesor): New function.
(loop_optimizer_finalize): Handle loops ending with branch and
count jumps.
* loop-unroll.c: Include toplev.h
(discard_increment): New function.
(expand_bct): New function.
(peel_loop_completely): Handle the removal of branch and count jumps.
(unroll_loop_constant_iterations): Likewise.
(unroll_loop_runtime_iterations): Likewise
* loop.h (doloop_condition_get): Declare.
2004-02-29 Mark Mitchell <>
PR debug/14328
* dwarf2out.c (gen_enumeration_type_die): Output all enumeration
constants as signed values.
2004-02-29 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-02-29 Kazu Hirata <>
* doc/cppopts.texi: Fix a typo.
2004-02-28 John David Anglin <>
* 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-27 Kazu Hirata <>
* config/h8300/fixunssfsi.c (__fixunssfsi): Enable on H8/300
as well.
* config/h8300/lib1funcs.asm (___fixunssfsi): Remove.
* config/h8300/t-h8300 (LIB1ASMFUNCS): Remove _fixunssfsi_asm.
2004-02-27 Daniel Jacobowitz <>
* config/arm/arm.c (arm_legitimate_address_p): Don't check the mode
size for minipool references.
2004-02-27 Eric Botcazou <>
Roger Sayle <>
* fold-const.c (fold): Revert 2004-02-25 change. Use the original
operands to build a tree with swapped operands.
* expr.c (expand_expr_real) <MAX_EXPR>: Consistently use the
'unsignedp' predicate to specify the signedness.
2004-02-26 Aldy Hernandez <>
* config/rs6000/ Add fixuns_truncsfsi2 and
* config/rs6000/ Delete spe_efsctuiz.
Add spe_fixuns_truncsfsi2.
Add spe_fix_truncsfsi2.
2004-02-26 Bob Wilson <>
* config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define __xtensa__.
2004-02-25 James E Wilson <>
* gcc-simple.c (rtl_zone, tree_zone, garbage_zone, ggc_alloc_typed,
ggc_alloc_zone): New.
(ggc_pch_count_object, gcc_pch_alloc_object, ggc_pch_write_object):
Add bool is_string parameter.
2004-02-26 Alan Modra <>
* gcse.c (delete_null_pointer_checks_1): Set stop_insn to end, not
beginning of block. Do not delete CC setter unless HAVE_cc0.
2004-02-25 Kelley Cook <>
* doc/contrib.texi: Add an entry for myself.
2004-02-25 Kelley Cook <>
* config.gcc: Add comment describing extra_gcc_objs.
i[34567]86-*-cygwin*): Replace host_extra_gcc_objs with extra_gcc_objs.
* (extra_gcc_objs): New substitution variable.
(host_extra_gcc_objs): Don't substitute.
* configure: Regenerate.
* Use extra_gcc_objs.
2004-02-25 Eric Botcazou <>
* fold-const.c (fold): Treat MAX_EXPR and MIN_EXPR like
comparisons with regard to signedness.
2004-02-25 Jakub Jelinek <>
* gcov-io.c (gcov_open) [GCOV_LOCKED]: Use open + fdopen instead of
* libgcov.c: Include sys/stat.h.
* config/rs6000/linux.h (TARGET_HAS_F_SETLKW): Define.
* config/rs6000/linux64.h (TARGET_HAS_F_SETLKW): Define.
* config/sparc/linux.h (TARGET_HAS_F_SETLKW): Define.
* config/sparc/linux64.h (TARGET_HAS_F_SETLKW): Define.
2004-02-25 Richard Earnshaw <>
* arm.c (arm_legitimate_index_p): For QImode the range of an offset
is -4095...+4095 inclusive.
2004-02-25 Eric Botcazou <>
* doc/install.texi (sparc-sun-solaris2* specific notes): Document
the bootstrap failure with Sun CC 5.4 and 5.5.
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-24 Michael Matz <>
* config/i386/i386.c (ix86_comp_type_attributes): Check for
regparm attributes.
2004-02-24 Aldy Hernandez <>
* config/rs6000/ (spe_fix_truncsfsi2): Delete.
(spe_fixuns_truncsfsi2): Delete.
* config/rs6000/ (fix_truncsfsi2): Delete.
(fixuns_truncsfsi2): Delete.
2004-02-24 Josef Zlomek <>
* rtlanal.c (replace_label): Fix replacing labels in constant pool.
2004-02-24 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-24 Richard Earnshaw <>
* invoke.texi (ARM Options): Mark -mapcs-26 and -mno-alignment-traps
as deprecated. Remove already deprecated synonyms.
* arm.c (arm_override_options): Generate an inform message if the
user tries to invoke the compiler in apcs-26 mode.
* arm.h (TARGET_SWITCHES): Remove help comments from deprecated
switches. Delete deprecated synonyms for -malignment-traps.
(TARGET_DEFAULT): Default to alignment traps.
* arm/coff.h (TARGET_DEFAULT): Default to alignment traps.
* arm/elf.h arm/netbsd.h arm/pe.h arm/semi.h arm/semiaof.h: Likewise.
* arm/unknown-elf.h arm/wince-pe.h: Likewise.
2004-02-23 H.J. Lu <>
* config/i386/i386.h: Deprecate -mpni/-mno-pni.
2004-02-23 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-23 Andrew Pinski <>
* config/rs6000/linux.h (OS_MISSING_POWERPC64): Define.
* config/rs6000/linux64.h (OS_MISSING_POWERPC64): Define.
2004-02-23 Eric Botcazou <>
Falk Hueffner <>
PR c/14188
* builtins.c (expand_builtin_va_arg): Emit an informative message
if a trap is generated.
* c-typeck.c (build_function_call): Likewise.
2004-02-22 Christopher Faylor <>
* config.gcc (i[34567]86-*-pe|i[34567]86-*-cygwin*): *Really* specify
extra host object file when targetting cygwin rather than generic
object files.
2004-02-22 Matthias Klose <>
Taken from mainline:
2004-02-12 Geoffrey Keating <>
* (install-man): Use $(CPP_INSTALL_NAME) and
$(GCOV_INSTALL_NAME) to install manpages. Remove generic rule
for installing .1 manpages. Add rules for installing cpp
and gcov manpages under their installed names.
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-21 Christopher Faylor <>
* config.gcc (i[34567]86-*-pe|i[34567]86-*-cygwin*): Specify extra host
object file when targetting cygwin.
* config/i386/t-cygwin (EXTRA_GCC_OBJS): Remove definition since it is
overridden by top-level Makefile.
2004-02-21 Alan Modra <>
* combine.c (can_combine_p): Don't ignore SETs marked with
2004-02-21 Jan Hubicka <>
* params.def (max-peeled-insns, max-completely-peeled-insns,
max-once-peeled-insns): Set to 400.
2004-02-20 Falk Hueffner <>
PR target/14201
* config/alpha/ (*fix_truncsfsi_ieee): Fix typoed operand
2004-02-20 Mohan Embar <>
Tom Tromey <>
* doc/install.texi: Moved --disable-libgcj and
--with-system-zlib documentation to new section for
Java-specific options.
Added explicit Cross-Compiler-Specific Options subheading.
Added section for Java-specific options.
2004-02-20 James E Wilson <>
* toplev.c (dump_file_index, dump_file): Put ce3 before rnreg.
2004-02-20 Josef Zlomek <>
* tree-inline.c (copy_body_r): Do not replace ret_label.
2004-02-20 Kazu Hirata <>
* gcc.c (process_command): Allow translation of the copyright
symbol but not the rest of the copyright message.
* gcov.c (print_version): Likewise. Allow translation of the
message about warranty.
2004-02-19 Aldy Hernandez <>
* config/rs6000/ (spe_fixunssfsi2): Rename to
* config/rs6000/ (fixunssfsi2): Rename to
2004-02-19 Richard Sandiford <>
Maciej W. Rozycki <>
* config/mips/mips.c (mips_address_insns): Treat BLKmode specially.
* config/mips/ Expand comment above unaligned loads and stores.
2004-02-20 Alan Modra <>
* function.c (assign_parms): Correct leakage of mainline code
in last commit. Also leakage from INIT_CUMULATIVE_ARGS patch.
2004-02-19 Zack Weinberg <>
* config/ia64/ia64.c (ia64_function_arg): In big-endian mode,
when passing single SFmode quantities in general registers,
put them in the high half.
(struct extern_func_list, extern_func_head): Mark with GTY(()).
(ia64_hpux_add_extern_decl): Save the decl, not the name string.
Allocate memory with ggc_alloc. No need to copy anything.
(ia64_hpux_file_end): Update to match.
2004-02-19 David Daney <>
PR preprocessor/14198
* config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Add
builtin_assert ("machine=mips")
2004-02-19 Ulrich Weigand <>
* config/s390/ ("*subdf3_cc", "*subdf3_cconly", "*subsf3_cc",
"*subsf3_cconly"): Subtraction is not commutative.
2004-02-19 Alan Modra <>
* function.c (assign_parms): When building decl_rtl for
SPLIT_COMPLEX_ARGS, ensure inner modes of concat match outer.
2004-02-19 Olivier Hainque <>
* expr.c (is_aligning_offset): Check if we are aligning the
expressions's address over BIGGEST_ALIGNMENT in bytes, not
in bits.
2004-02-19 Jan Hubicka <>
* genextract.c (main): Do not output the memset when not checking.
2004-02-18 Jakub Jelinek <>
* config/i386/i386.c (override_options): Don't imply 3DNow! for -m64
by default.
2004-02-18 Ulrich Weigand <>
* config/s390/ ("divmoddisi3"): Fix incorrect mode.
2004-02-18 John David Anglin <>
generating PIC code.
2004-02-18 Ulrich Weigand <>
* config/s390/s390.c (s390_mainpool_start): Delete the main pool
placeholder insn when chunkifying the pool.
2004-02-18 Per Bothner <>
* cpphash.h (struct cpp_buffer): Restore return_at_eof field. This
partly reverts my 2003-10-01 change, because we're back to logically
including <command line> inside the main line.
* cpplex.c (_cpp_get_fresh_line): Check return_at_eof field.
* cppmacro.c (cpp_scan_nooutput): Set return_at_eof of current buffer.
Fixes PR preprocessor/14103.
2004-02-18 Richard Earnshaw <>
PR target/13866
* arm.c (load_multiple_operation): Don't insist that the source reg
of a post-increment component is the same as the destination.
(store_multiple_operation): Likewise.
2004-02-18 Paul Brook <>
* rtlanal.c (rtx_varies_p): Return 0 for NULL_RTX
2004-02-18 Mark Mitchell <>
PR c++/11326
* config/ia64/ia64.c (ia64_struct_value_rtx): Cope with NULL
2004-02-18 Paul Brook <>
PR debug/12934
* dwarf2out.c (loc_descriptor_from_tree): Handle
2004-02-17 Mark Mitchell <>
PR c++/11326
* c-common.c (flag_abi_version): Remove.
* c-common.h (flag_abi_version): Likewise.
* c-opts.c (c_common_handle_option): Remove OPT_fabi_version case.
* c.opt (fabi-version): Remove.
* calls.c (expand_call): Always pass a function type to
struct_value_rtx. Use convert_memory_address.
* common.opt (fabi-version): Add it.
* flags.h (flag_abi_version): Likewise.
(abi_version_at_least): New macro.
* opts.c (common_handle_option): Add OPT_fabi_version.
* toplev.c (flag_abi_version): Define it.
* config/ia64/ia64.h (STRUCT_VALUE_REGNUM): Remove.
* config/ia64/ia64.c (TARGET_STRUCT_VALUE_RTX): Define it.
New function.
(ia64_output_mi_thunk): Use it.
(ia64_struct_value_rtx): New function.
2004-02-18 Alan Modra <>
PR optimization/14119
* combine.c (try_combine): When attemting to fix unrecognized insns,
don't delete SETs marked with REG_EH_REGION notes.
2004-02-17 Jan Hubicka <>
PR bootstrap/14180
* cselib.c (remove_useless_values): Do not access released
2004-02-17 Ulrich Weigand <>
* combine.c (simplify_if_then_else): Do not replace
(if_then_else (ne reg 0) (0) (const_int)) by (reg) if the
modes differ.
2004-02-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* config/mips/t-iris6gld: Renamed to ...
* config/mips/t-irix-gld: ... this.
* config.gcc (mips-sgi-irix6*): Reflect this
(mips-sgi-irix5*): Use it with GNU ld.
* config/mips/irix6-crti.asm, config/mips/irix6-crtn.asm: Renamed
to ...
* config/mips/irix-crti.asm, config/mips/irix-crtn.asm: ... this.
* config/mips/t-irix-gld: Reflect this.
* config/mips/iris6gld.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
* config/mips/iris5gld.h: New file.
* config.gcc (mips-sgi-irix5*): Use it with GNU ld.
Only use collect2 without gas.
* config/mips/iris6.h (IRIX6_STARTFILE_SPEC, IRIX6_ENDFILE_SPEC):
* config/mips/iris6gld.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
* config/mips/iris6.h (SUBTARGET_EXTRA_SPECS): Moved ...
* config/mips/iris5.h: ... here.
* config/mips/iris5.h (STARTFILE_SPEC, ENDFILE_SPEC): Renamed to
* config/mips/iris5gas.h (STARTFILE_SPEC, ENDFILE_SPEC): Simplify
using irix_startfile_spec, irix_endfile_spec.
* patches.summary (http):
2004-02-17 Andrew Pinski <>
PR c++/14178
* doc/invoke.texi (fabi-version): The default is 2 now.
2004-02-17 Jonathan Wakely <>
* doc/install.texi: Update description of --gxx-include-dir to
give correct default value. (merged from mainline)
2004-02-16 Matthias Klose <>
* config/t-slibgcc-elf-ver: Define SHLIB_NAME and SHLIB_SONAME
in terms of SHLIB_SOVERSION.
* config/m68k/t-slibgcc-elf-ver: New file.
* config/pa/t-slibgcc-elf-ver: New file.
* config.gcc (m68k-linux, parisc-linux): Use them when not
sjlj exceptions are not configured.
2004-02-16 Eric Botcazou <>
* config/sparc/sparc.c (get_pc_symbol_name): Mark with GTY(()).
2004-02-16 Joseph S. Myers <>
* doc/sourcebuild.texi: Mention backends.html.
2004-02-15 Roger Sayle <>
Backport from mainline:
2004-02-07 Roger Sayle <>
PR middle-end/13696
* fold-const.c (fold_convert): New function to provide type
conversion to the middle-end without using convert.
(negate_expr, associate_trees, size_diffop, omit_one_operand,
operand_equal_for_comparison_p, pedantic_omit_one_operand,
invert_truthvalue, optimize_bit_field_compare, range_binop,
decode_field_reference, make_range, build_range_check, unextend,
fold_truthop, extract_muldiv_1, fold_mathfn_compare,
fold_binary_op_with_conditional_arg, fold_inf_compare,
fold_single_bit_test, fold, multiple_of_p): Replace all calls to
convert with calls to fold_convert.
2004-02-09 Roger Sayle <>
* fold-const.c (fold) <NOP_EXPR>: Use the original type conversion
tree code rather than call fold_convert, which doesn't specify a
default floating point to integer conversion.
2004-02-10 Paolo Bonzini <>
PR c/14092
* fold-const.c (fold) <NEGATE_EXPR>: Convert result of
negate_expr back to the original type.
2004-02-15 SUGIOKA Toshinobu <>
Backport from mainline:
2004-02-05 SUGIOKA Toshinobu <>
* config/sh/t-linux (SHLIB_INSTALL): Prepend $$(DESTDIR)
to $$(slibdir) in the installation commands.
2004-02-15 Roger Sayle <>
Backport from mainline:
2004-01-20 Roger Sayle <>
* fold-const.c (fold_convert): Rename to fold_convert_const.
(fold_convert_const): Change arguments to take a tree_code,
a type and the operand/expression to be converted. Return
NULL_TREE if no simplification is possible.
(fold): Adjust call to fold_convert to match new fold_convert_const.
Avoid modifying the tree passed to fold in-place.
2004-02-15 Jan Hubicka <>
* cselib.c (value_pool): New.
(new_cselib_val): Use pool.
(cselib_init): Initialize value_pool
(cselib_finish): Free pool.
* cselib.c: Include alloc-pool.h
(empty_vals, empty_elt_lists, empty_elt_loc_lists): Kill.
(elt_loc_list_pool, elt_list_pool, cselib_val_pool): Declare.
(new_elt_list, new_elt_loc_list, unchain_one_elt_list,
unchain_one_elt_loc_list_pool, unchain_one_value,
new_cselib_val): Simplify using allocpool.
(cselib_init): Initialize allocpools.
(cselib_finish): Finish allocpools.
2004-02-14 Richard Sandiford <>
Backport from mainline:
2002-04-08 Richard Sandiford <>
* real.c (encode_ibm_extended): Normalize the input value before
converting it to a double. Handle the case where a normal value
rounds to infinity.
2004-02-14 Olivier Hainque <>
* loop.c (check_dbra_loop): Use gen_int_mode instead of GEN_INT
for start_value when it is directly moved into reg, and factorize
the retrieval of GET_MODE (reg).
2004-02-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* Search for as, ld below libexec/gcc.
* configure: Regenerate.
2004-02-13 Jan Hubicka <>
* combine.c (recog_for_combine): Avoid allocating unnecesary RTX.
* genrecog.c (find_operand): add extra argument stop.
(validate_pattern): Verify that mach_dup is duplicating operand
defined lexically earlier.
2004-02-13 Ian Lance Taylor <>
PR other/10584
* c-opts.c (c_common_post_options): Disable function inlining when
using -finstrument-functions.
* doc/invoke.texi (Code Gen Options): Document this restriction.
2004-02-12 Chris Demetriou <>
* config/mips/ (casesi_internal, casesi_internal_di):
Use ".set macro" to avoid warnings about multi-instruction
macros, since they're intentional.
2004-02-13 Jan Hubicka <>
* alias.c (find_base_term, get_addr): Do not dereference NULL
pointer when all VALUE's locations has been invalidated.
(rtx_equal_for_memref_p): Simplify checking of VALUEs.
* cselib.c (discard_useless_values): Clear out value pointer pointing
to datastructure to be recycled.
* gcse.c (bypass_block): Prevent edges to be unified when we are
about to emit compenstation code.
* gcse.c (bypass_block): Fix a typo in the previous check-in
to the file.
* alloc-pool.c (align_four): Kill.
(create_alloc_pool): Align size to eight.
(free_alloc_pool, free_pool): Invalidate deallocated data.
2004-02-12 Richard Sandiford <>
PR bootstrap/13617
* config/mips/mips-protos.h (mips_output_aligned_decl_common): Declare.
(mips_declare_object): Make variadic.
* config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use
* config/mips/mips.c (mips_output_aligned_decl_common): New function.
(mips_declare_object): Make variadic.
2004-02-12 Jan Hubicka <>
* tree-optimize.c (tree_rest_of_compilation): Do not release DECL_ARGUMENTS
2004-02-12 Ian Lance Taylor <>
PR inline-asm/6162
* reload.c (find_reloads): Only support one pair of commutative
2004-02-12 Ian Lance Taylor <>
PR target/1532
Backport from mainline:
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 (cse_change_cc_mode): New static function.
(cse_change_cc_mode_insns, cse_cc_succs): Likewise.
(cse_condition_code_reg): New function.
* rtl.h (cse_condition_code_reg): Declare.
* toplev.c (rest_of_handle_cse2): 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): New function.
* 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/tm.texi (Condition Code): Document new hooks.
2004-02-12 Hartmut Penner <>
* config/rs6000/ (*movv4si_internal): At least one
operand must be register_operand.
(*movv8hi_internal1): Likewise.
(*movv16qi_internal1): Likewise.
(*movv4sf_internal1): Likewise.
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-12 Hartmut Penner <>
* gcc/config/rs6000/rs6000.c (rs6000_override_options)
Set AltiVec ABI and vrsave as default for ppc64 linux.
(init_cumulative_args): Post error, if try to return
value in AltiVec register without enable AltiVec.
(function_arg_advance): Ditto for passing arguments.
2004-02-11 Joseph S. Myers <>
PR c/456
* cppexp.c (num_binary_op): Don't allow comma operators in #if
constant expressions at all outside C99 mode if pedantic.
2004-02-10 Aldy Hernandez <>
* config/rs6000/ ("*movv2si_internal"): Check for register
(movv4hi_internal): Same.
(movv2sf_internal): Same.
(movv1di_internal): Same.
2004-02-11 Richard Sandiford <>
* emit-rtl.c (mark_label_nuses): Check that a LABEL_REF refers to
a label before updating its usage count.
2004-02-10 Danny Smith <>
PR c/14088
real.c (real_from_string): Look for 'X' as well as 'x' in
hexfloat strings.
2004-02-10 Per Bothner <>
* c-opts.c (c_common_post_options): Don't emit working directory
in cpp output if -P was specified.
2004-02-10 Jakub Jelinek <>
PR optimization/13424
Backport from mainline:
2004-01-29 Jakub Jelinek <>
* emit-rtl.c (change_address): Use XEXP (memref, 0) instead
of addr when creating MEM copy.
2004-01-28 Jakub Jelinek <>
* expr.c (store_constructor): Revert 2003-12-03 change.
* emit-rtl.c (change_address): Check also if MEM_ATTRS is set as
expected before returning early. Avoid sharing RTL if they
need to be changed.
* config/i386/i386.c (ix86_expand_movstr): Rework rep_mov and strmov
handling so that memory attributes are preserved. Don't call
(ix86_set_move_mem_attrs_1, ix86_set_move_mem_attrs): Removed.
(ix86_expand_clrstr): Rename src argument to
dst. Rework rep_stos and strset handling so that memory attributes
are preserved.
(ix86_expand_strlen): Pass src argument to
ix86_expand_strlensi_unroll_1. Rework strlenqi_1 handling so that
memory attributes are preserved.
(ix86_expand_strlensi_unroll_1): Add src argument. Use
change_address instead of gen_rtx_MEM.
* config/i386/ (strmov, strmov_singleop, rep_mov): New
(strmovdi_rex64, strmovsi, strmovsi_rex64, strmovhi, strmovhi_rex64,
strmovqi, strmovqi_rex64): Remove.
(rep_mov*, strmov*): Prefix insn names with *.
(strset, strset_singleop, rep_stos): New expanders.
(strsetdi_rex64, strsetsi, strsetsi_rex64, strsethi, strsethi_rex64,
strsetqi, strsetqi_rex64): Remove.
(rep_stos*, strset*): Prefix insn names with *.
(rep_stosqi_rex64): Likewise. Fix mode of dirflag reg from DImode
to SImode.
(cmpstrsi): Rework cmpstrqi_1 handling so that memory attributes
are preserved.
(cmpstrqi_nz_1, cmpstrqi_nz_rex_1, cmpstrqi_1, cmpstrqi_rex_1):
Prefix insn names with *.
(cmpstrqi_nz_1, cmpstrqi_1): New expanders.
(strlenqi_1, strlenqi_rex_1): Prefix insn names with *.
(strlenqi_1): New expander.
* config/i386/i386.h (ix86_set_move_mem_attrs): Remove prototype.
2004-01-24 Jan Hubicka <>
* emit-rtl.c (change_address, adjust_address_1, offset_address,
widen_memory_access): Return early when there is nothing to change.
2004-02-10 David Edelsohn <>
* (gcc_cv_as_powerpc_mfcrf): Correct test for mfcr.
* configure: Regenerate.
2004-02-10 Ulrich Weigand <>
* cfganal.c (flow_call_edges_add): Never split a libcall block.
2004-02-10 Richard Sandiford <>
* config/mips/mips.h (TARGET_GPWORD): Return false for TARGET_NEWABI
2004-02-09 Geoffrey Keating <>
PR 12028
* config/rs6000/rs6000.c (ccr_bit): Don't let consistency check
failure stop compilation, just print helpful message.
2004-02-09 Fariborz Jahanian <>
* expr.c (emit_group_load): split constant
correctly into register components of PARALLEL insn.
2004-02-09 DJ Delorie <>
* config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): No
longer modify standard_exec_prefix, standard_bindir_prefix, or
2004-02-09 James E Wilson <>
PR c++/11295
* c-common.c (c_expand_expr, case STMT_EXPR): Change expand_expr call
to expand_expr_real call, and pass in alt_rtl as last argument.
PR libstdc++/5625
* builtin-types.def (BT_WORD, BT_FN_WORD_PTR): New.
* builtins.c (expand_builtin): Handle BUILT_IN_EXTEND_POINTER.
* builtins.def (BUILT_IN_EXTEND_POINTER): New.
* except.c (expand_builtin_extend_pointer): New.
* except.h (expand_builtin_extend_pointer): Declare.
2004-02-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* config/mips/iris5.h (BSS_SECTION_ASM_OP): Define.
* config/mips/iris6.h (BSS_SECTION_ASM_OP): Undef.
* config/mips/iris6.h (TARGET_ASM_NAMED_SECTION): Moved ...
* config/mips/iris5.h: ... here.
* config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Remove.
* config/mips/iris6.h (EXTRA_SECTION_FUNCTIONS): Move ...
* config/mips/iris5.h: ... here.
2004-02-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* Remove default executable files before AC_PROG_CC.
* configure: Regenerate.
2004-02-09 Kazu Hirata <>
PR target/13721
* config/h8300/h8300.c (byte_reg): Call abort() if asked to
print a operand other than a register.
2004-02-09 Nick Clifton <>
* Import these patches from mainline sources:
2004-01-21 Inaoka Kazuhiro <>
* config/m32r/m32r.h (CPP_SPEC): Define.
2004-01-20 Kazuhiro Inaoka <>
* config/m32r/m32r.h (TARGET_M32R2). Test for TARGET_M32R2_MASK
2004-02-09 Eric Botcazou <>
* cpplib.h (cpp_get_line_maps): Un-constify the structure
pointed to by the pointer returned by the function.
* cpplib.c (cpp_get_line_maps): Likewise.
2004-02-08 Kazu Hirata <>
* c-objc-common.c (c_cannot_inline_tree_fn): Fix a typo in a
2004-02-08 Joseph S. Myers <>
* README.Portability: Change "ISO C89" to "ISO C90".
* (primary, initelt): Likewise.
2004-02-07 Zack Weinberg <>
Bug 13856
* c-decl.c (diagnose_mismatched_decls): Only give special
treatment when olddecl is DECL_BUILT_IN, if C_DECL_INVISIBLE
is also true.
(merge_decls): Don't clear DECL_BUILT_IN_CLASS and
DECL_FUNCTION_CODE when defining a built-in function.
* dwarf2out.c (dwarf2out_decl): Don't ignore built-in
* tree.h: Delete DECL_ESTIMATED_INSNS.
* tree-inline.c (struct inline_data): Delete inlined_insns field.
(expand_call_inline, optimize_inline_calls): Don't update
DECL_ESTIMATED_INSNS nor inlined_insns.
* cgraphunit.c (cgraph_analyze_function): Don't update
2004-02-07 Zack Weinberg <>
* c-common.c (shadow_warning): Delete.
* c-common.h (free_parser_stacks, shadow_warning, sw_kind): Delete.
* c-decl.c (warn_if_shadowing): Issue shadow warnings directly.
* c-opts.c (c_common_parse_file): Don't call free_parser_stacks.
* (free_parser_stacks): Delete.
2004-02-07 Kazu Hirata <>
* c-opts.c, c-ppoutput.c, cppfiles.c, cpphash.h, cppinit.c,
cpplib.h, diagnostic.h, fix-header.c, config/fp-bit.c,
config/mips/iris5.h, doc/makefile.texi: Update copyright.
2004-02-06 James E Wilson <>
* config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Only define for
glibc 2.3 or better.
2004-02-06 Ulrich Weigand <>
* loop.c (force_movables): Transitively increase the priorities of
all insns forces by an insn, not just the first one.
2004-02-06 Falk Hueffner <>
PR target/12898
* config/alpha/alpha.c (alpha_emit_set_const_1): If
no_new_pseudos, use gen_rtx_SET directly for SImode constants
which need multiple instructions to emit.
2004-02-06 H.J. Lu <>
* doc/invoke.texi: Remove the pni option from -mfpmath=.
2004-02-05 Kelley Cook <>
* doc/install.texi: Update automake and autoconf version
requirements. Note where to find gcj automake version.
2004-02-05 Kelley Cook <>
* (generate-manpages): Move dependencies to ...
(man): here.
* doc/makefile.texi: Document new targets.
* doc/sourcebuild.texi ( Document new langhooks.
2004-02-05 Kelley Cook <>
PR/13485 (srcextra): Add a level of indirection to ...
(gcc.srcextra): ... here.
(po-generated): Delete.
(po/$(PACKAGE).pot: Use srcextra instead of po-generated. Depend on
(start.encap): Remove superfluous lang.srcextra dependency.
objc/ (po-generated): Delete.
2004-02-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* config/mips/iris5gas.h (PREFERRED_DEBUGGING_TYPE): Define.
2004-02-05 Andreas Krebbel <>
* config/s390/ ("*tmqidi_ext"): New insn.
("*extendqidi2_short_displ", "*extendsiqi2_short_displ"): Old
pre-reload splitters are transformed to post-reload
define_insn_and_split patterns.
("*tmqisi_ext"): Renamed old "*tmqi_ext".
2004-02-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
PR middle-end/13750
2004-01-15 Geoffrey Keating <>
PR pch/13361
* c-typeck.c (constructor_asmspec): Delete.
(struct initializer_stack): Delete field 'asmspec'.
(start_init): Delete saving of asmspec.
(finish_init): Don't update constructor_asmspec.
* dwarf2out.c (rtl_for_decl_location): Duplicate string from tree.
* stmt.c (expand_asm): Duplicate strings from tree.
(expand_asm_operands): Likewise.
* tree.c (tree_size): Update computation of size of STRING_CST.
(make_node): Don't make STRING_CST nodes.
(build_string): Allocate string with tree node.
* tree.def (STRING_CST): Update comment.
* tree.h (TREE_STRING_POINTER): Adjust for change to STRING_CST.
(tree_string): Place contents of string in tree node.
* config/sh/sh.c (sh_handle_sp_switch_attribute): Duplicate string
from tree.
2004-02-05 Joseph S. Myers <>
* diagnostic.h (DEFINE_DIAGNOSTIC_KIND): Change parameter M to
2004-02-05 Paul Brook <>
Backport from mainline.
2003-11-22 Phil Edwards <>
PR target/12476
* config/arm/arm.c (arm_output_mi_thunk): In Thumb mode, use
'bx' instead of 'b' to avoid branch range restrictions. Output
the thunk immediately before the thunked-to function.
* config/arm/arm.h (ARM_DECLARE_FUNCTION_NAME): Do not emit
.thumb_func if a thunk is being generated. Emit .code 16 along
with .thumb_func if a thunk is not being generated.
2003-11-05 Mark Mitchell <>
* calls.c (initialize_argument_information): Add CALL_FROM_THUNK_P
parameter. Use it instead of current_function_is_thunk.
* function.h (struct function): Update documentation for is_thunk.
* tree.h (CALL_FROM_THUNK_P): New macro.
* config/alpha/alpha.c (alpha_sa_mask): Do not check
no_new_pseudos when testing current_function_is_thunk.
* config/rs6000/rs6000.c (rs6000_ra_ever_killed): Likeiwse.
2004-02-05 Joseph S. Myers <>
* sourcebuild.texi (Test Idioms): Update testcase naming
2004-02-04 Per Bothner <>
Partially revert/redo 2003-10-01 change; fix -fworking-directory.
* c-ppoutput.c (pp_dir_change): New function.
* c-common.h (pp_dir_change): New declaration.
* cpplib.h (struct cpp_options): Remove working_directory field.
* cppinit.c (cpp_find_main_file, cpp_push_main_file): Merge back to
(cpp_read_main_file): as before 10-01. Call _cpp_stack_file.
Don't handle -fworking_directory here, but in c_common_post_options.
(read_original_directory): Don't back up when done.
Don't clear no-longer used working_directory flag.
* cpplib.h: Update declarations to match.
* c-lex.c (cb_dir_change): Move to c-opts.c.
(init_c_lex): Don't set dir_change callback here, since we want
to set it even if flag_preprocess_only.
* c-opts.c (cb_dir_change): Function moved from c-lex.c.
(c_common_post_options): Set dir_change callback.
Call pp_dir_change if approporiate.