aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/fortran/ChangeLog')
-rw-r--r--gcc/fortran/ChangeLog422
1 files changed, 422 insertions, 0 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 12b348733ce..156f1d2bbc3 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,425 @@
+2019-10-27 Paul Thomas <pault@gcc.gnu.org>
+
+ Backport from mainline
+ PR fortran/86248
+ * resolve.c (flag_fn_result_spec): Correct a typo before the
+ function declaration.
+ * trans-decl.c (gfc_sym_identifier): Boost the length of 'name'
+ to allow for all variants. Simplify the code by using a pointer
+ to the symbol's proc_name and taking the return out of each of
+ the conditional branches. Allow symbols with fn_result_spec set
+ that do not come from a procedure namespace and have a module
+ name to go through the non-fn_result_spec branch.
+
+2019-10-18 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/69455
+ * trans-decl.c (generate_local_decl): Avoid misconstructed
+ intrinsic modules in a BLOCK construct.
+
+2019-09-15 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ Backport from trunk
+ PR fortran/91557
+ * trans-decl.c (generate_local_decl): Do not warn if the symbol
+ is artificial.
+ * trans-types.c (get_formal_from_actual_arglist): Set artificial
+ attribute on dummy arguments.
+
+2019-09-12 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/91686
+ Backport from mainline
+ * trans-expr.c (gfc_trans_assignment_1): Copy and paste section
+ handling the rse.pre block from mainline.
+
+2019-08-30 Jakub Jelinek <jakub@redhat.com>
+
+ Backported from mainline
+ 2019-05-30 Jakub Jelinek <jakub@redhat.com>
+
+ * lang.opt (ftail-call-workaround=): Fix a typo - lenghts to lengths.
+
+ 2019-05-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/90329
+ * lang.opt (fbroken-callers): Remove.
+ (ftail-call-workaround, ftail-call-workaround=): New options.
+ * gfortran.h (struct gfc_namespace): Add implicit_interface_calls.
+ * interface.c (gfc_procedure_use): Set implicit_interface_calls
+ for calls to implicit interface procedures.
+ * trans-decl.c (create_function_arglist): Use flag_tail_call_workaround
+ instead of flag_broken_callers. If it is not 2, also require
+ sym->ns->implicit_interface_calls.
+ * invoke.texi (fbroken-callers): Remove documentation.
+ (ftail-call-workaround, ftail-call-workaround=): Document.
+
+ 2019-05-19 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/90329
+ * invoke.texi: Document -fbroken-callers.
+ * lang.opt: Add -fbroken-callers.
+ * trans-decl.c (create_function_arglist): Only set
+ DECL_HIDDEN_STRING_LENGTH if flag_broken_callers is set.
+
+ 2019-05-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/90329
+ * trans-decl.c (create_function_arglist): Set
+ DECL_HIDDEN_STRING_LENGTH on hidden string length PARM_DECLs if
+ len is constant.
+
+ 2019-03-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/89651
+ * trans-openmp.c (gfc_omp_clause_default_ctor): Set TREE_NO_WARNING
+ on decl if adding COND_EXPR for allocatable.
+ (gfc_omp_clause_copy_ctor): Set TREE_NO_WARNING on dest.
+
+ 2019-02-01 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/83246
+ PR fortran/89084
+ * trans-decl.c (generate_local_decl): Add referenced FL_PARAMETERs
+ if sym->ns->construct_entities rather than if
+ sym->ns->parent->code->op == EXEC_BLOCK.
+
+ 2019-01-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/88902
+ * trans-decl.c (gfc_get_symbol_decl): Don't add length to function
+ or parent function if it has been added there already.
+
+ 2018-12-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/88377
+ * trans-openmp.c (gfc_omp_clause_default_ctor,
+ gfc_omp_clause_copy_ctor, gfc_omp_clause_assign_op,
+ gfc_omp_clause_linear_ctor, gfc_omp_clause_dtor): Only consider
+ GFC_DECL_GET_SCALAR_ALLOCATABLE vars as scalar allocatables if they
+ have pointer type.
+
+ 2018-10-25 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/87725
+ * openmp.c (gfc_match_omp_clauses): Parse simd, monotonic and
+ nonmonotonic modifiers regardless of if they have been parsed
+ already or if the opposite one has. Fix up check whether
+ comma after modifier should be parsed.
+ (resolve_omp_clauses): Diagnose schedule modifier restrictions.
+
+2019-08-03 Thomas Koenig <tkoenig@gcc.gnu.org>
+ Paul Thomas <pault@gcc.gnu.org>
+
+ Backport from trunk
+ PR fortran/90786
+ PR fortran/90813
+ * trans-expr.c (pointer_assignment_is_proc_pointer) Remove as
+ it is very simple and only called from one place.
+ (gfc_trans_pointer_assignment): Rename non_proc_pointer_assign
+ as non_proc_ptr_assign. Assign to it directly, rather than call
+ to above, deleted function and use gfc_expr_attr instead of
+ only checking the reference chain.
+ * trans-decl.c (sym_identifier): New function.
+ (mangled_identifier): New function, doing most of the work
+ of gfc_sym_mangled_identifier.
+ (gfc_sym_mangled_identifier): Use mangled_identifier. Add mangled
+ identifier to global symbol table.
+ (get_proc_pointer_decl): Use backend decl from global identifier
+ if present.
+
+2019-06-21 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ Backport from trunk
+ PR fortran/90937
+ * trans-types.c (get_formal_from_actual_arglist): Get symbol from
+ current namespace so it will be freed later. If symbol is of type
+ character, get an empty character length.
+
+2019-06-12 Thomas Koenig <tkoenig@gcc.gnu.org>
+ Tomáš Trnka <trnka@scm.com>
+
+ Backport from trunk
+ PR fortran/90744
+ * trans-types.c (get_formal_from_actual_arglist): Unset typespec
+ flags which make no sense for procedures without explicit
+ interface.
+
+2019-05-05 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/90344
+ * frontend-passes.c (create_var): Bring into sync with gcc 8.
+
+2019-04-14 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/87352
+ Backport from trunk
+ * gfortran.h (gfc_component): Add finalized field.
+ * class.c (finalize_component): If the component is already
+ finalized, return early. Set component->finalized on exit.
+
+2019-04-10 Harald Anlauf <anlauf@gmx.de>
+
+ Backport from trunk
+ PR fortran/89904
+ * check.c (gfc_check_transfer): Reject procedures as actual
+ arguments for SOURCE and MOLD of TRANSFER intrinsic.
+
+2019-03-31 Harald Anlauf <anlauf@gmx.de>
+
+ Backport from trunk
+ PR fortran/83515
+ PR fortran/85797
+ * trans-types.c (gfc_typenode_for_spec): Handle conversion for
+ procedure pointers.
+ * target-memory.c (gfc_element_size): Handle size determination
+ for procedure pointers.
+
+2019-03-25 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/71861
+ Backport from trunk
+ * symbol.c (check_conflict): ABSTRACT attribute conflicts with
+ INTRINSIC attribute.
+
+2019-03-23 Thomas Koenig <tkoeng@gcc.gnu.org>
+
+ PR fortran/68009
+ Backport from trunk
+ * iresolve.c: Include trans.h.
+ (gfc_resolve_fe_runtine_error): Set backend_decl on
+ resolved_sym.
+
+2019-03-17 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/84394
+ Backport from trunk
+ * symbol.c (gfc_add_subroutine): If we are encountering a
+ subrtoutine within a BLOCK DATA and the name starts with an
+ underscore, do not check.
+
+2019-03-16 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/66089
+ Backport from trunk
+ * trans-array.c (gfc_scalar_elemental_arg_saved_as_reference):
+ Return false if a scalar tempoary is needed.
+ (gfc_walk_variable_expr): Fix up class refs.
+
+2019-03-16 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/66695
+ PR fortran/77746
+ PR fortran/79485
+ Backport from trunk
+ * gfortran.h (gfc_symbol): Add bind_c component.
+ (gfc_get_gsymbol): Add argument bind_c.
+ * decl.c (add_global_entry): Add bind_c argument to
+ gfc_get_symbol.
+ * parse.c (parse_block_data): Likewise.
+ (parse_module): Likewise.
+ (add_global_procedure): Likewise.
+ (add_global_program): Likewise.
+ * resolve.c (resolve_common_blocks): Likewise.
+ (resolve_global_procedure): Likewise.
+ (gfc_verify_binding_labels): Likewise.
+ * symbol.c (gfc_get_gsymbol): Add argument bind_c. Set bind_c
+ in gsym.
+ * trans-decl.c (gfc_get_module_backend_decl): Add bind_c argument
+ to gfc_get_symbol.
+ (gfc_get_extern_function_decl): If the sym has a binding label
+ and it cannot be found in the global symbol tabel, it is the wrong
+ one and vice versa.
+
+2019-03-13 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/87673
+ Backport from trunk
+ * match.c (gfc_match_type_spec): Remove call to
+ gfc_resolve_expr for character length.
+
+2019-03-10 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/71544
+ Backport from trunk
+ * trans-types.c (gfc_typenode_for_spec) Set ts->is_c_interop of
+ C_PTR and C_FUNPTR.
+ (create_fn_spec): Mark argument as escaping if ts->is_c_interop is set.
+
+2019-03-10 Thomas Koenig <tkoenig@gcc.gnu.org>
+ Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/87734
+ Backort from trunk
+ * symbol.c (gfc_add_procedure): Only throw an error if the
+ procedure has not been declared either PUBLIC or PRIVATE.
+ * resolve.c (is_illegal_recursion): Remove an assert().
+
+2019-03-06 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/72714
+ Backport from trunk
+ * resolve.c (resolve_allocate_expr): Add some tests for coarrays.
+
+2019-03-03 Harald Anlauf <anlauf@gmx.de>
+ Steven G. Kargl <kargl@gcc.gnu.org>
+
+ Backport from trunk
+ PR fortran/77583
+ * symbol.c (check_conflict): Check for valid procedure name
+ passed to error reporting routine.
+
+2019-03-03 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/87689
+ Backport from trunk
+ * trans-decl.c (gfc_get_extern_function_decl): Add argument
+ actual_args and pass it through to gfc_get_function_type.
+ * trans-expr.c (conv_function_val): Add argument actual_args
+ and pass it on to gfc_get_extern_function_decl.
+ (conv_procedure_call): Pass actual arguments to conv_function_val.
+ * trans-types.c (get_formal_from_actual_arglist): New function.
+ (gfc_get_function_type): Add argument actual_args. Generate
+ formal args from actual args if necessary.
+ * trans-types.h (gfc_get_function_type): Add optional argument.
+ * trans.h (gfc_get_extern_function_decl): Add optional argument.
+
+2019-02-23 Paul Thomas <pault@gcc.gnu.org>
+
+ Backport from trunk
+ PR fortran/88117
+ * resolve.c (deferred_op_assign): Return if the lhs expression
+ has the pointer attribute.
+
+2019-02-23 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/71066
+ Backport from trunk
+ * trans-decl.c (generate_coarray_sym_init): For an array
+ constructor in a DATA statement of a coarray variable, set the
+ rank to 1 to avoid confusion later on. If the constructor
+ contains only one value, use that for initiailizig.
+
+2019-02-10 Harald Anlauf <anlauf@gmx.de>
+
+ Backport from trunk
+ PR fortran/89077
+ * decl.c (add_init_expr_to_sym): Copy length of string initializer
+ to declared symbol.
+
+2019-02-10 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/71723
+ Backport from trunk
+ * expr.c (gfc_check_assign): Add argument is_init_expr. If we are
+ looking at an init expression, issue error if the target is not a
+ TARGET and we are not looking at a procedure pointer.
+ * gfortran.h (gfc_check_assign): Add optional argument
+ is_init_expr.
+
+2019-02-05 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/67679
+ Backport from trunk
+ * trans-array.c (gfc_array_allocate): For setting the bounds on
+ the new array, add a condition for a not previously allocated
+ variable.
+
+2019-02-03 Paul Thomas <pault@gcc.gnu.org>
+
+ Backport from trunk
+ PR fortran/88393
+ * trans-expr.c (gfc_conv_procedure_call): For derived entities,
+ passed in parentheses to class formals, invert the order of
+ copying allocatable components to taking the _data of the
+ class expression.
+
+2019-02-02 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/88298
+ Backport from trunk
+ * arith.c (gfc_int2int): Do not warn if src->do_not_warn is set.
+ * gfortran.h (gfc_expr): Add flag do_not_warn.
+ * intrinsic.c (gfc_convert_type_warn): Set expr->do_not_warn if
+ no warning is desired.
+
+2019-02-02 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/57048
+ Backport from trunk
+ * interface.c (gfc_compare_types): If a derived type and an
+ integer both have a derived type, and they are identical,
+ this is a C binding type and compares equal.
+
+2019-01-27 Paul Thomas <pault@gcc.gnu.org>
+
+ Backport from trunk
+ PR fortran/56386
+ PR fortran/58906
+ PR fortran/77385
+ PR fortran/80260
+ PR fortran/82077
+ * resolve.c (resolve_variable): Fix up expressions with array
+ associate names, where the parser did not detect that this is
+ array and there was no array part_ref in the expression.
+ * trans-expr.c (gfc_find_and_cut_at_last_class_ref): base_expr
+ should be a copy of e and not the initialization expr.
+
+2019-01-15 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/81849
+ * resolve.c (resolve_symbol): Host associated varaibles can appear
+ in the specification statement of a RESULT array.
+
+2019-01-11 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/35031
+ * decl.c (gfc_match_entry): Check for F2018:C1546. Fix nearby
+ mis-indentation.
+
+2018-12-29 Paul Thomas <pault@gcc.gnu.org>
+
+ Backport from trunk
+ PR fortran/82550
+ * trans_decl.c (gfc_get_symbol_decl): Procedure symbols that
+ have the 'used_in_submodule' attribute should be processed by
+ 'gfc_get_extern_function_decl'.
+
+2018-12-23 Paul Thomas <pault@gcc.gnu.org>
+
+ Backport from trunk
+ PR fortran/77703
+ * resolve.c (get_temp_from_expr): Use the string length of
+ constant character expressions.
+
+2018-12-22 Steven G . Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/85798
+ * decl.c (gfc_match_data): If a component of a derived type entity
+ appears in data statement, check that does not have the allocatable
+ attribute.
+
+2018-12-22 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ Backport from trunk
+ PR fortran/85544
+ * frontend-passes.c (optimize_power): Remove.
+ (optimize_op): Remove call to optimize_power.
+ * trans-expr.c (gfc_conv_power_op): Handle cases of 1**integer,
+ (2|4|8|16) ** integer and (-1) ** integer.
+
+2018-12-21 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/88169
+ * module.c (mio_namelist): Remove an error condition/message that
+ is contrary to the Fortran standard.
+
+2018-12-15 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/88138
+ * decl.c (variable_decl): Check that a derived isn't being assigned
+ an incompatible entity in an initialization.
+
2018-12-11 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/88155