+2004-08-31 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * attribs.c (strip_attrs): Remove.
+ (split_specs_attrs): Move ...
+ * c-decl.c: ... to here.
+ * tree.h (split_specs_attrs, strip_attrs): Remove.
+ * c-tree.h (split_specs_attrs): Declare.
+
+2004-08-31 Richard Sandiford <rsandifo@redhat.com>
+
+ * read-rtl.c: Disable RTL checking.
+ (apply_macro_to_rtx): Use XTMPL to access 'T' fields.
+
+2004-08-31 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.md (fcond): New code macro and attribute.
+ (sunordered_[sd]f, suneq_[sd]f, sunlt_[sd]f, sunle_[sd]f)
+ (seq_[sd]f, slt_[sd]f, sle_[sd]f): Redefine using :SCALARF and fcond.
+ (sgt_[sd]f, sge_[sd]f): Redefine using :SCALARF.
+
+2004-08-30 Mark Mitchell <mark@codesourcery.com>
+
+ Revert:
+ 2004-08-29 Mark Mitchell <mark@codesourcery.com>
+ PR rtl-optimization/16590
+ * gcse.c (pre_delete): Do not create invalid REG_EQUAL notes.
+
+2004-08-30 Andrew Pinski <apinski@apple.com>
+
+ * hard-reg-set.h:
+ s/HOST_BITS_PER_WIDES_FAST_INT/HOST_BITS_PER_WIDEST_FAST_INT.
+ * ChangeLog: Fix previous ChangeLog entry.
+
+ PR rtl-opt/13987
+ * config.host (use_long_long_for_widest_fast_int): New, default is
+ off.
+ (ia64-*-hpux*): Enable use_long_long_for_widest_fast_int.
+ * configure.ac: If use_long_long_for_widest_fast_int, then
+ define USE_LONG_LONG_FOR_WIDEST_FAST_INT.
+ * configure: Regenerate.
+ * config.in: Regenerate.
+ * hwint.h (HOST_WIDEST_FAST_INT, HOST_BITS_PER_WIDEST_FAST_INT):
+ New: widest integer type supported efficiently in hardware for the
+ host.
+ * sbitmap.h (SBITMAP_ELT_BITS): Define based on
+ HOST_BITS_PER_WIDEST_FAST_INT.
+ (SBITMAP_ELT_TYPE): Define based on HOST_WIDEST_FAST_INT.
+ * hard-reg-set.h (HARD_REG_ELT_TYPE): Define based on
+ HOST_WIDEST_FAST_INT
+ instead of HOST_WIDE_INT.
+ (HARD_REG_SET_LONGS): Likewise.
+ (UHOST_BITS_PER_WIDE_INT): Likewise.
+ Change the checks for the fast cases to be based on
+ HOST_BITS_PER_WIDEST_FAST_INT instead of HOST_BITS_PER_WIDE_INT.
+
+2004-08-30 Steven Bosscher <stevenb@suse.de>
+
+ * cfgcleanup.c (merge_memattrs): Look at the value of MEM_SIZE,
+ not the pointers.
+
+2004-08-30 Geoffrey Keating <geoffk@apple.com>
+
+ PR 12738
+ PR 17205
+ Radar 3460526
+ Radar 3775729
+ * c-decl.c (grokdeclarator): Produce error for 'static' on local
+ function declaration.
+
+2004-08-30 Richard Henderson <rth@redhat.com>
+
+ * expr.c (array_ref_element_size): Force aligned_size back to
+ sizetype.
+ (component_ref_field_offset): Similarly for aligned_offset.
+ * tree.c (recompute_tree_invarant_for_addr_expr): Mark raw
+ low-bound, element-size, field-offset fields rather than
+ computed values.
+
+2004-08-30 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * c-parse.in (parmlist_or_identifiers_1): Remove unreachable and
+ redundant code.
+
+2004-08-30 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * c-tree.h (struct language_function): Add arg_info element.
+ * c-decl.c (current_function_arg_info): New.
+ (grokdeclarator, store_parm_decls): Use it instead of
+ DECL_ARGUMENTS.
+ (c_push_function_context, c_pop_function_context): Save and
+ restore it.
+
+2004-08-30 Richard Henderson <rth@redhat.com>
+
+ * c-typeck.c (build_unary_op): Don't expand ADDR_EXPR of a
+ COMPONENT_REF to pointer arithmetic.
+ * varasm.c (initializer_constant_valid_p): Allow "&(*c).f", for
+ constant "c" as a valid constant initializer. Allow narrowing of
+ differences against the same base object, for any base object.
+
+2004-08-30 Richard Henderson <rth@redhat.com>
+
+ * expr.c (expand_expr_addr_expr): New.
+ (expand_expr_real_1) <case ADDR_EXPR>: Use it.
+
+2004-08-30 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.c (MIPS_FP_CONDITIONS): New macro.
+ (mips_fp_condition): New enum.
+ (mips_fp_conditions): New array.
+ (print_fcc_operand): Delete.
+ (print_operand): Remove %V, %v and %Q. Redefine %Z so that it prints
+ the operand and comma if and only if ISA_HAS_8CC. Add %Y.
+ (builtin_description): Add "cond" field.
+ (DIRECT_BUILTIN): Initialize it.
+ (CMP_{SCALAR,PS,4S}_BUILTINS, MOVTF_BUILTINS): Split INSN parameter
+ into INSN and CODE. Initialize the "cond" field.
+ (CMP_BUILTINS): Update accordingly.
+ (mips_bdesc): Use MIPS_FP_CONDITIONS to invoke CMP_BUILTINS.
+ (mips_expand_builtin_movtf, mips_expand_builtin_compare): Take the
+ mips_fp_condition as argument. Make it the final operand of the
+ comparison instruction.
+ (mips_expand_builtin): Update accordingly.
+ * config/mips/mips.md (UNSPEC_C_*, UNSPEC_CABS_*): Delete.
+ (UNSPEC_C, UNSPEC_CABS): New constants. Shuffle others to fill
+ the gaps.
+ * config/mips/mips-ps-3d.md (mips_cond_move_tf_ps, bc1any[24][ft]):
+ Don't use the 'Q' operand prefix; just print the operand normally.
+ (mips_cabs_*, mips_c_*): Delete, replacing with...
+ (mips_c_cond_{ps,4s}, mips_cabs_cond_{s,d,ps,4s}): ...these new
+ patterns. Split the 4s versions into 2 ps patterns after reload.
+
+2004-08-30 Richard Henderson <rth@redhat.com>
+
+ * fold-const.c (tree_expr_nonzero_p): Use get_base_address before
+ assuming an ADDR_EXPR is non-null.
+
+2004-08-30 Jason Merrill <jason@redhat.com>
+
+ * gthr-posix.h, gthr-dce.h: Add #pragma weaks.
+
2004-08-30 Nathan Sidwell <nathan@codesourcery.com>
* gcov-io.c (GCOV_CHECK): Use gcc_assert when available.