+2004-01-20 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * c-decl.c (c_init_decl_processing): Set pedantic_lvalues to
+ true unconditionally.
+ * c-typeck.c (unary_complex_lvalue, pedantic_lvalue_warning):
+ Remove.
+ (build_unary_op, build_modify_expr): Don't handle extended
+ lvalues.
+ (build_component_ref, build_conditional_expr): Call non_lvalue
+ instead of pedantic_non_lvalue.
+ (build_c_cast): Don't condition use of non_lvalue on pedantic.
+ * fold-const.c (fold): Don't check pedantic directly for
+ COMPOUND_EXPR. Ensure that results for COMPOUND_EXPR are
+ passed to pedantic_non_lvalue.
+ * doc/extend.texi: Remove documentation of extended lvalues.
+
+2004-01-19 Roger Sayle <roger@eyesopen.com>
+
+ PR optimization/5263
+ * simplify-rtx.c (associative_constant_p): Delete.
+ (simplify_associative_operation): Rewrite to linearize terms, and
+ attempt to simplify new term against both left and right subterms.
+ (simplify_binary_operation): Call swap_commutative_operands_p on
+ op0 and op1, not trueop0 and trueop1. Move the initialization of
+ trueop0 and trueop1 down to where first needed.
+ (simplify_relational_operation): Likewise.
+ * rtlanal.c (commutative_operand_precedence): Also order constant
+ operands using avoid_constant_pool_reference.
+
+2004-01-19 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.c (aligned_memory_operand): Check MEM_ALIGN,
+ don't check memory mode.
+ (unaligned_memory_operand): Likewise.
+ (reload_inqi, reload_inhi, reload_outqi, reload_outhi): Don't
+ abort for op0 not MEM.
+
+ * config/alpha/alpha.c (alpha_expand_mov_nobwx): If the destination
+ is not a reg, copy to a scratch first.
+ (aligned_loadqi, aligned_loadhi, unaligned_loadqi, unaligned_loadhi,
+ unaligned_loadqi_le, unaligned_loadqi_be, unaligned_loadhi_le,
+ unaligned_loadhi_be): Expect op0 in DImode; don't SUBREG.
+ (reload_inqi, reload_inhi): Fix mode of op0.
+ (reload_inqi_help, reload_inhi_help, reload_outqi_help,
+ reload_outhi_help): Likewise. Use define_insn_and_split.
+
+ * config/alpha/alpha.md (call peepholes): Check for REG_NORETURN
+ as well as $29 dead.
+
+2004-01-19 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * config/sparc/sol2.h (ASM_DECLARE_OBJECT_NAME): New. Emit
+ "tls_object" for thread-local objects.
+ * config/sparc/sparc.c (sparc_elf_asm_named_section): Emit
+ "#tls" for thread-local sections.
+ * configure.ac (thread-local checks): Specify --fatal-warnings in
+ every binutils-specific checks. For sparc*-*-*, test whether the
+ OS is Solaris and the tools are native and act accordingly.
+ * configure: Rebuild.
+
+2004-01-19 Jeff Law <law@redhat.com>
+
+ * contrib.texi: Update Paolo Carlini's entry. New entries for
+ Jerry Quinn and Petur Runolfsson.
+
+2004-01-19 Roger Sayle <roger@eyesopen.com>
+
+ * config/i386/i386.md (*movhi_1, *movqi_1): When optimizing for
+ size, don't use the larger zero-extending loads.
+
+2004-01-19 Richard Henderson <rth@redhat.com>
+
+ * alpha.h (HARD_REGNO_MODE_OK): Disallow SImode in FP regs.
+ * alpha.md (UNSPEC_NT_LDA): Remove.
+ (UNSPEC_CVTLQ, cvtlq): New.
+ (extendsidi2_1): Rename from extendsidi2_nofix; remove f/f.
+ (extendsidi2_fix): Remove.
+ (extendsidi2 splitter): Use cvtlq.
+ (extendsidi2 fp peepholes): Remove.
+ (cvtql): Use SFmode instead of SImode.
+ (fix_trunc?fsi): Update to match.
+ (floatsisf2_ieee, floatsisf2, floatsidf2_ieee, floatsidf2): New.
+ (movsi): Rename from movsi_nofix, remove f alternatives.
+ (movsi_nt_vms): Similarly.
+ (movsi_fix, movsi_nt_vms_fix): Remove.
+ (nt_lda): Remove.
+ * alpha.c (alpha_expand_prologue): Use adddi3, not nt_lda.
+
+2004-01-19 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.c (cgraph_remove_node): Fix removal from linked list.
+ * cgraphunit.c (cgraph_finalize_compilation_unit): Clear next_needed
+ list.
+ (cgraph_remove_unreachable_nodes): New function
+ (cgraph_decide_inlining_of_small_function): Fix pasto.
+ (cgraph_decide_inlining_incrementally): Fix pasto.
+ (cgrpah_decide_inlining): Likewise; remove unreachable nodes.
+
+2004-01-19 Steven Bosscher <stevenb@suse.de>
+
+ * gengtype.c (header_file): Make it static.
+ (write_types_process_field, write_enum_defn): Minor whitespace fixes.
+ * gengtype.h (header_file): No longer extern.
+
+2004-01-18 Kazu Hirata <kazu@cs.umass.edu>
+
+ * defaults.h (CASE_VECTOR_PC_RELATIVE): Provide the default.
+ * expr.c (CASE_VECTOR_PC_RELATIVE): Remove.
+ * stmt.c (CASE_VECTOR_PC_RELATIVE): Likewise.
+
+2004-01-18 Kazu Hirata <kazu@cs.umass.edu>
+
+ * stmt.c (HAVE_casesi): Define it not already defined.
+ (HAVE_tablejump): Likewise.
+ (expand_end_case_type): Resort to the binary tree method if
+ neither casesi or tablejump is available.
+
+2004-01-18 Daniel Jacobowitz <drow@mvista.com>
+
+ * final.c (final_scan_insn): Make non-static again.
+ * output.h (final_scan_insn): Re-add prototype.
+ * config/arc/arc.c (arc_output_function_epilogue): Add NULL
+ to final_scan_insn call.
+ * config/cris/cris.c (cris_target_asm_function_epilogue): Likewise.
+ * config/mips/mips.c (mips_output_conditional_branch): Likewise.
+ * config/pa/pa.c (output_lbranch, output_call): Likewise.
+ * config/sh/sh.c (print_slot): Likewise.
+ * config/sparc/sparc.c (sparc_nonflat_function_epilogue): Likewise.
+ (output_sibcall, sparc_flat_function_epilogue): Likewise.
+
+2004-01-18 Jan Hubicka <jh@suse.cz>
+
+ * basic-block.h (try_redirect_by_replacing_jump): Declare.
+ * cfgcleanup.c (try_optimize_cfg): Use it.
+ * cfgrtl.c (try_redirect_by_replacing_jump): Export.
+ (rtl_redirect_edge_and_branch, cfg_layout_redirect_edge_and_branch):
+ Kill hack.
+ (cfg_layout_merge_blocks): Use try_redirect_by_replacing_jump.
+
+ Revert:
+ 2004-01-16 Geoffrey Keating <geoffk@apple.com>
+
+ * cfgrtl.c (try_redirect_by_replacing_jump): Optimize tablejumps
+ even after reload, just don't remove the actual jump tables.
+
+2004-01-18 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/rs6000/rs6000.h (STRICT_ARGUMENT_NAMING): Remove.
+
+2004-01-18 Kazu Hirata <kazu@cs.umass.edu>
+
+ * defaults.h (ASM_OUTPUT_ADDR_VEC_ELT): Fix the computation of
+ the size of a pointer in bytes.
+
+2004-01-18 Roger Sayle <roger@eyesopen.com>
+
+ * builtins.c (expand_builtin_expect_jump): Fix thinko of reusing
+ live "next" variable, which could lead to an infinite loop.
+
2004-01-18 Andrew Pinski <pinskia@physics.uc.edu>
+ * config/rs6000/altivec.h: Wrap C++ functions in extern "C++"
+ block.
+
* config/rs6000/rs6000.c (rs6000_special_round_type_align):
Check for NULL in the chain and remove repeated code.
2004-01-16 Jan Hubicka <jh@suse.cz>
- PR opt/11350
- * cfgcleanup.c (try_optimize_cfg): Suppress tablejump removal
+ PR opt/11350
+ * cfgcleanup.c (try_optimize_cfg): Suppress tablejump removal
after reload.
- * cfgrtl.c (rtl_can_merge_blocks, cfglayout_can_merge_blocks,
- rtl_try_redirect_by_replacing_branch): Likewise.
+ * cfgrtl.c (rtl_can_merge_blocks, cfglayout_can_merge_blocks,
+ rtl_try_redirect_by_replacing_branch): Likewise.
2004-01-15 Geoffrey Keating <geoffk@apple.com>