X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Ffortran%2FChangeLog;h=ed6a4dfe2671ced09001b186ff874ebaf6aa8782;hb=d480b22c79d1fb0ee6b6fdef9281446ef6391349;hp=5e3d024b8978648b322aa660d22d531e2093e36f;hpb=46d71e62f4772d2bab9305c0cb8c48cee6ade4b3;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 5e3d024b897..ed6a4dfe267 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,693 @@ +2011-11-04 Mikael Morin + + * array.c (match_subscript): Skip whitespaces before setting locus. + * matchexp.c (match_level_1): Ditto. + +2011-11-04 Mikael Morin + + * 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. + +2011-11-04 Mikael Morin + + * 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. + +2011-11-04 Mikael Morin + + * trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Don't calculate + offset twice in generated code. + +2011-11-04 Mikael Morin + + * 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. + +2011-11-04 Mikael Morin + + * 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. + +2011-11-03 Mikael Morin + + * 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. + +2011-11-03 Mikael Morin + + * trans-array.c (gfc_trans_preloop_setup): New pointers to outer + dimension's ss and loop. Use them. + +2011-11-03 Mikael Morin + + * 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. + +2011-11-03 Mikael Morin + + * trans-array.c (constant_array_constructor_loop_size): + Handle multiple loops. + +2011-11-03 Mikael Morin + + * trans-array.c (get_rank, get_loop_upper_bound_for_array): + New functions. + (gfc_trans_array_constructor): Handle multiple loops. + +2011-11-03 Mikael Morin + + * 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. + +2011-11-03 Mikael Morin + + * 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. + +2011-11-03 Mikael Morin + + * 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. + +2011-11-03 Mikael Morin + + * trans-array.c (gfc_trans_create_temp_array): Loop over the parents. + +2011-11-03 Mikael Morin + + * 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). + +2011-11-03 Mikael Morin + + * trans.h (struct gfc_ss): New field nested_ss. + * trans-expr.c (gfc_advance_se_ss_chain): Update assertion. + +2011-11-03 Mikael Morin + + * trans-array.c (set_vector_loop_bounds): Loop over the parents. + +2011-11-03 Mikael Morin + + * trans-array.c (gfc_trans_array_constructor): Loop over the parents. + +2011-11-03 Mikael Morin + + * trans-array.c (gfc_set_loop_bounds_from_array_spec): Loop over the + parents. + +2011-11-03 Mikael Morin + + * 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. + +2011-11-03 Mikael Morin + + * 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. + +2011-11-03 Mikael Morin + + * 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. + +2011-11-03 Mikael Morin + + * 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. + +2011-11-03 Mikael Morin + + * trans-array.c (gfc_set_vector_loop_bounds): Get loop from ss. + Remove loop argument. + (gfc_add_loop_ss_code): Update call. + +2011-11-03 Mikael Morin + + * 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. + +2011-11-03 Mikael Morin + + * 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. + +2011-11-03 Mikael Morin + + * trans-array.c (gfc_trans_create_temp_array): Move invariant condition + out of the containing loop. + +2011-11-03 Mikael Morin + + * trans-array.c (gfc_conv_loop_setup, gfc_trans_create_temp_array): + Move specloop arrays clearing from the former to the latter. + +2011-11-03 Mikael Morin + + * 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. + +2011-11-03 Tobias Burnus + + PR fortran/50933 + * interface.c (gfc_compare_derived_types): Fix check for BIND(C). + +2011-11-03 Tobias Burnus + + PR fortran/50960 + * trans-decl.c (gfc_finish_var_decl): Mark PARAMETER as TREE_READONLY. + +2011-11-03 Mikael Morin + + * 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. + +2011-11-03 Mikael Morin + + * 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. + +2011-11-03 Mikael Morin + + * 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. + +2011-11-03 Mikael Morin + + * 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. + +2011-11-03 Mikael Morin + + * 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. + +2011-11-03 Mikael Morin + + * 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. + +2011-11-03 Mikael Morin + + * 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. + +2011-11-03 Mikael Morin + + * 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. + +2011-11-03 Mikael Morin + + * 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. + +2011-11-03 Mikael Morin + + * 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. + +2011-11-03 Mikael Morin + + * 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. + +2011-11-03 Mikael Morin + + * 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. + +2011-11-03 Mikael Morin + + * 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. + +2011-11-03 Mikael Morin + + * 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. + +2011-11-03 Mikael Morin + + * 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. + +2011-11-03 Mikael Morin + + * trans-array.c (gfc_trans_array_bound_check): Use ss argument + to get name. + +2011-11-03 Mikael Morin + + * 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 + +2011-11-03 Mikael Morin + + * 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. + +2011-11-03 Mikael Morin + + * trans-array.c (gfc_trans_scalarizing_loops): Stop loop before end + marker, not after it. + +2011-11-03 Mikael Morin + + * trans-array.c (gfc_conv_loop_setup): Also skip temporary arrays. + +2011-11-03 Mikael Morin + + * trans-array.c (gfc_conv_ss_startstride): Access array bounds along + array dimensions instead of loop dimensions. + +2011-11-03 Mikael Morin + + * trans-array.c (gfc_trans_preloop_setup): Assertify one condition. + +2011-11-03 Mikael Morin + + * trans-array.c (gfc_walk_array_ref): Skip coarray dimensions. + +2011-11-03 Mikael Morin + + * trans-array.c (get_array_ref_dim): Remove redundant condition. + +2011-11-03 Mikael Morin + + * trans-array.c (gfc_trans_preloop_setup): Move common code... + (add_array_offset): ...into that new function. + +2011-11-03 Mikael Morin + + * trans-array.c (gfc_trans_preloop_setup): Use loop's dimension instead + of array's dimention. Check that it is indeed the same. + +2011-11-03 Mikael Morin + + * trans-array.c (gfc_trans_preloop_setup): Remove redundant assertion. + Special case outermost loop. + +2011-11-03 Mikael Morin + + * trans-array.c (gfc_trans_preloop_setup): Factor loop index + initialization. + +2011-11-03 Mikael Morin + + * trans-array.c (gfc_trans_preloop_setup): Move code earlier. + +2011-11-03 Mikael Morin + + * trans-array.c (gfc_trans_preloop_setup): Move array reference + initialisation earlier. Factor subsequent array references. + +2011-11-02 Rainer Orth + + * Makef-lang.in (gfortranspec.o): Pass SHLIB instead of SHLIB_LINK. + +2011-10-30 Steven G. Kargl + + PR fortran/50573 + * check.c (gfc_check_dshift): Update argument checking for BOZ. + Update checking SHIFT against BITSIZE of I or J. + * intrinsic.texi: Update docs for DSHIFTL and DSHIFTR. + +2011-10-28 Steven G. Kargl + + * check.c (gfc_check_atan_2): Typo in comment. + (gfc_check_nearest): If 's' is constant, check that it is not 0. + * simplify.c (simplify_dshift, gfc_simplify_ibclr, gfc_simplify_ibits, + gfc_simplify_ibset, simplify_shift, gfc_simplify_ishftc, + gfc_simplify_nearest): Remove dead code. + +2011-10-23 Steven G. Kargl + + * simplify.c (simplify_transformation_to_array): Fix memory leak. + +2011-10-20 Steven G. Kargl + + PR fortran/50821 + * check.c (gfc_check_ishftc): Check args are constant before + extracting the integer. + +2011-10-20 Steven G. Kargl + + PR fortran/50514 + * check.c (less_than_bitsize1): Check |shift| <= bit_size(i). + (gfc_check_ishftc): Check |shift| <= bit_size(i) and check + that size is positive. + +2011-10-20 Steven G. Kargl + + PR fortran/50524 + * resolve.c (resolve_ref): Check return value of resolve_substring(). + +2011-10-20 Steven G. Kargl + + * io.c (match_dt_format): Match a user-defined operator or a kind + type prefixed string. + +2011-10-19 Janus Weil + + PR fortran/47023 + * check.c (gfc_check_sizeof): Reject procedures as argument of SIZEOF. + * intrinsinc.texi (SIZEOF): Document it. + (STORAGE_SIZE): Fix special characters. Fix line breaks. + +2011-10-18 Mikael Morin + + PR fortran/50420 + * trans.c (gfc_build_array_ref): If type is not an array, check that + there is nothing to do, and do nothing. + +2011-10-18 Mikael Morin + + PR fortran/50420 + * trans-types.c (gfc_build_array_type): Don't force lower bound to one + in the deferred case. + +2011-10-18 Mikael Morin + + PR fortran/50420 + * simplify.c (simplify_cobound): Accept non-last-in-ref-chain coarrays. + Don't set already set array ref. + +2011-10-18 Mikael Morin + + * array.c (gfc_find_array_ref): Remove coarray-specific handling. + +2011-10-18 Mikael Morin + + PR fortran/50420 + * check.c (dim_corank_check): Use gfc_get_corank to get corank. + +2011-10-18 Mikael Morin + + PR fortran/50420 + * trans-intrinsic.c (walk_coarray): Change AR_ELEMENT to AR_SECTION. + + PR fortran/50420 + * trans-intrinsic.c (walk_coarray): Use gfc_walk_array_ref for + the scalarization chain initialization. + +2011-10-18 Mikael Morin + + PR fortran/50420 + * trans-intrinsic.c (walk_coarray): Allow subreferences after a + coarray object reference. + +2011-10-18 Mikael Morin + + PR fortran/50420 + * trans-array.c (gfc_walk_array_ref): Allow zero rank arrays + if they are coarrays. + +2011-10-18 Mikael Morin + + * trans-array.h (gfc_walk_array_ref): New prototype. + * trans-array.c (gfc_walk_array_ref): New function, containing + all but the beginning of gfc_walk_variable_expr's code. + (gfc_walk_variable_expr): Use gfc_walk_array_ref. + +2011-10-18 Mikael Morin + + PR fortran/50420 + * trans-array.c (gfc_conv_expr_descriptor): Use loop.dimen instead of + ndim for the descriptor's rank. + +2011-10-18 Mikael Morin + + PR fortran/50420 + * trans-array.c (gfc_conv_expr_descriptor): Count codimensions starting + from zero, and add then the relevant offset (either ndim or loop.dimen) + depending on context. + +2011-10-18 Mikael Morin + + * trans-array.c (gfc_conv_expr_descriptor): Save some horizontal space. + +2011-10-18 Mikael Morin + + * trans-array.c (gfc_conv_expr_descriptor): Move ndim initialization + earlier. + +2011-10-18 Janus Weil + + PR fortran/47023 + * decl.c (verify_c_interop_param): Renamed to + 'gfc_verify_c_interop_param'. Add error message for polymorphic + arguments. + (verify_c_interop): Renamed to 'gfc_verify_c_interop'. Reject + polymorphic variables. + (verify_bind_c_sym): Renamed 'verify_c_interop'. + * gfortran.h (verify_c_interop,verify_c_interop_param): Renamed. + * check.c (gfc_check_sizeof): Ditto. + * resolve.c (gfc_iso_c_func_interface,resolve_fl_procedure): Ditto. + * symbol.c (verify_bind_c_derived_type): Ditto. + +2011-10-15 Tom Tromey + Dodji Seketeli + + * cpp.c (print_line, cb_define): Adjust to avoid using internals + of struct line_map. Use the public API instead. + +2011-10-17 Janus Weil + + PR fortran/47023 + PR fortran/50752 + * primary.c (match_kind_param): Avoid segfault. + +2011-10-16 Thomas Koenig + + * frontend-passes.c (current_ns): Make static. + (create_var): Note parent of newly created namespace. + (optimize_namespace): Don't wak sibling namespaces + if they are EXEC_BLOCK because this is handled... + (gfc_code_walker): ... here. Also walk ASSOCIATE lists. + +2011-10-16 Janus Weil + + PR fortran/47023 + * primary.c (match_kind_param): Detect ISO_C_BINDING kinds. + (get_kind): Pass on 'is_iso_c' flag. + (match_integer_constant,match_real_constant,match_logical_constant): + Set 'ts.is_c_interop'. + +2011-10-16 Janus Weil + + PR fortran/50547 + * resolve.c (resolve_formal_arglist): Remove unneeded error message. + Some reshuffling. + +2011-10-15 Tobias Burnus + + * gfortran.texi (Fortran 2008 status, TS 29113 status, + Further Interoperability of Fortran with C): Update implementation + status, change references from TR 29113 to TS 29113. + * intrinsic.texi (RANK): Change TR 29113 to TS 29113. + * invoke.text (-std=): Ditto, change -std=f2008tr to -std=f2008ts. + * lang.opt (std=): Ditto. + * options.c (gfc_handle_option, set_default_std_flags): Ditto and + change GFC_STD_F2008_TR to GFC_STD_F2008_TS. + * libgfortran.h: Ditto. + * intrinsic.c (add_functions, gfc_check_intrinsic_standard): Ditto. + * decl.c (verify_c_interop_param): Ditto. + +2011-10-14 Janus Weil + + PR fortran/50570 + * expr.c (gfc_check_vardef_context): Don't throw an error on + non-pointer assignments involving an intent(in) pointer dummy. + +2011-10-14 Tobias Burnus + + PR fortran/50718 + * trans-expr.c (gfc_conv_procedure_call): Fix -fcheck=pointer + for dummy arguments with VALUE attribute. + 2011-10-11 Tobias Burnus Janus Weil