OSDN Git Service

* attribs.c (strip_attrs): Remove.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 43d00b5..8e292b1 100644 (file)
@@ -1,3 +1,679 @@
+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.
+       * gcov.c (abort): Remove undef.
+
+       * tree.h (BINFO_PRIMARY_BASE_OF): Remove.
+       (struct tree_binfo): Remove primary field.
+
+2004-08-30  Paolo Bonzini  <bonzini@gnu.org>
+
+       * fixinc/Makefile.in (machname.h): Remove.
+       (fixincl.x): Do not pass $@ to genfixes.
+       * fixinc/genfixes: Remove code to produce machname.h.
+       * fixinc/fixincl.sh: Move it here instead.
+       * fixinc/fixlib.c: Do not conditionalize on MN_NAME_PAT's presence,
+       instead check if pz_mn_name_pat is NULL.  Make mn_get_regexps
+       return a bool indicating whether pz_mn_name_pat is NULL.
+       * fixinc/fixlib.h: Do not conditionalize on MN_NAME_PAT's presence.
+       Declare extern C variables for the ENV_TABLE.
+       * fixinc/fixfixes.c: Do not conditionalize on MN_NAME_PAT's presence,
+       instead use the result of mn_get_regexps.
+       * fixinc/fixtests.c: Likewise.
+
+2004-08-30  Paolo Bonzini  <bonzini@gnu.org>
+
+       * configure.ac: Do not run fixincludes after stage1 during
+       toplevel bootstrap.
+       * configure: Regenerate.
+
+2004-08-30  Richard Earnshaw  <rearnsha@arm.com>
+
+       * sched-deps.c (get_condition): Partially revert previous, by never
+       trying to extract the condition from a condjump.
+
+2004-08-30  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * c-common.c (c_sizeof_or_alignof_type): Use gcc_assert.
+       (handle_visibility_attribute, c_determine_visibility): Likewise.
+       * c-common.h (my_friendly_assert): Remove.
+
+2004-08-30  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.md (UNSPEC_{RSQRT,RECIP}[12]_{S,D,PS}): Delete.
+       (UNSPEC_{RSQRT,RECIP}[12]): New constants.
+       (UNSPEC_MOVE_TF_PS): Renumber to avoid gaps.
+       * config/mips/mips-ps-3d.md (*movcc_v2sf_[sd]i): Use :GPR.
+       (mips_{rsqrt,recip}[12]_{s,d,ps}): Use :ANYF.
+
+2004-08-30  Diego Novillo  <dnovillo@redhat.com>
+
+       * tree-pretty-print.c (dump_generic_node): Handle VALUE_HANDLE
+       in COMPONENT_REF nodes.
+
+2004-08-29  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+
+       PR c++/15378
+       * c-opts.c (c_common_handle_option): <case OPT_Werror> set
+       global_dc->warning_as_error_requested.
+       * diagnostic.c (diagnostic_initialize): Tidy.
+       * diagnostic.h (diagnostic_context::x_data): Remove
+       (diagnostic_context::issue_warnings_are_errors_message): Rename
+       from warnings_are_errors_message.
+       (diagnostic_context::warning_as_error_requested): New.
+
+2004-08-30  Richard Earnshaw  <rearnsha@arm.com>
+
+       * sched-deps.c (get_condition): Fix breakage in previous patch.
+
+2004-08-30  Paul Brook  <paul@codesourcery.com>
+
+       * doc/install.texi: Fix broken mpfr link.
+
+2004-08-29  David O'Brien  <obrien@FreeBSD.org>
+
+       * config/rs6000/sysv4.h (LINK_OS_FREEBSD_SPEC): Sync '-p' handling with
+       other FreeBSD platforms.
+
+2004-08-29  Richard Earnshaw  <rearnsha@arm.com>
+
+       * arm.h (REVERSE_CONDITION): Define.
+       (REVERSIBLE_CC_MODE): All comparisons are now reversible.
+
+2004-08-29  Richard Earnshaw  <rearnsha@arm.com>
+
+       * flow.c (REVERSE_CONDEXEC_PREDICATES_P): Use the whole comparison, not
+       just the codes, call reversed_comparison_code ().
+       (ior_reg_cond): Update arguments to REVERSE_CONDEXEC_PREDICATES_P.
+       (not_reg_cond): Use reversed_comparison_code.
+       (and_reg_cond): Likewise.
+       * ifcvt.c (cond_exec_process_if_block): Likewise.
+       * doc/tm.texi (REVERSE_CONDEXEC_PREDICATES_P): Update documentation.
+
+2004-08-29  Richard Earnshaw  <rearnsha@arm.com>
+
+       * sched-deps.c (get_condition): Rewrite using jump support functions.
+       Use reversed_comparison_code.
+       (conditions_mutex_p): Use reversed_comparison_code.
+
+2004-08-29  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.c (override_options): Disable hot/cold partitioning
+       for MIPS16.
+
+2004-08-29  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.h (mips_builtins, mips_cmp_choice): Delete.
+       (mips_function_type): Move to mips.c.
+       * config/mips/mips.c (mips_builtin_type): New enum.
+       (builtin_description): Replace code and ftype with builtin_type
+       and function_type.
+       (DIRECT_BUILTIN, CMP_SCALAR_BUILTINS, CMP_PS_BUILTINS, CMP_4S_BUILTINS)
+       (MOVTF_BUILTINS, CMP_BUILTINS): New macros.
+       (CODE_FOR_mips_abs_ps): Define.
+       (mips_bdesc): Use new macros.
+       (mips_expand_builtin): Use builtin_type.  Update calls to subroutines.
+       (mips_init_builtins): Use the mips_bdesc[] index as the function code.
+       (mips_expand_builtin_direct): New function.
+       (mips_expand_builtin_movtf): Renamed from mips_expand_ps_cond_move_
+       builtin.  Replace boolean parameter with builtin_type.
+       (mips_expand_compare_builtin, mips_expand_scalar_compare_builtin)
+       (mips_expand_4s_compare_builtin): Delete, replacing with...
+       (mips_expand_builtin_compare): ...this new function.
+
+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-29  Diego Novillo  <dnovillo@redhat.com>
+
+       * tree-ssa-ccp.c (ccp_visit_stmt): Remove #if 0 guards.
+       * tree-ssa-propagate.c: Fix documentation.
+
+2004-08-29  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.md (*mov[sd]f_on_*): Redefine using :SCALARF.
+       (mov[sd]fcc): Likewise.
+
+2004-08-29  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.md (cmp[sd]f): Redefine using :SCALARF.
+
+2004-08-29  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.md (divide_condition): New mode attribute.
+       (div[sd]f3, *div[sd]f3): Use it.  Redefine using :SCALARF.
+       (sqrt[sd]f3): Redefine using SCALARF.
+       (*recip[sd]f3, *rsqrt<mode>[ab]): Likewise.  Name formerly unnamed
+       patterns.
+
+2004-08-29  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.md (ANYF, SCALARF): New mode macros.
+       (loadx, storex, fmt, UNITMODE): New mode attributes.
+       (add{sf,df,v2sf}3, sub{sf,df,v2sf}3): Redefine using :ANYF.
+       (mul[sd]f3): Redefine using :SCALARF.
+       (*mul[sd]f3): Renamed from mul[sd]f3_internal.  Use :SCALARF.
+       (*mul[sd]3_r4300): Likewise mul[sd]f3_r4300.
+       (*m{add,sub}{sf,df,v2sf}3): Name formerly unnamed patterns.  Use :ANYF.
+       Check TARGET_FUSED_MADD for V2SF too.
+       (*nm{add,sub}{sf,df,v2sf}3{,_fastmath}): Likewise, except v2sf patterns
+       were already named.
+       (abs{sf,df,v2sf}3, neg{sf,df,v2sf}3): Redefine using :ANYF.
+       (*[sl][wd]xc1_[sd]i): Redefine using :ANYF.
+
+2004-08-29  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.c (mips_init_builtins): Simplify.  Only create
+       V2SF_type_node if it will be needed.
+
+2004-08-29  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.h (MIPS_CMP_MOVT, MIPS_CMP_MOVF): Delete.
+       * config/mips/mips.c (mips_prepare_builtin_arg): New function.
+       (mips_prepare_builtin_target): New function.
+       (mips_expand_builtin): Use them.  Update calls to subroutines.
+       (mips_expand_ps_cond_move_builtin): Use the new functions.  Replace
+       cmp_choice with a boolean argument to select between movt and movf.
+       Take the comparison's icode as an argument, not the function's fcode.
+       (mips_expand_compare_builtin): New function.  Rename existing function
+       to mips_expand_scalar_compare_builtin.
+       (mips_expand_scalar_compare_builtin, mips_expand_4s_compare_builtin)
+       (mips_expand_ps_compare_builtin): Use the new functions.  Take the
+       comparison's icode as an argument, not the builtin's fcode.
+
+2004-08-29  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.c (print_operand): Remove '%Y' and '%y'.
+       (mips_expand_4s_compare_builtin): Redefine CCV4 to be 0 if all
+       registers are false and -1 if all registers are true.
+       (mips_expand_ps_compare_builtin): Likewise CCV2.  Use subregs for
+       MIPS_CMP_UPPER and MIPS_CMP_LOWER.
+       * config/mips/mips.md (mips_cond_move_tf_ps): Use %Q rather than %y.
+       (bc1any4t, bc1any4f): Adjust for new CCV4 interpretation.
+       (bc1any2t, bc1any2f): Likewise CCV2.
+       (bc1upper2t, bc1lower2t, bc1upper2f, bc1lower2f): Delete.
+
+2004-08-29  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.md (UNSPEC_MOVE_TF_PS): New.
+       * config/mips/mips-ps-3d.md (mips_cond_move_tf_ps): Express as an
+       UNSPEC rather than an IF_THEN_ELSE.
+       * config/mips/mips.c (mips_expand_ps_cond_move_builtin): Emit
+       mips_cond_move_tf_ps by name.
+
+2004-08-29  Chao-ying Fu  <fu@mips.com>
+           James E Wilson  <wilson@specifixinc.com>
+       
+       * config/mips/mips-modes.def (V2SF, CCV2, CCV4): New modes. Give CCV2
+       8 byte size and alignment.  Give CCV4 16 byte size and alignment.
+       * config/mips/mips-ps-3d.md: New file.
+       * config/mips/mips.c (TARGET_VECTOR_MODE_SUPPORTED_P,
+       TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
+       (mips_const_insns): Handle CONST_VECTOR the same as CONST_DOUBLE.
+       (mips_output_move): Emit "mov.ps" for V2SFmode.
+       (mips_arg_info): Add checks for VECTOR_FLOAT_TYPE_P and
+       MODE_VECTOR_FLOAT.
+       (override_options): Check if TARGET_MIPS3D and there was an explicit
+       !TARGET_PAIRED_SINGLE_FLOAT.  Set MASK_PAIRED_SINGLE, if TARGET_MIPS3D.
+       Check if TARGET_FLOAT64 and TARGET_HARD_FLOAT are both true, when
+       TARGET_PAIRED_SINGLE_FLOAT is true.  Check if the ISA supports
+       TARGET_PAIRED_SINGLE_FLOAT.  Allow MODE_VECTOR_FLOAT in fp registers,
+       and allow CCV2 and CCV4 to occupy two and four CC registers.
+       (print_fcc_operand): New function.
+       (print_operand): Add %Y, %y, %V, %v, %Q for CCV2, CCV4, CC.  Modify
+       %Z to call print_fcc_operand.
+       (mips_function_value): Handle MODE_VECTOR_FLOAT.
+       (mips_class_max_nregs): Check for ST_REGS, and handle CCmodes.
+       (mips_vector_mode_supported_p): New function.
+       (mips_hard_regno_nregs): Check for ST_REG_P, and handle CCmodes.
+       (builtin_description): New struct.
+       (mips_bdesc): New array of struct builtin_description.
+       (mips_expand_builtin, mips_init_builtins,
+       mips_expand_ps_cond_move_builtin, mips_expand_4s_compare_builtin,
+       mips_expand_compare_builtin, mips_expand_ps_compare_builtin): New
+       functions.
+       * config/mips/mips.h (MASK_PAIRED_SINGLE, MASK_MIPS3D): New defines.
+       (TARGET_PAIRED_SINGLE_FLOAT, TARGET_MIPS3D): New defines.
+       (TARGET_CPU_CPP_BUILTINS): Add __mips_paired_single_float.
+       (TARGET_SWITCHES): Added "-mpaired-single", "-mno-paired-single",
+       "-mips3d", and "-mno-mips3d".
+       (ASM_SPEC): Map -mips3d to -mips3d in gas.
+       (EXTRA_CONSTRAINT_Y): New macro.
+       (EXTRA_CONSTRAINT_STR): Renamed from EXTRA_CONSTRAINT.  Add new
+       multi-letter constraint 'Y'.
+       (CONSTRAINT_LEN): New macro.
+       (enum mips_builtins): New for MIPS builtin functions.
+       (enum mips_function_type): New for the types of MIPS builtin functions.
+       (enum mips_cmp_choice): New for the MIPS comparison builtin functions.
+       * config/mips/mips.md: New constants for paired single and MIPS-3D 
+       instructions.  Include the new mips-ps-3d.md file.
+       (addv2sf3, subv2sf3, mulv2sf3, absv2sf2, negv2sf2, movv2sf,
+       movv2sf_hardfloat_64bit): New named patterns.
+       (madd.ps, msub.ps, nmaddv2sf, nmaddv2sf_fastmath, nmsubv2sf,
+       nmsubv2sf_fastmath, ldxc1_v2sf_si, ldxc1_v2sf_di, sdxc1_v2sf_si,
+       sdxc1_v2sf_di): New unnamed patterns.
+       * config/mips/predicates.md (const_0_operand, const_1_operand): Add
+       const_vector support.
+       (const_0_or_1_operand): New predicate.
+       * doc/invoke.texi (MIPS Options): Add -mpaired-single and -mips3d.
+
+2004-08-29  Diego Novillo  <dnovillo@redhat.com>
+
+       * Makefile.in (OBJS-common): Add tree-ssa-propagate.o
+       (tree-ssa-propagate.o): New rule.
+       (GTFILES): Add tree-ssa-propagate.c.
+       * tree-flow.h (struct stmt_ann_d): Remove field
+       in_ccp_worklist.
+       * tree-ssa-propagate.c: New file.
+       * tree-ssa-propagate.h: New file.
+       * tree-ssa-ccp.c: Re-write to use the routines from
+       tree-ssa-propagate.c.
+
+2004-08-28  Andrew Pinski  <apinski@apple.com>
+
+       * tree-ssa-loop.c: Remove extra include of basic-block.h.
+
+2004-08-28  Ziemowit Laski  <zlaski@apple.com>
+
+       * c-common.h: Update comments about ObjC/ObjC++ entry points.
+       (objc_is_reserved_word): New prototype.
+       (get_current_scope, objc_mark_locals_volatile): Move prototypes to
+       separate section; these are call-backs.
+       * c-lex.c (c_lex_with_flags): Call objc_is_reserved_word() to detect
+       ObjC/ObjC++ "@" keywords.
+       * c-tree.h (get_current_scope, objc_mark_locals_volatile): Remove
+       prototypes; they already live in c-common.h.
+       * stub-objc.c: Update copyright notice.
+       (objc_is_reserved_word): New stub.
+
+2004-08-28  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * system.h (gcc_assert): Remove __builtin_expect.  Evaluate EXPR
+       even when not checking.
+
+2004-08-27  Jason Merrill  <jason@redhat.com>
+
+       PR c++/13684
+       * gimplify.c (gimplify_cleanup_point_expr): Handle CLEANUP_EH_ONLY.
+       (gimple_push_cleanup): Add eh_only parm.
+       (gimplify_target_expr): Pass it.
+       * c.opt (-fno-threadsafe-statics): New option.
+       * c-opts.c (c_common_handle_option): Handle it.
+       * c-common.h (flag_threadsafe_statics): Declare it.
+       * c-common.c (flag_threadsafe_statics): Record it.
+       * doc/invoke.texi: Document it.
+       * tsystem.h (_GNU_SOURCE): Define.
+       * gthr-posix.h (__gthread_recursive_mutex_t): New typedef.
+       (__GTHREAD_RECURSIVE_MUTEX_INIT): New macro.
+       (__GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION): New macro.
+       (__gthread_recursive_mutex_init_function): New fn.
+       (__gthread_recursive_mutex_lock): New fn.
+       (__gthread_recursive_mutex_trylock): New fn.
+       (__gthread_recursive_mutex_unlock): New fn.
+       * gthr-solaris.h, gthr-single.h, gthr-dce.h: Likewise.
+       * gthr-win32.h, gthr-vxworks.h: Likewise.
+       * gthr.h: Document.
+
+2004-08-27  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/rs6000.c (rs6000_override_options): Increase
+       maximum skip to 15.  Set function alignment, jump alignment, and
+       loop alignment to 16 for processors that form dispatch groups.
+       (rs6000_rtx_costs): outer_code is used.
+
+2004-08-27  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * stor-layout.c (sizetype_set): Remove.
+       (set_sizetype): Don't test or set it.
+
+       * tree.h (size_int_type): Remove.
+       * fold-const.c: Do not #include gt-fold-const.h.
+       (size_htab_hash, size_htab_eq): Remove.
+       (size_int_kind): Use build_int_cst.
+       (new_const, size_htab): Remove.
+       (size_int_type): Remove.
+       (round_up): Use build_int_cst.
+       (round_down): Likewise. Remove spurious constant build.
+
+2004-08-27  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * configure.ac: Add ENABLE_ASSERT_CHECKING control.
+       Add is_release variable, use it for --enable-werror and
+       --enable-checking defaults.
+       * system.h (gcc_assert, gcc_unreachable): New.
+       * doc/install.texi (--enable-checking): Update.
+       * configure, config.in: Rebuilt.
+
+2004-08-26  Richard Sandiford  <rsandifo@redhat.com>
+
+       * rtl.h (read_rtx): Change prototype.
+       * read-rtl.c (read_rtx): Provide the caller with both an rtx and a
+       line number.  Return true on success.
+       * gensupport.c (process_include, init_md_reader_args_cb): Adjust
+       callers accordingly.
+
+2004-08-26  Richard Henderson  <rth@redhat.com>
+
+       * c-typeck.c (build_offsetof): Remove.
+       * c-tree.h (build_offsetof): Remove.
+       * c-common.c (fold_offsetof_1, fold_offsetof): New.
+       * c-common.h (fold_offsetof): Declare.
+       * c-parse.in (offsetof_base): New.
+       (offsetof_member_designator): Use it.  Build references, not just
+       a tree list.
+       (primary): Use fold_offsetof, not build_offsetof.
+
+2004-08-26  Richard Henderson  <rth@redhat.com>
+
+       * tree.c (staticp): Return the static object.
+       * tree.h (staticp): Update decl.
+       * langhooks.h (struct lang_hooks): Change staticp return type to tree.
+       * langhooks.c (lhd_staticp): Return NULL_TREE.
+       * langhooks-def.h (lhd_staticp): Update decl.
+       * c-common.c (c_staticp): Return the static object.
+       * c-common.h (c_staticp): Update decl.
+
+2004-08-26  Richard Henderson  <rth@redhat.com>
+
+       * config/alpha/alpha.h (HARD_REGNO_MODE_OK): Allow complex float
+       modes.
+
+2004-08-26  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       PR c/13801
+       * c-decl.c (struct c_binding): Add type and inner_comp fields.
+       (bind): Set type and inner_comp fields.
+       (pop_scope): Restore type of decl to the correct type from an
+       outer scope.  Give error when popping file scope for incomplete
+       arrays completed incompatibly with default initialization in an
+       inner scope.
+       (diagnose_mismatched_decls): Handle externs with initializers at
+       block scope.
+       (pushdecl): Set type of external declaration at block scope based
+       only on the visible declarations.  Save type when changing the
+       type of a declaration.  Merge an external declaration at block
+       scope with a visible static declaration at file scope.
+       (implicitly_declare): Give recycled old declaration the new type
+       except for incompatible declarations of built-in functions, saving
+       the old type.
+
+2004-08-26  Ziemowit Laski  <zlaski@apple.com>
+
+       * c-parse.in (OBJC_TYPE_QUAL): New %token for ObjC use.
+
+2004-08-26  Daniel Berlin  <dberlin@dberlin.org>
+
+       * tree-alias-common.c (gate_pta): New function.
+       (pass_build_pta): Use it.
+       (pass_del_pta): Use it.
+       (delete_alias_vars): Don't check flag_tree_points_to.
+
+2004-08-26  Fariborz Jahanian  <fjahanian@apple.com>
+
+       * config/rs6000/rs6000.h (HARD_REGNO_CALL_PART_CLOBBERED): Added 
+       TFmode as additional register mode cloberred by call.
+
+2004-08-26  Fariborz Jahanian  <fjahanian@apple.com>
+
+       * config/rs6000/rs6000.c (rs6000_libcall_value): Generate
+       parallel pattern for library call returning DImode in
+       mixed mode.
+
+2004-08-26  Fariborz Jahanian  <fjahanian@apple.com>
+
+       * config/rs6000/rs6000.c (function_arg): Generate parallel
+       pattern for more split args.
+
+2004-08-26  Fariborz Jahanian  <fjahanian@apple.com>
+
+       * config/rs6000/rs6000.c (rs6000_split_multireg_move): Call
+       either gen_movdi_di_update or gen_movdi_si_update depending on
+       target mode.
+       * config/rs6000/rs6000.md (movdi_update): Changed to movdi_<mode>_update,
+       to generate two versions.
+2004-08-26  Daniel Berlin  <dberlin@dberlin.org>
+
+       * Makefile.in (lambda-code.o): New.
+       (lambda-trans.o): Ditto.
+       (TREE_DATA_REF_H): Ditto.
+       (LAMBDA_H): Ditto.
+       (lambda-mat.o): Use LAMBDA_H.
+       (tree-data-ref.o): Ditto.
+       * lambda-code.c: New file.  Lambda code generation algorithm.
+       * lambda-trans.c: Ditto. Lambda transformation matrix support.
+       * lambda.h: Add lambda loop structures.
+       Add lambda loopnest structures.
+       Add lambda body vector structure.
+       Add lambda linear expression structures.
+       Add prototypes for functions in new files.
+       * lambda-mat.c: Include tree.h
+
+2004-08-26  Daniel Berlin <dberlin@dberlin.org>
+           Sebastian Pop  <pop@cri.ensmp.fr>   
+       
+       * tree-data-ref.h: Include lambda.h     
+       (free_dependence_relation): Declared here.
+       (free_dependence_relations): Ditto.     
+       (free_data_refs): Ditto.
+       * tree-data-ref.c (free_dependence_relation): New function.
+       (free_dependence_relations): Ditto.
+       (free_data_refs): Ditot.
+       (analyze_all_data_dependences): Free datarefs and dependence_relations.
+       (build_classic_dist_vector): Store in the dependence_relations the
+       information. Each arc in the dependence_relations graph is labelled
+       with the distance and direction vectors.
+       (build_classic_dir_vector): Ditto.
+       (compute_rw_wr_ww_dependences): Renamed again compute_all_dependences.
+       Now computes again the whole dependence graph including read-read
+       relations.
+       (compute_data_dependences_for_loop): Now dependence_relations contains
+       all the data, and thus it doesn't need to initialize the classic_dir
+       and classic_dist vectors.
+       (analyze_all_data_dependences): Adjusted for using the new interface of
+       compute_data_dependences_for_loop.  Remove the statistics dump.
+       
+2004-08-26  Bob Wilson  <bob.wilson@acm.org>
+
+       * config/xtensa/xtensa.c (xtensa_ld_opcodes, xtensa_st_opcodes): Delete.
+       (xtensa_expand_block_move): Update comment.
+       (override_options): Remove initialization of xtensa_{ld,st}_opcodes.
+
+2004-08026  Richard Earnshaw  <rearnsha@arm.com>
+
+       PR target/13506
+       * toplev.c (crash_signal): If we crashed while emitting
+       a user asm, then die more gracefully.
+
+2004-08-26  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
+
+       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  <rth@redhat.com>
+
+       PR target/16974
+       * config/alpha/alpha.md (adddi_fp_hack): Don't rely on splitting
+       if the constant satisfies add_operand.
+
+2004-08-25  Richard Henderson  <rth@redhat.com>
+       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 B. Kreckel  <richard.kreckel@framatome-anp.com>
+
+       PR target/17171
+       * config/i386/gas.h (ASM_COMMENT_START): Define to "#".
+
+2004-08-25  Richard Henderson  <rth@redhat.com>
+
+       * config/alpha/alpha.c (alpha_cannot_force_const_mem): New.
+       (TARGET_CANNOT_FORCE_CONST_MEM): New.
+
+2004-08-25  Andrew MacLeod  <amacleod@redhat.com>
+
+       * doc/tree-ssa.texi: Document new operand iterator.
+
+2004-08-26  Alan Modra  <amodra@bigpond.net.au>
+
+       PR target/16480
+       * config/rs6000/rs6000.c (rs6000_split_multireg_move): Don't abort
+       on "(mem (symbol_ref ..))" rtl.  Look at LO_SUM base regs as well
+       as PLUS base regs.
+
+2005-08-28  Paul Brook  <paul@codesourcery.com>
+
+       * config/arm/symbian.h (SUBTARGET_ASM_FLOAT_SPEC): Default to
+       -mfpu=vfp -march=armv5t
+       * config/arm/t-symbian: Change multilib to mfloat-abi=softfp.
+
 2004-08-25  Richard Henderson  <rth@redhat.com>
 
        * target-def.h (TARGET_SCALAR_MODE_SUPPORTED_P): New.