OSDN Git Service

pf3gnuchains/gcc-fork.git
12 years ago * trans-intrinsic.c (gfc_conv_intrinsic_arith): Small argument handling
mikael [Fri, 4 Nov 2011 00:19:11 +0000 (00:19 +0000)]
* trans-intrinsic.c (gfc_conv_intrinsic_arith): Small argument handling
cleanup.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180917 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDaily bump.
gccadmin [Fri, 4 Nov 2011 00:18:17 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180916 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-intrinsic.c (gfc_conv_intrinsic_arith): Update conditions.
mikael [Fri, 4 Nov 2011 00:17:07 +0000 (00:17 +0000)]
* trans-intrinsic.c (gfc_conv_intrinsic_arith): Update conditions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180913 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * frontend-passes.c (cfe_register_funcs): Return early in the case
mikael [Fri, 4 Nov 2011 00:14:58 +0000 (00:14 +0000)]
* frontend-passes.c (cfe_register_funcs): Return early in the case
of an inline intrinsic function.
(optimize_binop_array_assignment): Skip optimization in the case of
an inline intrinsic function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180911 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * array.c (match_subscript): Skip whitespaces before setting locus.
mikael [Fri, 4 Nov 2011 00:12:54 +0000 (00:12 +0000)]
* array.c (match_subscript): Skip whitespaces before setting locus.
* matchexp.c (match_level_1): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180910 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-intrinsic.c (gfc_conv_intrinsic_minmaxval): Set loop's
mikael [Fri, 4 Nov 2011 00:11:39 +0000 (00:11 +0000)]
* trans-intrinsic.c (gfc_conv_intrinsic_minmaxval): Set loop's
temporary rank to the loop rank. Mark ss chains for multiple loop
if necessary.  Use gfc_trans_scalarized_loop_boundary to end one loop
and start another.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180909 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Set loop's
mikael [Fri, 4 Nov 2011 00:09:27 +0000 (00:09 +0000)]
* trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Set loop's
temporary rank to the loop rank. Mark ss chains for multiple loop
if necessary.  Use gfc_trans_scalarized_loop_boundary to end one loop
and start another.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180908 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Don't calculate
mikael [Fri, 4 Nov 2011 00:05:51 +0000 (00:05 +0000)]
* trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Don't calculate
offset twice in generated code.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180907 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-expr.c (gfc_conv_procedure_call): Handle temporaries for
mikael [Fri, 4 Nov 2011 00:04:27 +0000 (00:04 +0000)]
* trans-expr.c (gfc_conv_procedure_call): Handle temporaries for
arguments to elemental calls.
* trans-stmt.c (replace_ss): New function.
(gfc_conv_elemental_dependencies): Remove temporary loop handling.
Create a new ss for the temporary and replace the original one with it.
Remove fake array references. Recalculate all offsets.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180906 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.h (gfc_free_ss, gfc_set_delta): New prototypes.
mikael [Fri, 4 Nov 2011 00:00:23 +0000 (00:00 +0000)]
* trans-array.h (gfc_free_ss, gfc_set_delta): New prototypes.
* trans-array.c (gfc_free_ss): Remove forward declaration.
Make non-static.
(set_delta, gfc_set_delta): Remove forward declaration.
Make non-static and rename the former to the later. Update uses.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180905 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans.h (gfc_inline_intrinsic_function_p): Move prototype...
mikael [Thu, 3 Nov 2011 23:58:20 +0000 (23:58 +0000)]
* trans.h (gfc_inline_intrinsic_function_p): Move prototype...
* gfortran.h (gfc_inline_intrinsic_function_p): ... here.
* dependency.c (gfc_check_argument_var_dependency): Check dependencies
of inline intrinsics' arguments.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180904 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (gfc_trans_preloop_setup): New pointers to outer
mikael [Thu, 3 Nov 2011 23:56:20 +0000 (23:56 +0000)]
* trans-array.c (gfc_trans_preloop_setup): New pointers to outer
dimension's ss and loop. Use them.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180903 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (outermost_loop): New function.
mikael [Thu, 3 Nov 2011 23:53:42 +0000 (23:53 +0000)]
* trans-array.c (outermost_loop): New function.
(gfc_trans_array_constructor, gfc_set_vector_loop_bounds,
gfc_add_loop_ss_code): Put generated code out of the outermost loop.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180902 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (constant_array_constructor_loop_size):
mikael [Thu, 3 Nov 2011 23:51:04 +0000 (23:51 +0000)]
* trans-array.c (constant_array_constructor_loop_size):
Handle multiple loops.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180901 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (get_rank, get_loop_upper_bound_for_array):
mikael [Thu, 3 Nov 2011 23:48:29 +0000 (23:48 +0000)]
* trans-array.c (get_rank, get_loop_upper_bound_for_array):
New functions.
(gfc_trans_array_constructor): Handle multiple loops.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180900 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans.h (struct gfc_loopinfo): New field parent.
mikael [Thu, 3 Nov 2011 23:45:19 +0000 (23:45 +0000)]
* trans.h (struct gfc_loopinfo): New field parent.
* trans-array.c (gfc_cleanup_loop): Free nested loops.
(gfc_add_ss_to_loop): Set nested_loop's parent loop.
(gfc_trans_array_constructor): Update assertion.
(gfc_conv_loop_setup): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180899 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (gfc_add_loop_ss_code): Skip non-nestedmost ss.
mikael [Thu, 3 Nov 2011 23:41:28 +0000 (23:41 +0000)]
* trans-array.c (gfc_add_loop_ss_code): Skip non-nestedmost ss.
Call recursively gfc_add_loop_ss_code for all the nested loops.
(gfc_conv_ss_startstride): Only get the descriptor for the outermost
ss. Call recursively gfc_conv_ss_startstride for all the nested loops.
(set_loop_bounds): Call recursively for all the nested loops.
(set_delta): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180898 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans.h (struct gfc_loopinfo): New fields nested and next.
mikael [Thu, 3 Nov 2011 23:39:11 +0000 (23:39 +0000)]
* trans.h (struct gfc_loopinfo): New fields nested and next.
* trans-array.c (gfc_add_ss_to_loop): Update list of nested list if
ss has non-null nested_ss field.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180897 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (gfc_trans_create_temp_array): Loop over the parents.
mikael [Thu, 3 Nov 2011 23:37:24 +0000 (23:37 +0000)]
* trans-array.c (gfc_trans_create_temp_array): Loop over the parents.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180895 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (get_array_ref_dim, get_scalarizer_dim_for_array_dim):
mikael [Thu, 3 Nov 2011 23:34:53 +0000 (23:34 +0000)]
* trans-array.c (get_array_ref_dim, get_scalarizer_dim_for_array_dim):
Rename the former to the latter and loop over the parents.
(innermost_ss): New function.
(get_array_ref_dim_for_loop_dim): New function.
(gfc_trans_create_temp_array): Use get_scalarizer_dim_for_array_dim.
(set_loop_bounds): Use get_array_dim_for_loop_dim).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180894 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans.h (struct gfc_ss): New field nested_ss.
mikael [Thu, 3 Nov 2011 23:31:32 +0000 (23:31 +0000)]
* trans.h (struct gfc_ss): New field nested_ss.
* trans-expr.c (gfc_advance_se_ss_chain): Update assertion.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180893 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (set_vector_loop_bounds): Loop over the parents.
mikael [Thu, 3 Nov 2011 23:28:25 +0000 (23:28 +0000)]
* trans-array.c (set_vector_loop_bounds): Loop over the parents.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180892 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (gfc_trans_array_constructor): Loop over the parents.
mikael [Thu, 3 Nov 2011 23:25:34 +0000 (23:25 +0000)]
* trans-array.c (gfc_trans_array_constructor): Loop over the parents.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180891 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (gfc_set_loop_bounds_from_array_spec): Loop over the
mikael [Thu, 3 Nov 2011 23:22:13 +0000 (23:22 +0000)]
* trans-array.c (gfc_set_loop_bounds_from_array_spec): Loop over the
parents.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180890 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans.h (struct gfc_ss): New field parent.
mikael [Thu, 3 Nov 2011 23:17:08 +0000 (23:17 +0000)]
* trans.h (struct gfc_ss): New field parent.
* trans-array.c (gfc_trans_scalarizing_loops): Skip clearing if a
parent exists.
* trans-expr.c (gfc_advance_se_ss_chain): Move to parent ss at the
end of the chain.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180889 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.h (gfc_trans_create_temp_array): Remove loop argument.
mikael [Thu, 3 Nov 2011 23:06:22 +0000 (23:06 +0000)]
* trans-array.h (gfc_trans_create_temp_array): Remove loop argument.
* trans-array.c (gfc_trans_create_temp_array): Ditto.  Get loop from ss.
Update reference to loop.  Remove loop argument.
(gfc_trans_array_constructor, gfc_conv_loop_setup): Update calls 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.
Set loop before calling gfc_trans_create_temp_array.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180888 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (gfc_trans_create_temp_array): New variable total_dim.
mikael [Thu, 3 Nov 2011 23:02:03 +0000 (23:02 +0000)]
* trans-array.c (gfc_trans_create_temp_array): New variable total_dim.
Set total_dim to loop's rank. Replace usages of loop's rank.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180887 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (gfc_trans_array_constructor, trans_array_constructor):
mikael [Thu, 3 Nov 2011 22:59:29 +0000 (22:59 +0000)]
* trans-array.c (gfc_trans_array_constructor, trans_array_constructor):
Rename the former to the later.  Get loop from ss.
Remove loop argument.
(gfc_add_loop_ss_code): Update call.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180886 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (gfc_set_vector_loop_bounds): Get loop from ss.
mikael [Thu, 3 Nov 2011 22:56:12 +0000 (22:56 +0000)]
* trans-array.c (gfc_set_vector_loop_bounds): Get loop from ss.
Remove loop argument.
(gfc_add_loop_ss_code): Update call.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180885 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans.h (struct gfc_ss): New field loop.
mikael [Thu, 3 Nov 2011 22:54:37 +0000 (22:54 +0000)]
* trans.h (struct gfc_ss): New field loop.
* trans-array.c (set_ss_loop): New function.
(gfc_add_ss_to_loop): Call set_ss_loop.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180884 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans.h (struct gfc_ss_info): New field refcount.
mikael [Thu, 3 Nov 2011 22:50:06 +0000 (22:50 +0000)]
* trans.h (struct gfc_ss_info): New field refcount.
* trans-array.c (free_ss_info): Decrement refcount. Return early if
still non-zero.
(gfc_get_array_ss, gfc_get_temp_ss, gfc_get_scalar_ss): Increment
refcount.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180883 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (gfc_trans_create_temp_array): Move invariant condition
mikael [Thu, 3 Nov 2011 22:45:41 +0000 (22:45 +0000)]
* trans-array.c (gfc_trans_create_temp_array): Move invariant condition
out of the containing loop.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180882 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (gfc_conv_loop_setup, gfc_trans_create_temp_array):
mikael [Thu, 3 Nov 2011 22:42:58 +0000 (22:42 +0000)]
* trans-array.c (gfc_conv_loop_setup, gfc_trans_create_temp_array):
Move specloop arrays clearing from the former to the latter.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180881 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (set_loop_bounds): Separate the beginning of
mikael [Thu, 3 Nov 2011 22:40:55 +0000 (22:40 +0000)]
* trans-array.c (set_loop_bounds): Separate the beginning of
gfc_conv_loop_setup into a function of its own.
(set_delta): Separate the end of gfc_conv_loop_setup into a function
of its own.
(gfc_conv_loop_setup): Call set_loop_bounds and set delta.
(set_loop_bounds, set_delta, gfc_conv_loop_setup): Make loopspec a
pointer to the specloop field from the loop struct.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180880 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-03 Tobias Burnus <burnus@net-b.de>
burnus [Thu, 3 Nov 2011 22:36:11 +0000 (22:36 +0000)]
2011-11-03  Tobias Burnus  <burnus@net-b.de>

        PR fortran/50933
        * interface.c (gfc_compare_derived_types): Fix check for
        * BIND(C).

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

        PR fortran/50933
        * gfortran.dg/bind_c_dts_5.f90: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180879 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-03 Tobias Burnus <burnus@net-b.de>
burnus [Thu, 3 Nov 2011 22:32:37 +0000 (22:32 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180878 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans.h (struct gfc_ss, struct gfc_ss_info): Move field
mikael [Thu, 3 Nov 2011 22:29:25 +0000 (22:29 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180877 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans.h (struct gfc_ss, struct gfc_ss_info): Move field
mikael [Thu, 3 Nov 2011 22:24:37 +0000 (22:24 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180875 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-03 Benjamin Kosnik <bkoz@redhat.com>
bkoz [Thu, 3 Nov 2011 22:23:35 +0000 (22:23 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180874 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans.h (struct gfc_ss, struct gfc_ss_info): Move field
mikael [Thu, 3 Nov 2011 22:21:36 +0000 (22:21 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180873 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans.h (struct gfc_ss, struct gfc_ss_info): Move member struct
mikael [Thu, 3 Nov 2011 22:16:29 +0000 (22:16 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180872 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans.h (struct gfc_ss, struct gfc_ss_info): Move member struct
mikael [Thu, 3 Nov 2011 22:10:25 +0000 (22:10 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180870 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans.h (struct gfc_ss, struct gfc_ss_info): Move field
mikael [Thu, 3 Nov 2011 22:04:50 +0000 (22:04 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180869 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans.h (struct gfc_ss, struct gfc_ss_info): Move field expr from
mikael [Thu, 3 Nov 2011 22:01:46 +0000 (22:01 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180868 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans.h (struct gfc_ss_info): New struct.
mikael [Thu, 3 Nov 2011 21:55:48 +0000 (21:55 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180867 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans.h (struct gfc_ss, struct gfc_array_info): Move shape field
mikael [Thu, 3 Nov 2011 21:47:49 +0000 (21:47 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180866 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans.h (struct gfc_array_info): Move dim and dimen fields...
mikael [Thu, 3 Nov 2011 21:44:56 +0000 (21:44 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180865 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans.h (struct gfc_ss_info, struct gfc_array_info):
mikael [Thu, 3 Nov 2011 21:39:11 +0000 (21:39 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180864 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (dim_ok, transposed_dims): Rename the former to the
mikael [Thu, 3 Nov 2011 21:35:35 +0000 (21:35 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180862 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (get_array_ref_dim): Change argument type and name.
mikael [Thu, 3 Nov 2011 21:33:28 +0000 (21:33 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180861 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (gfc_set_vector_loop_bounds, set_vector_loop_bounds):
mikael [Thu, 3 Nov 2011 21:31:12 +0000 (21:31 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180860 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.h (gfc_trans_create_temp_array): Replace info argument
mikael [Thu, 3 Nov 2011 21:28:26 +0000 (21:28 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180859 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (gfc_trans_array_bound_check): Use ss argument
mikael [Thu, 3 Nov 2011 21:24:24 +0000 (21:24 +0000)]
* trans-array.c (gfc_trans_array_bound_check): Use ss argument
to get name.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180858 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (gfc_trans_array_bound_check,
mikael [Thu, 3 Nov 2011 21:21:30 +0000 (21:21 +0000)]
* 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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180857 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (gfc_trans_constant_array_constructor,
mikael [Thu, 3 Nov 2011 21:19:27 +0000 (21:19 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180856 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (gfc_trans_scalarizing_loops): Stop loop before end
mikael [Thu, 3 Nov 2011 21:16:54 +0000 (21:16 +0000)]
* trans-array.c (gfc_trans_scalarizing_loops): Stop loop before end
marker, not after it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180855 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config.host (crisv32-*-none, cris-*-none): Remove.
hp [Thu, 3 Nov 2011 21:16:07 +0000 (21:16 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180854 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (gfc_conv_loop_setup): Also skip temporary arrays.
mikael [Thu, 3 Nov 2011 21:14:19 +0000 (21:14 +0000)]
* trans-array.c (gfc_conv_loop_setup): Also skip temporary arrays.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180853 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (gfc_conv_ss_startstride): Access array bounds along
mikael [Thu, 3 Nov 2011 21:12:33 +0000 (21:12 +0000)]
* trans-array.c (gfc_conv_ss_startstride): Access array bounds along
array dimensions instead of loop dimensions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180852 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (gfc_trans_preloop_setup): Assertify one condition.
mikael [Thu, 3 Nov 2011 21:09:58 +0000 (21:09 +0000)]
* trans-array.c (gfc_trans_preloop_setup): Assertify one condition.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180851 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (gfc_walk_array_ref): Skip coarray dimensions.
mikael [Thu, 3 Nov 2011 21:08:25 +0000 (21:08 +0000)]
* trans-array.c (gfc_walk_array_ref): Skip coarray dimensions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180850 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (get_array_ref_dim): Remove redundant condition.
mikael [Thu, 3 Nov 2011 21:03:56 +0000 (21:03 +0000)]
* trans-array.c (get_array_ref_dim): Remove redundant condition.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180849 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (gfc_trans_preloop_setup): Move common code...
mikael [Thu, 3 Nov 2011 21:00:41 +0000 (21:00 +0000)]
* trans-array.c (gfc_trans_preloop_setup): Move common code...
(add_array_offset): ...into that new function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180848 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (gfc_trans_preloop_setup): Use loop's dimension instead
mikael [Thu, 3 Nov 2011 20:56:19 +0000 (20:56 +0000)]
* trans-array.c (gfc_trans_preloop_setup): Use loop's dimension instead
of array's dimention. Check that it is indeed the same.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180847 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (gfc_trans_preloop_setup): Remove redundant assertion.
mikael [Thu, 3 Nov 2011 20:52:14 +0000 (20:52 +0000)]
* trans-array.c (gfc_trans_preloop_setup): Remove redundant assertion.
Special case outermost loop.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180846 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * sched-vis.c (print_value): Handle STRICT_LOW_PART.
uros [Thu, 3 Nov 2011 20:49:36 +0000 (20:49 +0000)]
* sched-vis.c (print_value): Handle STRICT_LOW_PART.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180845 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (gfc_trans_preloop_setup): Factor loop index
mikael [Thu, 3 Nov 2011 20:49:14 +0000 (20:49 +0000)]
* trans-array.c (gfc_trans_preloop_setup): Factor loop index
initialization.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180844 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (gfc_trans_preloop_setup): Move code earlier.
mikael [Thu, 3 Nov 2011 20:46:00 +0000 (20:46 +0000)]
* trans-array.c (gfc_trans_preloop_setup): Move code earlier.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180843 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (gfc_trans_preloop_setup): Move array reference
mikael [Thu, 3 Nov 2011 20:28:58 +0000 (20:28 +0000)]
* trans-array.c (gfc_trans_preloop_setup): Move array reference
initialisation earlier. Factor subsequent array references.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180842 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/i386/i386.md (lround<X87MODEF:mode><SWI248x:mode>2,
uros [Thu, 3 Nov 2011 18:39:12 +0000 (18:39 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180840 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoRestore arm-eabi bootstrap (PR target/50978)
ro [Thu, 3 Nov 2011 18:19:54 +0000 (18:19 +0000)]
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*.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180839 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-03 Benjamin Kosnik <bkoz@redhat.com>
bkoz [Thu, 3 Nov 2011 17:50:14 +0000 (17:50 +0000)]
2011-11-03  Benjamin Kosnik  <bkoz@redhat.com>

* doc/html/*: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180837 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agolibcpp/
matz [Thu, 3 Nov 2011 17:17:07 +0000 (17:17 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180833 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/i386/i386.md: Use {} for multi-line preparation statements.
uros [Thu, 3 Nov 2011 16:59:37 +0000 (16:59 +0000)]
* config/i386/i386.md: Use {} for multi-line preparation statements.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180832 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/sparc/sparc.md (movtf_insn_sp32_no_fpu): Consolidate into...
ebotcazou [Thu, 3 Nov 2011 16:26:41 +0000 (16:26 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180831 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/rs6000/t-ppccomm (ecrti$(objext)): Use $<.
jason [Thu, 3 Nov 2011 15:42:27 +0000 (15:42 +0000)]
* config/rs6000/t-ppccomm (ecrti$(objext)): Use $<.
(ecrtn$(objext)): Likewise.
(ncrti$(objext)): Likewise.
(ncrtn$(objext)): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180830 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-03 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 3 Nov 2011 15:16:57 +0000 (15:16 +0000)]
2011-11-03  Richard Guenther  <rguenther@suse.de>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180829 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-03 Tristan Gingold <gingold@adacore.com>
gingold [Thu, 3 Nov 2011 15:05:35 +0000 (15:05 +0000)]
2011-11-03  Tristan Gingold  <gingold@adacore.com>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180828 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-03 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 3 Nov 2011 14:46:26 +0000 (14:46 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180827 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-03 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 3 Nov 2011 14:24:59 +0000 (14:24 +0000)]
2011-11-03  Richard Guenther  <rguenther@suse.de>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180826 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-03 Martin Jambor <mjambor@suse.cz>
jamborm [Thu, 3 Nov 2011 13:53:29 +0000 (13:53 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180825 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-03 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 3 Nov 2011 13:13:33 +0000 (13:13 +0000)]
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 '.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180822 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-03 Tristan Gingold <gingold@adacore.com>
gingold [Thu, 3 Nov 2011 11:47:12 +0000 (11:47 +0000)]
2011-11-03  Tristan Gingold  <gingold@adacore.com>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180821 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago* config/ia64/t-ia64 (crtbeginS.o): Fix whitespace damage.
schwab [Thu, 3 Nov 2011 09:57:54 +0000 (09:57 +0000)]
* config/ia64/t-ia64 (crtbeginS.o): Fix whitespace damage.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180820 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR tree-optimization/50912
irar [Thu, 3 Nov 2011 08:44:35 +0000 (08:44 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180819 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoFix multilib build of libgcc on Linux/sparc.
davem [Thu, 3 Nov 2011 06:07:39 +0000 (06:07 +0000)]
Fix multilib build of libgcc on Linux/sparc.

* configure.ac: Set host_address on sparc too.
* configure: Regenerate.
* config.host: Add sparc/t-linux64 and sparc/t-softmul conditionally
based upon host_address.
* config/sparc/t-linux64: Set CRTSTUFF_T_CFLAGS unconditionally.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180818 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/rs6000/rs6000.c (USE_HIDDEN_LINKONCE): New define.
bergner [Thu, 3 Nov 2011 03:36:35 +0000 (03:36 +0000)]
* config/rs6000/rs6000.c (USE_HIDDEN_LINKONCE): New define.
(get_ppc476_thunk_name): Use it.
(rs6000_code_end): Likewise.
(macho_branch_islands): Fix typo.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180814 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDaily bump.
gccadmin [Thu, 3 Nov 2011 00:18:00 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180810 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoFix thinko in previous checkin.
devans [Wed, 2 Nov 2011 22:00:20 +0000 (22:00 +0000)]
Fix thinko in previous checkin.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180805 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoForgotten in previous checkin that added timeval-utils.[ch].
devans [Wed, 2 Nov 2011 21:45:19 +0000 (21:45 +0000)]
Forgotten in previous checkin that added timeval-utils.[ch].
* Makefile.in (CFILES): Add it.
(REQUIRED_OFILES): Add timeval-utils.$(objext).
(INSTALLED_HEADERS): Add timeval-utils.h.
(timeval-utils.$(objext)): Add rule.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180803 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR c++/50930
jason [Wed, 2 Nov 2011 21:24:56 +0000 (21:24 +0000)]
PR c++/50930
* init.c (build_aggr_init): Don't set LOOKUP_ONLYCONVERTING
if the initializer has TARGET_EXPR_DIRECT_INIT_P.
(expand_default_init): An initializer with TARGET_EXPR_DIRECT_INIT_P
or TARGET_EXPR_LIST_INIT_P doesn't need more processing.
* tree.c (bot_manip): Propagate TARGET_EXPR_IMPLICIT_P,
TARGET_EXPR_LIST_INIT_P, TARGET_EXPR_DIRECT_INIT_P.
* call.c (convert_like_real): Set TARGET_EXPR_DIRECT_INIT_P
as appropriate on list-value-initialization.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180802 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoTREE_STRING_LENGTH comment
jason [Wed, 2 Nov 2011 20:52:18 +0000 (20:52 +0000)]
TREE_STRING_LENGTH comment

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180800 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/rs6000/t-ppccomm: Add missing \.
jason [Wed, 2 Nov 2011 20:52:10 +0000 (20:52 +0000)]
* config/rs6000/t-ppccomm: Add missing \.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180799 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Wed, 2 Nov 2011 20:22:53 +0000 (20:22 +0000)]
2011-11-02  Paolo Carlini  <paolo.carlini@oracle.com>

* internal.h (uxstrdup, ustrchr): Return const unsigned char *.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180796 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * parser.c (cp_parser_decl_specifier_seq): Change "C++0x" to
jason [Wed, 2 Nov 2011 20:16:56 +0000 (20:16 +0000)]
* parser.c (cp_parser_decl_specifier_seq): Change "C++0x" to
"C++11" in warnings.
(cp_lexer_get_preprocessor_token): Likewise.
(cp_parser_binary_expression): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180795 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR c++/50810
jason [Wed, 2 Nov 2011 20:16:43 +0000 (20:16 +0000)]
PR c++/50810
gcc/c-family
* c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
Wnarrowing for C++0x and C++98.
* c.opt ([Wnarrowing]): Update.
gcc/cp
* typeck2.c (check_narrowing): Adjust OPT_Wnarrowing diagnostics.
(digest_init_r): Call check_narrowing irrespective of the C++ dialect.
* decl.c (check_initializer): Likewise.
* semantics.c (finish_compound_literal): Likewise.
gcc/
* configure.ac: Add -Wno-narrowing to warning options.
libcpp/
* configure.ac: Add -Wno-narrowing to warning options.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180794 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-02 Tom de Vries <tom@codesourcery.com>
vries [Wed, 2 Nov 2011 20:15:55 +0000 (20:15 +0000)]
2011-11-02  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/50769
* gfortran.dg/pr50769.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180793 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR target/50945
ebotcazou [Wed, 2 Nov 2011 20:03:27 +0000 (20:03 +0000)]
PR target/50945
* config/sparc/sparc.md (movsf_insn): Reindent constraints.
(movdf_insn_sp32): Likewise.  Remove redundant G constraint.
(movdf_insn_sp64): Likewise.
(DFmode splitter): Do not test TARGET_FPU.
(movtf_insn_sp32): Reindent constraints.
(movtf_insn_sp32_no_fpu): Likewise.
(movtf_insn_sp64): Likewise.
(movtf_insn_sp64_hq): Likewise.
(movtf_insn_sp64_no_fpu): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180791 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-02 Richard B. Kreckel <kreckel@ginac.de>
paolo [Wed, 2 Nov 2011 18:43:42 +0000 (18:43 +0000)]
2011-11-02  Richard B. Kreckel  <kreckel@ginac.de>
    Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/50880
* include/std/complex (__complex_acosh): Fix in a better way,
use Kahan's formula.
* include/tr1/complex (__complex_acosh): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180788 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-02 Richard B. Kreckel <kreckel@ginac.de>
paolo [Wed, 2 Nov 2011 18:43:26 +0000 (18:43 +0000)]
2011-11-02  Richard B. Kreckel  <kreckel@ginac.de>
    Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/50880
* include/std/complex (__complex_acosh): Fix in a better way,
use Kahan's formula.
* include/tr1/complex (__complex_acosh): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180787 138bc75d-0d04-0410-961f-82ee72b054a4