Tobias Burnus
c3f3495248
re PR fortran/39427 (F2003: Procedures with same name as types/type constructors)
...
gcc/fortran
2011-11-16 Tobias Burnus <burnus@net-b.de>
PR fortran/39427
PR fortran/37829
* decl.c (match_data_constant, match_data_constant,
* variable_decl,
gfc_match_decl_type_spec, access_attr_decl,
check_extended_derived_type, gfc_match_derived_decl,
gfc_match_derived_decl, gfc_match_derived_decl) Modified to deal
with DT constructors.
* gfortran.h (gfc_find_dt_in_generic,
gfc_convert_to_structure_constructor): New function prototypes.
* interface.c (check_interface0, check_interface1,
gfc_search_interface): Ignore DT constructors in generic list.
* match.h (gfc_match_structure_constructor): Update prototype.
* match.c (match_derived_type_spec): Ensure that one uses the DT
not the generic function.
* module.c (MOD_VERSION): Bump.
(dt_lower_string, dt_upper_string): New functions.
(find_use_name_n, find_use_operator, compare_true_names,
find_true_name, add_true_name, fix_mio_expr, load_needed,
read_module, write_dt_extensions, write_symbol): Changes to deal with
different symtree vs. sym names.
(create_derived_type): Create also generic procedure.
* parse.c (gfc_fixup_sibling_symbols): Don't regard DT and
* generic
function as the same.
* primary.c (gfc_convert_to_structure_constructor): New
* function.
(gfc_match_structure_constructor): Restructured; calls
gfc_convert_to_structure_constructor.
(build_actual_constructor, gfc_match_rvalue): Update for DT generic
functions.
* resolve.c (resolve_formal_arglist, resolve_structure_cons,
is_illegal_recursion, resolve_generic_f, resolve_variable,
resolve_fl_variable_derived, resolve_fl_derived0,
resolve_symbol): Handle DT and DT generic constructors.
* symbol.c (gfc_use_derived, gfc_undo_symbols,
gen_special_c_interop_ptr, gen_cptr_param,
generate_isocbinding_symbol, gfc_get_derived_super_type): Handle
derived-types, which are hidden in the generic type.
(gfc_find_dt_in_generic): New function
* trans-array.c (gfc_conv_array_initializer): Replace
* FL_PARAMETER
expr by actual value.
* trans-decl.c (gfc_get_module_backend_decl,
* gfc_trans_use_stmts):
Ensure that we use the DT and not the generic function.
* trans-types.c (gfc_get_derived_type): Ensure that we use the
* DT
and not the generic procedure.
gcc/testsuite/
2011-11-16 Tobias Burnus <burnus@net-b.de>
PR fortran/39427
PR fortran/37829
* gfortran.dg/constructor_1.f90: New.
* gfortran.dg/constructor_2.f90: New.
* gfortran.dg/constructor_3.f90: New.
* gfortran.dg/constructor_4.f90: New.
* gfortran.dg/constructor_5.f90: New.
* gfortran.dg/constructor_6.f90: New.
* gfortran.dg/use_only_5.f90: New.
* gfortran.dg/c_ptr_tests_17.f90: New.
* gfortran.dg/c_ptr_tests_18.f90: New.
* gfortran.dg/used_types_25.f90: New.
* gfortran.dg/used_types_26.f90: New
* gfortran.dg/type_decl_3.f90: New.
* gfortran.dg/function_types_3.f90: Update dg-error.
* gfortran.dg/result_1.f90: Ditto.
* gfortran.dg/structure_constructor_3.f03: Ditto.
* gfortran.dg/structure_constructor_4.f03: Ditto.
From-SVN: r181425
2011-11-16 22:37:43 +01:00
Mikael Morin
0c08de8f8b
re PR fortran/43829 (Scalarization of reductions)
...
PR fortran/43829
* trans-array.c (gfc_conv_expr_descriptor): Accept the inline intrinsic
case in the assertion.
* trans-intrinsic (enter_nested_loop): New function.
(gfc_conv_intrinsic_arith): Support non-scalar cases.
(nest_loop_dimension, walk_inline_intrinsic_arith): New functions.
(walk_inline_intrinsic_function): Handle sum and product.
(gfc_inline_intrinsic_function_p): Ditto.
* trans.h (gfc_get_loopinfo): New macro.
From-SVN: r180920
2011-11-04 00:31:19 +00:00
Mikael Morin
121c82c9ac
trans-array.h (gfc_free_ss, [...]): New prototypes.
...
* 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.
From-SVN: r180905
2011-11-04 00:00:23 +00:00
Mikael Morin
8e24054ba4
trans-array.c (gfc_trans_preloop_setup): New pointers to outer dimension's ss and loop.
...
* trans-array.c (gfc_trans_preloop_setup): New pointers to outer
dimension's ss and loop. Use them.
From-SVN: r180903
2011-11-03 23:56:20 +00:00
Mikael Morin
d769d0df73
trans-array.c (outermost_loop): New function.
...
* 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.
From-SVN: r180902
2011-11-03 23:53:42 +00:00
Mikael Morin
f03077b019
trans-array.c (constant_array_constructor_loop_size): Handle multiple loops.
...
* trans-array.c (constant_array_constructor_loop_size):
Handle multiple loops.
From-SVN: r180901
2011-11-03 23:51:04 +00:00
Mikael Morin
b2f82aaa78
trans-array.c (get_rank, [...]): New functions.
...
* trans-array.c (get_rank, get_loop_upper_bound_for_array):
New functions.
(gfc_trans_array_constructor): Handle multiple loops.
From-SVN: r180900
2011-11-03 23:48:29 +00:00
Mikael Morin
4616ef9b85
trans.h (struct gfc_loopinfo): New field parent.
...
* 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.
From-SVN: r180899
2011-11-03 23:45:19 +00:00
Mikael Morin
30ae600f1f
trans-array.c (gfc_add_loop_ss_code): Skip non-nestedmost ss.
...
* 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.
From-SVN: r180898
2011-11-03 23:41:28 +00:00
Mikael Morin
9d75804367
trans.h (struct gfc_loopinfo): New fields nested and next.
...
* 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.
From-SVN: r180897
2011-11-03 23:39:11 +00:00
Mikael Morin
06cd4e1b5a
trans-array.c (gfc_trans_create_temp_array): Loop over the parents.
...
* trans-array.c (gfc_trans_create_temp_array): Loop over the parents.
From-SVN: r180895
2011-11-03 23:37:24 +00:00
Mikael Morin
d6b3a0d72c
trans-array.c (get_array_ref_dim, [...]): Rename the former to the latter and loop over the parents.
...
* 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).
From-SVN: r180894
2011-11-03 23:34:53 +00:00
Mikael Morin
f49afcb009
trans-array.c (set_vector_loop_bounds): Loop over the parents.
...
* trans-array.c (set_vector_loop_bounds): Loop over the parents.
From-SVN: r180892
2011-11-03 23:28:25 +00:00
Mikael Morin
fa168d9ff4
trans-array.c (gfc_trans_array_constructor): Loop over the parents.
...
* trans-array.c (gfc_trans_array_constructor): Loop over the parents.
From-SVN: r180891
2011-11-03 23:25:34 +00:00
Mikael Morin
5125d6d5d7
trans-array.c (gfc_set_loop_bounds_from_array_spec): Loop over the parents.
...
* trans-array.c (gfc_set_loop_bounds_from_array_spec): Loop over the
parents.
From-SVN: r180890
2011-11-03 23:22:13 +00:00
Mikael Morin
2eace29ac3
trans.h (struct gfc_ss): New field parent.
...
* 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.
From-SVN: r180889
2011-11-03 23:17:08 +00:00
Mikael Morin
4164579308
trans-array.h (gfc_trans_create_temp_array): Remove loop argument.
...
* 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.
From-SVN: r180888
2011-11-03 23:06:22 +00:00
Mikael Morin
d35335e315
trans-array.c (gfc_trans_create_temp_array): New variable total_dim.
...
* 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.
From-SVN: r180887
2011-11-03 23:02:03 +00:00
Mikael Morin
6adbe65465
trans-array.c (gfc_trans_array_constructor, [...]): Rename the former to the later.
...
* 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.
From-SVN: r180886
2011-11-03 22:59:29 +00:00
Mikael Morin
84952a4e31
trans-array.c (gfc_set_vector_loop_bounds): Get loop from ss.
...
* trans-array.c (gfc_set_vector_loop_bounds): Get loop from ss.
Remove loop argument.
(gfc_add_loop_ss_code): Update call.
From-SVN: r180885
2011-11-03 22:56:12 +00:00
Mikael Morin
4615abe856
trans.h (struct gfc_ss): New field loop.
...
* 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.
From-SVN: r180884
2011-11-03 22:54:37 +00:00
Mikael Morin
c7bf4f1e64
trans.h (struct gfc_ss_info): New field refcount.
...
* 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.
From-SVN: r180883
2011-11-03 22:50:06 +00:00
Mikael Morin
f28cd38e36
trans-array.c (gfc_trans_create_temp_array): Move invariant condition out of the containing loop.
...
* trans-array.c (gfc_trans_create_temp_array): Move invariant condition
out of the containing loop.
From-SVN: r180882
2011-11-03 22:45:41 +00:00
Mikael Morin
b2028d0b94
trans-array.c (gfc_conv_loop_setup, [...]): Move specloop arrays clearing from the former to the latter.
...
* trans-array.c (gfc_conv_loop_setup, gfc_trans_create_temp_array):
Move specloop arrays clearing from the former to the latter.
From-SVN: r180881
2011-11-03 22:42:58 +00:00
Mikael Morin
1d9370e909
trans-array.c (set_loop_bounds): Separate the beginning of gfc_conv_loop_setup into a function of its own.
...
* 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.
From-SVN: r180880
2011-11-03 22:40:55 +00: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
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
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