1. 14 Feb, 2006 8 commits
    • Add forgotten file. · b076a3fd
      From-SVN: r110965
      Zdenek Dvorak committed
    • invoke.texi (-fprefetch-loop-arrays, [...]): Document. · 17684618
      	* doc/invoke.texi (-fprefetch-loop-arrays, -fprefetch-loop-arrays-rtl):
      	Document.
      	* tree-ssa-loop-niter.c (number_of_iterations_ne,
      	number_of_iterations_lt, number_of_iterations_cond): Remember the shape
      	of the ending condition.
      	* tree-ssa-loop-manip.c: Include params.h.
      	(build_if_stmt, can_unroll_loop_p, determine_exit_conditions,
      	tree_unroll_loop): New functions.
      	* tree-pass.h (pass_loop_prefetch): Declare.
      	* loop.c (rest_of_handle_loop_optimize): Test for
      	-fprefetch-loop-arrays-rtl.
      	* tree-scalar-evolution.h (affine_iv): Moved to tree-flow.h.
      	* timevar.def (TV_TREE_PREFETCH): New timevar.
      	* tree-ssa-loop.c (tree_ssa_loop_prefetch, gate_tree_ssa_loop_prefetch,
      	pass_loop_prefetch): New.
      	* tree-cfgcleanup.c: Include tree-scalar-evolution.h.
      	(cleanup_tree_cfg_loop): Call scev_reset.
      	* common.opt (fprefetch-loop-arrays-rtl): Add.
      	* tree-ssa-loop-prefetch.c: New file.
      	* tree-outof-ssa.c (struct value_expr_d): Add expr_vars field.
      	(new_temp_expr_table): Initialize expr_vars.
      	(free_temp_expr_table): Cleanup expr_vars.
      	(check_replaceable, find_replaceable_in_bb): Prevent accumulating
      	expressions from being merged into one.
      	* tree-flow.h (affine_iv): Moved from tree-scalar-evolution.h.
      	(struct tree_niter_desc): Add control, bound and cmp fields.
      	(tree_ssa_prefetch_arrays, can_unroll_loop_p, tree_unroll_loop):
      	Declare.
      	* Makefile.in (tree-ssa-loop-prefetch.o): Add.
      	(tree-cfgcleanup.o): Add SCEV_H dependency.
      	(tree-ssa-loop-manip.o): Add PARAMS_H dependency.
      	* passes.c (init_optimization_passes): Add pass_loop_prefetch.
      
      From-SVN: r110964
      Zdenek Dvorak committed
    • re PR tree-optimization/26258 (Wrong alias information for struct addresses in PHIs) · 0a4288d9
      2006-02-14  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/26258
      	* tree-ssa-structalias.c (find_func_aliases): Handle aggregates
      	in PHI argument processing.
      
      	* gcc.dg/torture/pr26258.c: New testcase.
      
      From-SVN: r110963
      Richard Guenther committed
    • [multiple changes] · d1f8db0c
      2006-02-14  Paolo Bonzini  <bonzini@gnu.org>
      
      	Sync from src:
      
      	2005-12-27  Leif Ekblad  <leif@rdos.net>
      
              * configure.in: Add support for RDOS target.
              * configure: Regenerate.
      
      2006-02-14  Paolo Bonzini  <bonzini@gnu.org>
                  Andreas Schwab  <schwab@suse.de>
      
              * configure: Regenerate.
      
      config:
      2006-02-14  Paolo Bonzini  <bonzini@gnu.org>
                  Andreas Schwab  <schwab@suse.de>
      
              * acx.m4 (NCN_STRICT_CHECK_TARGET_TOOLS): Use correct program name.
              (ACX_CHECK_INSTALLED_TARGET_TOOL): Likewise, and always set $1.
      
      
      Co-Authored-By: Andreas Schwab <schwab@suse.de>
      
      From-SVN: r110961
      Paolo Bonzini committed
    • simplify-rtx.c (simplify_unary_operation_1): Return new expression in the requested machine mode. · e963b866
      	* simplify-rtx.c (simplify_unary_operation_1) <TRUNCATE>: Return
      	new expression in the requested machine mode.
      
      From-SVN: r110959
      Adam Nemet committed
    • optabs.c (expand_abs): Don't call do_jump_by_parts_greater_rtx directly... · 3bf78d3b
      
      	* optabs.c (expand_abs): Don't call do_jump_by_parts_greater_rtx
      	directly, instead let do_compare_rtx_and_jump handle this for us.
      	* expr.c (expand_expr_real_1): Likewise.
      	* dojump.c (do_jump_by_parts_greater_rtx): Make static.  Move
      	before do_jump_by_parts_greater.
      	(do_jump_by_parts_greater): Move after do_jump_by_parts_greater_rtx.
      	* expr.h (do_jump_by_parts_greater_rtx): Delete prototype.
      
      From-SVN: r110954
      Roger Sayle committed
    • quadlib.c: Use defines instead of enum qfcmp_magic. · 0fe4610e
      	* pa/quadlib.c: Use defines instead of enum qfcmp_magic.
      
      From-SVN: r110947
      John David Anglin committed
    • Daily bump. · 78492e61
      From-SVN: r110945
      GCC Administrator committed
  2. 13 Feb, 2006 24 commits
    • re PR rtl-optimization/26235 (FAIL: gcc.c-torture/execute/ieee/fp-cmp-8l.c… · 8e1409e8
      re PR rtl-optimization/26235 (FAIL: gcc.c-torture/execute/ieee/fp-cmp-8l.c execution at -O1, -O2 and -Os)
      
      	PR rtl-optimization/26235
      	* loop-invariant.c (hash_invariant_expr_1): Handle 'i' and 'n' formats.
      	(invariant_expr_equal_p): Handle 'i' and 'n' formats.  Fail on unknown
      	format.
      
      From-SVN: r110939
      Zdenek Dvorak committed
    • tree-vrp.c (extract_range_from_binary_expr): Remove handling of TRUTH_XOR_EPR. · 74290e83
      
      	* tree-vrp.c (extract_range_from_binary_expr): Remove handling of
      	TRUTH_XOR_EPR.
      
      From-SVN: r110938
      Jeff Law committed
    • cp-tree.h (warn_hidden): Remove prototype. · b23e103b
      	* cp-tree.h (warn_hidden): Remove prototype.
      	* class.c (warn_hidden): Make static.
      
      From-SVN: r110936
      Volker Reichelt committed
    • cp-tree.h (build_type_conversion): Remove prototype. · ae00383b
      	* cp-tree.h (build_type_conversion): Remove prototype.
      	* cvt.c (build_type_conversion): Add prototype, make static.
      
      From-SVN: r110935
      Volker Reichelt committed
    • cp-tree.h (push_tinst_level): Remove prototype. · aa9d8196
      	* cp-tree.h (push_tinst_level): Remove prototype.
      	(pop_tinst_level): Likewise.
      	* pt.c (push_tinst_level): Add prototype, make static.
      	(pop_tinst_level): Likewise.
      
      From-SVN: r110934
      Volker Reichelt committed
    • decl.c (grokdeclarator): Return NULL_TREE instead of 0. · 33fd4f49
      	* decl.c (grokdeclarator): Return NULL_TREE instead of 0.
      	* typeck.c (unary_complex_lvalue): Likewise.
      
      From-SVN: r110933
      Volker Reichelt committed
    • lex.c (parse_strconst_pragma): Return error_mark_node instead of "(tree)-1" to indicate failure. · ebf0088a
      	* lex.c (parse_strconst_pragma): Return error_mark_node instead of
      	"(tree)-1" to indicate failure.  Simplify.
      	(handle_pragma_interface): Test for error_mark_node instead of
      	"(tree)-1".
      	(handle_pragma_implementation): Likewise.
      
      From-SVN: r110932
      Volker Reichelt committed
    • re PR fortran/26246 (return string length is being marked as TREE_STATIC and TREE_PUBLIC) · a7d6b765
      2006-02-13  Andrew Pinski  <pinskia@physics.uc.edu>
      	    Jakub Jelinek  <jakub@redhat.com>
      
      	PR fortran/26246
      	* trans-decl.c (gfc_get_symbol_decl, gfc_get_fake_result_decl): Use
      	gfc_add_decl_to_function rather than gfc_finish_var_decl on length.
      
      	* gfortran.dg/pr26246_1.f90: New test.
      	* gfortran.dg/pr26246_2.f90: New test.
      
      From-SVN: r110929
      Andrew Pinski committed
    • re PR middle-end/26092 (ICE on const function pointer assigned to a builtin function) · 6f538523
      	PR middle-end/26092
      	* gimplify.c (gimplify_call_expr): Don't call get_callee_fndecl
      	twice if decl is a builtin.  When trying again, call get_callee_fndecl
      	first to verify it is still a builtin.
      
      	* gcc.c-torture/compile/20060208-1.c: New test.
      
      From-SVN: r110927
      Jakub Jelinek committed
    • re PR fortran/26074 (Module array cannot be automatic or assumed shape) · 2ed8d224
      2006-02-13  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/26074
      	PR fortran/25103
      	* resolve.c (resolve_symbol): Extend the requirement that module
      	arrays have constant bounds to those in the main program.  At the
      	same time simplify the array bounds, to avoiding trapping parameter
      	array references, and exclude automatic character length from main
      	and modules. Rearrange resolve_symbol and resolve_derived to put as
      	each flavor together, as much as is possible and move all specific
      	code for flavors FL_VARIABLE, FL_PROCEDURE and FL_PARAMETER into new
      	functions.
      	(resolve_fl_var_and_proc, resolve_fl_variable, resolve_fl_procedure):
      	New functions to do work of resolve_symbol.
      	(resolve_index_expr): New function that is called from resolved_symbol
      	and is extracted from resolve_charlen.
      	(resolve_charlen): Call this new function.
      	(resolve_fl_derived): Renamed resolve_derived to be consistent with
      	the naming of the new functions for the other flavours.  Change the
      	charlen checking so that the style is consistent with other similar
      	checks. Add the generation of the gfc_dt_list, removed from resolve_
      	symbol.
      
      	PR fortran/20861
      	* resolve.c (resolve_actual_arglist): Prevent internal procedures
      	from being dummy arguments.
      
      	PR fortran/20871
      	* resolve.c (resolve_actual_arglist): Prevent pure but non-intrinsic
      	procedures from being dummy arguments.
      
      	PR fortran/25083
      	* resolve.c (check_data_variable): Add test that data variable is in
      	COMMON.
      
      	PR fortran/25088
      	* resolve.c (resolve_call): Add test that the subroutine does not
      	have a type.
      
      
      2006-02-13  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/26074
      	PR fortran/25103
      	* gfortran.dg/module_parameter_array_refs_1.f90: New test.
      	* gfortran.dg/bad_automatic_objects_1.f90: New test.
      	* gfortran.dg/automatic_module_variable.f90: Change error message.
      
      	PR fortran/20861
      	* gfortran.dg/internal_dummy_1.f90: New test.
      
      	PR fortran/20871
      	* gfortran.dg/elemental_non_intrinsic_dummy_1.f90: New test.
      
      
      	PR fortran/25083
      	* gfortran.dg/uncommon_block_data_1.f90: New test.
      	* gfortran.dg/equiv_constraint_7.f90: Correct non-compliance of test
      	with standard.
      
      	PR fortran/25088
      	* gfortran.dg/typed_subroutine_1.f90: New test.
      
      From-SVN: r110926
      Paul Thomas committed
    • Index: gcc/ChangeLog · 7cdfcf60
      2006-02-13  Geoffrey Keating  <geoffk@apple.com>
      
      	* dwarf2out.c (base_type_die): Don't add AT_name here.
      	(subrange_type_die): Don't add AT_name here.
      	(modified_type_die): Rearrange code flow.  Do add AT_name here.
      
      Index: gcc/testsuite/ChangeLog
      2006-02-13  Geoffrey Keating  <geoffk@apple.com>
      
      	* objc.dg/dwarf-1.m: New.
      
      From-SVN: r110925
      Geoffrey Keating committed
    • re PR rtl-optimization/26247 (gcc.dg/tree-ssa/gen-vect-26.c, 28 and 32.… · bd361d85
      re PR rtl-optimization/26247 (gcc.dg/tree-ssa/gen-vect-26.c, 28 and 32. int_mode_for_mode ICE strict_low_part loop-invariant)
      
      	PR rtl-optimization/26247
      	PR rtl-optimization/26248
      	* loop-invariant.c (may_assign_reg_p): Do not allow VOIDmode.
      
      From-SVN: r110924
      Zdenek Dvorak committed
    • floatunditf.c: Use if __LDBL_MANT_DIG__ == 113. · 0977d3fe
      	* config/floatunditf.c: Use if __LDBL_MANT_DIG__ == 113.
      	* config/fixtfdi.c: Likewise.
      	* config/fixunstfdi.c: Likewise.
      	* config/floatditf.c: Likewise.
      
      From-SVN: r110923
      Richard Sandiford committed
    • re PR middle-end/24427 (missing optimization opportunity with binary operators) · 840992bd
      
      	PR middle-end/24427
      	* fold-const.c (fold_binary) <BIT_IOR_EXPR>: Transform (X&C1)|C2
      	into (X,C2) if C1 is a subset of the bits of C2.  Transform
      	(X&C1)|C2 into X|C2 if C1|C2 == ~0.  Canonicalize (X&C1)|C2 as
      	(X&(C1&~C2))|C2.
      	<BIT_AND_EXPR>: Canonicalize (X|C1)&C2 as (X&C2)|(C1&C2).
      
      	* gcc.dg/tree-ssa/andor-1.c: New test case.
      
      From-SVN: r110918
      Roger Sayle committed
    • re PR target/25376 (section attribute doesn't work on darwin) · 4c553323
      PR target/25376
      * varasm.c (function_section): Check for section name before
      calling select_section on targets that define
      USE_SELECT_SECTION_FOR_FUNCTIONS.  On other targets, use
      unlikely_text_section instead of hot_function_section if
      first_function_block_is_cold.
      * gcc.dg/pr25376.c: New test.
      
      * gcc.c-torture/compile/pr23237.c: Only compile test -- don't
      assemble.
      * lib/target-supports.exp (check_named_sections_available):
      Only compile named-sections test -- don't assemble.
      
      From-SVN: r110917
      Josh Conner committed
    • Add PR marker for: · e98aa197
      	PR middle-end/25335
      	* reload1.c (gen_reload): Also use find_replacement in UNARY_P case.
      
      From-SVN: r110916
      Joern Rennecke committed
    • re PR rtl-optimization/26222 (build failuring in libjava) · 3e8b0446
      	PR rtl-optimization/26222
      	* function.c (assign_stack_temp_for_type): Do not reuse stack slots
      	after tree->rtl expansion.
      	* loop-invariant.c (move_invariant_reg): Use force_operand on rhs
      	before passing it to emit_move_insn.
      
      From-SVN: r110912
      Zdenek Dvorak committed
    • re PR c++/26151 (duplicate 'duplicate' diagnostic) · 28c84d63
      	PR c++/26151
      	* parser.c (cp_parser_decl_specifier_seq): Check for duplicate
      	decl-specifiers.  Remove extra check for duplicate 'friend'.
      	* decl.c (grokdeclarator): Remove check for duplicate
      	decl-specifiers.  Set longlong together with long_p.
      
      From-SVN: r110911
      Volker Reichelt committed
    • re PR libgomp/25936 (libgomp needs to link against rt on HPUX) · 5142e08b
      2006-02-12  Roger Sayle  <roger@eyesopen.com>
      	    John David Anglin  <dave@hiauly1.hia.nrc.ca>
      
      	PR libgomp/25936
      	* configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
       
      
      Co-Authored-By: John David Anglin <dave@hiauly1.hia.nrc.ca>
      
      From-SVN: r110908
      Roger Sayle committed
    • invoke.texi (-Write-strings): Document that it is enabled by default. · d539b114
      2006-02-12  Gabriel Dos Reis  <gdr@integrable-solutions.net>
      
              * doc/invoke.texi (-Write-strings): Document that it is
      	enabled by
              default. 
              * c.opt (-Wwrite-strings): Declare variable
      	warn_write_strings.
              Clarify documentation.
              * c-common.h (warn_write_strings): Remove.
              * c-common.c (warn_write_strings): Likewise.
              * c-opts.c (c_common_init_options): Enable -Wwrite-strings by
              default for C++.
      
      testsuite/
      2006-02-12  Gabriel Dos Reis  <gdr@integrable-solutions.net>
      
              * g++.dg/warn/no-write-strings.C: New test.
              * g++.dg/warn/write-strings.C: Likewise.
              * g++.dg/warn/write-strings-default.C: Likewise.
      
      From-SVN: r110907
      Gabriel Dos Reis committed
    • re PR middle-end/25724 (Emits call to __cmpdi2 for long long comparison in switches) · feb04780
      
      	PR middle-end/25724
      	* dojump.c (do_jump): Call do_compare_rtx_and_jump.
      	(do_jump_parts_zero_rtx): New function renamed from
      	do_jump_parts_equality_rtx.  Made static.  Add a mode argument.
      	(do_jump_parts_equality_rtx): New function split out from
      	do_jump_parts_equality.  Old implementation renamed as above.
      	Call do_jump_parts_zero_rtx if either operand is zero.
      	(do_jump_parts_equality): Call do_jump_parts_equality_rtx to
      	do all of the heavy lifting.
      	(do_compare_rtx_and_jump): Handle multi-word comparisons by
      	calling either do_jump_by_parts_greater_rtx or
      	do_jump_by_parts_equality_rtx.
      	* expr.h (do_jump_by_parts_equality_rtx): Remove prototype.
      	* expmed.c (do_cmp_and_jump): Now multi-word optimization has
      	moved to do_compare_rtx_and_jump, call it directly.
      	* stmt.c (do_jump_if_equal): Remove static prototype.  Add a
      	mode argument.  Call do_compare_rtx_and_jump.
      	(emit_case_nodes): Update calls to do_jump_if_equal.
      
      From-SVN: r110906
      Roger Sayle committed
    • Daily bump. · c0c84a89
      From-SVN: r110904
      GCC Administrator committed
    • re PR rtl-optimization/26225 (GCC error: in emit_move_multi_word, at expr.c:3053) · 4b06592a
      	PR rtl-optimization/26225
      	* loop-invariant.c (may_assign_reg_p): Do not allow BLKmode operands.
      
      From-SVN: r110898
      Zdenek Dvorak committed
  3. 12 Feb, 2006 8 commits
    • re PR rtl-optimization/26232 (cc0 targets broken; loop-invariants-move code doesn't handle cc0.) · 00f70f98
      	PR rtl-optimization/26232
      	* loop-invariant.c (find_invariant_insn): Ignore insns that set CC0.
      
      From-SVN: r110897
      Zdenek Dvorak committed
    • re PR libfortran/25949 (Unbounded I/O buffer memory usage for formatted IO) · 82b8244c
      2006-02-12  Janne Blomqvist  <jb@gcc.gnu.org>
      
      	PR libgfortran/25949
      	* io/io.h: Add set function pointer to struct stream.  
      	* io/unix.c (fd_seek): Only update offset, don't seek.
      	(fd_sset): New function.
      	(fd_read): Call lseek directly if necessary.
      	(fd_write): Likewise.
      	(fd_open): Set pointer to fd_sset.
      	(mem_set): New function.
      	(open_internal): Set pointer to mem_set.
      	* io/transfer.c (write_block_direct): Rename to write_buf, add
      	error return, non-pointer length argument.
      	(unformatted_write): Update to use write_buf.
      	(us_write): Simplify by using swrite instead of salloc_w.
      	(write_us_marker): New function.
      	(new_record_w): Use sset instead of memset, use write_us_marker,
      	simplify by using swrite instead of salloc_w.
      
      From-SVN: r110895
      Janne Blomqvist committed
    • re PR fortran/25806 (problems with functions returning array pointers?) · 5b0b7251
      fortran/
      2006-02-12  Erik Edelmann  <eedelman@gcc.gnu.org>
      
              PR fortran/25806
              * trans-array.c (gfc_trans_allocate_array_storage): New argument
              dealloc; free the temporary only if dealloc is true.
              (gfc_trans_allocate_temp_array): New argument bool dealloc, to be 
              passed onwards to gfc_trans_allocate_array_storage.
              (gfc_trans_array_constructor, gfc_conv_loop_setup): Update call to
              gfc_trans_allocate_temp_array.
              * trans-array.h (gfc_trans_allocate_temp_array): Update function
              prototype.
              * trans-expr.c (gfc_conv_function_call): Set new argument 'dealloc'
              to gfc_trans_allocate_temp_array to false in case of functions
              returning pointers.
              (gfc_trans_arrayfunc_assign): Return NULL for functions returning
              pointers.
      
      
      testsuite/
      2006-02-12  Erik Edelmann  <eedelman@gcc.gnu.org>
      
              PR fortran/25806
              * gfortran.dg/ret_pointer_2.f90: New test.
      
      From-SVN: r110893
      Erik Edelmann committed
    • configure.in (enable_libgomp): Add AIX. · cac90078
              * configure.in (enable_libgomp): Add AIX.
              * configure: Regenerate.
      
      From-SVN: r110892
      David Edelsohn committed
    • re PR libstdc++/26211 ([DR 419, US 137 / US 139] basic_istream::tellg, seekg are… · ef6c9873
      re PR libstdc++/26211 ([DR 419, US 137 / US 139] basic_istream::tellg, seekg are unformatted input functions)
      
      2006-02-12  Paolo Carlini  <pcarlini@suse.de>
      
      	PR libstdc++/26211
      	* include/bits/istream.tcc (basic_istream<>::tellg, seekg(pos_type),
      	seekg(off_type, ios_base::seekdir)): Construct a sentry, as per
      	27.6.1.3/1.
      	* testsuite/27_io/basic_istream/seekg/char/26211.cc: New.
      	* testsuite/27_io/basic_istream/seekg/wchar_t/26211.cc: Likewise.
      	* testsuite/27_io/basic_istream/tellg/char/26211.cc: Likewise.
      	* testsuite/27_io/basic_istream/tellg/wchar_t/26211.cc: Likewise.
      	* testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Adjust.
      	* testsuite/27_io/basic_istream/seekg/wchar_t/8348-1.cc: Likewise.
      	* testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
      	* testsuite/27_io/basic_istream/seekg/wchar_t/8348-1.cc: Likewise.
      	* testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
      	* testsuite/27_io/basic_istream/tellg/wchar_t/8348.cc: Likewise.
      
      From-SVN: r110891
      Paolo Carlini committed
    • re PR c++/24996 (ICE on throw code) · eecb13e8
              PR c++/24996
              * except.c (build_throw): Add a CLEANUP_POINT_EXPR inside the
              TRY_CATCH_EXPR or MUST_NOT_THROW_EXPR.
      
      From-SVN: r110889
      Jason Merrill committed
    • re PR tree-optimization/24365 (statement makes a memory store with complex) · 1d327c16
              PR tree-opt/24365
              * tree-inline.c (declare_return_variable): Just don't use the
              modify target if it's a gimple complex reg and the return slot
              isn't.
      
      From-SVN: r110888
      Jason Merrill committed
    • Daily bump. · eb63438c
      From-SVN: r110885
      GCC Administrator committed