OSDN Git Service

Emit an error for too large arrays instead of an ICE.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index cbf54d4..ecd37e6 100644 (file)
@@ -1,3 +1,296 @@
+2005-08-16  James E Wilson  <wilson@specifix.com>
+
+       PR tree-optimization/21105
+       * c-decl.c (grokdeclarator): Use TYPE_SIZE_UNIT not TYPE_SIZE in
+       TREE_OVERFLOW check.
+
+2005-08-16  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/rs6000.md (ltu<mode>): Convert to mode macro.
+       (neg_ltu<mode>): Same.
+       (gtu<mode>): Same.
+       (neg_gtu<mode>): Same.
+
+2005-08-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+
+       * builtins.c (expand_builtin_strcat): Remove superfluous call to fold.
+       (fold_builtin_isdigit): Use fold_buildN.
+       (build_function_call_expr): Likewise.
+       * c-typeck.c (c_finish_loop): Likewise.
+
+2005-08-16  J"orn Rennecke <joern.rennecke@st.com>
+            Richard Shann <rshann@superh.com>
+
+       PR middle-end/20396:
+       * optabs.c (expand_binop): Take TRULY_NOOP_TRUNCATION into account.
+
+2005-08-16  Sebastian Pop  <pop@cri.ensmp.fr>
+
+       * tree-ssa-loop-niter.c (scev_probably_wraps_p): Reword a comment.
+
+2005-08-15  Richard Earnshaw  <richard.earnshaw@arm.com>
+
+       PR target/23355
+       * arm.c (thumb_compute_save_reg_mask): Use similar logic to 
+       arm_compure_save_reg0_reg12_mask to determine when the PIC register
+       must be saved.
+
+2005-08-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR middle-end/23369
+       * fold-const.c (build_range_check): Disable optimization for function
+       pointer expressions on targets that require function pointer
+       canonicalization.
+
+2005-08-15  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * simplify-rtx.c (simplify_const_relational_operation): When
+       extracting arguments of a COMPARE, recompute the mode as well.
+
+2005-08-15  Ian Lance Taylor  <ian@airs.com>
+
+       * tree.c (build_string): Mark tree CONSTANT and INVARIANT.
+
+2005-08-15  DJ Delorie  <dj@redhat.com>
+
+       * config/m32c/mov.md (movqi_op): Immediates can't be moved to
+       the stack.
+       (movsi_splittable): Allow, but split, moves to the stack.
+       * config/m32c/m32c.c (m32c_split_move): Always split moves to the
+       stack.
+
+2005-08-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * aclocal.m4 (gcc_AC_FUNC_PRINTF_PTR): Delete.
+       * configure.ac: Don't call gcc_AC_FUNC_PRINTF_PTR.
+       * system.h (HOST_PTR_PRINTF): Don't define, poison it.
+       
+       * bitmap.c, c-decl.c, config/i386/i386-interix.h,
+       config/iq2000/iq2000.c, mips-tfile.c, print-rtl.c, print-tree.c:
+       Delete HOST_PTR_PRINTF.
+
+       * configure, config.in: Regenerate.
+
+2005-08-15  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/rs6000.md (QHSI): New mode macro.
+       (wd): Extend mode attr for QImode and HImode
+       (dbits): New mode attr.
+       (zero_extend<mode>di2): Convert to mode macro.
+
+2005-08-15  Steve Ellcey  <sje@cup.hp.com>
+
+       PR target/21841
+       * doc/invoke.texi (-mgnu-ld): Update description.
+       (-mhp-ld): Ditto.
+
+2005-08-15  Sebastian Pop  <pop@cri.ensmp.fr>
+
+       PR 23391
+       * Makefile.in (tree-chrec.o): Depends on real.h.
+       * tree-chrec.c: Include real.h.
+       (chrec_fold_plus_poly_poly, chrec_fold_multiply_poly_poly,
+       chrec_fold_plus_1): Use build_real for SCALAR_FLOAT_TYPE_P.
+       * tree-scalar-evolution.c (add_to_evolution_1,
+       interpret_rhs_modify_expr): Ditto.
+
+2005-08-15  Sebastian Pop  <pop@cri.ensmp.fr>
+
+       PR 23386
+       * tree-data-ref.c (estimate_niter_from_size_of_data): When
+       step is negative compute the estimation from init downwards to zero.
+       
+2005-08-14  James A. Morrison  <phython@gcc.gnu.org>
+
+       * fold-const (fold_binary): Call fold_build2 instead of fold (build.
+
+2005-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * config/s390/s390.c (s390_const_ok_for_constraint_p): Add 'P'
+       constraint.
+       (legitimate_reload_constant_p): Fix handling of lliXX operands.
+       Accept double-word constants that can be split.
+       * config/s390/s390.md ("movti"): Use 'P' constraint.
+       ("*movdi_31", "*movdf_31"): Likewise.
+
+2005-08-14  Daniel Berlin  <dberlin@dberlin.org>
+
+       Fix PR tree-optimization/22615
+       
+       * tree-ssa-structalias.c (solution_set_add): Handle
+       first_vi_for_offset returning NULL. 
+       (do_da_constraint): Ditto.
+       (do_sd_constraint): Ditto.
+       (do_ds_constraint): Ditto
+       (find_func_aliases): Ditto.
+       (build_constraint_graph): RHS is allowed be ANYTHING.
+       (first_vi_for_offset): Return NULL if we couldn't find anything at
+       the offset.
+       
+2005-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * config/s390/s390.c (s390_canonicalize_comparison): Prefer register
+       over memory as first operand.
+
+2005-08-14  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/23360
+       * config/i386/crtfastmath.c (set_fast_math): Check if DAZ is
+       available for setting it.
+
+2005-08-14  Ira Rosen  <irar@il.ibm.com>
+
+       PR tree-optimization/23320
+       * tree-data-ref.c (base_addr_differ_p): Add comment. Check 
+       data-refs' types instead of base object nullness. Add check for 
+       pointer type data-refs before first location comparison. Remove 
+       assert.
+
+2005-08-14  Andreas Schwab  <schwab@suse.de>
+
+       * doc/md.texi (Machine Constraints): Fix misplaced @end table.
+
+2005-08-13  James E Wilson  <wilson@specifix.com>
+
+       * doc/cpp.texi (__SSP__, __SSP_ALL__): Document.
+       * doc/invoke.texi (-Wstack-protector, -fstack-protector,
+       -fstack-protector-all, --param ssp-buffer-size): Document.
+       (-Wvariadic-macros): Alphabetize.
+       (-fsched-stalled-insns-dep): Add missing 'f'.
+
+       * c-cppbuiltin.c (c_cpp_builtins): Add comment for flag_stack_protect
+       macros.
+
+2005-08-13  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 'a' for indexed
+       or indirect address operand.
+       (EXTRA_ADDRESS_CONSTRAINT): New.
+       * config/rs6000/rs6000.md (prefetch): Change constraint "p" to "a".
+
+2005-08-13  Sebastian Pop  <pop@cri.ensmp.fr>
+
+       PR tree-optimization/22236
+       * tree-cfg.c (print_pred_bbs, print_succ_bbs): Correctly print
+       successors and predecessors.
+       * tree-chrec.c (chrec_convert): Before converting, check that
+       sequences don't wrap.
+       * tree-data-ref.c (compute_estimated_nb_iterations): Moved ...
+       (analyze_array): Extern.
+       (find_data_references_in_loop): Remove call to
+       compute_estimated_nb_iterations.
+       * tree-data-ref.h (analyze_array): Declared.
+       * tree-flow-inline.h (single_ssa_tree_operand, single_ssa_use_operand,
+       single_ssa_def_operand, zero_ssa_operands): Fix documentation.
+       * tree-flow.h (scev_probably_wraps_p): Declare with an extra parameter.
+       * tree-scalar-evolution.c (instantiate_parameters_1): Factor entry 
+       condition.
+       * tree-ssa-loop-ivcanon.c: Fix documentation.
+       * tree-ssa-loop-ivopts.c (idx_find_step): Add a fixme note.
+       * tree-ssa-loop-niter.c (compute_estimated_nb_iterations): ... here.
+       (infer_loop_bounds_from_undefined): New.
+       (estimate_numbers_of_iterations_loop): Use
+       infer_loop_bounds_from_undefined.
+       (used_in_pointer_arithmetic_p): New.
+       (scev_probably_wraps_p): Pass an extra parameter.  Call
+       used_in_pointer_arithmetic_p.  Check that AT_STMT is not null.
+       (convert_step): Fix documentation.
+       * tree-vrp.c (adjust_range_with_scev): Call instantiate_parameters.
+       Use initial_condition_in_loop_num and evolution_part_in_loop_num
+       instead of CHREC_LEFT and CHREC_RIGHT.  Adjust the call to
+       scev_probably_wraps_p.
+
+2005-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * config/s390/s390.c (s390_split_branches): Revert 2005-08-12 change.
+       (s390_register_info): Ignore clobbered_regs information for fixed
+       registers, and only fixed registers.
+       (s390_init_frame_layout): Remove redundant call.
+
+2005-08-12  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/invoke.texi (C++ Dialect Options): Add dynamic_cast to 
+       description of -Wold-style-casts.
+
+2005-08-12  Andreas Krebbel  <krebbel1@de.ibm.com>
+           Jakub Jelinek  <jakub@redhat.com>
+
+       * config/s390/linux.h (TARGET_THREAD_SSP_OFFSET): Define.
+       * config/s390/s390-protos.h (s390_get_thread_pointer): Prototype added.
+       * config/s390/s390.c (print_operand): New output modifier 'G' added.
+       (get_thread_pointer): Renamed to s390_get_thread_pointer.
+       * config/s390/s390.md (stack_protect_set, stack_protect_test): If
+       TARGET_THREAD_SSP_OFFSET is defined, change operands[1] to
+       (MEM:P (PLUS:P (tp, TARGET_THREAD_SSP_OFFSET))).
+       (UNSPEC_SP_SET, UNSPEC_SP_TEST): New constants.
+       ("stack_protect_set", "stack_protect_test"): New expanders.
+       ("stack_protect_setsi", "stack_protect_setdi", "stack_protect_testsi",
+       "stack_protect_testdi"): New insn definitions.
+
+2005-08-12  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       * config/s390/s390.md ("*movdf_31"): Changed constraint from P to K.
+
+2005-08-12  Paul Brook  <paul@codesourcery.com>
+
+       * config/arm/lib1funcs.asm: Error if __ARM_ARCH__ not set.
+
+2005-08-12  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       * config/s390/predicates.md (setmem_operand): New predicate.
+       (shift_count_operand): Accept ANDs with special constants as
+       operand.
+       * config/s390/s390.c (print_shift_count_operand): Skip ANDs
+       with special constants.
+       * config/s390/s390.md ("setmem_long", "*setmem_long"): Replaced
+       shift_count_operand with setmem_operand.
+
+2005-08-12  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       * config/s390/s390.c (s390_extract_part, s390_single_part):
+       Type cast added.
+       (s390_const_ok_for_constraint_p): Added SImode to the N constraint.
+       (s390_output_mi_thunk): Don't use lg on 31 bit.
+       * config/s390/s390.md ("*movdi_31", "*movdf_31"): Added lmy and stmy.
+       ("*llgt_sisi" and splitter): Replaced TARGET_64BIT with TARGET_ZARCH.
+
+2005-08-12  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       * config/s390/s390.c (CONST_OK_FOR_J, CONST_OK_FOR_K): New macros.
+       (s390_select_ccmode, s390_rtx_costs, legitimate_reload_constant_p,
+       s390_init_frame_layout, s390_emit_prologue, s390_emit_epilogue,
+       s390_output_mi_thunk): Replaced uses of CONST_OK_FOR_CONSTRAINT_P
+       with one of the new macros.
+
+2005-08-12  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       * config/s390/s390.c (s390_split_branches, s390_init_frame_layout): 
+       Don't set save_return_addr_p.
+       (s390_register_info): Make clobbered_regs not depending on
+       save_return_addr_p.
+
+2005-08-12  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * gcc.c (LINK_SSP_SPEC): Remove space before a trailing }.
+       (LINK_COMMAND_SPEC): Add space after %(link_ssp).
+
+2005-08-11  James E. Wilson  <wilson@specifix.com>
+
+       * config/ia64/ia64.h (EXTRA_MEMORY_CONSTRAINT): New.
+
+2005-08-11  Jakub Jelinek  <jakub@redhat.com>
+
+       * dwarf2out.c (add_location_or_const_value_attribute): Prefer
+       locations gathered by var-tracking in single entry loc_list
+       over loc_descriptor_from_tree.
+
+       * dwarf2out.c (concat_loc_descriptor): Add can_use_fbreg argument,
+       pass it down to loc_descriptor.
+       (loc_descriptor): Pass can_use_fbreg to concat_loc_descriptor.
+       (containing_function_has_frame_base): Move earlier in the file.
+       (loc_descriptor_from_tree_1): Use containing_function_has_frame_base
+       instead of always assuming fbreg can't be used.
+
 2005-08-11  David Edelsohn  <edelsohn@gnu.org>
 
        * config/rs6000/altivec.md: Change constraint "m" to "Z".