102546 Commits

Author SHA1 Message Date
Richard Guenther
6b8c9df822 re PR tree-optimization/44937 (IPA-split causes crash due to null pointer deref)
2010-09-02  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/44937
	PR tree-optimization/45412
	* ipa-split.c (split_function): Properly remove PHI nodes.

	* g++.dg/opt/pr45412.C: New testcase.
	* gcc.c-torture/compile/pr45412.c: Likewise.
	* gcc.c-torture/compile/pr44937.c: Likewise.

From-SVN: r163775
2010-09-02 13:42:25 +00:00
Janus Weil
c330d181bc re PR fortran/44541 ([OOP] wrong code for polymorphic variable with INTENT(OUT)/Alloc w/ MOLD)
2010-09-02  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/44541
	* resolve.c (resolve_symbol): Correct check for attributes of CLASS
	variable.

From-SVN: r163773
2010-09-02 14:34:26 +02:00
Joseph Myers
2d2bd949ea opts.h (struct cl_option): Add warn_message field.
* opts.h (struct cl_option): Add warn_message field.
	(struct cl_decoded_option): Add warn_message field.
	* doc/options.texi (Ignore, Warn): Document.
	* opt-functions.awk (needs_state_p): Don't consider aliases or
	ignored options to need state saved.
	* optc-gen.awk: Handle Warn and Ignore.
	* opth-gen.awk: Output OPT_SPECIAL_ignore.
	* opts-common.c (decode_cmdline_option): Set warn_message field.
	Handle ignored options.
	(decode_cmdline_options_to_array, generate_option,
	generate_option_input_file): Set warn_message field.
	(read_cmdline_option): Generate warnings from warn_message field.
	Handle ignored options.
	* common.opt (Wunreachable-code, fargument-alias,
	fargument-noalias, fargument-noalias-global,
	fargument-noalias-anything, fcse-skip-blocks, fforce-addr,
	floop-optimize, frerun-loop-opt, fsched2-use-traces, fsee,
	fstrength-reduce, ftree-store-ccp, ftree-store-copy-prop,
	ftree-salias): Mark Ignore.
	* config/i386/i386.h (CC1_CPU_SPEC_1): Don't handle -mcpu,
	-mintel-syntax and -mno-intel-syntax here.
	* config/i386/i386.opt (mcpu=, mintel-syntax): Define as aliases
	using Warn.
	* opts.c (common_handle_option): Don't handle options marked as
	ignored.
	(enable_warning_as_error): Handle ignored options.

c-family:
	* c.opt (Wimport, fall-virtual, falt-external-templates,
	fdefault-inline, fenum-int-equiv, fexternal-templates,
	fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
	fname-mangling-version-, fnew-abi, fnonnull-objects,
	foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
	fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
	applicable.
	(fhandle-exceptions): Mark with Alias and Warn.
	* c-opts.c (c_common_handle_option): Don't handle options marked
	as ignored.

po:
	* exgettext: Handle {} in operand of MissingArgError.  Handle
	Warn.

From-SVN: r163771
2010-09-02 12:43:19 +01:00
Joseph Myers
5de8299cec re PR driver/44076 (-MT <target> behaves different as -MT<target> (w/o space))
PR driver/44076
	* opts.h (struct cl_option): Add alias_arg, neg_alias_arg and
	alias_target fields.
	* opt-functions.awk (opt_sanitized_name): Don't handle
	finline-limit=, Wlarger-than= and ftemplate-depth= specially.
	* optc-gen.awk: Generate alias fields.
	* opth-gen.awk: Explicitly give values for OPT_* enum constants.
	Don't generate such constants for aliases.
	* opts-common.c (generate_canonical_option): New.
	(decode_cmdline_option): Handle aliases.  Use
	generate_canonical_option for known options instead of copying the
	input option text.
	* doc/options.texi (Alias): Document.
	* common.opt (W, Wlarger-than-, aux-info=, finline-limit-,
	fstack-check, specs): Mark as aliases.
	* gcc.c (driver_handle_option): Canonicalize -L options to joined
	arguments.
	(driver_handle_option): Don't handle OPT_specs.
	* opts.c (common_handle_option): Don't handle options marked as
	aliases.
	(enable_warning_as_error): Handle aliases.
	* stor-layout.c (layout_decl): Use OPT_Wlarger_than_ instead of
	OPT_Wlarger_than_eq.
	* tree-optimize.c (tree_rest_of_compilation): Use
	OPT_Wlarger_than_ instead of OPT_Wlarger_than_eq.

c-family:
	* c.opt (Wcomments, Werror-implicit-function-declaration,
	ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
	std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
	aliases.
	* c-common.c (option_codes): Use OPT_Wcomment instead of
	OPT_Wcomments.
	* c-opts.c (warning_as_error_callback, c_common_handle_option):
	Don't handle options marked as aliases.

java:
	* lang.opt (CLASSPATH, bootclasspath, classpath, encoding,
	fCLASSPATH=): Mark as Java options and as aliases.
	* jvspec.c (jvgenmain_spec): Don't handle -fCLASSPATH*.
	(lang_specific_driver): Don't handle options marked as aliases.
	* lang.c (java_handle_option): Don't handle OPT_fCLASSPATH_.

testsuite:
	* gcc.dg/cpp/warn-comments-3.c: New.  Based on warn-comments-2.c
	but using -Werror=comment.
	* gcc.dg/cpp/warn-comments.c, gcc.dg/cpp/warn-comments-2.c: Adjust
	expected error messages.

From-SVN: r163770
2010-09-02 12:41:22 +01:00
Eric Botcazou
f7e4c09b54 stack-usage-1.c: Adjust on i386/Darwin.
* gcc.dg/stack-usage-1.c: Adjust on i386/Darwin.
	* gcc.target/i386/stack-usage-realign.c: Skip on i386/Darwin.

From-SVN: r163768
2010-09-02 11:00:51 +00:00
Tobias Burnus
86e6a239c4 re PR fortran/45489 (Default initialization of derived-type function result missing)
2010-09-02  Tobias Burnus  <burnus@net-b.de>

        PR fortran/45489
        * resolve.c (apply_default_init): Mark symbol as referenced,
        if it is initialized.
        (resolve_symbol): Change intialized check for BT_DERIVED such
        that also function results get initialized; remove now obsolete
        gfc_set_sym_referenced for BT_CLASS.

2010-09-02  Tobias Burnus  <burnus@net-b.de>

        PR fortran/45489
        * gfortran.dg/initialization_27.f90: New.

From-SVN: r163767
2010-09-02 12:11:39 +02:00
Uros Bizjak
cfc20f00b6 i386.md (nonmemory_operand): New mode attribute.
* config/i386/i386.md (nonmemory_operand): New mode attribute.
	(push memory peephole2): Macroize peepholes using SWI mode iterator.
	(move immediate to memory peephole2): Macroize peepholes using
	SWI124 mode iterator.
	(non-pairable NOT peephole2): Macroize peepholes using SWI124
	mode iterator.
	(simple lea add peephole2): Macroize peepholes using SWI48
	mode iterator.
	(simple lea mult peephole2): Ditto.
	(imul by 3,5,9 to lea peephole2): Ditto.
	(mov $-1, reg peephole2): Macroize peepholes using SWI248
	mode iterator.
	(imul $32bit_imm,mem,reg peephole2): Ditto.
	(imul $8/16bit_imm,regmem,reg peephole2): Ditto.

From-SVN: r163766
2010-09-02 11:11:15 +02:00
Marcus Shawcroft
999a9cc54f predicates.md (arm_sync_memory_operand): New.
2010-09-02  Marcus Shawcroft  <marcus.shawcroft@arm.com>

	* config/arm/predicates.md (arm_sync_memory_operand): New.
	* config/arm/sync.md (arm_sync_compare_and_swapsi): Change predicate
        to arm_sync_memory_operand and constraint to Q.
	(arm_sync_compare_and_swap<mode>): Likewise.
	(arm_sync_compare_and_swap<mode>): Likewise.
	(arm_sync_lock_test_and_setsi): Likewise.
	(arm_sync_lock_test_and_set<mode>): Likewise.
        (arm_sync_new_<sync_optab>si): Likewise.
        (arm_sync_new_nandsi): Likewise.
        (arm_sync_new_<sync_optab><mode>): Likewise.
        (arm_sync_new_nand<mode>): Likewise.
        (arm_sync_old_<sync_optab>si): Likewise.
        (arm_sync_old_nandsi): Likewise.
        (arm_sync_old_<sync_optab><mode>): Likewise.
        (arm_sync_old_nand<mode>): Likewise.

From-SVN: r163765
2010-09-02 09:01:56 +00:00
Ian Bolton
bae077dc75 tree-ssa-loop-prefetch.c: Fix comment at head of file.
2010-09-02  Ian Bolton  <ian.bolton@arm.com>

        * tree-ssa-loop-prefetch.c: Fix comment at head of file.

From-SVN: r163764
2010-09-02 08:55:59 +00:00
Marcus Shawcroft
9e0b22c313 MAINTAINERS (Write After Approval): Add myself.
2010-09-02  Marcus Shawcroft  <marcus.shawcroft@arm.com>

        * MAINTAINERS (Write After Approval): Add myself.

From-SVN: r163763
2010-09-02 08:46:00 +00:00
Olivier Hainque
71af27d2fb ira-color.c (SORTGT): New macro, helper for qsort callbacks.
* ira-color.c (SORTGT): New macro, helper for qsort callbacks.
        (allocno_priority_compare_func): Use it instead of a straight
        difference computation over priorities.

From-SVN: r163760
2010-09-02 07:22:33 +00:00
Andi Kleen
e10909ceaf opts.c (common_handle_option): Fix OPT_fwhopr/fwhopr_* handling.
2010-09-02  Andi Kleen  <ak@linux.intel.com>

        * opts.c (common_handle_option): Fix OPT_fwhopr/fwhopr_* handling.

From-SVN: r163759
2010-09-02 06:20:03 +00:00
Ira Rosen
e4a707c492 tree-vectorizer.h (get_later_stmt): New function.
* tree-vectorizer.h (get_later_stmt): New function.
	(vect_analyze_data_ref_dependences): Add argument.
	* tree-vect-loop.c (vect_analyze_loop): Update call to
	vect_analyze_data_ref_dependences.
	* tree-vect-data-refs.c (vect_drs_dependent_in_basic_block):
	New function.
	(vect_analyze_data_ref_dependence): Add argument for basic block
	dependencies. Check dependencies in basic block vectorization.
	(vect_analyze_data_ref_dependences): Add argument and update call to
	vect_analyze_data_ref_dependences.
	* tree-vect-slp.c (vect_find_last_store_in_slp_instance): New.
	(vect_bb_vectorizable_with_dependencies): New.
	(vect_slp_analyze_bb): Check dependencies in basic block.
	(vect_schedule_slp_instance): Insert stores before the last store in
	SLP instance.

From-SVN: r163757
2010-09-02 06:04:34 +00:00
Uros Bizjak
282ac51f24 re PR target/45476 (libgcc should contain TCmode functions)
PR target/45476
	* config/i386/freebsd.h (LIBGCC2_HAS_TF_MODE,
	LIBGCC2_TF_CEXT, TF_SIZE): New defines.

From-SVN: r163756
2010-09-02 07:05:01 +02:00
GCC Administrator
bede831da3 Daily bump.
From-SVN: r163753
2010-09-02 00:17:30 +00:00
Christopher Yeleighton
1ed78d6c3d re PR libstdc++/45488 (lower_bound doesn't really require the iterator parameters to be default constructible)
2010-09-01  Christopher Yeleighton  <giecrilj@stegny.2a.pl>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/45488
	* include/bits/stl_algobase.h (lower_bound): Clean-up a tad, move
	two variables inside the main loop.
	* include/bits/stl_algo.h (lower_bound, upper_bound, equal_range):
	Likewise.

From-SVN: r163747
2010-09-01 22:58:15 +00:00
Christopher Yeleighton
5ad97fcf61 re PR libstdc++/45488 (lower_bound doesn't really require the iterator parameters to be default constructible)
2010-09-01  Christopher Yeleighton  <giecrilj@stegny.2a.pl>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/45488
	* include/bits/stl_algobase.h (lower_bound): Clean-up a tad, move
	two variables inside the main loop.
	* include/bits/stl_algo.h (lower_bound, upper_bound, equal_range):
	Likewise.

From-SVN: r163746
2010-09-01 22:58:05 +00:00
Steve Ellcey
fb13cf8083 fast-math-pr38969.f90: Skip if not vectorizing.
2010-09-01  Steve Ellcey  <sje@cup.hp.com>

	* gfortran.dg/vect/fast-math-pr38969.f90: Skip if not vectorizing.

From-SVN: r163745
2010-09-01 21:17:04 +00:00
Janus Weil
50f308010c re PR fortran/44541 ([OOP] wrong code for polymorphic variable with INTENT(OUT)/Alloc w/ MOLD)
2010-09-01  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/44541
	* class.c (gfc_find_derived_vtab): Add component '$def_init'.
	* resolve.c (resolve_allocate_expr): Defer handling of default
	initialization to 'gfc_trans_allocate'.
	(apply_default_init,resolve_symbol): Handle polymorphic dummies.
	(resolve_fl_derived): Suppress error messages for vtypes.
	* trans-stmt.c (gfc_trans_allocate): Handle initialization via
	polymorphic MOLD expression.
	* trans-expr.c (gfc_trans_class_init_assign): Now only used for
	dummy initialization.


2010-09-01  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/44541
	* gfortran.dg/allocate_alloc_opt_10.f90: Extended.
	* gfortran.dg/class_dummy_1.f03: New.

From-SVN: r163744
2010-09-01 22:50:46 +02:00
Jakub Jelinek
596aa3f09d re PR middle-end/45458 (ICE: in add_labels_and_missing_jumps, at bb-reorder.c:1306 with-fnon-call-exceptions -freorder-blocks-and-partition -fprofile-use)
PR middle-end/45458
	* bb-reorder.c (add_labels_and_missing_jumps): Treat
	bbs ending with throwing insns like blocks ending with a call.
	(fix_up_fall_thru_edges): Likewise.

	* g++.dg/tree-prof/partition2.C: New test.

From-SVN: r163743
2010-09-01 21:46:21 +02:00
Nathan Froyd
cd34bbe8b9 m32c-protos.h (m32c_function_arg): Delete.
* config/m32c/m32c-protos.h (m32c_function_arg): Delete.
	(m32c_function_arg_advance): Delete.
	* config/m32c/m32c.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
	* config/m32c/m32c.c (m32c_function_arg): Make static.  Adjust
	comments.  Take a const_tree and a bool.  Declare.
	(m32c_function_arg_advance): Likewise.
	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.

From-SVN: r163742
2010-09-01 18:44:05 +00:00
Uros Bizjak
cecab05b77 re PR target/45476 (libgcc should contain TCmode functions)
PR target/45476
        * config/i386/cygming.h (LIBGCC2_HAS_TF_MODE,
	LIBGCC2_TF_CEXT, TF_SIZE): Move from ...
        * config/i386/mingw32.h: ... here.

From-SVN: r163741
2010-09-01 20:06:02 +02:00
Andi Kleen
427eb57db6 re PR target/45475 (target attribute use in libcpp breaks LTO bootstrap)
2010-09-01  Andi Kleen  <ak@linux.intel.com>

        PR lto/45475
        * lto-streamer-in.c (lto_input_ts_target_option): Add.
        (lto_input_tree_pointers): Call lto_input_ts_target_option.
        * lto-streamer-out: (lto_output_ts_target_option): Add.
        (lto_output_tree_pointers): Call lto_output_ts_target_option.

From-SVN: r163740
2010-09-01 17:03:56 +00:00
Tobias Burnus
f39168b3e7 gfortran.texi (preprocessing): Update URL to COCO.
2010-09-01  Tobias Burnus  <burnus@net-b.de>

        * gfortran.texi (preprocessing): Update URL to COCO.

From-SVN: r163739
2010-09-01 18:34:14 +02:00
Kai Tietz
d323f47ee0 PR/target 45452
2010-09-01  Kai Tietz  <kai.tietz@onevision.com>

        PR/target 45452
        * config/i386/cygwin.h: Change order of specified import libraries.
        * config/i386/mingw32.h: Likewise.
        * config/i386/t-cygwin: Likewise.
        * config/i386/t-mingw32: Likewise.
        * config/i386/t-mingw-w32: Likewise.
        * config/i386/t-mingw-w64: Likewise.

From-SVN: r163738
2010-09-01 18:00:57 +02:00
Ramana Radhakrishnan
4600a8d197 neon-schedgen.ml (core): New type.
2010-09-01  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

	* config/arm/neon-schedgen.ml (core): New type.
	(allCores): List of supported cores.
	(availability_table): Add supported cores.
	(collate_bypasses): Accept core as a parameter.
	(worst_case_latencies_and_bypasses): Accept core as a
	 parameter.
	(emit_insn_reservations): Accept core as a parameter.
	Use tuneStr and coreStr to get tune attribute and prefix
	for functional units.
	(emit_bypasses): Accept core name and use it.
	(calculate_per_core_availability_table): New.
	(filter_core): New.
	(calculate_core_availability_table): New.
	(main): Use calculate_core_availablity_table.
	* config/arm/cortex-a8-neon.md: Update copyright year.
	Regenerated from ml file and merged in.
	(neon_mrrc, neon_mrc): Rename to cortex_a8_neon_mrrc and
	cortex_a8_neon_mrc.

From-SVN: r163737
2010-09-01 15:28:13 +00:00
Ian Bolton
f685731072 Makefile.in (tree-switch-conversion.o): Update dependencies.
2010-09-01  Ian Bolton  <ian.bolton@arm.com>

	* Makefile.in (tree-switch-conversion.o): Update dependencies.

From-SVN: r163735
2010-09-01 14:30:55 +00:00
Ian Bolton
2fabf1b772 MAINTAINERS (Write After Approval): Add myself.
2010-09-01  Ian Bolton  <ian.bolton@arm.com>

	* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r163734
2010-09-01 14:14:47 +00:00
Richard Guenther
23a534a102 alias.c (ao_ref_from_mem): Adjust.
2010-09-01  Richard Guenther  <rguenther@suse.de>

	* alias.c (ao_ref_from_mem): Adjust.
	* builtins.c (get_object_alignment): Likewise.
	* cfgexpand.c (expand_debug_expr): Likewise.
	* gimple.c (get_base_address): Likewise.
	* tree-dfa.c (get_ref_base_and_extent): Likewise.
	(get_addr_base_and_unit_offset): Likewise.  Fix for
	both TMR_SYMBOL and TMR_BASE being set.
	* tree-eh.c (tree_could_trap_p): Likewise.
	* gimplify.c (gimplify_expr): Do not attempt to gimplify
	TMR_SYMBOL.  Always gimplify TMR_BASE.
	* tree-cfg.c (verify_types_in_gimple_reference): Verify
	TMR_BASE if there is a TMR_SYMBOL.
	* tree-pretty-print.c (dump_generic_node): Adjust.
	* tree-ssa-address.c (addr_for_mem_ref): Likewise.
	(tree_mem_ref_addr): Likewise.
	(create_mem_ref_raw): Likewise.
	(move_fixed_address_to_symbol): Likewise.
	(create_mem_ref): Likewise.
	(dump_mem_address): Likewise.
	* tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Adjust.
	Fix for both TMR_SYMBOL and TMR_BASE being set.
	(indirect_refs_may_alias_p): Likewise.
	* tree-ssa-operands.c (get_tmr_operands): Adjust.
	* tree.def (TARGET_MEM_REF): Adjust documentation.

From-SVN: r163733
2010-09-01 13:28:46 +00:00
Uros Bizjak
d8b08ecdf6 i386.h (enum ix86_tune_indices): Rename from X86_TUNE_ADD_ESP_4.
* config/i386/i386.h (enum ix86_tune_indices) <X86_TUNE_SINGLE_POP>:
	Rename from X86_TUNE_ADD_ESP_4.
	<IX86_TUNE_DOUBLE_POP>: Rename from X86_TUNE_ADD_ESP_8.
	<IX86_TUNE_SINGLE_PUSH>: Rename from X86_TUNE_SUB_ESP_4.
	<IX86_TUNE_DOUBLE_PUSH>: Rename from X86_TUNE_SUB_ESP_8.
	(TARGET_SINGLE_POP): Rename from TARGET_ADD_ESP_4.
	(TARGET_DOUBLE_POP): Rename from TARGET_ADD_ESP_8.
	(TARGET_SINGLE_PUSH): Rename from TARGET_SUB_ESP_4.
	(TARGET_DOUBLE_POP): Rename from TARGET_SUB_ESP_8.
	* config/i386/i386.c (initial_ix86_tune_features)
	<X86_TUNE_SINGLE_POP>: Invert members.
	<X86_TUNE_DOUBLE_POP>: Ditto.
	<X86_TUNE_SINGLE_PUSH>: Ditto.
	<X86_TUNE_DOUBLE_PUSH>: Ditto.
	* config/i386/i386.md (*pop<mode>1): Rename from pop<mode>1.
	No longer exported.
	(push peephole2 patterns): Macroize peepholes using P mode iterator.
	Adjust for renamed TARGET_{SINGLE,DOUBLE}_PUSH defines.
	(pop peephole2 patterns): Macroize peepholes using P mode iterator.
	Adjust for renamed TARGET_{SINGLE,DOUBLE}_POP defines.

From-SVN: r163732
2010-09-01 14:26:49 +02:00
Eric Botcazou
558af7ca1c gimplify.c (gimplify_init_constructor): Do not create a temporary for a volatile LHS if...
* gimplify.c (gimplify_init_constructor): Do not create a temporary for
	a volatile LHS if the constructor has only one element.

From-SVN: r163727
2010-09-01 12:15:08 +00:00
Mikael Pettersson
6e0833db45 re PR bootstrap/45321 (ARM bootstrap failure due to stdarg_p change)
2010-09-01  Mikael Pettersson  <mikpe@it.uu.se>

       PR bootstrap/45321
       * tree.c (stdarg_p): Make fntype parameter const.
       * tree.h (stdarg_p): Likewise.
       (function_args_iterator): Remove unused fntype field.
       (function_args_iter_init): Do not initialize fntype
       field.  Make fntype parameter const.

From-SVN: r163726
2010-09-01 11:52:55 +00:00
Andi Kleen
c961549127 bootstrap-lto.mk (STAGE2_CFLAGS, [...]): Change to -fwhopr=jobserver -fuse-linker-plugin -frandom-seed=1.
2010-09-01  Andi Kleen  <ak@linux.intel.com>

        * bootstrap-lto.mk (STAGE2_CFLAGS, STAGE3_CFLAGS): Change
        to -fwhopr=jobserver -fuse-linker-plugin -frandom-seed=1.

From-SVN: r163725
2010-09-01 11:47:41 +00:00
Richard Guenther
e34882831e tree-vrp.c (adjust_range_with_scev): Use number of iteration estimate.
2010-09-01  Richard Guenther  <rguenther@suse.de>

	* tree-vrp.c (adjust_range_with_scev): Use number of iteration
	estimate.
	(vrp_visit_phi_node): Delay using SCEV till we balloon the
	range.
	(execute_vrp): Compute number of iteration estimates.
	* cfgloop.h (estimate_numbers_of_iterations_loop): Adjust prototype.
	* tree-flow.h (estimate_numbers_of_iterations): Likewise.
	* tree-data-ref.c (estimated_loop_iterations): Adjust.
	* tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop):
	Infer loop bounds from undefined behavior based on a new
	parameter.
	(estimate_numbers_of_iterations): Likewise.
	(scev_probably_wraps_p): Adjust.
	* tree-ssa-loop.c (tree_ssa_loop_bounds): Likewise.

	* gcc.dg/vect/vect-outer-fir.c: Adjust.
	* gcc.dg/tree-ssa/vrp54.c: New testcase.
	* gcc.c-torture/execute/20100827-1.c: Likewise.

From-SVN: r163724
2010-09-01 11:39:55 +00:00
Francois-Xavier Coudert
eacbdaaac1 trans-intrinsic.c (gfc_build_intrinsic_lib_fndecls): Resize array quad_decls.
* trans-intrinsic.c (gfc_build_intrinsic_lib_fndecls): Resize
	array quad_decls. Remove unnecessary assignment.

From-SVN: r163723
2010-09-01 10:40:57 +00:00
Nick Clifton
a21eaf5e2b stormy16.c: Use REG_P, MEM_P and CONST_INT_P where appropriate.
* config/stormy16/stormy16.c: Use REG_P, MEM_P and CONST_INT_P
        where appropriate.
        (xstormy16_legitimate_address_p): Use true and false instead of 1
        and 0.
        (xstormy16_expand_prologue): Delete unused local variable 'insn'.
        (xstormy16_function_arg): Use FIRST_ARGUMENT_REGNUM in place of
        magic constant 2.
        (xstormy16_expand_call): Fix comment at start of function.

From-SVN: r163722
2010-09-01 10:13:07 +00:00
Francois-Xavier Coudert
166d08bdde trans-expr.c (gfc_conv_power_op): Handle floating-point types other than long double.
* trans-expr.c (gfc_conv_power_op): Handle floating-point types
	other than long double.
	* mathbuiltins.def: Add builtins from the POW and CPOW family.
	* trans.h (gfc_builtin_decl_for_float_kind): New prototype.
	* trans-intrinsic.c (gfc_builtin_decl_for_float_kind): Add gfc_
	prefix to function name.
	(gfc_build_intrinsic_lib_fndecls): Add cpow prototype.
	(gfc_conv_intrinsic_aint): Use gfc_builtin_decl_for_float_kind
	function name.
	(gfc_conv_intrinsic_exponent): Likewise.
	(gfc_conv_intrinsic_abs): Likewise.
	(gfc_conv_intrinsic_mod): Likewise.
	(gfc_conv_intrinsic_sign): Likewise.
	(gfc_conv_intrinsic_arith): Likewise.
	(gfc_conv_intrinsic_fraction): Likewise.
	(gfc_conv_intrinsic_nearest): Likewise.
	(gfc_conv_intrinsic_spacing): Likewise.
	(gfc_conv_intrinsic_rrspacing): Likewise.
	(gfc_conv_intrinsic_scale): Likewise.
	(gfc_conv_intrinsic_set_exponent): Likewise.

From-SVN: r163721
2010-09-01 08:40:53 +00:00
Nick Clifton
e14ca1cef6 rx.c (rx_expand_prologue): Do not adjust frame size when pushing accumulator register.
* config/rx/rx.c (rx_expand_prologue): Do not adjust frame size
        when pushing accumulator register.
        (rx_get_stack_layout): Always save call clobbered registers inside
        interrupt handlers.
        * config/rx/rx-modes.def: Fix descriptive comment at start of file.

From-SVN: r163720
2010-09-01 08:33:35 +00:00
Francois-Xavier Coudert
c14c81552a intrinsic.c: Add EXECUTE_COMMAND_LINE intrinsic.
* intrinsic.c: Add EXECUTE_COMMAND_LINE intrinsic.
	* intrinsic.h (gfc_resolve_execute_command_line): New function.
	* iresolve.c (gfc_resolve_execute_command_line): New function.
	* gfortran.h (GFC_ISYM_EXECUTE_COMMAND_LINE): New value.
	* intrinsic.texi: Document EXECUTE_COMMAND_LINE.

	* intrinsics/execute_command_line.c: New file.
	* gfortran.map (_gfortran_execute_command_line_i4,
	_gfortran_execute_command_line_i8): New symbols.
	* Makefile.am: Add new file intrinsics/execute_command_line.c.
	* Makefile.in: Regenerated.

	* gfortran.dg/execute_command_line_1.f90: New test.

From-SVN: r163719
2010-09-01 08:33:11 +00:00
Uros Bizjak
d78552bd0f config.gcc (i[34567]86-*-freebsd*, [...]): Add i386/t-fprules-softfp and soft-fp/t-softfp to tmake_file.
gcc/ChangeLog:

	* config.gcc (i[34567]86-*-freebsd*, x86_64-*-freebsd*): Add
	i386/t-fprules-softfp and soft-fp/t-softfp to tmake_file.

	* libgcc-std.ver (GCC_4.6.0): Define version.

libgcc/ChangeLog:

	* config.host (i[34567]86-*-freebsd*, x86_64-*-freebsd*): Add
	i386/t-freebsd to tmake_file.
	* config/i386/t-freebsd: New file.
	* config/i386/libgcc-bsd.ver: New file.

From-SVN: r163718
2010-09-01 08:42:53 +02:00
Uros Bizjak
451238b7e2 * f95-lang.c: Fix comment: POPAR -> POPPAR.
From-SVN: r163717
2010-09-01 08:33:06 +02:00
GCC Administrator
98ee9e659e Daily bump.
From-SVN: r163712
2010-09-01 00:17:09 +00:00
Jakub Jelinek
a69d2520e0 re PR preprocessor/45457 (ICE: invalid built-in macro "__DBL_DENORM_MIN__")
PR preprocessor/45457
	* expr.c (parse_defined): Call pfile->cb.user_builtin_macro hook if
	needed.
	* directives.c (do_ifdef, do_ifndef): Likewise.

	* c-c++-common/cpp/pr45457.c: New test.

From-SVN: r163705
2010-09-01 00:47:25 +02:00
Eric Botcazou
0c1bebc414 tree-nested.c (convert_all_function_calls): Iterate until after the sum of static chains in the nest doesn't change.
* tree-nested.c (convert_all_function_calls): Iterate until after the
	sum of static chains in the nest doesn't change.

From-SVN: r163698
2010-08-31 21:05:22 +00:00
Anatoly Sokolov
0e607518d5 m32c.c (classes_intersect): Remove.
* config/m32c/m32c.c (classes_intersect): Remove.
	(m32c_preferred_reload_class, m32c_secondary_reload_class): Use
	reg_classes_intersect_p instead of classes_intersect.
	(class_can_hold_mode): Change arguments type from enum reg_class to
	reg_class_t.  Use reg_class_contents instead of class_contents.
	(m32c_register_move_cost): Make static. Change arguments type from
	enum reg_class to reg_class_t. Use reg_classes_intersect_p instead of
	classes_intersect. Use reg_class_contents instead of class_contents.
	(m32c_memory_move_cost): Make static. Change arguments type from
	enum reg_class to reg_class_t.
	(TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
	* config/m32c/m32c.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
	* config/m32c/m32c-protos.h (m32c_register_move_cost,
	m32c_memory_move_cost): Remove.

From-SVN: r163693
2010-08-31 23:32:59 +04:00
Francois-Xavier Coudert
ad5f4de228 re PR fortran/38282 (Bit intrinsics: ILEN and IBCHNG)
PR fortran/38282

	* f95-lang.c (gfc_init_builtin_functions): Define popcount{,l,ll}
	and parity{,l,ll} builtins.
	* trans-intrinsic.c (gfc_conv_intrinsic_popcnt_poppar): New function.
	(gfc_conv_intrinsic_function): Call above new functions.
	* simplify.c (gfc_simplify_popcnt, gfc_simplify_poppar): New
	functions.
	* intrinsic.texi: Document POPCNT and POPPAR.

	* gfortran.dg/popcnt_poppar_1.F90: New test.
	* gfortran.dg/popcnt_poppar_2.F90: New test.

From-SVN: r163691
2010-08-31 18:56:46 +00:00
Paolo Carlini
18dbb85903 re PR libstdc++/44480 ([C++0x] Linear performance of begin() in unordered associative containers)
2010-08-31  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/44480
	* include/bits/hashtable.h (_Hashtable<>::_M_begin_bucket_index):
	Add, caching the index of the first non-empty bucket.
	(begin, cbegin): Use it.
	(_Hashtable<>::_Hashtable(_InputIterator, _InputIterator, ...),
	_Hashtable(const _Hashtable&), _Hashtable(_Hashtable&&),
	swap(_Hashtable&), clear): Adjust.
	(_M_insert_bucket, _M_insert, erase(const_iterator),
	erase(const key_type&), _M_rehash): Update it.

	* include/bits/hashtable.h (_Hashtable<>::_M_erase): Remove.
	(erase(const_iterator)): Inline the latter.

From-SVN: r163686
2010-08-31 17:39:51 +00:00
Uros Bizjak
6208468d29 volatile-2.c: Require nonpic target.
* gcc.target/i386/volatile-2.c: Require nonpic target.

From-SVN: r163685
2010-08-31 19:32:23 +02:00
Paolo Carlini
ba6a601c1a remove_freed.cc: Fix test01 return type to void.
2010-08-31  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/23_containers/forward_list/operations/remove_freed.cc:
	Fix test01 return type to void.
	* testsuite/util/exception/safety.h: Avoid -Wall -m32 warnings.
	* testsuite/util/replacement_memory_operators.h: Likewise.

From-SVN: r163684
2010-08-31 17:24:39 +00:00
Nathan Froyd
9c6a2bee91 arm-protos.h (arm_function_arg_advance): Delete.
* config/arm/arm-protos.h (arm_function_arg_advance): Delete.
	(arm_function_arg): Delete.
	(arm_needs_doubleword_align): Take a const_tree.
	* config/arm/arm.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
	* config/arm/arm.c (aapcs_select_call_coproc): Take a const_tree.
	(aapcs_layout_arg, arm_needs_doubleword_align): Likewise.
	(arm_function_arg): Make static.  Take a const_tree and a bool.
	(arm_function_arg_advance): Likewise.
	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.

From-SVN: r163683
2010-08-31 17:19:20 +00:00