diff options
Diffstat (limited to 'gcc/fortran/ChangeLog')
-rw-r--r-- | gcc/fortran/ChangeLog | 173 |
1 files changed, 172 insertions, 1 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 21a3b35e9a8..4419b21c90d 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,4 +1,175 @@ -2014-03-17 Paul Thomas <pault@gcc.gnu.org> +2015-04-10 Tobias Burnus <burnus@net-b.de> + + * trans-stmt.c (gfc_trans_lock_unlock): Implement -fcoarray=lib + version; reject not-yet-implemented variants. + * trans-types.c (gfc_get_derived_type): For lock_type with + -fcoarray=lib, use a void pointer as type. + * trans.c (gfc_allocate_using_lib, gfc_allocate_allocatable): + Handle lock_type with -fcoarray=lib. + +2015-04-10 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/56674 + PR fortran/58813 + PR fortran/59016 + PR fortran/59024 + * symbol.c (save_symbol_data, gfc_save_symbol_data): Rename the + former to the latter and make it non-static. Update callers. + * gfortran.h (gfc_save_symbol_data): New prototype. + * decl.c (gfc_match_decl_type_spec): Call 'gfc_save_symbol_data' + before modifying symbols 'sym' and 'dt_sym'. + +2013-04-09 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/56852 + * primary.c (gfc_variable_attr): Avoid ICE on AR_UNKNOWN if any + of the index variables are untyped and errors are present. + +2015-04-07 Andre Vehreschild <vehre@gmx.de> + + PR fortran/65548 + * trans-stmt.c (gfc_trans_allocate): For intrinsic functions + use conv_expr_descriptor() instead of conv_expr_reference(). + +2015-03-30 Jakub Jelinek <jakub@redhat.com> + + PR fortran/65597 + * trans-openmp.c (gfc_trans_omp_do): For !simple simd with explicit + linear clause for the iterator set OMP_CLAUSE_LINEAR_NO_COPYIN. + For implcitly added !simple OMP_CLAUSE_LINEAR set it too. Use step 1 + instead of the original step on the new iterator - count. + +2015-03-25 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/64952 + PR fortran/65532 + * gfortran.h (struct gfc_namespace): New field 'types_resolved'. + * resolve.c (resolve_types): Return early if field 'types_resolved' + is set. Set 'types_resolved' at the end. + +2015-03-24 Andre Vehreschild <vehre@gmx.de> + + PR fortran/55901 + * trans-expr.c (gfc_conv_structure): Fixed indendation. + Using integer_zero_node now instead of explicitly + constructing a integer constant zero node. + (gfc_conv_derived_to_class): Add handling of _len component, + i.e., when the rhs has a string_length then assign that to + class' _len, else assign 0. + (gfc_conv_intrinsic_to_class): Likewise. + +2015-03-24 Andre Vehreschild <vehre@gmx.de> + + PR fortran/64787 + PR fortran/57456 + PR fortran/63230 + * class.c (gfc_add_component_ref): Free no longer needed + ref-chains to prevent memory loss. + (find_intrinsic_vtab): For deferred length char arrays or + unlimited polymorphic objects, store the size in bytes of one + character in the size component of the vtab. + * gfortran.h: Added gfc_add_len_component () define. + * trans-array.c (gfc_trans_create_temp_array): Switched to new + function name for getting a class' vtab's field. + (build_class_array_ref): Likewise. + (gfc_array_init_size): Using the size information from allocate + more consequently now, i.e., the typespec of the entity to + allocate is no longer needed. This is to address the last open + comment in PR fortran/57456. + (gfc_array_allocate): Likewise. + (structure_alloc_comps): gfc_copy_class_to_class () needs to + know whether the class is unlimited polymorphic. + * trans-array.h: Changed interface of gfc_array_allocate () to + reflect the no longer needed typespec. + * trans-expr.c (gfc_find_and_cut_at_last_class_ref): New. + (gfc_reset_len): New. + (gfc_get_class_array_ref): Switch to new function name for + getting a class' vtab's field. + (gfc_copy_class_to_class): Added flag to know whether the class + to copy is unlimited polymorphic. Adding _len dependent code + then, which calls ->vptr->copy () with four arguments adding + the length information ->vptr->copy(from, to, from_len, to_cap). + (gfc_conv_procedure_call): Switch to new function name for + getting a class' vtab's field. + (alloc_scalar_allocatable_for_assignment): Use the string_length + as computed by gfc_conv_expr and not the statically backend_decl + which may be incorrect when ref-ing. + (gfc_trans_assignment_1): Use the string_length variable and + not the rse.string_length. The former has been computed more + generally. + * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Switch to new + function name for getting a class' vtab's field. + (gfc_conv_intrinsic_storage_size): Likewise. + (gfc_conv_intrinsic_transfer): Likewise. + * trans-stmt.c (gfc_trans_allocate): Restructured to evaluate + source=expr3 only once before the loop over the objects to + allocate, when the objects are not arrays. Doing correct _len + initialization and calling of vptr->copy () fixing PR 64787. + (gfc_trans_deallocate): Reseting _len to 0, preventing future + errors. + * trans.c (gfc_build_array_ref): Switch to new function name + for getting a class' vtab's field. + (gfc_add_comp_finalizer_call): Likewise. + * trans.h: Define the prototypes for the gfc_class_vtab_*_get () + and gfc_vptr_*_get () functions. + Added gfc_find_and_cut_at_last_class_ref () and + gfc_reset_len () routine prototype. Added flag to + gfc_copy_class_to_class () prototype to signal an unlimited + polymorphic entity to copy. + +2015-03-24 Iain Sandoe <iain@codesourcery.com> + Tobias Burnus <burnus@net-b.de> + + * gfortran.texi (_gfortran_caf_sync_memory): Improve wording. + +2015-03-23 Paul Thomas <pault@gcc.gnu.org> + Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/64952 + * gfortran.h (struct symbol_attribute) : New field + 'array_outer_dependency'. + * trans.h (struct gfc_ss_info): New field 'array_outer_dependency'. + * module.c (enum ab_attribute): New value AB_ARRAY_OUTER_DEPENDENCY. + (attr_bits): Append same value to initializer. + (mio_symbol_attribute): Handle 'array_outer_dependency' attr + in module read and write. + * resolve.c (update_current_proc_outer_array_dependency): New function. + (resolve_function, resolve_call): Add code to update current procedure's + 'array_outer_dependency' attribute. + (resolve_variable): Mark current procedure with attribute + array_outer_dependency if the variable is an array coming from outside + the current namespace. + (resolve_fl_procedure): Mark a procedure without body with attribute + 'array_outer_dependency'. + * trans-array.c (gfc_conv_resolve_dependencies): If any ss is + marked as 'array_outer_dependency' generate a temporary. + (gfc_walk_function_expr): If the function may reference external arrays, + mark the head gfc_ss with flag 'array_outer_dependency'. + +2015-03-22 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR libgfortran/59513 + * gfortran.texi (Read/Write after EOF marker): New information. + +2015-03-21 H.J. Lu <hongjiu.lu@intel.com> + + * gfortran.texi (_gfortran_caf_sync_memory): Put @{xxx} in one + line. + +2015-03-21 Tobias Burnus <burnus@net-b.de> + + * gfortran.texi (_gfortran_caf_sync_all, _gfortran_caf_sync_images, + _gfortran_caf_sync_memory, _gfortran_caf_error_stop, + _gfortran_caf_error_stop_str, _gfortran_caf_atomic_define, + _gfortran_caf_atomic_ref, _gfortran_caf_atomic_cas, + _gfortran_caf_atomic_op): New sections. + +2015-03-21 Tobias Burnus <burnus@net-b.de> + + * trans-expr.c (gfc_get_tree_for_caf_expr): Reject unimplemented + coindexed coarray accesses. + +2015-03-17 Paul Thomas <pault@gcc.gnu.org> PR fortran/59198 * trans-types.c (gfc_get_derived_type): If an abstract derived |