6e92696278
2021-01-01 Jakub Jelinek <jakub@redhat.com> gcc/ * ChangeLog-2020: Rotate ChangeLog. New file. gcc/ada/ * ChangeLog-2020: Rotate ChangeLog. New file. gcc/cp/ * ChangeLog-2020: Rotate ChangeLog. New file. gcc/d/ * ChangeLog-2020: Rotate ChangeLog. New file. gcc/fortran/ * ChangeLog-2020: Rotate ChangeLog. New file. gcc/testsuite/ * ChangeLog-2020: Rotate ChangeLog. New file. libgfortran/ * ChangeLog-2020: Rotate ChangeLog. New file. libstdc++-v3/ * ChangeLog-2020: Rotate ChangeLog. New file.
2383 lines
82 KiB
Plaintext
2383 lines
82 KiB
Plaintext
2020-12-29 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/97612
|
||
* primary.c (build_actual_constructor): Missing allocatable
|
||
components are set unallocated using EXPR_NULL. Then missing
|
||
components are tested for a default initializer.
|
||
|
||
2020-12-29 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/93833
|
||
* trans-array.c (get_array_ctor_var_strlen): If the character
|
||
length backend_decl cannot be found, convert the expression and
|
||
use the string length. Clear up some minor white space issues
|
||
in the rest of the file.
|
||
|
||
2020-12-27 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/97694
|
||
PR fortran/97723
|
||
* check.c (allocatable_check): Select rank temporaries are
|
||
permitted even though they are treated as associate variables.
|
||
* resolve.c (gfc_resolve_code): Break on select rank as well as
|
||
select type so that the block os resolved.
|
||
* trans-stmt.c (trans_associate_var): Class associate variables
|
||
that are optional dummies must use the backend_decl.
|
||
|
||
2020-12-26 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/98022
|
||
* data.c (gfc_assign_data_value): Throw an error for inquiry
|
||
references. Follow with corrected code that would provide the
|
||
expected result and provides clean error recovery.
|
||
|
||
2020-12-26 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/83118
|
||
* trans-array.c (gfc_alloc_allocatable_for_assignment): Make
|
||
sure that class expressions are captured for dummy arguments by
|
||
use of gfc_get_class_from_gfc_expr otherwise the wrong vptr is
|
||
used.
|
||
* trans-expr.c (gfc_get_class_from_gfc_expr): New function.
|
||
(gfc_get_class_from_expr): If a constant expression is
|
||
encountered, return NULL_TREE;
|
||
(gfc_trans_assignment_1): Deallocate rhs allocatable components
|
||
after passing derived type function results to class lhs.
|
||
* trans.h : Add prototype for gfc_get_class_from_gfc_expr.
|
||
|
||
2020-12-25 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
* data.c (gfc_assign_data_value): Restrict use of
|
||
create_character_initializer to constant initializers.
|
||
* trans-expr.c (gfc_conv_initializer): Ensure that character
|
||
initializer is constant, otherwise fall through to get the same
|
||
error handling as for non-character cases.
|
||
|
||
2020-12-20 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||
|
||
* trans.c (create_var_debug_raw): Set DECL_ARTIFICIAL
|
||
on variables.
|
||
|
||
2020-12-18 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/83118
|
||
PR fortran/96012
|
||
* resolve.c (resolve_ordinary_assign): Generate a vtable if
|
||
necessary for scalar non-polymorphic rhs's to unlimited lhs's.
|
||
* trans-array.c (get_class_info_from_ss): New function.
|
||
(gfc_trans_allocate_array_storage): Defer obtaining class
|
||
element type until all sources of class exprs are tried. Use
|
||
class API rather than TREE_OPERAND. Look for class expressions
|
||
in ss->info by calling get_class_info_from_ss. After, obtain
|
||
the element size for class descriptors. Where the element type
|
||
is unknown, cast the data as character(len=size) to overcome
|
||
unlimited polymorphic problems.
|
||
(gfc_conv_ss_descriptor): Do not fix class variable refs.
|
||
(build_class_array_ref, structure_alloc_comps): Replace code
|
||
replicating the new function gfc_resize_class_size_with_len.
|
||
(gfc_alloc_allocatable_for_assignment): Obtain element size
|
||
for lhs in cases of deferred characters and class enitities.
|
||
Move code for the element size of rhs to start of block. Clean
|
||
up extraction of class parameters throughout this function.
|
||
After the shape check test whether or not the lhs and rhs
|
||
element sizes are the same. Use earlier evaluation of
|
||
'cond_null'. Reallocation of lhs only to happen if size changes
|
||
or element size changes.
|
||
* trans-expr.c (gfc_resize_class_size_with_len): New function.
|
||
(gfc_get_class_from_expr): If a constant expression is
|
||
encountered, return NULL_TREE;
|
||
(trans_scalar_class_assign): New function.
|
||
(gfc_conv_procedure_call): Ensure the vtable is present for
|
||
passing a non-class actual to an unlimited formal.
|
||
(trans_class_vptr_len_assignment): For expressions of type
|
||
BT_CLASS, extract the class expression if necessary. Use a
|
||
statement block outside the loop body. Ensure that 'rhs' is
|
||
of the correct type. Obtain rhs vptr in all circumstances.
|
||
(gfc_trans_scalar_assign): Call trans_scalar_class_assign to
|
||
make maximum use of the vptr copy in place of assignment.
|
||
(trans_class_assignment): Actually do reallocation if needed.
|
||
(gfc_trans_assignment_1): Simplify some of the logic with
|
||
'realloc_flag'. Set 'vptr_copy' for all array assignments to
|
||
unlimited polymorphic lhs.
|
||
* trans.c (gfc_build_array_ref): Call gfc_resize_class_size_
|
||
with_len to correct span for unlimited polymorphic decls.
|
||
* trans.h : Add prototype for gfc_resize_class_size_with_len.
|
||
|
||
2020-12-17 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/92587
|
||
* match.c (gfc_match_assignment): Move gfc_find_vtab call from here ...
|
||
* resolve.c (gfc_resolve_code): ... to here.
|
||
|
||
2020-12-17 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/98307
|
||
* trans-stmt.c (check_forall_dependencies): Extend dependency
|
||
check to allocatable components of derived types.
|
||
|
||
2020-12-16 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/98284
|
||
* resolve.c (check_data_variable): Reject DATA elements with the
|
||
ALLOCATABLE attribute.
|
||
|
||
2020-12-15 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||
|
||
PR fortran/90207
|
||
* invoke.texi: Document -fdebug-aux-vars.
|
||
* lang.opt: Add -fdebug-aux-vars.
|
||
* trans.c (MAX_PREFIX_LEN): New macro.
|
||
(create_var_debug_raw): New function.
|
||
(gfc_create_var_np): Call create_var_debug_raw if
|
||
flag_debug_aux_vars is set.
|
||
|
||
2020-12-13 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||
|
||
* dump-parse-tree.c (show_array_ref): Also show coarrays.
|
||
(debug): Implement for array reference.
|
||
|
||
2020-12-12 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/98022
|
||
* data.c (gfc_assign_data_value): Handle inquiry references in
|
||
the data statement object list.
|
||
|
||
2020-12-08 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* dump-parse-tree.c (show_omp_clauses, show_omp_node,
|
||
show_code_node): Handle OMP SCAN.
|
||
* gfortran.h (enum gfc_statement): Add ST_OMP_SCAN.
|
||
(enum): Add OMP_LIST_SCAN_IN and OMP_LIST_SCAN_EX.
|
||
(enum gfc_exec_op): Add EXEC_OMP_SCAN.
|
||
* match.h (gfc_match_omp_scan): New prototype.
|
||
* openmp.c (gfc_match_omp_scan): New.
|
||
(gfc_match_omp_taskgroup): Cleanup.
|
||
(resolve_omp_clauses, gfc_resolve_omp_do_blocks,
|
||
omp_code_to_statement, gfc_resolve_omp_directive): Handle 'omp scan'.
|
||
* parse.c (decode_omp_directive, next_statement,
|
||
gfc_ascii_statement): Likewise.
|
||
* resolve.c (gfc_resolve_code): Handle EXEC_OMP_SCAN.
|
||
* st.c (gfc_free_statement): Likewise.
|
||
* trans-openmp.c (gfc_trans_omp_clauses, gfc_trans_omp_do,
|
||
gfc_split_omp_clauses): Handle 'omp scan'.
|
||
|
||
2020-12-05 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/98016
|
||
* resolve.c (resolve_symbol): Set formal_arg_flag before
|
||
resolving an array spec and restore value afterwards.
|
||
|
||
2020-12-03 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/95342
|
||
* decl.c (gfc_match_function_decl): Avoid NULL pointer dereference.
|
||
(gfc_match_subroutine): Likewise.
|
||
|
||
2020-11-30 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/98011
|
||
* scanner.c (skip_free_comments, skip_fixed_comments): If only
|
||
-fopenacc but not -fopenmp is used, ignore OpenMP's conditional
|
||
compilation sentinels. Fix indentation, use 'else if' for readability.
|
||
|
||
2020-11-30 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/98010
|
||
PR fortran/98013
|
||
* options.c (gfc_post_options): Also imply recursive with
|
||
-fopenacc.
|
||
* trans-decl.c (gfc_generate_function_code): Simplify condition.
|
||
|
||
2020-11-30 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* dump-parse-tree.c (show_expr): Use '==' not '=' for '.eq.'.
|
||
|
||
2020-11-29 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
* expr.c (simplify_parameter_variable): Fix up character length
|
||
after copying an array-valued expression.
|
||
|
||
2020-11-28 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||
|
||
PR fortran/97454
|
||
* trans-decl.c (gfc_get_extern_function_decl): Add argument
|
||
fnspec.
|
||
* trans-intrinsic.c (MAX_SPEC_ARG): Define.
|
||
(intrinsic_fnspec): New function.
|
||
(ADD_CHAR): Define.
|
||
(specific_intrinsic_symbol): Adjust comment. Pass
|
||
fn spec to gfc_get_extern_function_decl.
|
||
(gfc_conv_intrinsic_funcall): Add ANY, ALL, NORM2, PRODUCT
|
||
and SUM intrnisic. Add FIXME for cshift et al.
|
||
* trans-types.c (gfc_get_function_type): Add fnspec argument,
|
||
handle it.
|
||
* trans-types.h (gfc_get_function_type): Add optinal fnspec
|
||
argument.
|
||
* trans.h (gfc_get_extern_function_decl): Likewise.
|
||
|
||
2020-11-25 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/85796
|
||
* resolve.c (traverse_data_list): Fix copy&paste errors; catch
|
||
step=0 in implied do loop.
|
||
|
||
2020-11-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR other/97911
|
||
* Make-lang.in (fortran.serial): Change from goal to a variable.
|
||
(.PHONY): Drop fortran.serial and fortran.prev.
|
||
(f951$(exeext)): Depend on $(fortran.serial) rather than
|
||
fortran.serial.
|
||
|
||
2020-11-18 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* Make-lang.in (fortran.serial): New goal.
|
||
(.PHONY): Add fortran.serial fortran.prev.
|
||
(f951$(exeext)): Depend on fortran.prev. Call LINK_PROGRESS.
|
||
|
||
2020-11-17 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
* gfortran.texi: Fix description of GFC_RTCHECK_* to match actual
|
||
code.
|
||
|
||
2020-11-16 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
* trans-intrinsic.c (gfc_conv_intrinsic_size): Generate runtime
|
||
checking code for status of argument.
|
||
|
||
2020-11-13 Gergö Barany <gergo@codesourcery.com>
|
||
Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* lang.opt (fopenacc-kernels): Add.
|
||
|
||
2020-11-12 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* f95-lang.c (ATTR_ALLOC_WARN_UNUSED_RESULT_SIZE_2_NOTHROW_LIST):
|
||
Define.
|
||
(gfc_init_builtin_functions): Add alloc_size and warn_unused_result
|
||
attributes to __builtin_GOMP_alloc.
|
||
* types.def (BT_PTRMODE): New primitive type.
|
||
(BT_FN_VOID_PTR_PTRMODE, BT_FN_PTR_SIZE_SIZE_PTRMODE): New function
|
||
types.
|
||
|
||
2020-11-12 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/97782
|
||
* trans-openmp.c (gfc_trans_oacc_construct, gfc_trans_omp_parallel_do,
|
||
gfc_trans_omp_parallel_do_simd, gfc_trans_omp_parallel_sections,
|
||
gfc_trans_omp_parallel_workshare, gfc_trans_omp_sections
|
||
gfc_trans_omp_single, gfc_trans_omp_task, gfc_trans_omp_teams
|
||
gfc_trans_omp_target, gfc_trans_omp_target_data,
|
||
gfc_trans_omp_workshare): Use code->loc instead of input_location
|
||
when building the OMP_/OACC_ construct.
|
||
|
||
2020-11-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR fortran/97768
|
||
* misc.c (gfc_typename): Use ex->value.character.length only if
|
||
ex->expr_type == EXPR_CONSTANT. If ex->ts.deferred, print : instead
|
||
of length. If ex->ts.u.cl && ex->ts.u.cl->length == NULL, print *
|
||
instead of length. Otherwise if character length is non-constant,
|
||
print just CHARACTER or CHARACTER(KIND=N).
|
||
|
||
2020-11-10 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* dump-parse-tree.c (show_omp_clauses): Handle new reduction enums.
|
||
* gfortran.h (OMP_LIST_REDUCTION_INSCAN, OMP_LIST_REDUCTION_TASK,
|
||
OMP_LIST_IN_REDUCTION, OMP_LIST_TASK_REDUCTION): Add enums.
|
||
* openmp.c (enum omp_mask1): Add OMP_CLAUSE_IN_REDUCTION
|
||
and OMP_CLAUSE_TASK_REDUCTION.
|
||
(gfc_match_omp_clause_reduction): Extend reduction handling;
|
||
moved from ...
|
||
(gfc_match_omp_clauses): ... here. Add calls to it.
|
||
(OMP_TASK_CLAUSES, OMP_TARGET_CLAUSES, OMP_TASKLOOP_CLAUSES):
|
||
Add OMP_CLAUSE_IN_REDUCTION.
|
||
(gfc_match_omp_taskgroup): Add task_reduction matching.
|
||
(resolve_omp_clauses): Update for new reduction clause changes;
|
||
remove removed nonmonotonic-schedule restrictions.
|
||
(gfc_resolve_omp_parallel_blocks): Add new enums to switch.
|
||
* trans-openmp.c (gfc_omp_clause_default_ctor,
|
||
gfc_trans_omp_reduction_list, gfc_trans_omp_clauses,
|
||
gfc_split_omp_clauses): Handle updated reduction clause.
|
||
|
||
2020-11-10 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/95847
|
||
* trans-decl.c (gfc_get_symbol_decl): Do not (re)set the location
|
||
of an external procedure.
|
||
(build_entry_thunks, generate_coarray_init, create_main_function,
|
||
gfc_generate_function_code): Use fndecl's location in BIND_EXPR.
|
||
|
||
2020-11-09 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/90111
|
||
* parse.c (case_decl): Move ST_OACC_ROUTINE and ST_OACC_DECLARE to ...
|
||
(case_omp_decl): ... here.
|
||
(verify_st_order): Update comment.
|
||
|
||
2020-11-06 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* openmp.c (oacc_is_parallel, resolve_oacc_params_in_parallel):
|
||
Remove.
|
||
(resolve_oacc_loop_blocks): Don't call the former.
|
||
|
||
2020-11-06 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* openmp.c (gfc_match_oacc_atomic): No longer accept 'update capture'.
|
||
|
||
2020-11-06 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/97652
|
||
* module.c (mio_symbol): Fix symbol name for pdt_type.
|
||
|
||
2020-11-03 Nathan Sidwell <nathan@acm.org>
|
||
|
||
* cpp.c (gfc_cpp_add_dep): Only add dependency if we're recording
|
||
them.
|
||
(gfc_cpp_init): Likewise for target.
|
||
|
||
2020-11-03 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* decl.c (ext_attr_list): Add EXT_ATTR_DEPRECATED.
|
||
* gfortran.h (ext_attr_id_t): Ditto.
|
||
* gfortran.texi (GCC$ ATTRIBUTES): Document it.
|
||
* resolve.c (resolve_variable, resolve_function,
|
||
resolve_call, resolve_values): Show -Wdeprecated-declarations warning.
|
||
* trans-decl.c (add_attributes_to_decl): Skip those
|
||
with no middle_end_name.
|
||
|
||
2020-11-03 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
PR fortran/92793
|
||
* trans-openmp.c (gfc_trans_omp_clauses): More precise location
|
||
information for OpenACC 'gang', 'worker', 'vector' clauses with
|
||
argument.
|
||
|
||
2020-11-02 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
PR fortran/92793
|
||
* trans.c (gfc_set_backend_locus): Use 'gfc_get_location'.
|
||
(gfc_restore_backend_locus): Adjust.
|
||
|
||
2020-11-02 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/97655
|
||
* openmp.c (gfc_match_omp_atomic): Fix mem-order handling;
|
||
reject specifying update + capture together.
|
||
|
||
2020-10-30 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* dump-parse-tree.c (show_omp_clauses): Handle atomic clauses.
|
||
(show_omp_node): Call it for atomic.
|
||
* gfortran.h (enum gfc_omp_atomic_op): Add GFC_OMP_ATOMIC_UNSET,
|
||
remove GFC_OMP_ATOMIC_SEQ_CST and GFC_OMP_ATOMIC_ACQ_REL.
|
||
(enum gfc_omp_memorder): Replace OMP_MEMORDER_LAST by
|
||
OMP_MEMORDER_UNSET, add OMP_MEMORDER_SEQ_CST/OMP_MEMORDER_RELAXED.
|
||
(gfc_omp_clauses): Add capture and atomic_op.
|
||
(gfc_code): remove omp_atomic.
|
||
* openmp.c (enum omp_mask1): Add atomic, capture, memorder clauses.
|
||
(gfc_match_omp_clauses): Match them.
|
||
(OMP_ATOMIC_CLAUSES): Add.
|
||
(gfc_match_omp_flush): Update for 'last' to 'unset' change.
|
||
(gfc_match_omp_oacc_atomic): Removed and placed content ..
|
||
(gfc_match_omp_atomic): ... here. Update for OpenMP 5 clauses.
|
||
(gfc_match_oacc_atomic): Match directly here.
|
||
(resolve_omp_atomic, gfc_resolve_omp_directive): Update.
|
||
* parse.c (parse_omp_oacc_atomic): Update for struct gfc_code changes.
|
||
* resolve.c (gfc_resolve_blocks): Update assert.
|
||
* st.c (gfc_free_statement): Also call for EXEC_O{ACC,MP}_ATOMIC.
|
||
* trans-openmp.c (gfc_trans_omp_atomic): Update.
|
||
(gfc_trans_omp_flush): Update for 'last' to 'unset' change.
|
||
|
||
2020-10-30 Jan Hubicka <jh@suse.cz>
|
||
|
||
* trans-types.c: Include alias.h
|
||
(gfc_get_array_type_bounds): Set typeless storage.
|
||
|
||
2020-10-27 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
* resolve.c (gfc_impure_variable): A dummy argument with the VALUE
|
||
attribute may be redefined without making a procedure impure.
|
||
|
||
2020-10-27 Richard Biener <rguenther@suse.de>
|
||
|
||
* trans-array.c (gfc_get_descriptor_field): New helper.
|
||
(gfc_conv_descriptor_data_get): Use it - drop strange
|
||
REFERENCE_TYPE handling and make sure we don't trigger it.
|
||
(gfc_conv_descriptor_data_addr): Use gfc_get_descriptor_field.
|
||
(gfc_conv_descriptor_data_set): Likewise.
|
||
(gfc_conv_descriptor_offset): Likewise.
|
||
(gfc_conv_descriptor_dtype): Likewise.
|
||
(gfc_conv_descriptor_span): Likewise.
|
||
(gfc_get_descriptor_dimension): Likewise.
|
||
(gfc_conv_descriptor_token): Likewise.
|
||
(gfc_conv_descriptor_subfield): New helper.
|
||
(gfc_conv_descriptor_stride): Use it.
|
||
(gfc_conv_descriptor_lbound): Likewise.
|
||
(gfc_conv_descriptor_ubound): Likewise.
|
||
|
||
2020-10-25 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||
|
||
PR fortran/97454
|
||
* gfortran.h (gfc_symbol): Add pass_as_value flag.
|
||
(gfc_copy_formal_args_intr): Add optional argument
|
||
copy_type.
|
||
(gfc_get_intrinsic_function_symbol): Add prototype.
|
||
(gfc_find_intrinsic_symbol): Add prototype.
|
||
* intrinsic.c (gfc_get_intrinsic_function_symbol): New function.
|
||
(gfc_find_intrinsic_symbol): New function.
|
||
* symbol.c (gfc_copy_formal_args_intr): Add argument. Handle case
|
||
where the type needs to be copied from the actual argument.
|
||
* trans-intrinsic.c (remove_empty_actual_arguments): New function.
|
||
(specific_intrinsic_symbol): New function.
|
||
(gfc_conv_intrinsic_funcall): Use it.
|
||
(strip_kind_from_actual): Adjust so that the expression pointer
|
||
is set to NULL.
|
||
(gfc_conv_intrinsic_minmaxloc): Likewise.
|
||
(gfc_conv_intrinsic_minmaxval): Adjust removal of dim.
|
||
* trans-types.c (gfc_sym_type): If sym->pass_as_value is set, do
|
||
not pass by reference.
|
||
|
||
2020-10-22 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* gfortran.h (enum gfc_omp_memorder): Add.
|
||
(gfc_omp_clauses): Use it.
|
||
* openmp.c (gfc_match_omp_flush): Match memorder clauses.
|
||
* trans-openmp.c (gfc_trans_omp_flush): Handle them.
|
||
(gfc_trans_omp_directive): Update call.
|
||
|
||
2020-10-21 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/45516
|
||
* class.c: Add _deallocate to the vtable documentation
|
||
comment.
|
||
|
||
2020-10-16 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/95979
|
||
* expr.c (gfc_check_init_expr): Fix check of return code from
|
||
gfc_intrinsic_func_interface.
|
||
* intrinsic.c (gfc_intrinsic_func_interface): Add further attempt
|
||
of simplification of elemental intrinsics with array arguments.
|
||
* iresolve.c (gfc_resolve_index_func): Keep optional KIND argument
|
||
for simplification of elemental use of INDEX.
|
||
|
||
2020-10-15 Andre Vehreschild <vehre@gcc.gnu.org>
|
||
|
||
* trans-decl.c (gfc_build_builtin_function_decls): Fix the coarray fndecls.
|
||
|
||
2020-10-14 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/97390
|
||
* scanner.c (load_line): Fix line-truncation warning for !$acc
|
||
and !gcc$ in free-form source code.
|
||
|
||
2020-10-14 Steven G. Kargl <kargl@gcc.gnu.org>
|
||
Mark Eggleston <markeggleston@gcc.gnu.org>
|
||
|
||
PR fortran/95614
|
||
* decl.c (gfc_get_common): Use gfc_match_common_name instead
|
||
of match_common_name.
|
||
* decl.c (gfc_bind_idents): Use gfc_match_common_name instead
|
||
of match_common_name.
|
||
* match.c : Rename match_common_name to gfc_match_common_name.
|
||
* match.c (gfc_match_common): Use gfc_match_common_name instead
|
||
of match_common_name.
|
||
* match.h : Rename match_common_name to gfc_match_common_name.
|
||
* resolve.c (resolve_common_vars): Check each symbol in a
|
||
common block has a global symbol. If there is a global symbol
|
||
issue an error if the symbol type is a module or a program.
|
||
|
||
2020-10-12 Mark Eggleston <markeggleston@gcc.gnu.org>
|
||
|
||
PR fortran/96099
|
||
* decl.c (gfc_match_implicit): Check for numeric and logical
|
||
types.
|
||
|
||
2020-10-07 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/47469
|
||
* trans-expr.c (arrayfunc_assign_needs_temporary): Tidy detection
|
||
of pointer and allocatable functions.
|
||
|
||
2020-10-04 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/97272
|
||
* trans-intrinsic.c (strip_kind_from_actual): Helper function for
|
||
removal of KIND argument.
|
||
(gfc_conv_intrinsic_minmaxloc): Ignore KIND argument here, as it
|
||
is treated elsewhere.
|
||
|
||
2020-10-02 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* trans-decl.c (gfc_build_library_function_decl_with_spec): Verify
|
||
fnspec.
|
||
(gfc_build_intrinsic_function_decls): Update fnspecs.
|
||
(gfc_build_builtin_function_decls): Update fnspecs.
|
||
* trans-io.c (gfc_build_io_library_fndecls): Update fnspecs.
|
||
* trans-types.c (create_fn_spec): Update fnspecs.
|
||
|
||
2020-09-30 Jan Hubicka <jh@suse.cz>
|
||
|
||
* trans-decl.c (gfc_build_intrinsic_function_decls): Add traling dots
|
||
to spec strings so they match the number of parameters; do not use
|
||
R and W for non-pointer parameters. Drop pointless specifier on
|
||
caf_stop_numeric and caf_get_team.
|
||
|
||
2020-09-30 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* trans-io.c (gfc_build_io_library_fndecls): Add trailing dots so
|
||
length of spec string matches number of arguments.
|
||
|
||
2020-09-30 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/97242
|
||
* expr.c (gfc_is_not_contiguous): Fix check.
|
||
(gfc_check_pointer_assign): Use it.
|
||
|
||
2020-09-30 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/97045
|
||
* trans-array.c (gfc_conv_array_ref): Make sure that the class
|
||
decl is passed to build_array_ref in the case of unlimited
|
||
polymorphic entities.
|
||
* trans-expr.c (gfc_conv_derived_to_class): Ensure that array
|
||
refs do not preceed the _len component. Free the _len expr.
|
||
* trans-stmt.c (trans_associate_var): Reset 'need_len_assign'
|
||
for polymorphic scalars.
|
||
* trans.c (gfc_build_array_ref): When the vptr size is used for
|
||
span, multiply by the _len field of unlimited polymorphic
|
||
entities, when non-zero.
|
||
|
||
2020-09-30 Tom de Vries <tdevries@suse.de>
|
||
|
||
* f95-lang.c (gfc_init_builtin_functions): Update
|
||
targetm.libc_has_function call.
|
||
|
||
2020-09-28 Mark Eggleston <markeggleston@gcc.gnu.org>
|
||
|
||
Revert:
|
||
2020-09-27 Steven G. Kargl <kargl@gcc.gnu.org>
|
||
Mark Eggleston <markeggleston@gcc.gnu.org>
|
||
|
||
PR fortran/95614
|
||
* decl.c (gfc_get_common): Use gfc_match_common_name instead
|
||
of match_common_name.
|
||
* decl.c (gfc_bind_idents): Use gfc_match_common_name instead
|
||
of match_common_name.
|
||
* match.c : Rename match_common_name to gfc_match_common_name.
|
||
* match.c (gfc_match_common): Use gfc_match_common_name instead
|
||
of match_common_name.
|
||
* match.h : Rename match_common_name to gfc_match_common_name.
|
||
* resolve.c (resolve_common_vars): Check each symbol in a
|
||
common block has a global symbol. If there is a global symbol
|
||
issue an error if the symbol type is known as is not a common
|
||
block name.
|
||
|
||
2020-09-27 Steven G. Kargl <kargl@gcc.gnu.org>
|
||
Mark Eggleston <markeggleston@gcc.gnu.org>
|
||
|
||
PR fortran/95614
|
||
* decl.c (gfc_get_common): Use gfc_match_common_name instead
|
||
of match_common_name.
|
||
* decl.c (gfc_bind_idents): Use gfc_match_common_name instead
|
||
of match_common_name.
|
||
* match.c : Rename match_common_name to gfc_match_common_name.
|
||
* match.c (gfc_match_common): Use gfc_match_common_name instead
|
||
of match_common_name.
|
||
* match.h : Rename match_common_name to gfc_match_common_name.
|
||
* resolve.c (resolve_common_vars): Check each symbol in a
|
||
common block has a global symbol. If there is a global symbol
|
||
issue an error if the symbol type is known as is not a common
|
||
block name.
|
||
|
||
2020-09-24 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/96495
|
||
* trans-expr.c (gfc_conv_procedure_call): Take the deallocation
|
||
of allocatable result components of a scalar result outside the
|
||
scalarization loop. Find and use the stored result.
|
||
|
||
2020-09-21 Harald Anlauf <anlauf@gmx.de>
|
||
Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
* iresolve.c (gfc_resolve_mvbits): Remove unneeded conversion of
|
||
FROMPOS, LEN and TOPOS arguments to fit a C int.
|
||
* trans-intrinsic.c (gfc_conv_intrinsic_mvbits): Add inline
|
||
expansion of MVBITS intrinsic elemental subroutine and add code
|
||
for runtime argument checking.
|
||
(gfc_conv_intrinsic_subroutine): Recognise MVBITS intrinsic, but
|
||
defer handling to gfc_trans_call.
|
||
* trans-stmt.c (replace_ss):
|
||
(gfc_trans_call): Adjust to handle inline expansion, scalarization
|
||
of intrinsic subroutine MVBITS in gfc_conv_intrinsic_mvbits.
|
||
* trans.h (gfc_conv_intrinsic_mvbits): Add prototype for
|
||
gfc_conv_intrinsic_mvbits.
|
||
|
||
2020-09-19 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* interface.c (gfc_compare_actual_formal): Add assertion after
|
||
main processing loop to silence maybe-uninitialized error.
|
||
|
||
2020-09-19 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
* symbol.c (gfc_check_conflict): Allow ELEMENTAL RECURSIVE
|
||
procedure prefix for -std=f2018.
|
||
|
||
2020-09-17 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/96041
|
||
PR fortran/93423
|
||
* decl.c (gfc_match_submod_proc): Avoid later double-free
|
||
in the error case.
|
||
|
||
2020-09-16 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/97061
|
||
* trans-openmp.c (gfc_trans_omp_do): Handle simd with (last)private.
|
||
|
||
2020-09-15 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/96668
|
||
* trans.h (gfc_omp_finish_clause): Add bool openacc arg.
|
||
* trans-openmp.c (gfc_omp_finish_clause): Ditto. Use
|
||
GOMP_MAP_ALWAYS_POINTER with PSET for pointers.
|
||
(gfc_trans_omp_clauses): Like the latter and also if the always
|
||
modifier is used.
|
||
|
||
2020-09-09 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/95109
|
||
PR fortran/94690
|
||
* resolve.c (gfc_resolve_code): Also call
|
||
gfc_resolve_omp_parallel_blocks for 'distribute parallel do (simd)'.
|
||
* openmp.c (gfc_resolve_omp_parallel_blocks): Handle it.
|
||
(gfc_resolve_do_iterator): Remove special code for SIMD, which is
|
||
not needed.
|
||
* trans-openmp.c (gfc_trans_omp_target): For TARGET_PARALLEL_DO_SIMD,
|
||
call simd not do processing function.
|
||
|
||
2020-09-08 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||
|
||
* intrinsic.texi: Fix description of FINDLOC result.
|
||
|
||
2020-09-07 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
* trans-intrinsic.c (build_round_expr): Use temporary with
|
||
appropriate kind for conversion before rounding to nearest
|
||
integer when the result precision is 128 bits.
|
||
|
||
2020-09-07 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/96896
|
||
* resolve.c (get_temp_from_expr): Also reset proc_pointer +
|
||
use_assoc attribute.
|
||
(resolve_ptr_fcn_assign): Use information from the LHS.
|
||
|
||
2020-09-07 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
|
||
|
||
* trans-types.c (gfc_get_derived_type): Fix argument types.
|
||
|
||
2020-09-07 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
|
||
|
||
* resolve.c (resolve_select_type): Provide a formal arg list.
|
||
|
||
2020-09-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
|
||
|
||
* trans-types.c (gfc_get_ppc_type): Add comment.
|
||
|
||
2020-09-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
|
||
|
||
* trans-types.c (gfc_get_ppc_type): Fix function arg types.
|
||
|
||
2020-09-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
|
||
|
||
PR fortran/96947
|
||
* trans-stmt.c (gfc_trans_fail_image): caf_fail_image
|
||
expects no argument.
|
||
|
||
2020-09-02 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR fortran/96859
|
||
* check.c (gfc_boz2real, gfc_boz2int): When clearing first two bits,
|
||
change also '2' to '0' and '3' to '1' rather than just handling '4'
|
||
through '7'.
|
||
|
||
2020-09-01 Steven G. Kargl <kargl@gcc.gnu.org>
|
||
Mark Eggleston <markeggleston@gcc.gnu.org>
|
||
|
||
PR fortran/95398
|
||
* resolve.c (resolve_select_type): Add check for BT_CLASS
|
||
type before using the CLASS_DATA macro which will have a
|
||
NULL pointer to derive components if it isn't BT_CLASS.
|
||
|
||
2020-08-30 José Rui Faustino de Sousa <jrfsousa@gmail.com>
|
||
|
||
PR fortran/96728
|
||
* module.c (module_peek_char): Peek ahead function.
|
||
(parse_integer): Add code for parsing signed integers.
|
||
(parse_atom): Add code to handle signed integers.
|
||
(peek_atom): Add code to handle signed integers.
|
||
|
||
2020-08-30 José Rui Faustino de Sousa <jrfsousa@gmail.com>
|
||
|
||
PR fortran/96727
|
||
* expr.c (gfc_check_init_expr): Add default error message for the AS_ASSUMED_RANK case.
|
||
|
||
2020-08-30 José Rui Faustino de Sousa <jrfsousa@gmail.com>
|
||
|
||
PR fortran/96726
|
||
* expr.c (check_references): Change different relational operator
|
||
to less-than operator to avoid infinite loop.
|
||
|
||
2020-08-30 José Rui Faustino de Sousa <jrfsousa@gmail.com>
|
||
|
||
PR fortran/95352
|
||
* simplify.c (simplify_bound_dim): Add check for NULL pointer
|
||
before trying to access structure member.
|
||
|
||
2020-08-30 José Rui Faustino de Sousa <jrfsousa@gmail.com>
|
||
|
||
PR fortran/94110
|
||
* interface.c (gfc_compare_actual_formal): Add code to also raise
|
||
the actual argument cannot be an assumed-size array error when the
|
||
dummy arguments are deferred-shape or assumed-rank pointer.
|
||
|
||
2020-08-28 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/94672
|
||
* trans-array.c (gfc_trans_g77_array): Check against the parm decl and
|
||
set the nonparm decl used for the is-present check to NULL if absent.
|
||
|
||
2020-08-28 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/96624
|
||
* simplify.c (gfc_simplify_reshape): Detect zero shape and
|
||
clear index if found.
|
||
|
||
2020-08-27 Mark Eggleston <markeggleston@gcc.gnu.org>
|
||
|
||
PR fortran/95882
|
||
* decl.c (char_len_param_value): Check gfc_seen_div0 and
|
||
if it is set return MATCH_ERROR.
|
||
|
||
2020-08-27 Martin Liska <mliska@suse.cz>
|
||
|
||
* trans-openmp.c (gfc_trans_omp_do): Set exact argument of a vector
|
||
growth function to true.
|
||
|
||
2020-08-26 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* gfortran.h (enum gfc_omp_device_type): New.
|
||
(symbol_attribute, gfc_omp_clauses, gfc_common_head): Use it.
|
||
* module.c (enum ab_attribute): Add AB_OMP_DEVICE_TYPE_HOST,
|
||
AB_OMP_DEVICE_TYPE_NOHOST and AB_OMP_DEVICE_TYPE_ANY.
|
||
(attr_bits, mio_symbol_attribute): Handle it.
|
||
(load_commons, write_common_0): Handle omp_device_type flag.
|
||
* openmp.c (enum omp_mask1): Add OMP_CLAUSE_DEVICE_TYPE
|
||
(OMP_DECLARE_TARGET_CLAUSES): Likewise.
|
||
(gfc_match_omp_clauses): Match 'device_type'.
|
||
(gfc_match_omp_declare_target): Handle it.
|
||
* trans-common.c (build_common_decl): Write device-type clause.
|
||
* trans-decl.c (add_attributes_to_decl): Likewise.
|
||
|
||
2020-08-23 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/96737
|
||
* trans-types.c (gfc_get_derived_type): Derived types that are
|
||
used in submodules are not compatible with TYPE_CANONICAL from
|
||
any of the global namespaces.
|
||
|
||
2020-08-20 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/96100
|
||
PR fortran/96101
|
||
* trans-array.c (get_array_charlen): Tidy up the evaluation of
|
||
the string length for array constructors. Avoid trailing array
|
||
references. Ensure string lengths of deferred length components
|
||
are set. For parentheses operator apply string length to both
|
||
the primary expression and the enclosed expression.
|
||
|
||
2020-08-20 Andre Vehreschild <vehre@gcc.gnu.org>
|
||
|
||
PR fortran/94958
|
||
* trans-array.c (gfc_bcast_alloc_comp): Use the correct variable.
|
||
|
||
2020-08-20 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* openmp.c (gfc_match_omp_clauses): Re-order 'if' clause pasing
|
||
to avoid creating spurious symbols.
|
||
|
||
2020-08-18 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
* check.c (check_rest): Reject MIN/MAX character arguments of
|
||
different kind.
|
||
* simplify.c (min_max_choose): The simplification result shall
|
||
have the highest kind value of the arguments.
|
||
* trans-intrinsic.c (gfc_conv_intrinsic_minmax): Choose type and
|
||
kind of intermediate by looking at all arguments, not the result.
|
||
|
||
2020-08-17 Martin Liska <mliska@suse.cz>
|
||
|
||
* openmp.c (resolve_omp_clauses): Add static assert
|
||
for OMP_LIST_NUM and size of clause_names array.
|
||
Remove check that is always true.
|
||
|
||
2020-08-17 Martin Liska <mliska@suse.cz>
|
||
|
||
* openmp.c (resolve_omp_clauses): Add NONTEMPORAL to clause
|
||
names.
|
||
|
||
2020-08-13 Andre Vehreschild <vehre@gcc.gnu.org>
|
||
|
||
PR fortran/93671
|
||
* trans-array.c (structure_alloc_comps): Keep caf-mode when applying to
|
||
components; get the caf_token correctly for allocated scalar components.
|
||
|
||
2020-08-13 Matthew Krupcale <mkrupcale@matthewkrupcale.com>
|
||
|
||
PR fortran/96595
|
||
* invoke.texi: Fix typos.
|
||
|
||
2020-08-12 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* gfortran.h: Add OMP_LIST_NONTEMPORAL.
|
||
* dump-parse-tree.c (show_omp_clauses): Dump it
|
||
* openmp.c (enum omp_mask1): Add OMP_CLAUSE_NOTEMPORAL.
|
||
(OMP_SIMD_CLAUSES): Add it.
|
||
(gfc_match_omp_clauses): Match nontemporal clause.
|
||
* trans-openmp.c (gfc_trans_omp_clauses): Process
|
||
nontemporal clause.
|
||
|
||
2020-08-10 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||
|
||
PR fortran/96556
|
||
* frontend-passes.c (doloop_contained_function_call):
|
||
Do not dereference a NULL pointer for value.function.esym.
|
||
|
||
2020-08-10 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/96312
|
||
* trans-expr.c (fcncall_realloc_result): Only compare shapes if
|
||
lhs was allocated..
|
||
|
||
2020-08-10 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/96102
|
||
* resolve.c (check_host_association): Replace the gcc_assert
|
||
with an error for internal procedures.
|
||
|
||
2020-08-05 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||
|
||
PR fortran/96469
|
||
* frontend-passes.c (doloop_contained_function_call): New
|
||
function.
|
||
(doloop_contained_procedure_code): New function.
|
||
(CHECK_INQ): Macro for inquire checks.
|
||
(doloop_code): Invoke doloop_contained_procedure_code and
|
||
doloop_contained_function_call if appropriate.
|
||
(do_intent): Likewise.
|
||
|
||
2020-08-04 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* openmp.c (resolve_omp_do): Detect not perfectly
|
||
nested loop with innermost collapse.
|
||
|
||
2020-08-04 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* trans-openmp.c (gfc_trans_omp_do): Fix 'lastprivate(conditional:'.
|
||
|
||
2020-08-03 Julian Brown <julian@codesourcery.com>
|
||
Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* trans-openmp.c (gfc_trans_omp_clauses): Don't create present/release
|
||
mappings for array descriptors.
|
||
|
||
2020-08-03 Martin Jambor <mjambor@suse.cz>
|
||
|
||
* f95-lang.c (gfc_init_builtin_functions): Remove processing of
|
||
hsa-builtins.def.
|
||
|
||
2020-08-03 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* gfc-internals.texi: Fix typos.
|
||
* gfortran.texi: Likewise.
|
||
* intrinsic.texi: Likewise.
|
||
* invoke.texi: Likewise.
|
||
|
||
2020-08-02 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR target/96320
|
||
* interface.c (gfc_check_dummy_characteristics): If a module
|
||
procedure arrives with assumed shape in the interface and
|
||
deferred shape in the procedure itself, update the latter and
|
||
copy the lower bounds.
|
||
|
||
2020-08-02 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/96325
|
||
* primary.c (gfc_match_varspec): In the case that a component
|
||
reference is added to an intrinsic type component, emit the
|
||
error message in this function.
|
||
|
||
2020-07-29 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* dump-parse-tree.c (show_omp_clauses): Handle order(concurrent).
|
||
* gfortran.h (struct gfc_omp_clauses): Add order_concurrent.
|
||
* openmp.c (enum omp_mask1, OMP_DO_CLAUSES, OMP_SIMD_CLAUSES):
|
||
Add OMP_CLAUSE_ORDER.
|
||
* trans-openmp.c (gfc_trans_omp_clauses, gfc_split_omp_clauses):
|
||
Handle order(concurrent) clause.
|
||
|
||
2020-07-29 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* openmp.c (resolve_omp_clauses): Permit 'omp target data' without
|
||
map if use_device_{addr,ptr} is present.
|
||
|
||
2020-07-29 Mark Eggleston <markeggleston@gcc.gnu.org>
|
||
|
||
PR fortran/96319
|
||
* intrinsic.c (gfc_convert_type_warn): Add check for
|
||
LOGICAL type so that warnings are not output.
|
||
|
||
2020-07-29 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* module.c (mio_symbol_attribute): Fix indent of previous
|
||
commit.
|
||
|
||
2020-07-29 Mark Eggleston <markeggleston@gcc.gnu.org>
|
||
|
||
PR fortran/53298
|
||
* trans-array.c (gfc_walk_array_ref): If ref->ss.end is set
|
||
call gfc_get_scalar_ss.
|
||
|
||
2020-07-29 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* gfortran.h (enum gfc_statement): Add ST_OMP_REQUIRES.
|
||
(enum gfc_omp_requires_kind): New.
|
||
(enum gfc_omp_atomic_op): Add GFC_OMP_ATOMIC_ACQ_REL.
|
||
(struct gfc_namespace): Add omp_requires and omp_target_seen.
|
||
(gfc_omp_requires_add_clause,
|
||
(gfc_check_omp_requires): New.
|
||
* match.h (gfc_match_omp_requires): New.
|
||
* module.c (enum ab_attribute, attr_bits): Add omp requires clauses.
|
||
(mio_symbol_attribute): Read/write them.
|
||
* openmp.c (gfc_check_omp_requires, (gfc_omp_requires_add_clause,
|
||
gfc_match_omp_requires): New.
|
||
(gfc_match_omp_oacc_atomic): Use requires's default mem-order.
|
||
* parse.c (decode_omp_directive): Match requires, set omp_target_seen.
|
||
(gfc_ascii_statement): Handle ST_OMP_REQUIRES.
|
||
* trans-openmp.c (gfc_trans_omp_atomic): Handle GFC_OMP_ATOMIC_ACQ_REL.
|
||
|
||
2020-07-27 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* openmp.c (gfc_resolve_omp_directive): Remove NULL check
|
||
for clauses in EXEC_OMP_CRITICAL as it no longer can be NULL.
|
||
|
||
2020-07-23 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* gfortran.h (gfc_omp_namelist): Add lastprivate_conditional.
|
||
* openmp.c (gfc_match_omp_clauses): Handle 'conditional:'
|
||
modifier of 'lastprivate'.
|
||
* trans-openmp.c (gfc_omp_clause_default_ctor): Don't assert
|
||
on OMP_CLAUSE__CONDTEMP_ and other OMP_*TEMP_.
|
||
(gfc_trans_omp_variable_list): Handle lastprivate_conditional.
|
||
|
||
2020-07-23 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* intrinsic.texi (OMP_LIB_KINDS): Add omp_depend_kind.
|
||
|
||
2020-07-23 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* gfortran.texi (Standards): Update URL; state that OpenMP 4.5
|
||
is supported and 5.0 is partially.
|
||
* intrinsic.texi (OpenMP Modules): Refer also to OpenMP 5.0;
|
||
(OMP_LIB): Add missing derived type and new named constants.
|
||
|
||
2020-07-22 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* gfortran.h (enum gfc_omp_if_kind): Add OMP_IF_CANCEL and OMP_IF_SIMD.
|
||
* openmp.c (OMP_SIMD_CLAUSES): Add OMP_CLAUSE_IF.
|
||
(gfc_match_omp_clauses, resolve_omp_clauses): Handle 'if (simd/cancel:'.
|
||
* dump-parse-tree.c (show_omp_clauses): Likewise.
|
||
* trans-openmp.c (gfc_trans_omp_clauses, gfc_trans_omp_cancel,
|
||
(gfc_split_omp_clauses): Likewise.
|
||
|
||
2020-07-22 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* openmp.c (gfc_match_omp_critical): Fix handling hints; permit
|
||
hint clause without named critical.
|
||
(resolve_omp_clauses): Require nonnegative constant integer
|
||
for the hint clause.
|
||
(gfc_resolve_omp_directive): Check for no name but
|
||
nonzero value for hint clause.
|
||
* parse.c (parse_omp_structured_block): Fix same-name check
|
||
for critical.
|
||
* trans-openmp.c (gfc_trans_omp_critical): Handle hint clause properly.
|
||
|
||
2020-07-21 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/89574
|
||
* trans-decl.c (gfc_get_extern_function_decl): Check whether a
|
||
symbol belongs to a different module.
|
||
|
||
2020-07-19 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||
|
||
PR fortran/96220
|
||
* dump-parse-tree.c (get_c_type_name): Always use the entries from
|
||
c_interop_kinds_table to find the correct C type.
|
||
|
||
2020-07-19 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||
|
||
PR fortran/96018
|
||
* frontend-passes.c (gfc_check_externals): Adjust formatting.
|
||
(implicit_pure_call): New function.
|
||
(implicit_pure_expr): New function.
|
||
(gfc_fix_implicit_pure): New function.
|
||
* gfortran.h (gfc_fix_implicit_pure): New prototype.
|
||
* parse.c (translate_all_program_units): Call gfc_fix_implicit_pure.
|
||
|
||
2020-07-18 David Edelsohn <dje.gcc@gmail.com>
|
||
|
||
* check.c (gfc_invalid_boz): Mark hint for translation using _().
|
||
|
||
2020-07-16 Julian Brown <julian@codesourcery.com>
|
||
Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* trans-openmp.c (gfc_trans_omp_clauses): Rework OpenACC
|
||
attach/detach handling for arrays with descriptors.
|
||
|
||
2020-07-14 Steven G. Kargl <kargl@gcc.gnu.org>
|
||
Mark Eggleston <markeggleston@gcc.gnu.org>
|
||
|
||
PR fortran/95612
|
||
* expr.c (gfc_check_pointer_assigb): Output an error if
|
||
rvalue is a zero sized array or output an error if rvalue
|
||
doesn't have a symbol tree.
|
||
|
||
2020-07-14 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* openmp.c (gfc_match_omp_clauses): Match also derived-type
|
||
component refs in OMP_CLAUSE_MAP.
|
||
(resolve_omp_clauses): Resolve those.
|
||
* trans-openmp.c (gfc_trans_omp_array_section, gfc_trans_omp_clauses):
|
||
Handle OpenMP structure-element mapping.
|
||
(gfc_trans_oacc_construct, gfc_trans_oacc_executable_directive,
|
||
(gfc_trans_oacc_combined_directive, gfc_trans_oacc_declare): Update
|
||
add openacc=true in gfc_trans_omp_clauses call.
|
||
|
||
2020-07-14 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/67311
|
||
* trans-openmp.c (gfc_has_alloc_comps): Return false also for
|
||
pointers to arrays.
|
||
|
||
2020-07-14 Steven G. Kargl <kargl@gcc.gnu.org>
|
||
Mark Eggleston <markeggleston@gcc.gnu.org>
|
||
|
||
PR fortran/96038
|
||
* decl.c (add_init_expr_sym): For a symbol that is a
|
||
parameter accept an initialisation if it does not have a
|
||
value otherwise output a error and reject.
|
||
|
||
2020-07-13 Mark Eggleston <markeggleston@gcc.gnu.org>
|
||
|
||
PR fortran/45337
|
||
* resolve.c (resolve_fl_variable): Remove type and intent
|
||
checks from the check for dummy.
|
||
|
||
2020-07-13 Steven G. Kargl <kargl@gcc.gnu.org>
|
||
Mark Eggleston <markeggleston@gcc.gnu.org>
|
||
|
||
PR fortran/95981
|
||
* check.c (dim_rank_check): Allow NULL references in call to
|
||
gfc_find_array_ref and return false if no reference is found.
|
||
|
||
2020-07-11 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||
|
||
PR fortran/96073
|
||
* frontend-passes.c (check_externals_procedure): Add locus
|
||
information for new_sym.
|
||
* interface.c (gfc_check_dummy_characteristics): Do not warn
|
||
about INTENT for artificially generated variables.
|
||
|
||
2020-07-10 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/95980
|
||
* class.c (gfc_add_component_ref, gfc_build_class_symbol):
|
||
Add checks for NULL pointer dereference.
|
||
* primary.c (gfc_variable_attr): Likewise.
|
||
* resolve.c (resolve_variable, resolve_assoc_var)
|
||
(resolve_fl_var_and_proc, resolve_fl_variable_derived)
|
||
(resolve_symbol): Likewise.
|
||
|
||
2020-07-10 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/96086
|
||
* match.c (gfc_match_select_rank): Catch NULL pointer
|
||
dereference.
|
||
* resolve.c (resolve_assoc_var): Catch NULL pointer dereference
|
||
that may occur after an illegal declaration.
|
||
|
||
2020-07-09 Julian Brown <julian@codesourcery.com>
|
||
|
||
* trans-openmp.c (gfc_trans_omp_clauses): Use 'inner' not 'decl' for
|
||
derived type members which themselves have derived types.
|
||
|
||
2020-07-08 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/96085
|
||
* resolve.c (gfc_resolve_code): Check whether assign target is a
|
||
parameter.
|
||
|
||
2020-07-06 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/95980
|
||
* match.c (copy_ts_from_selector_to_associate, build_class_sym):
|
||
Distinguish between unlimited polymorphic and ordinary variables
|
||
to avoid NULL pointer dereference.
|
||
* resolve.c (resolve_select_type):
|
||
Distinguish between unlimited polymorphic and ordinary variables
|
||
to avoid NULL pointer dereference.
|
||
|
||
2020-07-06 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/95709
|
||
* resolve.c (gfc_resolve_code): Check for valid arguments to
|
||
assigned GOTO.
|
||
|
||
2020-07-05 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||
|
||
PR fortran/27318
|
||
* frontend-passes.c (check_against_globals): New function.
|
||
(gfc_check_externals): Split; also invoke check_against_globals
|
||
via gfc_traverse_ns.
|
||
(gfc_check_externals0): Recursive part formerly in
|
||
gfc_check_externals.
|
||
* resolve.c (resolve_global_procedure): Set sym->error on
|
||
interface mismatch.
|
||
* symbol.c (ambiguous_symbol): Check for, and set sym->error.
|
||
|
||
2020-07-02 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/93423
|
||
* resolve.c (resolve_symbol): Avoid NULL pointer dereference.
|
||
|
||
2020-07-02 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/93337
|
||
* class.c (gfc_find_derived_vtab): Punt if name is not set.
|
||
|
||
2020-07-02 Mark Eggleston <markeggleston@gcc.gnu.org>
|
||
|
||
PR fortran/52279
|
||
* check.c (gfc_invalid_boz): Change array declaration for
|
||
hint into a pointer.
|
||
|
||
2020-07-02 Steven G. Kargl <kargl@gcc.gnu.org>
|
||
Mark Eggleston <markeggleston@gcc.gnu.org>
|
||
|
||
PR fortran/95584
|
||
* interface.c (generic_correspondence): Only use the pointer
|
||
to a symbol if exists.
|
||
|
||
2020-07-01 David Edelsohn <dje.gcc@gmail.com>
|
||
|
||
* check.c (gfc_invalid_boz): Fix bootstrap. Revert
|
||
Mark hint for translation using _().
|
||
|
||
2020-07-01 Mark Eggleston <markeggleston@gcc.gnu.org>
|
||
|
||
PR fortran/52279
|
||
* arith.c (reduce_binary_aa): Mark for translation the string
|
||
parameter to gfc_check_conformance with G_().
|
||
* check.c (gfc_invalid_boz): Mark hint for translation using
|
||
_(). (gfc_check_achar): Mark for translation the message
|
||
parameter to gfc_invalid_boz using G_(). (gfc_check_char):
|
||
Mark for translation the message parameter to gfc_invalid_boz
|
||
using G_(). (gfc_check_complex): Mark for translation the
|
||
message parameter to gfc_invalid_boz using G_().
|
||
(gfc_check_float): Mark for translation the message
|
||
parameter to gfc_invalid_boz using G_(). (check_rest): Mark
|
||
for translation the string parameter to gfc_check_conformance
|
||
with _(). (gfc_check_minloc_maxloc): Mark for translation
|
||
the string parameter to gfc_check_conformance with _().
|
||
(gfc_check_findloc): Mark for translation the string parameter
|
||
to gfc_check_conformance with _(). (check_reduction): Mark
|
||
for translation the string parameter to gfc_check_conformance
|
||
with _(). (gfc_check_pack): Mark for translation the string
|
||
parameter to gfc_check_conformance with _().
|
||
* decl.c (match_old_style_init): Mark for translation the
|
||
message parameter to gfc_invalid_boz using G_().
|
||
* expr.c (gfc_check_assign): Mark for translation the string
|
||
parameter to gfc_check_conformance with _().
|
||
* intrinsic.c (check_specific): Mark for translation the string
|
||
parameter to gfc_check_conformance with _().
|
||
(gfc_check_intrinsic_standard): Mark symstd_msg strings for
|
||
translation using G_(). No need to mark symstd_msg for
|
||
translation in call to gfc_warning or when setting symstd.
|
||
* io.c (check_open_constraints): Mark strings for translation
|
||
using G_() in all calls to warn_or_error. (match_io_element):
|
||
Mark for translation the message parameter to gfc_invalid_boz
|
||
using G_().
|
||
* primary.c (match_boz_constant): Mark for translation the
|
||
message parameter to gfc_invalid_boz using G_().
|
||
* resolve.c (resolve_elemental_actual): Mark for translation
|
||
the string parameter to gfc_check_conformance with _().
|
||
(resolve_operator): Mark for translation the string parameter
|
||
to gfc_check_conformance with _(). Mark translation strings
|
||
assigned to msg using G_() for use in a call to cfg_warning.
|
||
|
||
2020-07-01 Steven G. Kargl <kargl@gcc.gnu.org>
|
||
Mark Eggleston <markeggleston@gcc.gnu.org>
|
||
|
||
PR fortran/95446
|
||
* resolve.c (resolve_elemental_actual): Add code to check for
|
||
non-optional argument of the same rank. Revise warning message
|
||
to refer to the Fortran 2018 standard.
|
||
|
||
2020-07-01 Steven G. Kargl <kargl@gcc.gnu.org>
|
||
Mark Eggleston <markeggleston@gcc.gnu.org>
|
||
|
||
PR fortran/95829
|
||
* decl.c (gfc_match_decl_type_spec): Compare with "* ) " instead
|
||
of "*)".
|
||
|
||
2020-06-30 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/88379
|
||
* resolve.c (resolve_assoc_var): Avoid NULL pointer dereference.
|
||
|
||
2020-06-30 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||
|
||
PR fortran/95355
|
||
* gfortran.h (gfc_typename): Add optional argument for_hash.
|
||
* misc.c (gfc_typename): When for_hash is true, just retur
|
||
CHARACTER(kind).
|
||
* class.c (gfc_intrinsic_hash_value): Call gfc_typename with
|
||
for_hash = true.
|
||
|
||
2020-06-29 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/95978
|
||
* decl.c (gfc_match_data): Avoid NULL pointer dereference.
|
||
|
||
2020-06-29 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||
|
||
PR fortran/95743
|
||
* trans-decl.c (gfc_generate_function_code): Do not generate
|
||
recursion check for compiler-generated procedures.
|
||
|
||
2020-06-29 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/71706
|
||
* trans-stmt.c (gfc_trans_sync): Do proper kind conversion in
|
||
bounds-checking code.
|
||
|
||
2020-06-28 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/95340
|
||
* match.c (gfc_match_select_rank): Do not dereference NULL pointer.
|
||
|
||
2020-06-28 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/95880
|
||
* symbol.c (gfc_add_type): If sym->ns->proc_name is set, use it,
|
||
otherwise fall back to sym->name.
|
||
|
||
2020-06-27 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/95881
|
||
* resolve.c (resolve_symbol): Avoid NULL pointer dereference.
|
||
|
||
2020-06-25 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/95828
|
||
* match.c (select_rank_set_tmp): Enlarge internal buffer used in
|
||
generating a mangled name.
|
||
* resolve.c (resolve_select_rank): Likewise.
|
||
|
||
2020-06-25 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/95826
|
||
* decl.c (gfc_match_decl_type_spec): Replace a fixed size
|
||
buffer by a pointer and reallocate if necessary.
|
||
|
||
2020-06-25 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/95837
|
||
* resolve.c (gfc_resolve_substring_charlen): Remove
|
||
bogus ts.kind setting for the expression.
|
||
|
||
2020-06-25 Tobias Burnus <tobias@codesourcery.com>
|
||
Kwok Cheung Yeung <kcy@codesourery.com>
|
||
|
||
PR fortran/95869
|
||
* trans-openmp.c (gfc_trans_omp_target): Use correct scoping block.
|
||
|
||
2020-06-25 Kwok Cheung Yeung <kcy@codesourcery.com>
|
||
|
||
* trans-openmp.c (gfc_split_omp_clauses): Add if clause
|
||
to target and simd sub-constructs.
|
||
|
||
2020-06-24 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/95827
|
||
* iresolve.c (gfc_get_string): Enlarge internal buffer used in
|
||
generating the mangled name.
|
||
|
||
2020-06-23 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||
|
||
PR fortran/95812
|
||
* dependency.c (ref_same_as_full_array): Handle case of AR_FULL
|
||
vs. AR_FULL.
|
||
|
||
2020-06-23 Steven G. Kargl <kargl@gcc.gnu.org>
|
||
Mark Eggleston <markeggleston@gcc.gnu.org>
|
||
|
||
PR fortran/95586
|
||
* decl.c (gfc_match_implicit): Only perform else branch if
|
||
the type spect is not BT_DERIVED.
|
||
|
||
2020-06-22 Steven G. Kargl <kargl@gcc.gnu.org>
|
||
Mark Eggleston <markeggleston@gcc.gnu.org>
|
||
|
||
PR fortran/95708
|
||
* intrinsic.c (add_functions): Replace CLASS_INQUIRY with
|
||
CLASS_TRANSFORMATIONAL for intrinsic num_images.
|
||
(make_generic): Replace ACTUAL_NO with ACTUAL_YES for
|
||
intrinsic team_number.
|
||
* resolve.c (resolve_fl_procedure): Check pointer ts.u.derived
|
||
exists before using it.
|
||
|
||
2020-06-22 Steven G. Kargl <kargl@gcc.gnu.org>
|
||
Mark Eggleston <markeggleston@gcc.gnu.org>
|
||
|
||
PR fortran/95585
|
||
* check.c (gfc_check_reshape): Add check for a value when
|
||
the symbol has an attribute flavor FL_PARAMETER.
|
||
|
||
2020-06-22 Mark Eggleston <markeggleston@gcc.gnu.org>
|
||
|
||
PR fortran/42693
|
||
* arith.c (gfc_arith_error): Enclose strings in G_() instead
|
||
of _().
|
||
|
||
2020-06-20 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/95707
|
||
* gfortran.h (gfc_common_head): Enlarge buffer.
|
||
* trans-common.c (gfc_sym_mangled_common_id): Enlarge temporary
|
||
buffers, and add check on length on mangled name to prevent
|
||
overflow.
|
||
|
||
2020-06-20 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/95688
|
||
* iresolve.c (gfc_get_string): Enlarge static buffer size.
|
||
|
||
2020-06-20 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/95687
|
||
* class.c (get_unique_type_string): Return a string with dynamic
|
||
length.
|
||
(get_unique_hashed_string, gfc_hash_value): Use dynamic result
|
||
from get_unique_type_string instead of static buffer.
|
||
|
||
2020-06-20 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/95689
|
||
* interface.c (check_sym_interfaces): Enlarge temporary buffer,
|
||
and add check on length on mangled name to prevent overflow.
|
||
|
||
2020-06-20 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/95587
|
||
* match.c (gfc_match_equivalence): Check constraints on
|
||
EQUIVALENCE objects also for CLASS variables.
|
||
|
||
2020-06-18 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* openmp.c (resolve_omp_clauses): Reject vars with
|
||
allocatable components in OpenMP map clauses.
|
||
|
||
2020-06-16 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* parse.c (decode_oacc_directive): Permit 'acc routine' also
|
||
inside pure procedures.
|
||
* openmp.c (gfc_match_oacc_routine): Inside pure procedures
|
||
do not permit gang, worker or vector clauses.
|
||
|
||
2020-06-16 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* parse.c (decode_omp_directive): Remove "or ELEMENTAL"
|
||
from "in PURE" error message also for -fopenmp-simd.
|
||
|
||
2020-06-16 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* parse.c (decode_omp_directive): Remove "or ELEMENTAL"
|
||
from "in PURE" error message.
|
||
|
||
2020-06-14 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||
|
||
PR fortran/42122
|
||
* dump-parse-tree.c (gfc_dump_global_symbols): If the symroot is
|
||
empty, just output "empty".
|
||
|
||
2020-06-14 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/95088
|
||
* class.c (get_unique_type_string): Replace use of fixed size
|
||
buffer by internally passing a pointer to strings.
|
||
|
||
2020-06-14 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||
|
||
* check.c (gfc_check_random_seed): Always use locations
|
||
from get and put arguments for error messages.
|
||
|
||
2020-06-14 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||
|
||
PR fortran/94109
|
||
* class.c (finalize_component): Return early if finalization has
|
||
already happened for expression and component within namespace.
|
||
* gfortran.h (gfc_was_finalized): New type.
|
||
(gfc_namespace): Add member was_finalzed.
|
||
(gfc_expr): Remove finalized.
|
||
* symbol.c (gfc_free_namespace): Free was_finalized.
|
||
|
||
2020-06-11 Harald Anlauf <anlauf@gmx.de>
|
||
Steven G. Kargl <kargl@gcc.gnu.org>
|
||
|
||
PR fortran/95611
|
||
* decl.c (access_attr_decl): Use correct symbol in error message.
|
||
|
||
2020-06-11 Steven G. Kargl <kargl@gcc.gnu.org>
|
||
Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/95544
|
||
* check.c (invalid_null_arg): Rename to gfc_invalid_null_arg.
|
||
(gfc_check_associated, gfc_check_kind, gfc_check_merge)
|
||
(gfc_check_shape, gfc_check_size, gfc_check_spread)
|
||
(gfc_check_transfer): Adjust.
|
||
(gfc_check_len_lentrim, gfc_check_trim): Check for NULL() argument.
|
||
* gfortran.h: Declare gfc_invalid_null_arg ().
|
||
* intrinsic.c (check_arglist): Check for NULL() argument.
|
||
|
||
2020-06-11 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/95503
|
||
* expr.c (gfc_check_pointer_assign): Skip contiguity check of rhs
|
||
of pointer assignment if lhs cannot be simply contiguous.
|
||
|
||
2020-06-11 José Rui Faustino de Sousa <jrfsousa@gmail.com>
|
||
|
||
PR fortran/95331
|
||
* trans-array.c (gfc_conv_array_ref): For class array dummy
|
||
arguments use the transformed descriptor in sym->backend_decl
|
||
instead of the original descriptor.
|
||
|
||
2020-06-11 José Rui Faustino de Sousa <jrfsousa@gmail.com>
|
||
|
||
PR fortran/52351
|
||
PR fortran/85868
|
||
* trans-array.c (gfc_conv_expr_descriptor): Enable the
|
||
creation of a new descriptor with the correct one based
|
||
indexing for array sections. Rework array descriptor
|
||
indexing offset calculation.
|
||
|
||
2020-06-11 José Rui Faustino de Sousa <jrfsousa@gmail.com>
|
||
|
||
PR fortran/94022
|
||
* trans-expr.c (gfc_conv_procedure_call): In the case of
|
||
assumed-size arrays ensure that the reference is to a full array.
|
||
|
||
2020-06-07 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/95091
|
||
* class.c (gfc_hash_value): Add cast.
|
||
|
||
2020-06-07 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/95091
|
||
* class.c (get_unique_type_string, gfc_hash_value): Enlarge
|
||
buffers, and check whether the strings returned by
|
||
get_unique_type_string() fit.
|
||
|
||
2020-06-05 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/95530
|
||
PR fortran/95537
|
||
* decl.c (gfc_match_decl_type_spec): Enlarge buffer, and enhance
|
||
string copy to detect buffer overflow.
|
||
* gfortran.h (gfc_common_head): Enlarge buffer.
|
||
* trans-common.c (finish_equivalences): Enhance string copy to
|
||
detect buffer overflow.
|
||
|
||
2020-06-05 Tom Tromey <tromey@adacore.com>
|
||
|
||
PR fortran/95509
|
||
* misc.c (gfc_closest_fuzzy_match): Update cutoff value
|
||
computation.
|
||
|
||
2020-06-04 Steven G. Kargl <kargl@gcc.gnu.org>
|
||
Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/95500
|
||
* trans-expr.c (gfc_conv_expr_reference): Do not dereference NULL
|
||
pointer.
|
||
|
||
2020-06-03 José Rui Faustino de Sousa <jrfsousa@gmail.com>
|
||
|
||
PR fortran/95214
|
||
PR fortran/66833
|
||
PR fortran/67938
|
||
* trans-expr.c (gfc_maybe_dereference_var): Add assumed-rank to
|
||
character dummy arguments list of possible attributes.
|
||
|
||
2020-06-03 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* f95-lang.c (LANG_HOOKS_OMP_PREDETERMINED_MAPPING): Redefine.
|
||
* trans-openmp.c (gfc_omp_predetermined_mapping): New.
|
||
* trans.h (gfc_omp_predetermined_mapping): Declare.
|
||
|
||
2020-05-31 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||
|
||
PR fortran/94361
|
||
* class.c (finalize_component): Use expr->finalized instead of
|
||
comp->finalized.
|
||
* gfortran.h (gfc_component): Remove finalized member.
|
||
(gfc_expr): Add it here instead.
|
||
|
||
2020-05-30 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/95373
|
||
* primary.c (is_inquiry_ref): Move validity check of inquiry
|
||
references against selected Fortran standard from here...
|
||
(gfc_match_varspec) ...to here.
|
||
|
||
2020-05-30 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/95090
|
||
* class.c (get_unique_type_string): Use buffer overrun check.
|
||
|
||
2020-05-29 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/95090
|
||
* class.c (get_unique_type_string): Enlarge temporary for
|
||
name-mangling. Use strncpy to prevent buffer overrun.
|
||
(get_unique_hashed_string): Enlarge temporary.
|
||
(gfc_hash_value): Enlarge temporary for name-mangling.
|
||
|
||
2020-05-28 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/95373
|
||
* primary.c (is_inquiry_ref): Check validity of inquiry
|
||
references against selected Fortran standard.
|
||
|
||
2020-05-28 Steven G. Kargl <kargl@gcc.gnu.org>
|
||
Mark Eggleston <markeggleston@gcc.gnu.org>
|
||
Mark Eggleston <markeggleston@gcc.gnu.org>
|
||
|
||
PR fortran/94397
|
||
* match.c (gfc_match_type_spec): New variable ok initialised
|
||
to true. Set ok with the return value of gfc_reduce_init_expr
|
||
called only if the expression is not EXPR_CONSTANT and is not
|
||
EXPR_VARIABLE. Add !ok to the check for type not being integer
|
||
or the rank being greater than zero.
|
||
|
||
2020-05-27 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/95090
|
||
* iresolve.c (gfc_get_string): Enlarge temporary for
|
||
name-mangling.
|
||
|
||
2020-05-27 Tobias Burnus <tobias@codesourcery.com>
|
||
Mark Eggleston <markeggleston@gnu.gcc.org>
|
||
|
||
PR fortran/50392
|
||
* trans-decl.c (gfc_get_symbol_decl): Remove unnecessary block
|
||
delimiters. Add auxiliary variables if a label is assigned to
|
||
a return variable. (gfc_gat_fake_result): If the symbol has an
|
||
assign attribute set declaration from the symbol's backend
|
||
declaration.
|
||
|
||
2020-05-26 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/95089
|
||
* trans-types.c (gfc_get_derived_type): Enlarge temporary to hold
|
||
mangled name "_caf_symbol".
|
||
|
||
2020-05-26 Alexandre Oliva <oliva@adacore.com>
|
||
|
||
* options.c (gfc_get_option_string): Drop auxbase, add
|
||
dumpbase_ext.
|
||
|
||
2020-05-24 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/95106
|
||
* trans-common.c (gfc_sym_mangled_common_id): Enlarge temporaries
|
||
for name-mangling.
|
||
|
||
2020-05-23 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||
|
||
PR libfortran/95191
|
||
* libgfortran.h (libgfortran_error_codes): Add
|
||
LIBERROR_BAD_WAIT_ID.
|
||
|
||
2020-05-20 Mark Eggleston <markeggleston@gcc.gnu.org>
|
||
|
||
PR fortran/39695
|
||
* resolve.c (resolve_fl_procedure): Set name depending on
|
||
whether the result attribute is set. For PROCEDURE/RESULT
|
||
conflict use the name in sym->ns->proc_name->name.
|
||
* symbol.c (gfc_add_type): Add check for function and result
|
||
attributes use sym->ns->proc_name->name if both are set.
|
||
Where the symbol cannot have a type use the name in
|
||
sym->ns->proc_name->name.
|
||
|
||
2020-05-18 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/95053
|
||
* arith.c (gfc_divide): Revert hunk introduced by patch for
|
||
PR93499.
|
||
* decl.c (variable_decl): Generate error for array shape not being
|
||
an INTEGER constant.
|
||
(gfc_get_pdt_instance): Generate error if KIND or LEN expressions
|
||
in declaration of a PDT instance do not simplify to INTEGER
|
||
constants.
|
||
|
||
2020-05-15 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/94690
|
||
* openmp.c (resolve_omp_do): Permit more clauses for SIMD
|
||
iteration variables.
|
||
|
||
2020-05-14 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* trans-openmp.c: Include function.h.
|
||
(gfc_trans_omp_target): Set cfun->has_omp_target.
|
||
|
||
2020-05-13 Steven G. Kargl <kargl@gcc.gnu.org>
|
||
|
||
PR fortran/93497
|
||
* decl.c (char_len_param_value): Check whether character
|
||
length expression is of type EXPR_OP and if so simplify it.
|
||
* resolve.c (resolve_charlen): Reject length if it has a
|
||
rank.
|
||
|
||
2020-05-13 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/94690
|
||
* openmp.c (OMP_DISTRIBUTE_CLAUSES): Add OMP_CLAUSE_LASTPRIVATE.
|
||
(gfc_resolve_do_iterator): Skip the private handling for SIMD as
|
||
that is handled by ME code.
|
||
* trans-openmp.c (gfc_trans_omp_do): Don't add private/lastprivate
|
||
for dovar_found == 0, unless !simple.
|
||
|
||
2020-05-11 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/95053
|
||
* arith.c (gfc_divide): Do not error out if operand 2 is
|
||
non-numeric. Defer checks to later stage.
|
||
|
||
2020-05-11 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/94672
|
||
* trans.h (gfc_conv_expr_present): Add use_saved_decl=false argument.
|
||
* trans-expr.c (gfc_conv_expr_present): Likewise; use DECL directly
|
||
and only if use_saved_decl is true, use the actual PARAM_DECL arg (saved
|
||
descriptor).
|
||
* trans-array.c (gfc_trans_dummy_array_bias): Set local 'arg.0'
|
||
variable to NULL if 'arg' is not present.
|
||
* trans-openmp.c (gfc_omp_check_optional_argument): Simplify by checking
|
||
'arg.0' instead of the true PARM_DECL.
|
||
(gfc_omp_finish_clause): Remove setting 'arg.0' to NULL.
|
||
|
||
2020-05-11 Janus Weil <janus@gcc.gnu.org>
|
||
Dominique d'Humieres <dominiq@lps.ens.fr>
|
||
|
||
PR fortran/59107
|
||
* gfortran.h: Rename field resolved as resolve_symbol_called
|
||
and assign two 2 bits instead of 1.
|
||
* interface.c (check_dtio_interface1): Use new field name.
|
||
(gfc_find_typebound_dtio_proc): Use new field name.
|
||
* resolve.c (gfc_resolve_intrinsic): Replace check of the formal
|
||
field with resolve_symbol_called is at least 2, if it is not
|
||
set the field to 2. (resolve_typebound_procedure): Use new field
|
||
name. (resolve_symbol): Use new field name and check whether it
|
||
is at least 1, if it is not set the field to 1.
|
||
|
||
2020-05-10 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/93499
|
||
* arith.c (gfc_divide): Catch division by zero.
|
||
(eval_intrinsic_f3): Safeguard for NULL operands.
|
||
|
||
2020-05-05 Steve Kargl <kargl@gcc.gnu.org>
|
||
Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/93366
|
||
* check.c (gfc_check_associated, invalid_null_arg): Factorize
|
||
check for presence of invalid NULL() argument.
|
||
(gfc_check_kind, gfc_check_merge, gfc_check_shape)
|
||
(gfc_check_sizeof, gfc_check_spread, gfc_check_transfer): Use this
|
||
check for presence of invalid NULL() arguments.
|
||
|
||
2020-04-29 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
|
||
|
||
PR fortran/94769
|
||
* io.c (check_io_constraints): Initialize local variable num to
|
||
-1 and assert that it receives a meaningful value by function
|
||
compare_to_allowed_values.
|
||
|
||
2020-04-27 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||
|
||
PR fortran/93956
|
||
PR fortran/94788
|
||
* expr.c (gfc_check_pointer_assign): Revert patch for PR 93956.
|
||
* interface.c: Likewise.
|
||
|
||
2020-04-25 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||
|
||
PR fortran/94578
|
||
* trans-expr.c (arrayfunc_assign_needs_temporary): If the
|
||
LHS is a subref pointer, we also need a temporary.
|
||
|
||
2020-04-23 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||
|
||
PR fortran/93956
|
||
* expr.c (gfc_check_pointer_assign): Also set subref_array_pointer
|
||
when a function returns a pointer.
|
||
* interface.c (gfc_set_subref_array_pointer_arg): New function.
|
||
(gfc_procedure_use): Call it.
|
||
|
||
2020-04-22 Fritz Reese <foreese@gcc.gnu.org>
|
||
|
||
* trigd_fe.inc: Use mpfr to compute cosd(30) rather than a host-
|
||
precision floating point literal based on an invalid macro.
|
||
|
||
2020-04-22 José Rui Faustino de Sousa <jrfsousa@gmail.com>
|
||
|
||
PR fortran/90350
|
||
* simplify.c (simplify_bound): In the case of assumed-size arrays
|
||
check if the reference is to a full array.
|
||
|
||
2020-04-22 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/94709
|
||
* scanner.c (load_line): In fixed form, also treat 'C' as comment and
|
||
'D'/'d' only with -fd-lines-as-comments. Treat '!$' with -fopenmp,
|
||
'!$acc' with -fopenacc and '!GCC$' as non-comment to permit <tab>
|
||
and truncation warnings.
|
||
|
||
2020-04-20 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||
|
||
* dump-parse-tree.c (show_attr): Add numerous flags, some cleanup.
|
||
|
||
2020-04-20 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/93364
|
||
* array.c (gfc_set_array_spec): Check for sum of rank and corank
|
||
not exceeding GFC_MAX_DIMENSIONS.
|
||
|
||
2020-04-20 Steve Kargl <kargl@gcc.gnu.org>
|
||
Thomas Koenig <tkoenig@gcc.gnu.org>
|
||
|
||
PR fortran/91800
|
||
* decl.c (variable_decl): Reject Hollerith constants as type
|
||
initializer.
|
||
|
||
2020-04-19 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||
|
||
PR fortran/93500
|
||
* resolve.c (resolve_operator): If both operands are
|
||
NULL, return false.
|
||
* simplify.c (simplify_bound): If a division by zero
|
||
was seen during bound simplification, free the
|
||
corresponcing expression and return &gfc_bad_expr.
|
||
|
||
2020-04-17 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||
|
||
PR fortran/94090
|
||
* gfortran.dg (gfc_compare_interfaces): Add
|
||
optional argument bad_result_characteristics.
|
||
* interface.c (gfc_check_result_characteristics): Fix
|
||
whitespace.
|
||
(gfc_compare_interfaces): Handle new argument; return
|
||
true if function return values are wrong.
|
||
* resolve.c (resolve_global_procedure): Hard error if
|
||
the return value of a function is wrong.
|
||
|
||
2020-04-15 Fritz Reese <foreese@gcc.gnu.org>
|
||
Linus Koenig <link@sig-st.de>
|
||
|
||
PR fortran/94192
|
||
* simplify.c (simplify_bound): Simplify condition for error check.
|
||
|
||
2020-04-14 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* module.c (gfc_match_use): Fix name-conflict check for use-associating
|
||
the same symbol again in a submodule.
|
||
|
||
2020-04-13 Linus Koenig <link@sig-st.de>
|
||
|
||
PR fortran/94192
|
||
* resolve.c (resolve_fl_var_and_proc): Set flag "error" to 1 if
|
||
pointer is found to not have an assumed rank or a deferred shape.
|
||
* simplify.c (simplify_bound): If an error has been issued for a
|
||
given pointer, one should not attempt to find its bounds.
|
||
|
||
2020-04-09 Fritz Reese <foreese@gcc.gnu.org>
|
||
|
||
PR fortran/87923
|
||
* gfortran.h (gfc_resolve_open, gfc_resolve_close): Add
|
||
locus parameter.
|
||
(gfc_resolve_dt): Add code parameter.
|
||
* io.c (async_io_dt, check_char_variable, is_char_type): Removed.
|
||
(resolve_tag_format): Add locus to error message regarding
|
||
zero-sized array in FORMAT tag.
|
||
(check_open_constraints, check_close_constraints): New functions
|
||
called at resolution time.
|
||
(gfc_match_open, gfc_match_close, match_io): Move checks which don't
|
||
affect the match result to new functions check_open_constraints,
|
||
check_close_constraints, check_io_constraints.
|
||
(gfc_resolve_open, gfc_resolve_close): Call new functions
|
||
check_open_constraints, check_close_constraints after all tags have
|
||
been independently resolved. Remove duplicate constraints which are
|
||
already verified by resolve_tag. Explicitly pass locus to all error
|
||
reports.
|
||
(compare_to_allowed_values): Add locus parameter and provide
|
||
explicit locus all error reports.
|
||
(match_open_element, match_close_element, match_file_element,
|
||
match_dt_element, match_inquire_element): Remove redundant special
|
||
cases for ASYNCHRONOUS and IOMSG tags.
|
||
(gfc_resolve_dt): Remove redundant special case for format
|
||
expression. Call check_io_constraints, forwarding an I/O list as
|
||
the io_code parameter if present.
|
||
(check_io_constraints): Change return type to bool. Pass explicit
|
||
locus to error reports. Move generic checks after tag-specific
|
||
checks, since errors are no longer buffered. Move simplification of
|
||
format string to match_io. Remove redundant checks which are
|
||
verified by resolve_tag. Remove usage of async_io_dt flag and
|
||
explicitly mark symbols used in asynchronous I/O with the
|
||
asynchronous attribute.
|
||
* resolve.c (resolve_transfer, resolve_fl_namelist): Remove checks
|
||
for async_io_dt flag. This is now done in io.c.
|
||
(check_io_constraints).
|
||
(gfc_resolve_code): Pass code locus to gfc_resolve_open,
|
||
gfc_resolve_close, gfc_resolve_dt.
|
||
|
||
2020-04-07 Fritz Reese <foreese@gcc.gnu.org>
|
||
Steven G. Kargl <kargl@gcc.gnu.org>
|
||
|
||
PR fortran/93871
|
||
* gfortran.h (GFC_ISYM_ACOSD, GFC_ISYM_ASIND, GFC_ISYM_ATAN2D,
|
||
GFC_ISYM_ATAND, GFC_ISYM_COSD, GFC_ISYM_COTAND, GFC_ISYM_SIND,
|
||
GFC_ISYM_TAND): New.
|
||
* intrinsic.c (add_functions): Remove check for flag_dec_math.
|
||
Give degree trig functions simplification and name resolution
|
||
functions (e.g, gfc_simplify_atrigd () and gfc_resolve_atrigd ()).
|
||
(do_simplify): Remove special casing of degree trig functions.
|
||
* intrinsic.h (gfc_simplify_acosd, gfc_simplify_asind,
|
||
gfc_simplify_atand, gfc_simplify_cosd, gfc_simplify_cotand,
|
||
gfc_simplify_sind, gfc_simplify_tand, gfc_resolve_trigd2): Add new
|
||
prototypes.
|
||
(gfc_simplify_atrigd, gfc_simplify_trigd, gfc_resolve_cotan,
|
||
resolve_atrigd): Remove prototypes of deleted functions.
|
||
* iresolve.c (is_trig_resolved, copy_replace_function_shallow,
|
||
gfc_resolve_cotan, get_radians, get_degrees, resolve_trig_call,
|
||
gfc_resolve_atrigd, gfc_resolve_atan2d): Delete functions.
|
||
(gfc_resolve_trigd, gfc_resolve_trigd2): Resolve to library functions.
|
||
* simplify.c (rad2deg, deg2rad, gfc_simplify_acosd, gfc_simplify_asind,
|
||
gfc_simplify_atand, gfc_simplify_atan2d, gfc_simplify_cosd,
|
||
gfc_simplify_sind, gfc_simplify_tand, gfc_simplify_cotand): New
|
||
functions.
|
||
(gfc_simplify_atan2): Fix error message.
|
||
(simplify_trig_call, gfc_simplify_trigd, gfc_simplify_atrigd,
|
||
radians_f): Delete functions.
|
||
* trans-intrinsic.c: Add LIB_FUNCTION decls for sind, cosd, tand.
|
||
(rad2deg, gfc_conv_intrinsic_atrigd, gfc_conv_intrinsic_cotan,
|
||
gfc_conv_intrinsic_cotand, gfc_conv_intrinsic_atan2d): New functions.
|
||
(gfc_conv_intrinsic_function): Handle ACOSD, ASIND, ATAND, COTAN,
|
||
COTAND, ATAN2D.
|
||
* trigd_fe.inc: New file. Included by simplify.c to implement
|
||
simplify_sind, simplify_cosd, simplify_tand with code common to the
|
||
libgfortran implementation.
|
||
|
||
2020-04-06 Steven G. Kargl <kargl@gcc.gnu.org>
|
||
|
||
PR fortran/93686
|
||
* decl.c (gfc_match_data): Handle data matching for derived type
|
||
pointers.
|
||
|
||
2020-04-02 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* gfortran.h (gfc_resolve_formal_arglist): Add prototype.
|
||
* interface.c (check_dtio_interface1): Call it.
|
||
* resolve.c (gfc_resolve_formal_arglist): Renamed from
|
||
resolve_formal_arglist, removed static.
|
||
(find_arglists, resolve_types): Update calls.
|
||
|
||
2020-04-02 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/93522
|
||
* match.c (gfc_match_select_rank): Fix error cleanup.
|
||
|
||
2020-04-02 Steven G. Kargl <kargl@gcc.gnu.org>
|
||
|
||
PR fortran/93498
|
||
* check.c (gfc_check_findloc): If the kinds of the arguments
|
||
differ goto label "incompat".
|
||
|
||
2020-04-02 Steven G. Kargl <kargl@gcc.gnu.org>
|
||
|
||
PR fortran/94030
|
||
* resolve.c (resolve_equivalence): Correct formatting
|
||
around the label "identical_types". Instead of using
|
||
gfc_resolve_array_spec use is_non_constants_shape_array
|
||
to determine whether the array can be used in a in an
|
||
equivalence statement.
|
||
|
||
2020-04-01 Mark Eggleston <mark.eggleston@codethink.com>
|
||
|
||
PR fortran/94386
|
||
expr.c (simplify_parameter_variable): Restore code deleted
|
||
in PR94246.
|
||
|
||
2020-03-28 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/94246
|
||
* arith.c : Remove trailing white space.
|
||
* expr.c (scalarize_intrinsic_call): Remove the error checking.
|
||
Make a copy of the expression to be simplified and only replace
|
||
the original if the simplification succeeds.
|
||
|
||
2020-03-28 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/94348
|
||
* decl.c (gfc_match_submod_proc): Add result var to the
|
||
proc's namespace.
|
||
|
||
2020-03-27 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/93957
|
||
* trans-array.c (gfc_alloc_allocatable_for_assignment): Accept
|
||
nonallocatable, nonpointer deferred-rank arrays.
|
||
|
||
2020-03-27 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/93363
|
||
* resolve.c (resolve_assoc_var): Reject association to DT and
|
||
function name.
|
||
|
||
2020-03-25 Steven G. Kargl <kargl@gcc.gnu.org>
|
||
|
||
PR fortran/93484
|
||
* match.c (gfc_match_type_spec): Replace gfc_match_init_expr with
|
||
gfc_match_expr. Return m if m is MATCH_NO or MATCH_ERROR.
|
||
|
||
2020-03-23 Mark Eggleston <mark.eggleston@codethink.com>
|
||
Steven G. Kargl <kargl@gcc.gnu.org>
|
||
|
||
PR fortran/93600
|
||
* expr.c (simplify_parameter_variable): Check whether the ref
|
||
chain contains INQUIRY_LEN or INQUIRY_KIND and set inquiry
|
||
boolean. When an empty array has been identified and a new
|
||
new EXPR_ARRAY expression has been created only return that
|
||
expression if inquiry is not set. This allows the new
|
||
expression to drop through to be simplified into a
|
||
EXPR_CONSTANT representing %kind or %len.
|
||
* matc.c (gfc_match_assignment): If lvalue doesn't have a
|
||
symtree free both lvalue and rvalue expressions and return
|
||
an error.
|
||
* resolv.c (gfc_resolve_ref): Ensure that code to handle
|
||
INQUIRY_LEN is only performed for arrays with deferred types.
|
||
|
||
2020-03-18 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* class.c (generate_finalization_wrapper): Fix up duplicated word
|
||
issue in a comment.
|
||
* trans-types.c (gfc_get_nodesc_array_type): Likewise.
|
||
|
||
2020-03-17 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* array.c (gfc_check_iter_variable): Fix up duplicated word issue
|
||
in a comment.
|
||
* arith.c (gfc_arith_concat): Likewise.
|
||
* resolve.c (gfc_resolve_ref): Likewise.
|
||
* frontend-passes.c (matmul_lhs_realloc): Likewise.
|
||
* module.c (gfc_match_submodule, load_needed): Likewise.
|
||
* trans-expr.c (gfc_init_se): Likewise.
|
||
|
||
2020-03-15 Lewis Hyatt <lhyatt@gmail.com>
|
||
|
||
* lang.opt: Avoid redundancy in the help text.
|
||
|
||
2020-03-12 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR middle-end/94120
|
||
* openmp.c (gfc_match_oacc_declare): Accept function-result
|
||
variables; reject variables declared in a different scoping unit.
|
||
|
||
2020-03-08 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/93581
|
||
* resolve.c (gfc_resolve_ref): Modify array refs to be elements
|
||
if the ref chain ends in INQUIRY_LEN.
|
||
* trans-array.c (gfc_get_dataptr_offset): Provide the offsets
|
||
for INQUIRY_RE and INQUIRY_IM.
|
||
|
||
2020-03-05 Steven G. Kargl <kargl@gcc.gnu.org>
|
||
|
||
PR fortran/93792
|
||
* decl.c (variable_decl): If param and initializer check
|
||
for BOZ, if found, output an error, set m to MATCH_ERROR
|
||
and goto cleanup.
|
||
|
||
2020-03-02 Andrew Benson <abensonca@gmail.com>
|
||
|
||
PR fortran/93486
|
||
* module.c: Increase size of variables used to read module names
|
||
when loading interfaces from module files to permit cases where
|
||
the name is the concatenation of a module and submodule name.
|
||
* gfortran.dg/pr93486.f90: New test.
|
||
|
||
2020-03-01 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/92976
|
||
* match.c (select_type_set_tmp): If the selector array spec has
|
||
explicit bounds, make the temporary's bounds deferred.
|
||
|
||
2020-03-01 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/92959
|
||
* trans-intrinsic.c (gfc_conv_associated): Eliminate
|
||
'nonzero_charlen' and move the chunk to evaluate zero character
|
||
length until after the argument evaluation so that the string
|
||
length can be used.
|
||
|
||
2020-02-28 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/92785
|
||
* trans-expr.c (gfc_conv_intrinsic_to_class): Renormalise non-
|
||
variable expressions to be unity lbound based.
|
||
|
||
2020-02-25 Steven G. Kargl <kargl@gcc.gnu.org>
|
||
|
||
* simplify.c (degrees_f): Remove unused code.
|
||
|
||
2020-02-25 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR translation/93864
|
||
* intrinsic.texi (CO_BROADCAST): Fix typo, paramter -> parameter.
|
||
* trans-array.c (gfc_allocate_pdt_comp, gfc_deallocate_pdt_comp,
|
||
gfc_check_pdt_dummy): Fix comment typo paramter -> parameter.
|
||
|
||
2020-02-24 Mark Eggleston <mark.eggleston@codethink.com>
|
||
Steven G. Kargl <kargl@gcc.gnu.org>
|
||
|
||
PR fortran/93835
|
||
* decl.c (gfc_match_data) : Check whether the data expression
|
||
is a derived type and is a constructor. If a BOZ constant
|
||
is encountered in the constructor output an error and return
|
||
MATCH_ERROR.
|
||
|
||
2020-02-24 Steven G. Kargl <kargl@gcc.gnu.org>
|
||
|
||
PR fortran/93604
|
||
* decl.c (gfc_match_data) : Check whether the data expression
|
||
is a derived type and is a constructor. If a BOZ constant
|
||
is encountered in the constructor output an error and return
|
||
MATCH_ERROR.
|
||
|
||
2020-02-24 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/93552
|
||
* match.c (match_exit_cycle): With OpenACC, check the kernels loop
|
||
directive and tile clause as well.
|
||
|
||
2020-02-23 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||
|
||
PR fortran/93889
|
||
* interface.c (compare_parameter): Fix error message.
|
||
|
||
2020-02-23 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||
|
||
PR fortran/93890
|
||
* interface.c: Replace "can not" by "cannot" and remove trailing
|
||
space.
|
||
|
||
2020-02-20 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/93825
|
||
* openmp.c (resolve_oacc_loop_blocks): Move call to
|
||
resolve_oacc_nested_loops from here ...
|
||
(resolve_oacc_loop): ... to here.
|
||
|
||
2020-02-18 Mark Eggleston <markeggleston@gcc.gnu.org>
|
||
|
||
PR fortran/93714
|
||
* expr.c (gfc_check_pointer_assign): Move check for
|
||
matching character length to after checking the lvalue
|
||
attributes for target or pointer.
|
||
|
||
2020-02-18 Steven G. Kargl <kargl@gcc.gnu.org>
|
||
|
||
PR fortran/93601
|
||
* match.c (gfc_match_assignment) : Reject assignment if
|
||
the lhs stype is BT_CLASS and the rhs type is BT_BOZ.
|
||
|
||
2020-02-18 Steven G. Kargl <kargl@gcc.gnu.org>
|
||
|
||
PR fortran/93603
|
||
* match.c (gfc_match_associate) : If target expression
|
||
has the type BT_BOZ output an error and goto
|
||
assocListError.
|
||
|
||
2020-02-18 Steven G. Kargl <kargl@gcc.gnu.org>
|
||
Mark Eggleston <markeggleston@gcc.gnu.org>
|
||
|
||
PR fortran/93580
|
||
* primary.c (gfc_match_varspec): If the symbol following %
|
||
is re or im and the primary expression type is not BT_COMPLEX
|
||
issue an error. If the symbol is len and the primary
|
||
expression type is not BT_CHARACTER is an error.
|
||
|
||
2020-02-10 Andrew Benson <abensonca@gmail.com>
|
||
|
||
PR fortran/83113
|
||
* array.c: Do not attempt to set the array spec for a submodule
|
||
function symbol (as it has already been set in the corresponding
|
||
module procedure interface).
|
||
* symbol.c: Do not reject duplicate POINTER, ALLOCATABLE, or
|
||
DIMENSION attributes in declarations of a submodule function.
|
||
* gfortran.h: Add a macro that tests for a module procedure in a
|
||
submodule.
|
||
* gfortran.dg/pr83113.f90: New test.
|
||
|
||
2020-02-03 Julian Brown <julian@codesourcery.com>
|
||
Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* cpp.c (cpp_define_builtins): Update _OPENACC define to 201711.
|
||
* intrinsic.texi: Update mentions of OpenACC version to 2.6.
|
||
* gfortran.texi: Likewise. Remove experimental disclamer for OpenACC.
|
||
* invoke.texi: Remove experimental disclamer for OpenACC.
|
||
|
||
2020-02-03 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/93541
|
||
* intrinisic.texi (OpenMP Modules OMP_LIB and OMP_LIB_KINDS):
|
||
Add undocumented parameters from omp_lib.f90.in.
|
||
|
||
2020-02-03 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/93427
|
||
* resolve.c (resolve_assoc_var): Remove too strict check.
|
||
* gfortran.dg/associate_51.f90: Update test case.
|
||
|
||
2020-02-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR fortran/92305
|
||
* trans-types.c (gfc_get_function_type): Also push boolean_type_node
|
||
types for non-character scalar VALUE optional dummy arguments.
|
||
* trans-decl.c (create_function_arglist): Skip those in
|
||
hidden_typelist. Formatting fix.
|
||
|
||
2020-01-31 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/93462
|
||
* frontend-passes.c (gfc_code_walker): For EXEC_OACC_ATOMIC, set
|
||
in_omp_atomic to true prevent front-end optimization.
|
||
|
||
2020-01-30 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
|
||
|
||
PR fortran/87103
|
||
* expr.c (gfc_check_conformance): Check vsnprintf for truncation.
|
||
* iresolve.c (gfc_get_string): Likewise.
|
||
* symbol.c (gfc_new_symbol): Remove check for maximum symbol
|
||
name length. Remove redundant 0 setting of new calloc()ed
|
||
gfc_symbol.
|
||
|
||
2020-01-30 Paul Thomas <pault@gcc.gnu.org>
|
||
Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR fortran/92123
|
||
* trans-decl.c (gfc_get_symbol_decl): Call gfc_defer_symbol_init for
|
||
CFI descs.
|
||
(gfc_build_builtin_function_decls): Use ".w." instead of ".ww" or ".wR"
|
||
for gfor_fndecl_{cfi_to_gfc,gfc_to_cfi}.
|
||
(convert_CFI_desc): Handle references to CFI descriptors.
|
||
|
||
2020-01-29 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR fortran/93463
|
||
* openmp.c (oacc_code_to_statement): Handle
|
||
EXEC_OACC_{ROUTINE,UPDATE,WAIT,CACHE,{ENTER,EXIT}_DATA,DECLARE}.
|
||
|
||
2020-01-28 Andrew Benson <abensonca@gmail.com>
|
||
|
||
PR fortran/93461
|
||
* trans.h: Increase GFC_MAX_MANGLED_SYMBOL_LEN to
|
||
GFC_MAX_SYMBOL_LEN*3+5 to allow for inclusion of submodule name,
|
||
plus the "." between module and submodule names.
|
||
* gfortran.dg/pr93461.f90: New test.
|
||
|
||
2020-01-28 Andrew Benson <abensonca@gmail.com>
|
||
|
||
PR fortran/93473
|
||
* parse.c: Increase length of char variables to allow them to hold
|
||
a concatenated module + submodule name.
|
||
* gfortran.dg/pr93473.f90: New test.
|
||
|
||
2020-01-28 Julian Brown <julian@codesourcery.com>
|
||
|
||
PR fortran/93025
|
||
* openmp.c (resolve_omp_clauses): Check array references for contiguity.
|
||
|
||
2020-01-28 Julian Brown <julian@codesourcery.com>
|
||
|
||
* gfortran.h (gfc_symbol): Add comp_mark bitfield.
|
||
* openmp.c (resolve_omp_clauses): Disallow mixed component and
|
||
full-derived-type accesses to the same variable within a single
|
||
directive.
|
||
|
||
2020-01-28 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/93464
|
||
* openmp.c (gfc_omp_check_optional_argument): Avoid ICE when
|
||
DECL_LANG_SPECIFIC and GFC_DESCRIPTOR_TYPE_P but not
|
||
GFC_DECL_SAVED_DESCRIPTOR as for local allocatable character vars.
|
||
|
||
2020-01-28 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* gfortran.texi (Runtime): Remove tailing '.' in @menu.
|
||
|
||
2020-01-27 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/85781
|
||
* trans-expr.c (gfc_conv_substring): Handle non-ARRAY_TYPE strings
|
||
of Bind(C) procedures.
|
||
|
||
2020-01-22 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* parse.c (parse_omp_structured_block): Handle ST_OMP_TARGET_PARALLEL.
|
||
* trans-openmp.c (gfc_trans_omp_target)
|
||
<case EXEC_OMP_TARGET_PARALLEL>: Call pushlevel first.
|
||
|
||
PR fortran/93329
|
||
* openmp.c (omp_code_to_statement): Handle remaining EXEC_OMP_*
|
||
cases.
|
||
|
||
2020-01-21 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/93309
|
||
* interface.c (gfc_procedure_use): Also check parent namespace for
|
||
'implict none (external)'.
|
||
* symbol.c (gfc_get_namespace): Don't set has_implicit_none_export
|
||
to parent namespace's setting.
|
||
|
||
2020-01-19 Thomas König <tkoenig@gcc.gnu.org>
|
||
|
||
PR fortran/44960
|
||
* primary.c (gfc_match_rvalue): Break after setting MATCH_ERROR.
|
||
* resolve.c (resolve_function): Issue error when a
|
||
function call contains a reference.
|
||
|
||
2020-01-17 Mark Eggleston <mark.eggleston@codethink.com>
|
||
|
||
PR fortran/93236
|
||
* resolve.c (resolve_types): Declare boolean recursive and set with the
|
||
value of the recursive attribute of namespace proc_name symbol
|
||
structure if it exists. Call gfc_save_all if both flag_automatic and
|
||
recursive are false or ns->save_all is true.
|
||
|
||
2020-01-16 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/93253
|
||
* check.c (gfc_invalid_boz): Mention -fallow-invalid-boz
|
||
in the error message.
|
||
* gfortran.texi (BOZ literal constants): List another missing
|
||
extension and refer to -fallow-invalid-boz.
|
||
* lang.opt (fallow-invalid-boz): Also mention 'X' in the help text
|
||
as it is not covered by the previous wording.
|
||
* primary.c (match_boz_constant): Tweak wording such that it is
|
||
clear how to fix the nonstandard use.
|
||
|
||
2020-01-09 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||
|
||
PR fortran/65428
|
||
* array.c (empty_constructor): New variable.
|
||
(empty_ts): New variable.
|
||
(expand_constructor): Save typespec in empty_ts.
|
||
Unset empty_constructor if there is an element.
|
||
(gfc_expand_constructor): Initialize empty_constructor
|
||
and empty_ts. If there was no explicit constructor
|
||
type and the constructor is empty, take the type from
|
||
empty_ts.
|
||
|
||
2020-01-09 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/84135
|
||
* array.c (gfc_set_array_spec): Fix shifting of codimensions
|
||
when adding a dimension.
|
||
* decl.c (merge_array_spec): Ditto. Fix using correct codimensions.
|
||
|
||
2020-01-07 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR fortran/93162
|
||
* trans-openmp.c (gfc_trans_omp_clauses): Check for REF_ARRAY type
|
||
before testing u.ar.type == AR_FULL.
|
||
|
||
2020-01-04 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/91640
|
||
* trans-expr.c (gfc_conv_procedure_call): Avoid copy-out for nonvariable
|
||
arguments to contiguous dummy args. Avoid re-checking whether fsym is
|
||
NULL.
|
||
|
||
2020-01-03 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* trans-openmp.c (gfc_omp_check_optional_argument): Always return a
|
||
Boolean expression; handle unallocated/disassociated actual arguments
|
||
as absent if passed to nonallocatable/nonpointer dummy array arguments.
|
||
(gfc_build_cond_assign): Change to assume a Boolean expr not a pointer.
|
||
(gfc_omp_finish_clause, gfc_trans_omp_clauses): Assign NULL to generated
|
||
array-data variable if the argument is absent. Simplify code as
|
||
'present' is now a Boolean expression.
|
||
|
||
2020-01-03 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/92994
|
||
* primary.c (gfc_match_rvalue): Add some flavor checks
|
||
gfc_matching_procptr_assignment.
|
||
* resolve.c (resolve_assoc_var): Add more checks for invalid targets.
|
||
|
||
2020-01-02 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/68020
|
||
* array.c (gfc_match_array_spec): Fix implied-type matching
|
||
for rank > 2.
|
||
|
||
2020-01-01 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||
|
||
PR fortran/93113
|
||
* dependency.c (gfc_dep_resolver): Handle REF_INQUIRY in switch
|
||
for ref types.
|
||
|
||
2020-01-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Update copyright years.
|
||
|
||
* gfortranspec.c (lang_specific_driver): Update copyright notice
|
||
dates.
|
||
* gfc-internals.texi: Bump @copying's copyright year.
|
||
* gfortran.texi: Ditto.
|
||
* intrinsic.texi: Ditto.
|
||
* invoke.texi: Ditto.
|
||
|
||
Copyright (C) 2020 Free Software Foundation, Inc.
|
||
|
||
Copying and distribution of this file, with or without modification,
|
||
are permitted in any medium without royalty provided the copyright
|
||
notice and this notice are preserved.
|