OSDN Git Service

* attribs.c (strip_attrs): Remove.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index fdd8639..8e292b1 100644 (file)
@@ -1,3 +1,144 @@
+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.