Commit Graph

79534 Commits

Author SHA1 Message Date
Gerald Pfeifer 7f0248d7e1 * update_version_svn (IGNORE_BRANCHES): Add 4_0-branch.
From-SVN: r122321
2007-02-25 21:14:02 +00:00
Ulrich Weigand b098aaf2ae reload.c (find_reloads_address_1): Handle PLUS expressions resulting from register elimination as PRE_MODIFY /...
* reload.c (find_reloads_address_1): Handle PLUS expressions resulting
	from register elimination as PRE_MODIFY / POST_MODIFY increments.
	Do not attempt to handle MEM inside auto-inc expressions.
	* reload1.c (eliminate_regs_1): Do not attempt to handle elimination
	of a register modified by an auto-inc expression.  However, do handle
	elimination of a register used as PRE_MODIFY / POST_MODIFY increment.
	(elimination_effects): Prohibit elimination of a register modified
	by an auto-inc expression.  Disable register elimination rules whose
	target register is modified by an auto-inc expression with variable
	increment.

From-SVN: r122318
2007-02-25 20:56:46 +00:00
Mark Mitchell ae19c0415c decl.c (annotate_value): Adjust for refactoring of tree_map hierarchy.
* decl.c (annotate_value): Adjust for refactoring of tree_map
	hierarchy.

From-SVN: r122317
2007-02-25 20:08:59 +00:00
Zdenek Dvorak 4839cb59b3 tree-ssa-loop-niter.c (compute_estimated_nb_iterations): Fix off-by-one error.
* tree-ssa-loop-niter.c (compute_estimated_nb_iterations): Fix
	off-by-one error.
	(array_at_struct_end_p): New function.
	(idx_infer_loop_bounds): Use it.
	(estimate_numbers_of_iterations_loop): Export.
	* predict.c (predict_loops): Use estimated_loop_iterations_int.
	Do not use PRED_LOOP_EXIT on exits predicted by # of iterations.
	(tree_estimate_probability): Call record_loop_exits.
	* tree-data-ref.c (get_number_of_iters_for_loop): Replaced by ...
	(estimated_loop_iterations, estimated_loop_iterations_int,
	estimated_loop_iterations_tree): New functions.
	(analyze_siv_subscript_cst_affine,
	compute_overlap_steps_for_affine_1_2,
	analyze_subscript_affine_affine): Use estimated_loop_iterations_int.
	(analyze_miv_subscript): Use estimated_loop_iterations_tree.
	* predict.def (PRED_LOOP_ITERATIONS): Update comment.
	(PRED_LOOP_ITERATIONS_GUESSED): New.
	* cfgloop.c (record_loop_exits): Do nothing if there are no loops.
	* cfgloop.h (estimate_numbers_of_iterations_loop,
	estimated_loop_iterations_int): Declare.

From-SVN: r122316
2007-02-25 19:49:22 +00:00
Mark Mitchell fc8600f9c1 extend.texi: Document optional priority argument to constructors and destructors.
* doc/extend.texi: Document optional priority argument to
	constructors and destructors.
	* tree.c (init_priority_for_decl): Adjust GTY markers.
	(init_ttree): Use priority-info hash functions for
	init_priority_for_decl.
	(tree_map_eq): Rename to ...
	(tree_map_base_eq): ... this.
	(tree_map_marked_p): Rename to ...
	(tree_map_base_marked_p): ... this.
	(tree_map_base_hash): New function.
	(decl_init_priority_lookup): Rework.
	(decl_fini_priority_lookup): New function.
	(decl_priority_info): New function.
	(decl_init_priority_insert): Use it.
	(decl_fini_priority_insert): Likewise.
	(decl_restrict_base_lookup): Adjust for refactoring of tree_map
	hierarchy.
	(decl_restrict_base_insert): Likewise.
	(decl_debug_expr_insert): Likewise.
	(decl_value_expr_lookup): Likewise.
	(decl_value_expr_insert): Likewise.
	* tree.h (priority_type): New type.
	(decl_init_priority_lookup): Use priority_type.
	(decl_fini_priority_lookup): New function.
	(decl_init_priority_insert): Use priority_type.
	(decl_fini_priority_insert): New function.
	(DECL_HAS_INIT_PRIORITY): Tweak comments.
	(DECL_INIT_PRIORITY): Likewise.
	(SET_DECL_INIT_PRIORITY): Add comment.
	(DECL_FINI_PRIORITY): New macro.
	(SET_DECL_FINI_PRIORITY): Likewise.
	(DEFAULT_INIT_PRIORITY): Document.
	(MAX_INIT_PRIORITY): Likewise.
	(MAX_RESERVED_INIT_PRIORITY): Likewise.
	(tree_map_base): New type.
	(tree_map_base_eq): New function.
	(tree_map_base_hash): Likewise.
	(tree_map_base_marked_p): Likewise.
	(tree_map): Inherit from tree_map_base.
	(tree_map_eq): Make it a macro.
	(tree_map_marked_p): Likewise.
	(tree_int_map): Inherit from tree_map_base.
	(tree_int_map_eq): Make it a macro.
	(tree_int_map_hash): Likewise.
	(tree_int_map_marked_p): Likewise.
	(tree_priority_map): New type.
	(tree_priority_map_eq): New macro.
	(tree_priority_map_hash): Likewise.
	(tree_priority_map_marked_p): Likewise.
	* varasm.c (emults_decl): Adjust for refactoring of tree_map
	hierarchy.
	(emutls_common_1): Likewise.
	* lambda-code.c (replace_uses_equiv_to_x_with_y): Likewise.
	* tree-ssa-structalias.c (heapvar_lookup): Adjust for refactoring
	of tree_map hierarchy.
	* tree-cfg.c (move_stmt_r): Likewise.
	(new_label_mapper): Likewise.
	* c-tree.h (c_expand_body): Move to ...
	* c-common.h (c_expand_body): ... here.
	* c-decl.c (c_expand_body): Move to ...
	* c-common.c (c_expand_body): ... here.
	(c_common_attribute_table): Allow 1 argument for the constructor
	and destructor attributes.
	(get_priority): New function.
	(handle_constructor_attribute): Set DECL_INIT_PRIORITY.
	(handle_destructor_attribute): Set DECL_FINI_PRIORITY.

	* cp-tree.h (static_ctors): Remove.
	* cp-tree.h (static_dtors): Likewise.
	* cp-objcp-common.c (decl_shadowed_for_var_lookup): Adjust for
	refactoring of tree_map hierarchy.
	(decl_shadowed_for_var_insert): Likewise.
	* semantics.c (expand_body): Use c_expand_body.
	(expand_or_defer_fn): Don't update static_ctors or static_dtors.
	* decl2.c (static_ctors): Remove.
	(static_dtors): Likewise.
	(generate_ctor_or_dtor_function): Pass NULL_TREE to
	objc_generate_static_init_call.  Do not call static_[cd]tors.
	(generate_ctor_and_dtor_functions_for_priority): Do not check for
	static_[cd]tors.
	(cp_write_global_declarations): Likewise.

	* decl.c (annotate_value): Adjust for refactoring of tree_map
	hierarchy.

	* gcc.dg/initpri1.c: New test.
	* gcc.dg/initpri2.c: Likewise.
	* g++.dg/special/initpri1.C: New test.
	* g++.dg/special/initpri2.C: Likewise.
	* g++.dg/special/conpr-1.C: Use init_priority effective target.
	* g++.dg/special/conpr-2.C: Likewise.
	* g++.dg/special/conpr-3.C: Likewise.
	* g++.dg/special/conpr-4.C: Likewise.
	* g++.dg/special/initp1.C: Likewise.
	* g++.dg/special/ecos.exp: Remove code to detect availability of
	constructor priorities.
	* lib/target-support.exp (target_init_priority): New function.

From-SVN: r122315
2007-02-25 18:47:05 +00:00
Jan Hubicka 2a025b54f6 re PR middle-end/30509 (ice for legal code with -O3)
PR middle-end/30509
	* tree-inline.c (copy_bb): Produce exact copy of EH info when copying for inlining.

From-SVN: r122314
2007-02-25 18:11:20 +00:00
Jan Hubicka bd8d4d1917 re PR target/30778 (invalid code generation for memset() with -mtune=k8)
PR target/30778
	* i386.c (counter_mode): New function.
	(expand_set_or_movmem_via_loop): Use it.
	(expand_movmem_epilogue): Likewise; fix pasto.
	(ix86_expand_movmem): Do emit guard even for constant counts.
	(ix86_expand_setmem): Likewise.

From-SVN: r122313
2007-02-25 17:37:37 +00:00
Paolo Carlini 710c45f6a4 macros.cc: Include the right header.
2007-02-25  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/19_diagnostics/headers/cerrno/macros.cc: Include
	the right header.
	* testsuite/18_support/headers/cstdlib/macros.cc: Likewise.

From-SVN: r122312
2007-02-25 12:26:16 +00:00
Nick Clifton e133c867ea frv.h (ASM_OUTPUT_CASE_LABEL): Delete.
* config/frv/frv.h (ASM_OUTPUT_CASE_LABEL): Delete.
   (JUMP_TABLES_IN_TEXT_SECTION): Define.

From-SVN: r122311
2007-02-25 07:47:49 +00:00
Jerry DeLisle 7aa96f9c1b re PR libfortran/30918 (Failure to skip commented out NAMELIST)
2007-02-24  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/30918
	* gfortran.dg/namelist_26.f90: New test.

From-SVN: r122308
2007-02-25 02:30:14 +00:00
Jerry DeLisle 4f8d744edb re PR libfortran/30918 (Failure to skip commented out NAMELIST)
2007-02-24  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/30918
	* io/listread.c (namelist_read): Eat comment line.

From-SVN: r122307
2007-02-25 02:27:17 +00:00
GCC Administrator 6b7039e2b6 Daily bump.
From-SVN: r122305
2007-02-25 00:17:36 +00:00
Uros Bizjak 730130547b re PR target/30770 (BOOT_CFLAGS="-O2 -g -mtune=nocona" miscompiled the stage 3 compiler)
PR target/30770
        * config/i386/i386.md (expand_movmem_epilogue): Fix typo, mask
        count argument with 0x10, not with 0x16.
        (expand_setmem_epilogue): Ditto.

From-SVN: r122301
2007-02-25 00:29:30 +01:00
Mike Stump c88fc50c24 Fix typo
From-SVN: r122299
2007-02-24 23:04:20 +00:00
Mike Stump 320ce1d3a3 i386.c (output_pic_addr_const): Stubify optimized symbols.
* config/i386/i386.c (output_pic_addr_const): Stubify optimized
	symbols.

From-SVN: r122297
2007-02-24 22:27:26 +00:00
Richard Guenther a31498d293 re PR middle-end/30951 (Does not fold x + CST == x and x + CST != x)
2007-02-24  Richard Guenther  <rguenther@suse.de>

	PR middle-end/30951
	* fold-const.c (fold_binary): Fold x +- CST op x for
	EQ_EXPR and NE_EXPR.

	* gcc.dg/pr30951.c: New testcase.

From-SVN: r122295
2007-02-24 19:55:47 +00:00
John David Anglin 1e6e2c303b pa.md (muldi3): Force subregs to registers in 64-bit expander.
* pa.md (muldi3): Force subregs to registers in 64-bit expander.

From-SVN: r122294
2007-02-24 19:16:45 +00:00
Jan Hubicka a1d3118773 cgraphunit.c (decide_is_function_needed): Honor -fkeep-inline-functions.
* cgraphunit.c (decide_is_function_needed): Honor
	-fkeep-inline-functions.

From-SVN: r122293
2007-02-24 19:02:40 +00:00
Kaveh R. Ghazi 3d577eafa1 builtins.c (fold_builtin_modf): New.
* builtins.c (fold_builtin_modf): New.
	(fold_builtin_2): Use it.

testsuite:
	* gcc.dg/torture/builtin-modf-1.c: New test.

From-SVN: r122292
2007-02-24 18:11:33 +00:00
Bernd Schmidt 00c73ae637 loop-iv.c (simplify_using_initial_values): Return if the expression becomes invalid due to altered regs.
* loop-iv.c (simplify_using_initial_values): Return if the
	expression becomes invalid due to altered regs.

From-SVN: r122291
2007-02-24 16:30:51 +00:00
Paolo Bonzini f048ddccf0 re PR tree-optimization/30904 (VRP does not track values of shifts and/or bitfields?)
2007-02-23  Paolo Bonzini  <bonzini@gnu.org>

        PR tree-optimization/30904
	* gcc.dg/pr30904.c: New test.

From-SVN: r122290
2007-02-24 16:07:41 +00:00
Bernd Schmidt 606830199c loop-iv.c (implies_p): Detect additional cases where A implies B.
* loop-iv.c (implies_p): Detect additional cases where A implies B.
	(determine_max_iter): Take additional LOOP arg; all callers changed.
	Lose broken logic dealing with PLUS.  Try to limit the upper bound by
	one using simplifications.

From-SVN: r122288
2007-02-24 13:40:54 +00:00
Mike Stump e7d406d539 tlink.c (scan_linker_output): Parse linker messages from darwin9's linker better.
* tlink.c (scan_linker_output): Parse linker messages from
	darwin9's linker better.

From-SVN: r122286
2007-02-24 06:22:12 +00:00
DJ Delorie c4f46fdee9 * doc/tm.h (BIGGEST_ALIGNMENT): Clarify the purpose of this macro.
From-SVN: r122285
2007-02-23 20:28:22 -05:00
Mike Stump 4072813406 Fix thinko in last fix.
From-SVN: r122284
2007-02-24 00:53:39 +00:00
Mike Stump 196bea21f1 tlink.c (scan_linker_output): Parse linker messages from darwin9's linker better.
* tlink.c (scan_linker_output): Parse linker messages from
	darwin9's linker better.

From-SVN: r122283
2007-02-24 00:30:30 +00:00
GCC Administrator a2266ea92b Daily bump.
From-SVN: r122281
2007-02-24 00:17:24 +00:00
Steve Ellcey a615f803e4 re PR debug/29614 (DWARF information for function static variable is missing after unrelated code addition)
PR debug/29614
	* varpool.c (varpool_assemble_pending_decls):  Set
	varpool_last_needed_node to null.

From-SVN: r122277
2007-02-24 00:11:39 +00:00
Paolo Carlini c0c424e4ab re PR libstdc++/25896 ([DR 526] hash_map::erase, unordered_map::erase fail if key is inside the table)
2007-02-23  Paolo Carlini  <pcarlini@suse.de>
	
	PR libstdc++/25896
	* include/tr1/hashtable (_Hashtable<>::erase(const key_type&)):
	Take care of &_M_extract((*__slot)->_M_v) == &__k.

	* testsuite/tr1/6_containers/unordered_map/erase/1.cc: New.
	* testsuite/tr1/6_containers/unordered_multimap/erase/1.cc: Likewise.
	* testsuite/tr1/6_containers/unordered_multiset/erase/1.cc: Likewise.
	* testsuite/tr1/6_containers/unordered_set/erase/1.cc: Likewise.

From-SVN: r122276
2007-02-23 23:34:18 +00:00
DJ Delorie bf69f9d223 i386.c (ix86_data_alignment): Don't specify an alignment bigger than the object file can handle.
* config/i386/i386.c (ix86_data_alignment): Don't specify an
alignment bigger than the object file can handle.

From-SVN: r122275
2007-02-23 18:16:47 -05:00
Manuel López-Ibáñez 01113dd6b1 README: Correct command.
2007-02-23  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

	* gcc.test-framework/README: Correct command.
	* gcc.test-framework/dg-outexistsnot-exp-P.c: Replace -W with
	-Wunused-value.
	* gcc.test-framework/dg-outexists-exp-F.c: Likewise.

From-SVN: r122274
2007-02-23 22:28:37 +00:00
Mark Mitchell 4be4340a77 target-supports.exp (check_effective_target_unwrapped): New.
* lib/target-supports.exp (check_effective_target_unwrapped): New.

	* testsuite/27_io/ios_base/sync_with_stdio/1.cc: XFAIL for wrapped
	targets.

From-SVN: r122273
2007-02-23 22:12:49 +00:00
Mark Mitchell 8371ec7426 target-supports.exp (check_effective_target_unwrapped): New.
* lib/target-supports.exp (check_effective_target_unwrapped): New.

	* testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
	XFAIL for Newlib targets.

From-SVN: r122272
2007-02-23 22:08:01 +00:00
Uros Bizjak 4afb77911f re PR target/30825 (current mainline fails to bootstrap when -msse is used)
PR target/30825
        * config/i386/i386.md (*movdi_1_rex64, zero_extendsidi2_32,
        zero_extendsidi2_rex64): Penalize MMX register<->memory moves.
        (*movsf_1): Penalize MMX moves.

From-SVN: r122268
2007-02-23 19:19:07 +01:00
Bernd Schmidt c67dc1a321 loop-iv.c (determine_max_iter): Moved in front of its sole user.
* loop-iv.c (determine_max_iter): Moved in front of its sole user.

From-SVN: r122264
2007-02-23 18:03:56 +00:00
Paul Thomas 74a5d8b9fe re PR fortran/30660 (Allocatable components of a derived type "require" the SAVE attribute.)
2007-02-23  Paul Thomas <pault@gcc.gnu.org>

        PR fortran/30660
        * resolve.c (has_default_initializer): New function.
        (resolve_fl_variable): Call has_default_initializer to determine if
        the derived type has a default initializer to its ultimate
        components.

2007-02-23  Paul Thomas <pault@gcc.gnu.org>

        PR fortran/30660
        * gfortran.dg/alloc_comp_basics_4.f90: Add component with an
        allocatable component.

From-SVN: r122263
2007-02-23 17:35:25 +01:00
Bernd Schmidt 0a8f8c4572 bfin.md (doloop_end): Fail for loops that can iterate 2^32-1 or more times unless...
* config/bfin/bfin.md (doloop_end): Fail for loops that can iterate
	2^32-1 or more times unless flag_unsafe_loop_optimizations.

From-SVN: r122262
2007-02-23 15:52:27 +00:00
Gary Benson 94217473a5 Main.java: Updated copyright year.
2007-02-23  Gary Benson  <gbenson@redhat.com>

	* gnu/gcj/tools/gcj_dbtool/Main.java: Updated copyright year.

From-SVN: r122261
2007-02-23 15:35:17 +00:00
Gary Benson 6ee931cb9e 2007-02-23 Gary Benson <gbenson@redhat.com>
* java/lang/VMCompiler.java
	(compileClass): Don't lose zeros from within the digest.

From-SVN: r122260
2007-02-23 15:34:19 +00:00
Gary Benson 19b9eb7102 2007-02-23 Gary Benson <gbenson@redhat.com>
* java/lang/VMCompiler.java
	(compileClass): Don't lose zeros from within the digest.

From-SVN: r122259
2007-02-23 15:15:58 +00:00
Jakub Jelinek 3758f34dba re PR libgcj/17002 (java.util.TimeZone.getDefault() is broken)
2007-02-22  Jakub Jelinek  <jakub@redhat.com>

	PR libgcj/17002
	PR classpath/28550
	* java/util/VMTimeZone.java (getDefaultTimeZoneId): To read
	/etc/localtime, use ZoneInfo.readTZFile instead of
	VMTimeZone.readtzFile.  Get better timezone name for /etc/localtime,
	either if it is a symlink or through /etc/sysconfig/clock.
	(readSysconfigClockFile): New static method.
	(readtzFile): Removed.
	* java/lang/System.java: Add gnu.java.util.zoneinfo.dir to comments.
	* posix.cc (_Jv_platform_initProperties): Set
	gnu.java.util.zoneinfo.dir.
	* sources.am (gnu_java_util_source_files): Add
	classpath/gnu/java/util/ZoneInfo.java.
	* Makefile.in: Regenerated.
	* java/util/VMTimeZone.h: Regenerated.
	* java/util/TimeZone.h: Regenerated.
	* gnu/java/util/ZoneInfo.h: Generated.

From-SVN: r122258
2007-02-23 15:13:18 +00:00
Kaveh R. Ghazi 6351a719ff builtins.c (fold_builtin_logb, [...]): New.
* builtins.c (fold_builtin_logb, fold_builtin_significand): New.
	(fold_builtin_1): Use them.
	* fold-const.c (tree_expr_nonnegative_warnv_p): Handle
	BUILT_IN_SIGNIFICAND.

testsuite:
	* gcc.dg/torture/builtin-logb-1.c: New test.
	* gcc.dg/torture/builtin-math-2.c: Test logb/ilogb.
	* gcc.dg/torture/builtin-nonneg-1.c: Test significand.
	* gcc.dg/torture/builtin-frexp-1.c: Use -fno-finite-math-only on
	sh* targets.

From-SVN: r122257
2007-02-23 14:27:50 +00:00
Richard Guenther 2ae2031ec1 class.c (note_name_declared_in_class): Make declaration changes meaning a pedwarn.
2007-02-23  Richard Guenther  <rguenther@suse.de>

	* class.c (note_name_declared_in_class): Make declaration
	changes meaning a pedwarn.

	* g++.dg/warn/changes-meaning.C: New testcase.

From-SVN: r122255
2007-02-23 11:08:39 +00:00
H.J. Lu 95764a8f6e i386.c (bdesc_1arg): Initialize IX86_BUILTIN_MOVSHDUP and IX86_BUILTIN_MOVSLDUP with...
2007-02-23  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386.c (bdesc_1arg): Initialize
	IX86_BUILTIN_MOVSHDUP and IX86_BUILTIN_MOVSLDUP with
	"__builtin_ia32_movshdup" and "__builtin_ia32_movsldup".
	(ix86_init_mmx_sse_builtins): Remove IX86_BUILTIN_MOVSHDUP
	and IX86_BUILTIN_MOVSLDUP.

From-SVN: r122254
2007-02-23 01:34:34 -08:00
Paolo Bonzini c0729306a6 re PR rtl-optimization/30841 (Missed optimizations for sbi/cbi instructions)
2007-02-22  Paolo Bonzini  <bonzini@gnu.org>

	PR rtl-optimization/30841
        * fwprop.c (propagate_rtx_1): Accept a VOIDmode replacement address.

From-SVN: r122253
2007-02-23 07:45:34 +00:00
Jerry DeLisle a47eec17b4 options.c (set_default_std_flags): New function to consolidate setting the flags.
2007-02-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	* options.c (set_default_std_flags): New function to consolidate
	setting the flags.
	(gfc_init_options): Use new function.
	(gfc_handle_option): Use new function.

From-SVN: r122252
2007-02-23 07:14:04 +00:00
Jerry DeLisle 2bc677620c re PR fortran/30910 ([Regression 4.2, 4.3] Gfortran: ES format not quite right...)
2007-02-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/30910	
	* gfortran.dg/fmt_zero_precision.f90: Update test.

From-SVN: r122251
2007-02-23 06:29:03 +00:00
Jerry DeLisle 9014618cb9 re PR fortran/30910 ([Regression 4.2, 4.3] Gfortran: ES format not quite right...)
2007-02-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/30910
	* io/write.c (output_float): Add condition of format F only for
	special case rounding with zero precision.

From-SVN: r122250
2007-02-23 05:43:16 +00:00
Kaveh R. Ghazi 7a2a25ab4f builtins.c (fold_builtin_frexp): New.
* builtins.c (fold_builtin_frexp): New.
	(fold_builtin_2): Use it.

testsuite:
	* gcc.dg/torture/builtin-frexp-1.c: New test.

From-SVN: r122249
2007-02-23 04:49:21 +00:00
Mark Mitchell 03d12b648e * doc/invoke.texi (Spec Files): Document getenv spec function.
From-SVN: r122248
2007-02-23 03:00:26 +00:00