Commit Graph

112961 Commits

Author SHA1 Message Date
Tobias Burnus 1e4b137661 re PR fortran/50960 ([OOP] vtables not marked as constant)
2011-11-03  Tobias Burnus  <burnus@net-b.de>

        PR fortran/50960
        * trans-decl.c (gfc_finish_var_decl): Mark PARAMETER as
        * TREE_READONLY.

2011-11-03  Tobias Burnus  <burnus@net-b.de>

        PR fortran/50960
        * gfortran.dg/module_parameter_array_refs_2.f90: New.

From-SVN: r180878
2011-11-03 23:32:37 +01:00
Mikael Morin 42d0058e49 trans.h (struct gfc_ss, [...]): Move field gfc_ss::where into gfc_ss_info.
* trans.h (struct gfc_ss, struct gfc_ss_info): Move field
	gfc_ss::where into gfc_ss_info.
	* trans-array.c (gfc_add_loop_ss_code):
	Update reference chains.
	* trans-stmt.c (gfc_trans_where_assign, gfc_trans_where_3): Ditto.

From-SVN: r180877
2011-11-03 22:29:25 +00:00
Mikael Morin 7a412892a6 trans.h (struct gfc_ss, [...]): Move field gfc_ss::useflags into gfc_ss_info.
* trans.h (struct gfc_ss, struct gfc_ss_info): Move field
	gfc_ss::useflags into gfc_ss_info.
	* trans-array.c (gfc_mark_ss_chain_used, gfc_trans_preloop_setup,
	gfc_trans_scalarizing_loops, gfc_trans_scalarized_boundary):
	Update reference chains.
	* trans-expr.c (gfc_conv_procedure_call): Ditto.
	* trans-intrinsic.c (gfc_conv_intrinsic_function): Ditto.

From-SVN: r180875
2011-11-03 22:24:37 +00:00
Benjamin Kosnik c3b0bfe175 doxygroups.cc: Add markup for namespace tr2.
2011-11-03  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/doxygen/doxygroups.cc: Add markup for namespace tr2.
	* include/tr2/bool_set: Adjust doxygen markup.
	* include/tr2/dynamic_bitset: Same.
	* include/tr2/type_traits: Same.

From-SVN: r180874
2011-11-03 22:23:35 +00:00
Mikael Morin 1838afec3e trans.h (struct gfc_ss, [...]): Move field gfc_ss::data::info into gfc_ss_info::data and remove empty union...
* trans.h (struct gfc_ss, struct gfc_ss_info): Move field
	gfc_ss::data::info into gfc_ss_info::data and remove empty union
	gfc_ss::data.
	* trans-array.c (gfc_free_ss, gfc_trans_create_temp_array,
	gfc_trans_constant_array_constructor, gfc_trans_array_constructor,
	gfc_set_vector_loop_bounds, gfc_add_loop_ss_code,
	gfc_conv_ss_descriptor, gfc_trans_array_bound_check,
	gfc_conv_array_index_offset, gfc_conv_scalarized_array_ref,
	add_array_offset, gfc_trans_preloop_setup,
	gfc_trans_scalarized_boundary, gfc_conv_section_startstride,
	gfc_conv_ss_startstride, gfc_could_be_alias,
	gfc_conv_loop_setup, gfc_conv_expr_descriptor,
	gfc_alloc_allocatable_for_assignment, gfc_walk_array_ref):
	Update reference chains and factor them where possible.
	* trans-expr.c (gfc_conv_variable, gfc_conv_subref_array_arg,
	gfc_conv_procedure_call, gfc_trans_subarray_assign): Updata reference
	chains.
	* trans-intrinsic.c (gfc_conv_intrinsic_transfer): Ditto.
	* trans-io.c (transfer_array_component): Ditto.
	* trans-stmt.c (gfc_conv_elemental_dependencies,
	gfc_trans_pointer_assign_need_temp): Ditto.

From-SVN: r180873
2011-11-03 22:21:36 +00:00
Mikael Morin 961e73ace2 trans.h (struct gfc_ss, [...]): Move member struct gfc_ss::data::temp into gfc_ss_info::data.
* trans.h (struct gfc_ss, struct gfc_ss_info): Move member struct
	gfc_ss::data::temp into gfc_ss_info::data.
	* trans-array.c (gfc_get_temp_ss, gfc_conv_loop_setup): Update reference
	chains.

From-SVN: r180872
2011-11-03 22:16:29 +00:00
Mikael Morin 99dd5a2990 trans.h (struct gfc_ss, [...]): Move member struct gfc_ss::data::scalar into newly created union...
* trans.h (struct gfc_ss, struct gfc_ss_info): Move member struct
	gfc_ss::data::scalar into newly created union gfc_ss_info::data,
	and rename subfield expr to value.
	* trans-array.c (gfc_add_loop_ss_code, gfc_conv_array_index_offset,
	gfc_conv_expr_descriptor): Update reference chains.
	* trans-const.c (gfc_conv_constant): Ditto.
	* trans-expr.c (gfc_conv_expr): Ditto.

From-SVN: r180870
2011-11-03 22:10:25 +00:00
Mikael Morin a0add3be3e trans.h (struct gfc_ss, [...]): Move field string_length from the former struct to the latter.
* trans.h (struct gfc_ss, struct gfc_ss_info): Move field
	string_length from the former struct to the latter.
	* trans-array.c
	(gfc_get_temp_ss, gfc_trans_array_constructor, gfc_add_loop_ss_code,
	gfc_conv_ss_descriptor, gfc_conv_scalarized_array_ref,
	gfc_conv_resolve_dependencies, gfc_conv_loop_setup,
	gfc_conv_expr_descriptor): Update references to string_length and
	factor common reference chains where possible.
	* trans-const.c (gfc_conv_constant): Ditto.
	* trans-expr.c (gfc_conv_variable, gfc_conv_subref_array_arg,
	gfc_conv_expr): Ditto.

From-SVN: r180869
2011-11-03 22:04:50 +00:00
Mikael Morin f98cfd3c42 trans.h (struct gfc_ss, [...]): Move field expr from the former struct to the latter.
* trans.h (struct gfc_ss, struct gfc_ss_info): Move field expr from
	the former struct to the latter.
	* trans-array.c
	(gfc_get_array_ss, gfc_get_scalar_ss,
	gfc_trans_constant_array_constructor, gfc_trans_array_constructor,
	gfc_add_loop_ss_code, gfc_conv_ss_descriptor,
	gfc_trans_array_bound_check, gfc_conv_array_index_offset,
	gfc_conv_scalarized_array_ref, gfc_conv_ss_startstride,
	gfc_could_be_alias, gfc_conv_resolve_dependencies,
	gfc_conv_loop_setup, gfc_conv_expr_descriptor,
	gfc_alloc_allocatable_for_assignment): Update references to expr and
	factor common reference chains where possible.
	* trans-const.c (gfc_conv_constant): Ditto.
	* trans-expr.c (gfc_conv_variable, gfc_conv_procedure_call,
	gfc_conv_array_constructor_expr, gfc_conv_expr,
	gfc_conv_expr_reference): Ditto.
	* trans-intrinsic.c (trans_this_image, gfc_conv_intrinsic_bound,
	gfc_conv_intrinsic_cobound, gfc_conv_intrinsic_funcall,
	gfc_add_intrinsic_ss_code): Ditto.
	* trans-stmt.c (gfc_conv_elemental_dependencies): Ditto.

From-SVN: r180868
2011-11-03 22:01:46 +00:00
Mikael Morin bcc4d4e089 trans.h (struct gfc_ss_info): New struct.
* trans.h (struct gfc_ss_info): New struct.
	(gfc_get_ss_info): New macro.
	(struct gfc_ss): Move type field to struct gfc_ss_info.
	Add an info field of type gfc_ss_info.
	* trans-array.c (free_ss_info): New function.
	(gfc_free_ss): Call free_ss_info.
	(gfc_get_array_ss, gfc_get_temp_ss, gfc_get_scalar_ss):
	Allocate gfc_ss_info field.
	(gfc_get_array_ss, gfc_get_temp_ss, gfc_get_scalar_ss,
	gfc_set_vector_loop_bounds, gfc_add_loop_ss_code,
	gfc_conv_array_index_offset, gfc_trans_preloop_setup,
	gfc_trans_scalarized_loop_boundary, gfc_conv_section_startstride,
	gfc_conv_ss_startstride, gfc_conv_resolve_dependencies,
	gfc_conv_loop_setup, transposed_dims, gfc_conv_expr_descriptor,
	gfc_walk_elemental_function_args): Update references to type.
	* trans-const.c (gfc_conv_constant): Factor common reference chains
	and update reference to type.
	* trans-expr.c (gfc_conv_procedure_call, gfc_trans_assignment_1):
	Update reference to type.
	(gfc_conv_array_constructor_expr, gfc_conv_expr,
	gfc_conv_expr_reference): Ditto. Factor common reference chains.
	* trans-intrinsic.c (walk_inline_intrinsic_transpose): Update references
	to type
	* trans-stmt.c (gfc_trans_where_assign): Ditto.

From-SVN: r180867
2011-11-03 21:55:48 +00:00
Mikael Morin 08dcec6137 trans.h (struct gfc_ss, [...]): Move shape field from the former struct to the latter.
* trans.h (struct gfc_ss, struct gfc_array_info): Move shape field
	from the former struct to the latter.
	* trans-array.c (gfc_conv_ss_startstride, gfc_conv_loop_setup):
	Update field references.
	* trans-expr.c (gfc_trans_subarray_assign): Update field references
	and factor common reference chains.
	* trans-io.c (transfer_array_component): Ditto.

From-SVN: r180866
2011-11-03 21:47:49 +00:00
Mikael Morin cb4b9eaebe trans.h (struct gfc_array_info): Move dim and dimen fields...
* trans.h (struct gfc_array_info): Move dim and dimen fields...
	(struct gfc_ss): ... here.  Remove gfc_ss::data::temp::dimen field.
	* trans-array.c (gfc_conv_loop_setup): Remove temp_ss dim array
	initialization.
	(gfc_get_temp_ss): Initialize dim and dimen.
	(gfc_free_ss, gfc_get_array_ss, gfc_get_temp_ss,
	gfc_set_loop_bounds_from_array_spec, get_array_ref_dim,
	gfc_trans_create_temp_array, gfc_trans_constant_array_constructor,
	gfc_set_vector_loop_bounds, gfc_conv_scalarized_array_ref,
	gfc_trans_preloop_setup, gfc_conv_ss_startstride,
	gfc_conv_resolve_dependencies, gfc_conv_loop_setup, transposed_dims,
	gfc_conv_expr_descriptor, gfc_alloc_allocatable_for_assignment,
	gfc_walk_array_ref): Update field references.
	* trans-expr.c (gfc_conv_subref_array_arg, gfc_conv_procedure_call):
	Ditto.
	* trans-intrinsic.c (walk_inline_intrinsic_transpose): Ditto.
	* trans-stmt.c (gfc_conv_elemental_dependencies): Ditto.

From-SVN: r180865
2011-11-03 21:44:56 +00:00
Mikael Morin 6d63e468a3 trans.h (struct gfc_ss_info, [...]): Rename the former to the latter.
* trans.h (struct gfc_ss_info, struct gfc_array_info):
	Rename the former to the latter.
	* trans-array.c (gfc_get_array_ss, gfc_trans_allocate_array_storage,
	get_array_ref_dim, gfc_trans_create_temp_array,
	gfc_trans_constant_array_constructor, gfc_set_vector_loop_bounds,
	gfc_conv_array_index_offset, gfc_conv_scalarized_array_ref,
	add_array_offset, gfc_trans_preloop_setup, gfc_conv_section_startstride,
	gfc_conv_ss_startstride, gfc_conv_loop_setup, transposed_dims,
	gfc_conv_expr_descriptor): Update all uses.
	* trans-expr.c (gfc_conv_subref_array_arg, gfc_conv_procedure_call):
	Ditto.
	* trans-intrinsic.c (gfc_conv_intrinsic_transfer,
	walk_inline_intrinsic_transpose): Ditto.
	* trans-stmt.c (gfc_conv_elemental_dependencies,
	gfc_trans_pointer_assign_need_temp): Ditto.

From-SVN: r180864
2011-11-03 21:39:11 +00:00
Mikael Morin a7fb208d57 trans-array.c (dim_ok, [...]): Rename the former to the latter.
* trans-array.c (dim_ok, transposed_dims): Rename the former to the
	latter.  Change argument type.  Invert return value.
	(gfc_conv_expr_descriptor): Update calls.

From-SVN: r180862
2011-11-03 21:35:35 +00:00
Mikael Morin 820d5e68fb trans-array.c (get_array_ref_dim): Change argument type and name.
* trans-array.c (get_array_ref_dim): Change argument type and name.
	Obtain previous argument from the new argument in the body.
	(gfc_trans_create_temp_arry, gfc_conv_loop_setup): Update calls.

From-SVN: r180861
2011-11-03 21:33:28 +00:00
Mikael Morin 43e7d60bc6 trans-array.c (gfc_set_vector_loop_bounds, [...]): Rename the former to the latter.
* trans-array.c (gfc_set_vector_loop_bounds, set_vector_loop_bounds):
	Rename the former to the latter.  Change type and name of argument.
	Get previous argument from the new one.
	(gfc_add_loop_ss_code): Update call.

From-SVN: r180860
2011-11-03 21:31:12 +00:00
Mikael Morin f44d227711 trans-array.h (gfc_trans_create_temp_array): Replace info argument with ss argument.
* trans-array.h (gfc_trans_create_temp_array): Replace info argument
	with ss argument.
	* trans-array.c (gfc_trans_create_temp_array): Ditto. Get info from ss.
	(gfc_trans_array_constructor, gfc_conv_loop_setup): Update call to
	gfc_trans_create_temp_array.
	* trans-expr.c (gfc_conv_procedure_call): Ditto.
	* trans-intrinsic.c (gfc_conv_intrinsic_transfer): Ditto.
	* trans-stmt.c (gfc_conv_elemental_dependencies): Ditto.

From-SVN: r180859
2011-11-03 21:28:26 +00:00
Mikael Morin 14bf3267a6 trans-array.c (gfc_trans_array_bound_check): Use ss argument to get name.
* trans-array.c (gfc_trans_array_bound_check): Use ss argument
	to get name.

From-SVN: r180858
2011-11-03 21:24:24 +00:00
Mikael Morin 36e783e382 trans-array.c (gfc_trans_array_bound_check, [...]): Rename the former to the latter.
* trans-array.c (gfc_trans_array_bound_check,
	trans_array_bound_check): Rename the former to the latter.
	Replace descriptor argument with ss argument.  Get descriptor from ss.
	(gfc_conv_array_index_offset, conv_array_index_offset): Rename the
	former to the latter.  Update call to trans_array_bound_check.
	Replace info argument with ss argument.  Get info from ss.
	(gfc_conv_scalarized_array_ref): Update call to conv_array_index_offset.
	(add_array_offset): Ditto

From-SVN: r180857
2011-11-03 21:21:30 +00:00
Mikael Morin a13d9afef7 trans-array.c (gfc_trans_constant_array_constructor, [...]): Rename the former to the latter.
* trans-array.c (gfc_trans_constant_array_constructor,
	trans_constant_array_constructor): Rename the former to the latter.
	Don't set the rank of the temporary for the loop.  Remove then unused
	loop argument.
	(gfc_trans_array_constructor): Update call.

From-SVN: r180856
2011-11-03 21:19:27 +00:00
Mikael Morin 39abb03c4b trans-array.c (gfc_trans_scalarizing_loops): Stop loop before end marker, not after it.
* trans-array.c (gfc_trans_scalarizing_loops): Stop loop before end
	marker, not after it.

From-SVN: r180855
2011-11-03 21:16:54 +00:00
Hans-Peter Nilsson bf86b0671b config.host (crisv32-*-none, [...]): Remove.
* config.host (crisv32-*-none, cris-*-none): Remove.
	(crisv32-*-elf): Append to tmake_file, don't just set it.
	(cris-*-elf): Add missing t-fdpbit to tmake_file.

From-SVN: r180854
2011-11-03 21:16:07 +00:00
Mikael Morin 596a95799c trans-array.c (gfc_conv_loop_setup): Also skip temporary arrays.
* trans-array.c (gfc_conv_loop_setup): Also skip temporary arrays.

From-SVN: r180853
2011-11-03 21:14:19 +00:00
Mikael Morin ae9054ba25 trans-array.c (gfc_conv_ss_startstride): Access array bounds along array dimensions instead of loop dimensions.
* trans-array.c (gfc_conv_ss_startstride): Access array bounds along
	array dimensions instead of loop dimensions.

From-SVN: r180852
2011-11-03 21:12:33 +00:00
Mikael Morin 1e633e4fe1 trans-array.c (gfc_trans_preloop_setup): Assertify one condition.
* trans-array.c (gfc_trans_preloop_setup): Assertify one condition.

From-SVN: r180851
2011-11-03 21:09:58 +00:00
Mikael Morin a7c6141677 trans-array.c (gfc_walk_array_ref): Skip coarray dimensions.
* trans-array.c (gfc_walk_array_ref): Skip coarray dimensions.

From-SVN: r180850
2011-11-03 21:08:25 +00:00
Mikael Morin 37f1447217 trans-array.c (get_array_ref_dim): Remove redundant condition.
* trans-array.c (get_array_ref_dim): Remove redundant condition.

From-SVN: r180849
2011-11-03 21:03:56 +00:00
Mikael Morin 1190b61129 trans-array.c (gfc_trans_preloop_setup): Move common code...
* trans-array.c (gfc_trans_preloop_setup): Move common code...
	(add_array_offset): ...into that new function.

From-SVN: r180848
2011-11-03 21:00:41 +00:00
Mikael Morin e2b3e6bdd6 trans-array.c (gfc_trans_preloop_setup): Use loop's dimension instead of array's dimention.
* trans-array.c (gfc_trans_preloop_setup): Use loop's dimension instead
	of array's dimention. Check that it is indeed the same.

From-SVN: r180847
2011-11-03 20:56:19 +00:00
Mikael Morin 4f9a70fa31 trans-array.c (gfc_trans_preloop_setup): Remove redundant assertion.
* trans-array.c (gfc_trans_preloop_setup): Remove redundant assertion.
	Special case outermost loop.

From-SVN: r180846
2011-11-03 20:52:14 +00:00
Uros Bizjak 95d93adb49 sched-vis.c (print_value): Handle STRICT_LOW_PART.
* sched-vis.c (print_value): Handle STRICT_LOW_PART.

From-SVN: r180845
2011-11-03 21:49:36 +01:00
Mikael Morin 7f6d568e74 trans-array.c (gfc_trans_preloop_setup): Factor loop index initialization.
* trans-array.c (gfc_trans_preloop_setup): Factor loop index
	initialization.

From-SVN: r180844
2011-11-03 20:49:14 +00:00
Mikael Morin bee1695c21 trans-array.c (gfc_trans_preloop_setup): Move code earlier.
* trans-array.c (gfc_trans_preloop_setup): Move code earlier.

From-SVN: r180843
2011-11-03 20:46:00 +00:00
Mikael Morin 1fb35a9015 trans-array.c (gfc_trans_preloop_setup): Move array reference initialisation earlier.
* trans-array.c (gfc_trans_preloop_setup): Move array reference
	initialisation earlier. Factor subsequent array references.

From-SVN: r180842
2011-11-03 20:28:58 +00:00
Uros Bizjak 177b1d3535 i386.md (lround<X87MODEF:mode><SWI248x:mode>2, [...]): Use operands[N] instead of operandN.
* config/i386/i386.md (lround<X87MODEF:mode><SWI248x:mode>2,
	rint<mode>2, floor<mode>2, lfloor<MODEF:mode><SWI48:mode>2,
	btrunc<mode>2, lwp_lwpval<mode>3): Use operands[N] instead of operandN.

From-SVN: r180840
2011-11-03 19:39:12 +01:00
Rainer Orth e04d8a6397 Restore arm-eabi bootstrap (PR target/50978)
PR target/50978
	* config/arm/t-bpabi: New file.
	* config.gcc (arm*-*-linux*): Add arm/t-bpabi to tmake_file for
	arm*-*-linux-*eabi.
	(arm*-*-uclinux*): Add arm/t-bpabi to tmake_file for
	arm*-*-uclinux*eabi.
	(arm*-*-eabi*, arm*-*-symbianelf*): Add arm/t-bpabi to tmake_file
	for arm*-*-eabi*.

From-SVN: r180839
2011-11-03 18:19:54 +00:00
Benjamin Kosnik b22e43930f *: Regenerate.
2011-11-03  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/html/*: Regenerate.

From-SVN: r180837
2011-11-03 17:50:14 +00:00
Michael Matz e941124721 re PR bootstrap/50857 (The compiler is built with exceptions and RTTI enabled)
libcpp/
	PR bootstrap/50857
	* configure.ac: Check for -fno-exceptions -fno-rtti.
	* configure: Regenerate.
	* Makefile.in (NOEXCEPTION_FLAGS): New flag.
	(ALL_CXXFLAGS): Use it.

gcc/
	PR bootstrap/50857
	* configure.ac: Check for -fno-exceptions -fno-rtti.
	* configure: Regenerate.
	* Makefile.in (NOEXCEPTION_FLAGS): New flag.
	(ALL_CXXFLAGS): Use it.

From-SVN: r180833
2011-11-03 17:17:07 +00:00
Uros Bizjak af8d2409be i386.md: Use {} for multi-line preparation statements.
* config/i386/i386.md: Use {} for multi-line preparation statements.

From-SVN: r180832
2011-11-03 17:59:37 +01:00
Eric Botcazou 12e55ac79d sparc.md (movtf_insn_sp32_no_fpu): Consolidate into...
* config/sparc/sparc.md (movtf_insn_sp32_no_fpu): Consolidate into...
	(movtf_insn_sp32): ...this.
	(movtf_insn_sp64_no_fpu): Consolidate into...
	(movtf_insn_sp64): ...this.
	(movtf_insn_sp64_hq): Do not test TARGET_FPU.
	* config/sparc/sparc.c (sparc_legitimate_address_p): Likewise.

From-SVN: r180831
2011-11-03 16:26:41 +00:00
Rainer Orth d0bc53bdb4 t-ppccomm (ecrti$(objext)): Use $<.
* config/rs6000/t-ppccomm (ecrti$(objext)): Use $<.
	(ecrtn$(objext)): Likewise.
	(ncrti$(objext)): Likewise.
	(ncrtn$(objext)): Likewise.

From-SVN: r180830
2011-11-03 11:42:27 -04:00
Richard Guenther 1c4678c1c9 re PR middle-end/50079 (FAIL: g++.dg/init/copy7.C execution test)
2011-11-03  Richard Guenther  <rguenther@suse.de>

	PR middle-end/50079
	* g++.dg/init/copy7.C: Remove testcase.

From-SVN: r180829
2011-11-03 15:16:57 +00:00
Tristan Gingold 2acb1a01e1 vms.c (vms_patch_builtins): Fix typo.
2011-11-03  Tristan Gingold  <gingold@adacore.com>

	* config/vms/vms.c (vms_patch_builtins): Fix typo.

From-SVN: r180828
2011-11-03 15:05:35 +00:00
Richard Guenther 52a35ef729 re PR lto/44965 (lto option code breaks file format with each added option)
2011-11-03  Richard Guenther  <rguenther@suse.de>

	PR lto/44965
	* lto-opts.c: Re-implement.
	* lto-streamer.h (lto_register_user_option): Remove.
	(lto_read_file_options): Likewise.
	(lto_reissue_options): Likewise.
	(lto_clear_user_options): Likewise.
	(lto_clear_file_options): Likewise.
	* opts-global.c (post_handling_callback): Remove.
	(set_default_handlers): Do not set post_handling_callback.
	(decode_options): Remove LTO specific code.
	* lto-wrapper.c (merge_and_complain): New function.
	(run_gcc): Read all input file options and
	prepend a merged set before the linker driver options.
	* gcc.c (driver_post_handling_callback): Remove.
	(set_option_handlers): Do not set post_handling_callback.
	* opts-common.c (handle_option): Do not call post_handling_callback.
	* opts.h (struct cl_option_handlers): Remove post_handling_callback.

	lto/
	* lto-lang.c (lto_post_options): Do not read file options.
	* lto.c (lto_read_all_file_options): Remove.
	(lto_init): Call lto_set_in_hooks here.

From-SVN: r180827
2011-11-03 14:46:26 +00:00
Richard Guenther fa66fc02ec collect2.c (main): Guard object_nbr variable with TARGET_AIX_VERSION.
2011-11-03  Richard Guenther  <rguenther@suse.de>

	* collect2.c (main): Guard object_nbr variable with TARGET_AIX_VERSION.

From-SVN: r180826
2011-11-03 14:24:59 +00:00
Martin Jambor 290ebcb77f ipa-prop.c (type_change_info): New fields offset, object, known_current_type and multiple_types_encountered.
2011-11-03  Martin Jambor  <mjambor@suse.cz>

	* ipa-prop.c (type_change_info): New fields offset, object,
	known_current_type and multiple_types_encountered.
	(extr_type_from_vtbl_ptr_store): New function.
	(check_stmt_for_type_change): Use it, set multiple_types_encountered if
        the result is different from the previous one.
	(detect_type_change): Renamed to detect_type_change_1. New parameter
	comp_type.  Set up new fields in tci, build known type jump
	functions if the new type can be identified.
	(detect_type_change): New function.
	* tree.h (DECL_CONTEXT): Comment new use.

	* testsuite/g++.dg/ipa/devirt-c-1.C: Add dump scans.
	* testsuite/g++.dg/ipa/devirt-c-2.C: Likewise.
	* testsuite/g++.dg/ipa/devirt-c-7.C: New test.
	* testsuite/g++.dg/ipa/devirt-c-8.C: Likewise.

From-SVN: r180825
2011-11-03 14:53:29 +01:00
Richard Guenther 969d578c2d re PR lto/48217 (lto mishandles quotes in command line defines)
2011-11-03  Richard Guenther  <rguenther@suse.de>

	PR lto/48217
	* lto-wrapper.c (get_options_from_collect_gcc_options): Properly
	decode an encoded literal '.

From-SVN: r180822
2011-11-03 13:13:33 +00:00
Tristan Gingold 4f44e38ac7 collect2.c (main): Add support of -f (response file) on AIX.
2011-11-03  Tristan Gingold  <gingold@adacore.com>

	* collect2.c (main): Add support of -f (response file) on AIX.

From-SVN: r180821
2011-11-03 11:47:12 +00:00
Andreas Schwab 036da8303f * config/ia64/t-ia64 (crtbeginS.o): Fix whitespace damage.
From-SVN: r180820
2011-11-03 09:57:54 +00:00
Ira Rosen d092494cf3 re PR tree-optimization/50912 (gimple assertion failure at gimple.h:1940 with -msse2)
PR tree-optimization/50912
	* tree-vectorizer.h (slp_void_p): New.
	(struct _slp_tree): Replace left and right with children.  Update
	documentation.
	(struct _slp_oprnd_info): New.
	(vect_get_vec_defs): Declare.
	(vect_get_slp_defs): Update arguments.
	* tree-vect-loop.c (vect_create_epilog_for_reduction): Call
	vect_get_vec_defs instead of vect_get_slp_defs.
	(vectorizable_reduction): Likewise.
	* tree-vect-stmts.c (vect_get_vec_defs): Remove static, add argument.
	Update call to vect_get_slp_defs.
	(vectorizable_conversion): Update call to vect_get_vec_defs.
	(vectorizable_assignment, vectorizable_shift,
	vectorizable_operation): Likewise.
	(vectorizable_type_demotion): Call vect_get_vec_defs instead of
	vect_get_slp_defs.
	(vectorizable_type_promotion, vectorizable_store): Likewise.
	(vect_analyze_stmt): Fix typo.
	* tree-vect-slp.c (vect_free_slp_tree): Update SLP tree traversal.
	(vect_print_slp_tree, vect_mark_slp_stmts,
	vect_mark_slp_stmts_relevant, vect_slp_rearrange_stmts,
	vect_detect_hybrid_slp_stmts, vect_slp_analyze_node_operations,
	vect_schedule_slp_instance): Likewise.
	(vect_create_new_slp_node): New.
	(vect_create_oprnd_info, vect_free_oprnd_info): Likewise.
	(vect_get_and_check_slp_defs): Pass information about defs using
	oprnds_info, allow any number of operands.
	(vect_build_slp_tree): Likewise.  Update calls to
	vect_get_and_check_slp_defs.  Fix comments.
	(vect_analyze_slp_instance): Move node creation to
	vect_create_new_slp_node.
	(vect_get_slp_defs): Allow any number of operands.

From-SVN: r180819
2011-11-03 08:44:35 +00:00