mirror of
https://github.com/autc04/Retro68.git
synced 2024-06-03 00:29:47 +00:00
2564 lines
90 KiB
Plaintext
2564 lines
90 KiB
Plaintext
2021-12-29 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/102332
|
||
* expr.c (gfc_get_variable_expr): Avoid NULL pointer dereferences
|
||
during handling of errors with invalid uses of CLASS variables.
|
||
* match.c (select_type_set_tmp): Likewise.
|
||
* primary.c (gfc_match_varspec): Likewise.
|
||
* resolve.c (resolve_variable): Likewise.
|
||
(resolve_select_type): Likewise.
|
||
|
||
2021-12-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
|
||
|
||
PR fortran/103828
|
||
* trans-decl.c (generate_local_decl): Do not call
|
||
gfc_conv_scalar_char_value(), but check the type tree.
|
||
* trans-expr.c (gfc_conv_scalar_char_value): Rename to
|
||
conv_scalar_char_value, do not alter type tree.
|
||
(gfc_conv_procedure_call): Adjust call to renamed
|
||
conv_scalar_char_value() function.
|
||
* trans-types.c (gfc_sym_type): Take care of
|
||
CHARACTER(C_CHAR), VALUE arguments.
|
||
* trans.h (gfc_conv_scalar_char_value): Remove prototype.
|
||
|
||
2021-12-28 Martin Liska <mliska@suse.cz>
|
||
|
||
* gfortran.texi: Replace http:// with https.
|
||
* intrinsic.texi: Likewise.
|
||
|
||
2021-12-22 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/103778
|
||
* check.c (is_c_interoperable): A BOZ literal constant is not
|
||
interoperable.
|
||
|
||
2021-12-22 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/103776
|
||
* match.c (match_case_selector): Reject expressions in CASE
|
||
selector which are not scalar.
|
||
|
||
2021-12-18 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/103412
|
||
* check.c (gfc_check_sizeof): Reject BOZ type argument.
|
||
|
||
2021-12-14 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/103717
|
||
* frontend-passes.c (doloop_code): Prevent NULL pointer
|
||
dereference when checking for passing a do-loop variable to a
|
||
contained procedure with an interface mismatch.
|
||
|
||
2021-12-14 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/103718
|
||
PR fortran/103719
|
||
* frontend-passes.c (doloop_contained_procedure_code): Add several
|
||
checks to prevent NULL pointer dereferences on valid and invalid
|
||
code called within do-loops.
|
||
|
||
2021-12-14 Manfred Schwarb <manfred99@gmx.ch>
|
||
|
||
PR fortran/91497
|
||
* simplify.c (simplify_min_max): Disable conversion warnings for
|
||
MIN1 and MAX1.
|
||
|
||
2021-12-13 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/103576
|
||
* openmp.c (is_scalar_intrinsic_expr): Fix condition.
|
||
(resolve_omp_atomic): Fix/update checks, accept compare.
|
||
* trans-openmp.c (gfc_trans_omp_atomic): Handle compare.
|
||
|
||
2021-12-11 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/103606
|
||
* resolve.c (resolve_fl_procedure): Do not access CLASS components
|
||
before class container has been built.
|
||
|
||
2021-12-10 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/103418
|
||
* check.c (variable_check): Replace previous check of procedure
|
||
dummy arguments with INTENT(IN) attribute when passed to intrinsic
|
||
procedures by gfc_check_vardef_context.
|
||
* expr.c (gfc_check_vardef_context): Correct check of INTENT(IN)
|
||
dummy arguments for the case of sub-components of a CLASS pointer.
|
||
|
||
2021-12-08 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/103609
|
||
* symbol.c (gfc_sym_get_dummy_args): Catch NULL pointer
|
||
dereference.
|
||
|
||
2021-12-08 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/103610
|
||
* array.c (spec_dimen_size): Fix simplification of SHAPE:
|
||
dimensions must be non-negative.
|
||
|
||
2021-12-08 Chung-Lin Tang <cltang@codesourcery.com>
|
||
|
||
* trans-openmp.c (gfc_trans_omp_array_section): Do not generate
|
||
GOMP_MAP_ALWAYS_POINTER map for main array maps of ARRAY_TYPE type.
|
||
|
||
2021-12-07 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/103607
|
||
* frontend-passes.c (do_subscript): Ensure that array bounds are
|
||
of type INTEGER before performing checks on array subscripts.
|
||
|
||
2021-12-07 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/103588
|
||
* array.c (gfc_ref_dimen_size): Do not generate internal error on
|
||
failed simplification of stride expression; just return failure.
|
||
|
||
2021-12-07 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/103591
|
||
* match.c (match_case_selector): Check type of upper bound in case
|
||
range.
|
||
|
||
2021-12-04 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* dump-parse-tree.c (show_omp_clauses): Handle
|
||
weak/compare/fail clause.
|
||
* gfortran.h (gfc_omp_clauses): Add weak, compare, fail.
|
||
* openmp.c (enum omp_mask1, gfc_match_omp_clauses,
|
||
OMP_ATOMIC_CLAUSES): Update for new clauses.
|
||
(gfc_match_omp_atomic): Update for 5.1 atomic changes.
|
||
(is_conversion): Support widening in one go.
|
||
(is_scalar_intrinsic_expr): New.
|
||
(resolve_omp_atomic): Update for 5.1 atomic changes.
|
||
* parse.c (parse_omp_oacc_atomic): Update for compare.
|
||
* resolve.c (gfc_resolve_blocks): Update asserts.
|
||
* trans-openmp.c (gfc_trans_omp_atomic): Handle new clauses.
|
||
|
||
2021-12-03 Harald Anlauf <anlauf@gmx.de>
|
||
Steven G. Kargl <kargl@gcc.gnu.org>
|
||
|
||
PR fortran/103505
|
||
* array.c (match_array_element_spec): Try to simplify array
|
||
element specifications to improve early checking.
|
||
* expr.c (gfc_try_simplify_expr): New. Try simplification of an
|
||
expression via gfc_simplify_expr. When an error occurs, roll
|
||
back.
|
||
* gfortran.h (gfc_try_simplify_expr): Declare it.
|
||
|
||
2021-12-03 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* trans-stmt.c (gfc_trans_allocate): Set e3_has_nodescriptor to true
|
||
only for non-named arrays.
|
||
|
||
2021-12-02 Chung-Lin Tang <cltang@codesourcery.com>
|
||
|
||
PR fortran/90030
|
||
* trans-openmp.c (gfc_omp_finish_clause): Remove fold_convert to pointer
|
||
to char_type_node, add gcc_assert of POINTER_TYPE_P.
|
||
(gfc_trans_omp_array_section): Likewise.
|
||
(gfc_trans_omp_clauses): Likewise.
|
||
|
||
2021-11-30 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/102787
|
||
* array.c (expand_constructor): When encountering a constant array
|
||
expression or array section within a constructor, simplify it to
|
||
enable better expansion.
|
||
|
||
2021-11-30 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/103473
|
||
* simplify.c (simplify_minmaxloc_nodim): Avoid NULL pointer
|
||
dereference when shape is not set.
|
||
|
||
2021-11-30 Harald Anlauf <anlauf@gmx.de>
|
||
Steven G. Kargl <kargl@gcc.gnu.org>
|
||
|
||
PR fortran/101565
|
||
* check.c (gfc_check_image_index): Verify that SUB argument to
|
||
IMAGE_INDEX is of type integer.
|
||
|
||
2021-11-30 Richard Biener <rguenther@suse.de>
|
||
|
||
* frontend-passes.c (gfc_expr_walker): Add comment to
|
||
indicate tail recursion.
|
||
|
||
2021-11-30 Richard Biener <rguenther@suse.de>
|
||
|
||
* target-memory.c (gfc_element_size): Remove unreachable return.
|
||
|
||
2021-11-30 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* openmp.c (resolve_oacc_loop_blocks): Remove "gang reduction on
|
||
an orphan loop" checking.
|
||
(oacc_is_parallel, oacc_is_kernels, oacc_is_serial)
|
||
(oacc_is_compute_construct): Remove.
|
||
|
||
2021-11-30 Frederik Harwath <frederik@codesourcery.com>
|
||
Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* openmp.c (oacc_is_parallel_or_serial): Evolve into...
|
||
(oacc_is_compute_construct): ... this function.
|
||
(resolve_oacc_loop_blocks): Use "oacc_is_compute_construct"
|
||
instead of "oacc_is_parallel_or_serial" for checking that a
|
||
loop is not orphaned.
|
||
|
||
2021-11-30 Kwok Cheung Yeung <kcy@codesourcery.com>
|
||
Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* openmp.c (oacc_is_serial, oacc_is_parallel_or_serial): New.
|
||
(resolve_oacc_loop_blocks): Use oacc_is_parallel_or_serial instead of
|
||
oacc_is_parallel.
|
||
|
||
2021-11-30 Cesar Philippidis <cesar@codesourcery.com>
|
||
Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* openmp.c (oacc_is_parallel, oacc_is_kernels): New 'static'
|
||
functions.
|
||
(resolve_oacc_loop_blocks): Emit an error on orphan OpenACC gang
|
||
reductions.
|
||
|
||
2021-11-30 Richard Biener <rguenther@suse.de>
|
||
|
||
* decl.c (gfc_insert_parameter_exprs): Only return after
|
||
resetting type_param_spec_list.
|
||
|
||
2021-11-30 Richard Biener <rguenther@suse.de>
|
||
|
||
* frontend-passes.c (gfc_expr_walker): Remove unreachable
|
||
break.
|
||
* scanner.c (skip_fixed_comments): Remove unreachable
|
||
gcc_unreachable.
|
||
* trans-expr.c (gfc_expr_is_variable): Refactor to make
|
||
control flow more obvious.
|
||
|
||
2021-11-29 Eric Gallager <egallager@gcc.gnu.org>
|
||
|
||
PR other/103021
|
||
* Make-lang.in: Use ETAGS variable in TAGS target.
|
||
|
||
2021-11-26 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/103411
|
||
* check.c (gfc_check_reshape): Improve check of size of source
|
||
array for the RESHAPE intrinsic against the given shape when pad
|
||
is not given, and shape is a parameter. Try other simplifications
|
||
of shape.
|
||
|
||
2021-11-23 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/103392
|
||
* simplify.c (simplify_bound): Do not try to simplify
|
||
LBOUND/UBOUND for arrays with POINTER or ALLOCATABLE attribute.
|
||
|
||
2021-11-23 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/87711
|
||
PR fortran/87851
|
||
* trans-array.c (arg_evaluated_for_scalarization): Add LEN_TRIM to
|
||
list of intrinsics for which an optional KIND argument needs to be
|
||
removed before scalarization.
|
||
|
||
2021-11-21 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/103315
|
||
* trans-types.c (gfc_get_array_descr_info): Use DW_OP_deref_size 1
|
||
instead of DW_OP_deref for DW_AT_rank.
|
||
|
||
2021-11-21 Harald Anlauf <anlauf@gmx.de>
|
||
Steven G. Kargl <kargl@gcc.gnu.org>
|
||
|
||
PR fortran/99061
|
||
* trans-intrinsic.c (gfc_lookup_intrinsic): Helper function for
|
||
looking up gfortran builtin intrinsics.
|
||
(gfc_conv_intrinsic_atrigd): Use it.
|
||
(gfc_conv_intrinsic_cotan): Likewise.
|
||
(gfc_conv_intrinsic_cotand): Likewise.
|
||
(gfc_conv_intrinsic_atan2d): Likewise.
|
||
|
||
2021-11-18 Harald Anlauf <anlauf@gmx.de>
|
||
Steven G. Kargl <kargl@gcc.gnu.org>
|
||
|
||
PR fortran/101329
|
||
* check.c (is_c_interoperable): Reject NULL() as it is not
|
||
interoperable.
|
||
|
||
2021-11-16 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/103286
|
||
* resolve.c (resolve_select): Choose appropriate range limit to
|
||
avoid NULL pointer dereference when generating error message.
|
||
|
||
2021-11-16 Mikael Morin <mikael@gcc.gnu.org>
|
||
|
||
* interface.c (gfc_dummy_arg_get_name): New function.
|
||
* gfortran.h (gfc_dummy_arg_get_name): Declare it.
|
||
* trans-array.c (arg_evaluated_for_scalarization): Pass a dummy
|
||
argument wrapper as argument instead of an actual argument
|
||
and an index number. Check it’s non-NULL. Use its name
|
||
to identify it.
|
||
(gfc_walk_elemental_function_args): Update call to
|
||
arg_evaluated for scalarization. Remove argument counting.
|
||
|
||
2021-11-16 Mikael Morin <mikael@gcc.gnu.org>
|
||
|
||
* gfortran.h (gfc_actual_arglist::missing_arg_type): Remove.
|
||
* interface.c (gfc_compare_actual_formal): Remove
|
||
missing_arg_type initialization.
|
||
* intrinsic.c (sort_actual): Ditto.
|
||
* trans-expr.c (gfc_conv_procedure_call): Use associated_dummy
|
||
and gfc_dummy_arg_get_typespec to get the dummy argument type.
|
||
|
||
2021-11-16 Mikael Morin <mikael@gcc.gnu.org>
|
||
|
||
* interface.c (gfc_dummy_arg_get_typespec,
|
||
gfc_dummy_arg_is_optional): New functions.
|
||
* gfortran.h (gfc_dummy_arg_get_typespec,
|
||
gfc_dummy_arg_is_optional): Declare them.
|
||
* trans.h (gfc_ss_info::dummy_arg): Use the wrapper type
|
||
as declaration type.
|
||
* trans-array.c (gfc_scalar_elemental_arg_saved_as_reference):
|
||
use gfc_dummy_arg_get_typespec function to get the type.
|
||
(gfc_walk_elemental_function_args): Remove proc_ifc argument.
|
||
Get info about the dummy arg using the associated_dummy field.
|
||
* trans-array.h (gfc_walk_elemental_function_args): Update declaration.
|
||
* trans-intrinsic.c (gfc_walk_intrinsic_function):
|
||
Update call to gfc_walk_elemental_function_args.
|
||
* trans-stmt.c (gfc_trans_call): Ditto.
|
||
(get_proc_ifc_for_call): Remove.
|
||
|
||
2021-11-16 Mikael Morin <mikael@gcc.gnu.org>
|
||
|
||
* gfortran.h (gfc_dummy_arg_kind, gfc_dummy_arg): New.
|
||
(gfc_actual_arglist): New field associated_dummy.
|
||
(gfc_intrinsic_arg): Remove field actual.
|
||
* interface.c (get_nonintrinsic_dummy_arg): New.
|
||
(gfc_compare_actual): Initialize associated_dummy.
|
||
* intrinsic.c (get_intrinsic_dummy_arg): New.
|
||
(sort_actual): Add argument vectors.
|
||
Use loops with indices on argument vectors.
|
||
Initialize associated_dummy.
|
||
|
||
2021-11-16 Mikael Morin <mikael@gcc.gnu.org>
|
||
|
||
* intrinsic.c (sort_actual): initialise variable and use it earlier.
|
||
|
||
2021-11-15 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* openmp.c (OMP_TARGET_CLAUSES): Add thread_limit.
|
||
* trans-openmp.c (gfc_split_omp_clauses): Add thread_limit also to
|
||
teams.
|
||
|
||
2021-11-12 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* parse.c (decode_omp_directive): Fix permitting 'nowait' for some
|
||
combined directives, add missing 'omp end ... loop'.
|
||
(gfc_ascii_statement): Fix ST_OMP_END_TEAMS_LOOP result.
|
||
* openmp.c (resolve_omp_clauses): Add missing combined loop constructs
|
||
case values to the 'if(directive-name: ...)' check.
|
||
* trans-openmp.c (gfc_split_omp_clauses): Put nowait on target if
|
||
first leaf construct accepting it.
|
||
|
||
2021-11-12 Martin Jambor <mjambor@suse.cz>
|
||
|
||
* trans-types.c (gfc_get_array_descr_info): Use build_debug_expr_decl
|
||
instead of building DEBUG_EXPR_DECL manually.
|
||
|
||
2021-11-12 Mikael Morin <mikael@gcc.gnu.org>
|
||
|
||
PR fortran/97896
|
||
* intrinsic.c (add_sym_4ind): Remove.
|
||
(add_functions): Use add_sym4 instead of add_sym4ind.
|
||
Don’t special case the index intrinsic.
|
||
* iresolve.c (gfc_resolve_index_func): Use the individual arguments
|
||
directly instead of the full argument list.
|
||
* intrinsic.h (gfc_resolve_index_func): Update the declaration
|
||
accordingly.
|
||
* trans-decl.c (gfc_get_extern_function_decl): Don’t modify the
|
||
list of arguments in the case of the index intrinsic.
|
||
* trans-array.h (gfc_get_intrinsic_for_expr,
|
||
gfc_get_proc_ifc_for_expr): New.
|
||
* trans-array.c (gfc_get_intrinsic_for_expr,
|
||
arg_evaluated_for_scalarization): New.
|
||
(gfc_walk_elemental_function_args): Add intrinsic procedure
|
||
as argument. Count arguments. Check arg_evaluated_for_scalarization.
|
||
* trans-intrinsic.c (gfc_walk_intrinsic_function): Update call.
|
||
* trans-stmt.c (get_intrinsic_for_code): New.
|
||
(gfc_trans_call): Update call.
|
||
|
||
2021-11-12 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* types.def (BT_FN_VOID_UINT_UINT): Remove.
|
||
(BT_FN_BOOL_UINT_UINT_UINT_BOOL): New.
|
||
|
||
2021-11-11 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* gfortran.h (struct gfc_omp_clauses): Rename num_teams to
|
||
num_teams_upper, add num_teams_upper.
|
||
* dump-parse-tree.c (show_omp_clauses): Update to handle
|
||
lower-bound num_teams clause.
|
||
* frontend-passes.c (gfc_code_walker): Likewise
|
||
* openmp.c (gfc_free_omp_clauses, gfc_match_omp_clauses,
|
||
resolve_omp_clauses): Likewise.
|
||
* trans-openmp.c (gfc_trans_omp_clauses, gfc_split_omp_clauses,
|
||
gfc_trans_omp_target): Likewise.
|
||
|
||
2021-11-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* trans-openmp.c (gfc_trans_omp_clauses): Use
|
||
OMP_CLAUSE_NUM_TEAMS_UPPER_EXPR instead of OMP_CLAUSE_NUM_TEAMS_EXPR.
|
||
|
||
2021-11-10 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/103137
|
||
PR fortran/103138
|
||
* check.c (gfc_check_shape): Avoid NULL pointer dereference on
|
||
missing ref.
|
||
* simplify.c (gfc_simplify_cshift): Avoid NULL pointer dereference
|
||
when shape not set.
|
||
(gfc_simplify_transpose): Likewise.
|
||
|
||
2021-11-09 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
|
||
|
||
PR fortran/68800
|
||
* class.c (generate_finalization_wrapper): Do not leak
|
||
finalization wrappers if they will not be used.
|
||
* expr.c (gfc_free_actual_arglist): Formatting fix.
|
||
* gfortran.h (gfc_free_symbol): Pass argument by reference.
|
||
(gfc_release_symbol): Likewise.
|
||
(gfc_free_namespace): Likewise.
|
||
* symbol.c (gfc_release_symbol): Adjust acordingly.
|
||
(free_components): Set procedure pointer components
|
||
of derived types to NULL after freeing.
|
||
(free_tb_tree): Likewise.
|
||
(gfc_free_symbol): Set sym to NULL after freeing.
|
||
(gfc_free_namespace): Set namespace to NULL after freeing.
|
||
|
||
2021-11-09 Martin Liska <mliska@suse.cz>
|
||
|
||
* symbol.c (gfc_get_ultimate_derived_super_type): Remove.
|
||
|
||
2021-11-09 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* misc.c (gfc_dummy_typename): Make sure ts->kind is
|
||
non-negative.
|
||
|
||
2021-11-07 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||
|
||
* intrinsic.c (add_subroutines): Change keyword "operator"
|
||
to the correct one, "operation".
|
||
* check.c (gfc_check_co_reduce): Change OPERATOR to
|
||
OPERATION in error messages.
|
||
* intrinsic.texi: Change OPERATOR to OPERATION in
|
||
documentation.
|
||
|
||
2021-11-07 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* interface.c (gfc_compare_actual_formal): Continue checking
|
||
all arguments after encountering an error.
|
||
* intrinsic.c (do_ts29113_check): Likewise.
|
||
* resolve.c (resolve_operator): Continue resolving on op2 error.
|
||
|
||
2021-11-06 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/102715
|
||
* decl.c (add_init_expr_to_sym): Reject rank mismatch between
|
||
array and its initializer.
|
||
|
||
2021-11-05 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/102817
|
||
* expr.c (simplify_parameter_variable): Copy shape of referenced
|
||
subobject when simplifying.
|
||
|
||
2021-11-05 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/69419
|
||
* match.c (gfc_match_common): Check array spec of a symbol in a
|
||
COMMON object list and reject it if it is a coarray.
|
||
|
||
2021-11-05 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
|
||
|
||
PR fortran/100972
|
||
* decl.c (gfc_match_implicit_none): Fix typo in warning.
|
||
* resolve.c (resolve_unknown_f): Reject external procedures
|
||
without explicit EXTERNAL attribute whe IMPLICIT none (external)
|
||
is in effect.
|
||
|
||
2021-11-05 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
|
||
|
||
* decl.c (gfc_insert_kind_parameter_exprs): Make static.
|
||
* expr.c (gfc_build_init_expr): Make static
|
||
(gfc_build_default_init_expr): Move below its static helper.
|
||
* gfortran.h (gfc_insert_kind_parameter_exprs, gfc_add_saved_common,
|
||
gfc_add_common, gfc_use_derived_tree, gfc_free_charlen,
|
||
gfc_get_ultimate_derived_super_type,
|
||
gfc_resolve_oacc_parallel_loop_blocks, gfc_build_init_expr,
|
||
gfc_iso_c_sub_interface): Delete.
|
||
* symbol.c (gfc_new_charlen, gfc_get_derived_super_type): Make
|
||
static.
|
||
|
||
2021-11-05 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
PR fortran/35276
|
||
* gfortran.texi (Mixed-Language Programming): Talk about C++,
|
||
and how to link.
|
||
|
||
2021-11-04 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* gfortran.texi (Projects): Add bullet for helping with
|
||
incomplete standards compliance.
|
||
(Proposed Extensions): Delete section.
|
||
|
||
2021-11-04 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* intrinsic.texi (Introduction to Intrinsics): Genericize
|
||
references to standard versions.
|
||
* invoke.texi (-fall-intrinsics): Likewise.
|
||
(-fmax-identifier-length=): Likewise.
|
||
|
||
2021-11-04 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* gfortran.texi (Interoperability with C): Copy-editing. Add
|
||
more index entries.
|
||
(Intrinsic Types): Likewise.
|
||
(Derived Types and struct): Likewise.
|
||
(Interoperable Global Variables): Likewise.
|
||
(Interoperable Subroutines and Functions): Likewise.
|
||
(Working with C Pointers): Likewise.
|
||
(Further Interoperability of Fortran with C): Likewise. Rewrite
|
||
to reflect that this is now fully supported by gfortran.
|
||
|
||
2021-11-04 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* gfortran.texi (About GNU Fortran): Consolidate material
|
||
formerly in other sections. Copy-editing.
|
||
(Preprocessing and conditional compilation): Delete, moving
|
||
most material to invoke.texi.
|
||
(GNU Fortran and G77): Delete.
|
||
(Project Status): Delete.
|
||
(Standards): Update.
|
||
(Fortran 95 status): Mention conditional compilation here.
|
||
(Fortran 2003 status): Rewrite to mention the 1 missing feature
|
||
instead of all the ones implemented.
|
||
(Fortran 2008 status): Similarly for the 2 missing features.
|
||
(Fortran 2018 status): Rewrite to reflect completion of TS29113
|
||
feature support.
|
||
* invoke.texi (Preprocessing Options): Move material formerly
|
||
in introductory chapter here.
|
||
|
||
2021-11-04 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* gfortran.texi (Standards): Move discussion of specific
|
||
standard versions here....
|
||
(Fortran standards status): ...from here, and delete this node.
|
||
|
||
2021-10-31 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
|
||
|
||
* symbol.c (gfc_get_typebound_proc): Revert memcpy.
|
||
|
||
2021-10-31 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
|
||
|
||
* resolve.c (resolve_fl_procedure): Initialize
|
||
allocatable_or_pointer.
|
||
|
||
2021-10-30 Manfred Schwarb <manfred99@gmx.ch>
|
||
|
||
* intrinsic.texi: Remove entries for SHORT and LONG intrinsics.
|
||
|
||
2021-10-30 Manfred Schwarb <manfred99@gmx.ch>
|
||
|
||
* check.c (gfc_check_intconv): Change error message.
|
||
|
||
2021-10-30 Manfred Schwarb <manfred99@gmx.ch>
|
||
|
||
* intrinsic.texi (REAL): Fix entries in Specific names table.
|
||
|
||
2021-10-30 Manfred Schwarb <manfred99@gmx.ch>
|
||
|
||
* intrinsic.texi: Adjust @columnfractions commands to improve
|
||
appearance for narrow 80 character terminals.
|
||
|
||
2021-10-30 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
|
||
|
||
* parse.c (clean_up_modules): Free gsym.
|
||
|
||
2021-10-30 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
* gfortran.texi (bug reports): credit Gerhard Steinmetz for
|
||
numerous bug reports.
|
||
|
||
2021-10-30 Steve Kargl <kargl@gcc.gnu.org>
|
||
|
||
PR fortran/99853
|
||
* resolve.c (resolve_select): Generate regular gfc_error on
|
||
invalid conversions instead of an gfc_internal_error.
|
||
|
||
2021-10-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
|
||
|
||
* symbol.c (free_tb_tree): Free type-bound procedure struct.
|
||
(gfc_get_typebound_proc): Use explicit memcpy for clarity.
|
||
|
||
2021-10-27 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
|
||
|
||
* intrinsic.h (gfc_check_sum, gfc_resolve_atan2d, gfc_resolve_kill,
|
||
gfc_resolve_kill_sub): Delete declaration.
|
||
|
||
2021-10-27 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
|
||
|
||
* trans-types.h (gfc_convert_function_code): Delete.
|
||
|
||
2021-10-27 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
|
||
|
||
* trans-stmt.h (gfc_trans_deallocate_array): Delete.
|
||
|
||
2021-10-27 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
|
||
|
||
* trans-array.c (gfc_trans_scalarized_loop_end): Make static.
|
||
* trans-array.h (gfc_trans_scalarized_loop_end,
|
||
gfc_conv_tmp_ref, gfc_conv_array_transpose): Delete declaration.
|
||
|
||
2021-10-27 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
|
||
|
||
* constructor.c (gfc_constructor_get_base): Make static.
|
||
(gfc_constructor_expr_foreach, gfc_constructor_swap): Delete.
|
||
* constructor.h (gfc_constructor_get_base): Remove declaration.
|
||
(gfc_constructor_expr_foreach, gfc_constructor_swap): Delete.
|
||
|
||
2021-10-27 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
|
||
|
||
* decl.c (gfc_match_old_kind_spec, set_com_block_bind_c,
|
||
set_verify_bind_c_sym, set_verify_bind_c_com_block,
|
||
get_bind_c_idents, gfc_match_suffix, gfc_get_type_attr_spec,
|
||
check_extended_derived_type): Make static.
|
||
(gfc_match_gcc_unroll): Add comment.
|
||
* match.c (gfc_match_small_int_expr): Delete definition.
|
||
* match.h (gfc_match_small_int_expr): Delete declaration.
|
||
(gfc_match_name_C, gfc_match_old_kind_spec, set_com_block_bind_c,
|
||
set_verify_bind_c_sym, set_verify_bind_c_com_block,
|
||
get_bind_c_idents, gfc_match_suffix,
|
||
gfc_get_type_attr_spec): Delete declaration.
|
||
|
||
2021-10-27 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
|
||
|
||
* expr.c (is_non_empty_structure_constructor): Make static.
|
||
* gfortran.h (gfc_check_any_c_kind): Delete.
|
||
* match.c (gfc_match_label): Make static.
|
||
* match.h (gfc_match_label): Delete declaration.
|
||
* scanner.c (file_changes_cur, file_changes_count,
|
||
file_changes_allocated): Make static.
|
||
* trans-expr.c (gfc_get_character_len): Make static.
|
||
(gfc_class_len_or_zero_get): Make static.
|
||
(VTAB_GET_FIELD_GEN): Undefine.
|
||
(gfc_get_class_array_ref): Make static.
|
||
(gfc_finish_interface_mapping): Make static.
|
||
* trans-types.c (gfc_check_any_c_kind): Delete.
|
||
(pfunc_type_node, dtype_type_node, gfc_get_ppc_type): Make static.
|
||
* trans-types.h (gfc_get_ppc_type): Delete declaration.
|
||
* trans.c (gfc_msg_wrong_return): Delete.
|
||
* trans.h (gfc_class_len_or_zero_get, gfc_class_vtab_extends_get,
|
||
gfc_vptr_extends_get, gfc_get_class_array_ref, gfc_get_character_len,
|
||
gfc_finish_interface_mapping, gfc_msg_wrong_return,
|
||
gfc_get_function_decl): Delete declaration.
|
||
|
||
2021-10-27 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* trans-stmt.c (gfc_trans_select_rank_cases): Fix condition
|
||
for allocatables/pointers.
|
||
|
||
2021-10-26 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/102956
|
||
* symbol.c (gfc_check_conflict): Add conflict check for PDT KIND
|
||
and LEN type parameters.
|
||
|
||
2021-10-26 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/102917
|
||
* decl.c (match_attr_spec): Remove invalid integer kind checks on
|
||
KIND and LEN attributes of PDTs.
|
||
|
||
2021-10-26 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/102816
|
||
* resolve.c (resolve_structure_cons): Reject invalid array spec of
|
||
a DT component referenced in a structure constructor.
|
||
|
||
2021-10-26 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/102885
|
||
* trans-decl.c (gfc_conv_cfi_to_gfc): Properly handle nonconstant
|
||
character lenghts.
|
||
|
||
2021-10-25 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
* trans-decl.c (gfc_conv_cfi_to_gfc): Initialize rank to NULL_TREE.
|
||
|
||
2021-10-22 Eric Gallager <egallager@gcc.gnu.org>
|
||
|
||
PR other/102663
|
||
* Make-lang.in: Allow dvi-formatted documentation
|
||
to be installed.
|
||
|
||
2021-10-22 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/92621
|
||
* trans-expr.c (gfc_trans_assignment_1): Add STRIP_NOPS.
|
||
|
||
2021-10-21 Chung-Lin Tang <cltang@codesourcery.com>
|
||
|
||
* decl.c (gfc_match_end): Add COMP_OMP_STRICTLY_STRUCTURED_BLOCK case
|
||
together with COMP_BLOCK.
|
||
* parse.c (parse_omp_structured_block): Change return type to
|
||
'gfc_statement', add handling for strictly-structured block case, adjust
|
||
recursive calls to parse_omp_structured_block.
|
||
(parse_executable): Adjust calls to parse_omp_structured_block.
|
||
* parse.h (enum gfc_compile_state): Add
|
||
COMP_OMP_STRICTLY_STRUCTURED_BLOCK.
|
||
* trans-openmp.c (gfc_trans_omp_workshare): Add EXEC_BLOCK case
|
||
handling.
|
||
|
||
2021-10-21 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
PR fortran/94070
|
||
* expr.c (gfc_simplify_expr): Handle GFC_ISYM_SHAPE along with
|
||
GFC_ISYM_LBOUND and GFC_ISYM_UBOUND.
|
||
* trans-array.c (gfc_conv_ss_startstride): Likewise.
|
||
(set_loop_bounds): Likewise.
|
||
* trans-intrinsic.c (gfc_trans_intrinsic_bound): Extend to
|
||
handle SHAPE. Correct logic for zero-size special cases and
|
||
detecting assumed-rank arrays associated with an assumed-size
|
||
argument.
|
||
(gfc_conv_intrinsic_shape): Deleted.
|
||
(gfc_conv_intrinsic_function): Handle GFC_ISYM_SHAPE like
|
||
GFC_ISYM_LBOUND and GFC_ISYM_UBOUND.
|
||
(gfc_add_intrinsic_ss_code): Likewise.
|
||
(gfc_walk_intrinsic_bound): Likewise.
|
||
|
||
2021-10-20 Chung-Lin Tang <cltang@codesourcery.com>
|
||
|
||
* openmp.c (gfc_match_omp_clause_reduction): Add 'openmp_target' default
|
||
false parameter. Add 'always,tofrom' map for OMP_LIST_IN_REDUCTION case.
|
||
(gfc_match_omp_clauses): Add 'openmp_target' default false parameter,
|
||
adjust call to gfc_match_omp_clause_reduction.
|
||
(match_omp): Adjust call to gfc_match_omp_clauses
|
||
* trans-openmp.c (gfc_trans_omp_taskgroup): Add call to
|
||
gfc_match_omp_clause, create and return block.
|
||
|
||
2021-10-19 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* trans-types.c (create_fn_spec): For allocatable/pointer
|
||
character(len=:), use 'w' not 'R' as fn spec for the length dummy
|
||
argument.
|
||
|
||
2021-10-19 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/92482
|
||
* trans-expr.c (gfc_conv_procedure_call): Use TREE_OPERAND not
|
||
build_fold_indirect_ref_loc to undo an ADDR_EXPR.
|
||
|
||
2021-10-18 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/102086
|
||
PR fortran/92189
|
||
PR fortran/92621
|
||
PR fortran/101308
|
||
PR fortran/101309
|
||
PR fortran/101635
|
||
PR fortran/92482
|
||
* decl.c (gfc_verify_c_interop_param): Remove 'sorry' for
|
||
scalar allocatable/pointer and len=*.
|
||
* expr.c (is_CFI_desc): Return true for for those.
|
||
* gfortran.h (CFI_type_kind_shift, CFI_type_mask,
|
||
CFI_type_from_type_kind, CFI_VERSION, CFI_MAX_RANK,
|
||
CFI_attribute_pointer, CFI_attribute_allocatable,
|
||
CFI_attribute_other, CFI_type_Integer, CFI_type_Logical,
|
||
CFI_type_Real, CFI_type_Complex, CFI_type_Character,
|
||
CFI_type_ucs4_char, CFI_type_struct, CFI_type_cptr,
|
||
CFI_type_cfunptr, CFI_type_other): New #define.
|
||
* trans-array.c (CFI_FIELD_BASE_ADDR, CFI_FIELD_ELEM_LEN,
|
||
CFI_FIELD_VERSION, CFI_FIELD_RANK, CFI_FIELD_ATTRIBUTE,
|
||
CFI_FIELD_TYPE, CFI_FIELD_DIM, CFI_DIM_FIELD_LOWER_BOUND,
|
||
CFI_DIM_FIELD_EXTENT, CFI_DIM_FIELD_SM,
|
||
gfc_get_cfi_descriptor_field, gfc_get_cfi_desc_base_addr,
|
||
gfc_get_cfi_desc_elem_len, gfc_get_cfi_desc_version,
|
||
gfc_get_cfi_desc_rank, gfc_get_cfi_desc_type,
|
||
gfc_get_cfi_desc_attribute, gfc_get_cfi_dim_item,
|
||
gfc_get_cfi_dim_lbound, gfc_get_cfi_dim_extent, gfc_get_cfi_dim_sm):
|
||
New define/functions to access the CFI array descriptor.
|
||
(gfc_conv_descriptor_type): New function for the GFC descriptor.
|
||
(gfc_get_array_span): Handle expr of CFI descriptors and
|
||
assumed-type descriptors.
|
||
(gfc_trans_array_bounds): Remove 'static'.
|
||
(gfc_conv_expr_descriptor): For assumed type, use the dtype of
|
||
the actual argument.
|
||
(structure_alloc_comps): Remove ' ' inside tabs.
|
||
* trans-array.h (gfc_trans_array_bounds, gfc_conv_descriptor_type,
|
||
gfc_get_cfi_desc_base_addr, gfc_get_cfi_desc_elem_len,
|
||
gfc_get_cfi_desc_version, gfc_get_cfi_desc_rank,
|
||
gfc_get_cfi_desc_type, gfc_get_cfi_desc_attribute,
|
||
gfc_get_cfi_dim_lbound, gfc_get_cfi_dim_extent, gfc_get_cfi_dim_sm):
|
||
New prototypes.
|
||
* trans-decl.c (gfor_fndecl_cfi_to_gfc, gfor_fndecl_gfc_to_cfi):
|
||
Remove global vars.
|
||
(gfc_build_builtin_function_decls): Remove their initialization.
|
||
(gfc_get_symbol_decl, create_function_arglist,
|
||
gfc_trans_deferred_vars): Update for CFI.
|
||
(convert_CFI_desc): Remove and replace by ...
|
||
(gfc_conv_cfi_to_gfc): ... this function
|
||
(gfc_generate_function_code): Call it; create local GFC var for CFI.
|
||
* trans-expr.c (gfc_maybe_dereference_var): Handle CFI.
|
||
(gfc_conv_subref_array_arg): Handle the if-noncontigous-only copy in
|
||
when the result should be a descriptor.
|
||
(gfc_conv_gfc_desc_to_cfi_desc): Completely rewritten.
|
||
(gfc_conv_procedure_call): CFI fixes.
|
||
* trans-openmp.c (gfc_omp_is_optional_argument,
|
||
gfc_omp_check_optional_argument): Handle optional
|
||
CFI.
|
||
* trans-stmt.c (gfc_trans_select_rank_cases): Cleanup, avoid invalid
|
||
code for allocatable/pointer dummies, which cannot be assumed size.
|
||
* trans-types.c (gfc_cfi_descriptor_base): New global var.
|
||
(gfc_get_dtype_rank_type): Skip rank init for rank < 0.
|
||
(gfc_sym_type): Handle CFI dummies.
|
||
(gfc_get_function_type): Update call.
|
||
(gfc_get_cfi_dim_type, gfc_get_cfi_type): New.
|
||
* trans-types.h (gfc_sym_type): Update prototype.
|
||
(gfc_get_cfi_type): New prototype.
|
||
* trans.c (gfc_trans_runtime_check): Make conditions more consistent
|
||
to avoid '<logical> AND_THEN <long int>' in conditions.
|
||
* trans.h (gfor_fndecl_cfi_to_gfc, gfor_fndecl_gfc_to_cfi): Remove
|
||
global-var declaration.
|
||
|
||
2021-10-18 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/102745
|
||
* intrinsic.c (gfc_convert_type_warn): Fix checks by checking CLASS
|
||
and do typcheck in correct order for type extension.
|
||
* misc.c (gfc_typename): Print proper not internal CLASS type name.
|
||
|
||
2021-10-15 Harald Anlauf <anlauf@gmx.de>
|
||
Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/102685
|
||
* decl.c (match_clist_expr): Set rank/shape of clist initializer
|
||
to match LHS.
|
||
* resolve.c (resolve_structure_cons): In a structure constructor,
|
||
compare shapes of array components against declared shape.
|
||
|
||
2021-10-14 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/102717
|
||
* simplify.c (gfc_simplify_reshape): Replace assert by error
|
||
message for negative elements in SHAPE array.
|
||
|
||
2021-10-14 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/102716
|
||
* check.c (gfc_check_shape): Reorder checks so that invalid KIND
|
||
arguments can be detected.
|
||
|
||
2021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
|
||
|
||
* gfortran.h (enum gfc_statement): Add ST_OMP_DECLARE_VARIANT.
|
||
(enum gfc_omp_trait_property_kind): New.
|
||
(struct gfc_omp_trait_property): New.
|
||
(gfc_get_omp_trait_property): New macro.
|
||
(struct gfc_omp_selector): New.
|
||
(gfc_get_omp_selector): New macro.
|
||
(struct gfc_omp_set_selector): New.
|
||
(gfc_get_omp_set_selector): New macro.
|
||
(struct gfc_omp_declare_variant): New.
|
||
(gfc_get_omp_declare_variant): New macro.
|
||
(struct gfc_namespace): Add omp_declare_variant field.
|
||
(gfc_free_omp_declare_variant_list): New prototype.
|
||
* match.h (gfc_match_omp_declare_variant): New prototype.
|
||
* openmp.c (gfc_free_omp_trait_property_list): New.
|
||
(gfc_free_omp_selector_list): New.
|
||
(gfc_free_omp_set_selector_list): New.
|
||
(gfc_free_omp_declare_variant_list): New.
|
||
(gfc_match_omp_clauses): Add extra optional argument. Handle end of
|
||
clauses for context selectors.
|
||
(omp_construct_selectors, omp_device_selectors,
|
||
omp_implementation_selectors, omp_user_selectors): New.
|
||
(gfc_match_omp_context_selector): New.
|
||
(gfc_match_omp_context_selector_specification): New.
|
||
(gfc_match_omp_declare_variant): New.
|
||
* parse.c: Include tree-core.h and omp-general.h.
|
||
(decode_omp_directive): Handle 'declare variant'.
|
||
(case_omp_decl): Include ST_OMP_DECLARE_VARIANT.
|
||
(gfc_ascii_statement): Handle ST_OMP_DECLARE_VARIANT.
|
||
(gfc_parse_file): Initialize omp_requires_mask.
|
||
* symbol.c (gfc_free_namespace): Call
|
||
gfc_free_omp_declare_variant_list.
|
||
* trans-decl.c (gfc_get_extern_function_decl): Call
|
||
gfc_trans_omp_declare_variant.
|
||
(gfc_create_function_decl): Call gfc_trans_omp_declare_variant.
|
||
* trans-openmp.c (gfc_trans_omp_declare_variant): New.
|
||
* trans-stmt.h (gfc_trans_omp_declare_variant): New prototype.
|
||
|
||
2021-10-13 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* dump-parse-tree.c (show_omp_clauses): Handle ancestor modifier,
|
||
avoid ICE for GFC_OMP_ATOMIC_SWAP.
|
||
* gfortran.h (gfc_omp_clauses): Change 'anecestor' into a bitfield.
|
||
|
||
2021-10-12 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/102541
|
||
* check.c (gfc_check_present): Handle optional CLASS.
|
||
* interface.c (gfc_compare_actual_formal): Likewise.
|
||
* trans-array.c (gfc_trans_g77_array): Likewise.
|
||
* trans-decl.c (gfc_build_dummy_array_decl): Likewise.
|
||
* trans-types.c (gfc_sym_type): Likewise.
|
||
* primary.c (gfc_variable_attr): Fixes for dummy and
|
||
pointer when 'class%_data' is passed.
|
||
* trans-expr.c (set_dtype_for_unallocated, gfc_conv_procedure_call):
|
||
For assumed-rank dummy, fix setting rank for dealloc/notassoc actual
|
||
and setting ubound to -1 for assumed-size actuals.
|
||
|
||
2021-10-10 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/99348
|
||
PR fortran/102521
|
||
* decl.c (add_init_expr_to_sym): Extend initialization of
|
||
parameter arrays from scalars to handle derived types.
|
||
|
||
2021-10-09 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/65454
|
||
* module.c (read_module): Handle old and new-style relational
|
||
operators when used in USE module, ONLY: OPERATOR(op).
|
||
|
||
2021-10-08 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
PR fortran/54753
|
||
* interface.c (gfc_compare_actual_formal): Add diagnostic
|
||
for F2018:C839. Refactor shared code and fix bugs with class
|
||
array info lookup, and extend similar diagnostic from PR94110
|
||
to also cover class types.
|
||
|
||
2021-10-08 Martin Liska <mliska@suse.cz>
|
||
|
||
* options.c (gfc_post_options): Use new macro
|
||
OPTION_SET_P.
|
||
|
||
2021-10-06 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* resolve.c (resolve_values): Only show
|
||
deprecated warning if attr.referenced.
|
||
|
||
2021-10-04 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/54753
|
||
* resolve.c (can_generate_init, resolve_fl_variable_derived,
|
||
resolve_symbol): Only do initialization with intent(out) if not
|
||
inside of an interface block.
|
||
|
||
2021-10-01 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR c/102103
|
||
* array.c: Remove an unnecessary test.
|
||
* trans-array.c: Same.
|
||
|
||
2021-10-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* gfortran.h (gfc_omp_clauses): Add order_reproducible bitfield.
|
||
* dump-parse-tree.c (show_omp_clauses): Print REPRODUCIBLE: for it.
|
||
* openmp.c (gfc_match_omp_clauses): Set order_reproducible for
|
||
explicit reproducible: modifier.
|
||
* trans-openmp.c (gfc_trans_omp_clauses): Set
|
||
OMP_CLAUSE_ORDER_REPRODUCIBLE for order_reproducible.
|
||
(gfc_split_omp_clauses): Also copy order_reproducible.
|
||
|
||
2021-09-30 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/102458
|
||
* simplify.c (simplify_size): Resolve expressions used in array
|
||
specifications so that SIZE can be simplified.
|
||
|
||
2021-09-30 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
* expr.c: The correct reference to Fortran standard is: F2018:10.1.12.
|
||
|
||
2021-09-30 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/71703
|
||
PR fortran/84007
|
||
* trans-intrinsic.c (gfc_conv_same_type_as): Fix handling
|
||
of UNLIMITED_POLY.
|
||
* trans.h (gfc_vtpr_hash_get): Renamed prototype to ...
|
||
(gfc_vptr_hash_get): ... this to match function name.
|
||
|
||
2021-09-29 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/102520
|
||
* array.c (expand_constructor): Do not dereference NULL pointer.
|
||
|
||
2021-09-27 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/94070
|
||
* trans-array.c (gfc_tree_array_size): New function to
|
||
find size inline (whole array or one dimension).
|
||
(array_parameter_size): Use it, take stmt_block as arg.
|
||
(gfc_conv_array_parameter): Update call.
|
||
* trans-array.h (gfc_tree_array_size): Add prototype.
|
||
* trans-decl.c (gfor_fndecl_size0, gfor_fndecl_size1): Remove
|
||
these global vars.
|
||
(gfc_build_intrinsic_function_decls): Remove their initialization.
|
||
* trans-expr.c (gfc_conv_procedure_call): Update
|
||
bounds of pointer/allocatable actual args to nonallocatable/nonpointer
|
||
dummies to be one based.
|
||
* trans-intrinsic.c (gfc_conv_intrinsic_shape): Fix case for
|
||
assumed rank with allocatable/pointer dummy.
|
||
(gfc_conv_intrinsic_size): Update to use inline function.
|
||
* trans.h (gfor_fndecl_size0, gfor_fndecl_size1): Remove var decl.
|
||
|
||
2021-09-26 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/101334
|
||
* trans-intrinsic.c (gfc_conv_associated): Support assumed-rank
|
||
'pointer' with scalar/array 'target' argument.
|
||
|
||
2021-09-24 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/102458
|
||
* expr.c (is_non_constant_intrinsic): Check for intrinsics
|
||
excluded in constant expressions (F2018:10.1.2).
|
||
(gfc_is_constant_expr): Use that check.
|
||
|
||
2021-09-24 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
PR fortran/101333
|
||
* interface.c (compare_parameter): Enforce F2018 C711.
|
||
|
||
2021-09-24 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/55534
|
||
* scanner.c (load_file): Return void, call (gfc_)fatal_error for
|
||
all errors.
|
||
(include_line, include_stmt, gfc_new_file): Remove exit call
|
||
for failed load_file run.
|
||
|
||
2021-09-23 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
PR fortran/101320
|
||
* decl.c (gfc_verify_c_interop_param): Handle F2018 C1557,
|
||
aka TS29113 C516.
|
||
|
||
2021-09-23 Harald Anlauf <anlauf@gmx.de>
|
||
Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/93834
|
||
* trans-intrinsic.c (gfc_conv_allocated): Cleanup. Handle
|
||
coindexed scalar coarrays.
|
||
|
||
2021-09-23 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
PR fortran/101319
|
||
* interface.c (gfc_compare_actual_formal): Extend existing
|
||
assumed-type diagnostic to also check for argument with type
|
||
parameters.
|
||
|
||
2021-09-23 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
PR fortran/101334
|
||
* check.c (gfc_check_associated): Allow an assumed-rank
|
||
array for the pointer argument.
|
||
* interface.c (compare_parameter): Also give rank mismatch
|
||
error on assumed-rank array.
|
||
|
||
2021-09-23 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* trans-stmt.c (trans_associate_var): Check that result of
|
||
GFC_DECL_SAVED_DESCRIPTOR is not null before using it.
|
||
|
||
2021-09-22 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/55534
|
||
* cpp.c (gfc_cpp_register_include_paths, gfc_cpp_post_options):
|
||
Add new bool verbose_missing_dir_warn argument.
|
||
* cpp.h (gfc_cpp_post_options): Update prototype.
|
||
* f95-lang.c (gfc_init): Remove duplicated file-not found diag.
|
||
* gfortran.h (gfc_check_include_dirs): Takes bool
|
||
verbose_missing_dir_warn arg.
|
||
(gfc_new_file): Returns now void.
|
||
* options.c (gfc_post_options): Update to warn for -I and -J,
|
||
only, by default but for all when user requested.
|
||
* scanner.c (gfc_do_check_include_dir):
|
||
(gfc_do_check_include_dirs, gfc_check_include_dirs): Take bool
|
||
verbose warn arg and update to avoid printing the same message
|
||
twice or never.
|
||
(load_file): Fix indent.
|
||
(gfc_new_file): Return void and exit when load_file failed
|
||
as all other load_file users do.
|
||
|
||
2021-09-22 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* trans-expr.c (gfc_simple_for_loop): New.
|
||
* trans.h (gfc_simple_for_loop): New prototype.
|
||
|
||
2021-09-21 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/55534
|
||
* cpp.c: Define GCC_C_COMMON_C for #include "options.h" to make
|
||
cpp_reason_option_codes available.
|
||
(gfc_cpp_register_include_paths): Make static, set pfile's
|
||
warn_missing_include_dirs and move before caller.
|
||
(gfc_cpp_init_cb): New, cb code moved from ...
|
||
(gfc_cpp_init_0): ... here.
|
||
(gfc_cpp_post_options): Call gfc_cpp_init_cb.
|
||
(cb_cpp_diagnostic_cpp_option): New. As implemented in c-family
|
||
to match CppReason flags to -W... names.
|
||
(cb_cpp_diagnostic): Use it to replace single special case.
|
||
* cpp.h (gfc_cpp_register_include_paths): Remove as now static.
|
||
* gfortran.h (gfc_check_include_dirs): New prototype.
|
||
(gfc_add_include_path): Add new bool arg.
|
||
* options.c (gfc_init_options): Don't set -Wmissing-include-dirs.
|
||
(gfc_post_options): Set it here after commandline processing. Call
|
||
gfc_add_include_path with defer_warn=false.
|
||
(gfc_handle_option): Call it with defer_warn=true.
|
||
* scanner.c (gfc_do_check_include_dir, gfc_do_check_include_dirs,
|
||
gfc_check_include_dirs): New. Diagnostic moved from ...
|
||
(add_path_to_list): ... here, which came before cmdline processing.
|
||
Take additional bool defer_warn argument.
|
||
(gfc_add_include_path): Take additional defer_warn arg.
|
||
* scanner.h (struct gfc_directorylist): Reorder for alignment issues,
|
||
add new 'bool warn'.
|
||
|
||
2021-09-20 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* gfortran.h (gfc_omp_clauses): Add order_unconstrained.
|
||
* dump-parse-tree.c (show_omp_clauses): Dump it.
|
||
* openmp.c (gfc_match_omp_clauses): Match unconstrained/reproducible
|
||
modifiers to ordered(concurrent).
|
||
(OMP_DISTRIBUTE_CLAUSES): Accept ordered clause.
|
||
(resolve_omp_clauses): Reject ordered + order on same directive.
|
||
* trans-openmp.c (gfc_trans_omp_clauses, gfc_split_omp_clauses): Pass
|
||
on unconstrained modifier of ordered(concurrent).
|
||
|
||
2021-09-17 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/102366
|
||
* trans-decl.c (gfc_finish_var_decl): Disable the warning message
|
||
for variables moved from stack to static storange if they are
|
||
declared in the main, but allow the move to happen.
|
||
|
||
2021-09-17 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* intrinsic.texi (ISO_C_BINDING): Change C_FLOAT128 to correspond
|
||
to _Float128 rather than __float128.
|
||
* iso-c-binding.def (c_float128): Update comments.
|
||
* trans-intrinsic.c (gfc_builtin_decl_for_float_kind): Likewise.
|
||
(build_round_expr): Likewise.
|
||
(gfc_build_intrinsic_lib_fndcecls): Likewise.
|
||
* trans-types.h (gfc_real16_is_float128): Likewise.
|
||
|
||
2021-09-16 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/102287
|
||
* trans-expr.c (gfc_conv_procedure_call): Wrap deallocation of
|
||
allocatable components of optional allocatable derived type
|
||
procedure arguments with INTENT(OUT) into a presence check.
|
||
|
||
2021-09-14 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/102311
|
||
* resolve.c (resolve_entries): Attempt to recover cleanly after
|
||
rejecting mismatched function entries.
|
||
|
||
2021-09-14 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/102313
|
||
* parse.c (gfc_ascii_statement): Add missing ST_OMP_END_SCOPE.
|
||
|
||
2021-09-13 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/82314
|
||
* decl.c (add_init_expr_to_sym): For proper initialization of
|
||
array-valued named constants the array bounds need to be
|
||
simplified before adding the initializer.
|
||
|
||
2021-09-13 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/85130
|
||
* expr.c (find_substring_ref): Handle given substring start and
|
||
end indices as signed integers, not unsigned.
|
||
|
||
2021-09-09 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/98490
|
||
* trans-expr.c (gfc_conv_substring): Do not generate substring
|
||
bounds check for implied do loop index variable before it actually
|
||
becomes defined.
|
||
|
||
2021-09-08 liuhongt <hongtao.liu@intel.com>
|
||
|
||
* options.c (gfc_post_options): Issue an error for
|
||
-fexcess-precision=16.
|
||
|
||
2021-09-07 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/101327
|
||
* expr.c (find_array_element): When bounds cannot be determined as
|
||
constant, return error instead of aborting.
|
||
|
||
2021-09-07 Marcel Vollweiler <marcel@codesourcery.com>
|
||
|
||
* openmp.c (gfc_match_omp_flush): Parse 'seq_cst' clause on 'flush'
|
||
directive.
|
||
* trans-openmp.c (gfc_trans_omp_flush): Handle OMP_MEMORDER_SEQ_CST.
|
||
|
||
2021-09-03 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* decl.c (gfc_verify_c_interop_param): Reject pointer with
|
||
CONTIGUOUS attributes as dummy arg. Reject character len > 1
|
||
when passed as byte stream.
|
||
|
||
2021-09-01 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/56985
|
||
* resolve.c (resolve_common_vars): Fix grammar and improve wording
|
||
of error message rejecting an unlimited polymorphic in COMMON.
|
||
|
||
2021-08-31 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/100950
|
||
* simplify.c (substring_has_constant_len): Minimize checks for
|
||
substring expressions being allowed.
|
||
|
||
2021-08-31 Marcel Vollweiler <marcel@codesourcery.com>
|
||
|
||
* gfortran.h: Add variable for 'ancestor' in struct gfc_omp_clauses.
|
||
* openmp.c (gfc_match_omp_clauses): Parse device-modifiers 'device_num'
|
||
and 'ancestor' in 'target device' clauses.
|
||
* trans-openmp.c (gfc_trans_omp_clauses): Set OMP_CLAUSE_DEVICE_ANCESTOR.
|
||
|
||
2021-08-30 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/102113
|
||
* match.c (gfc_match_goto): Allow for whitespace in parsing list
|
||
of labels.
|
||
|
||
2021-08-30 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/101349
|
||
* resolve.c (resolve_allocate_expr): An unlimited polymorphic
|
||
argument to ALLOCATE must be ALLOCATABLE or a POINTER. Fix the
|
||
corresponding check.
|
||
|
||
2021-08-28 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/87737
|
||
* resolve.c (resolve_entries): For functions of type CHARACTER
|
||
tighten the checks for matching characteristics.
|
||
|
||
2021-08-25 Lewis Hyatt <lhyatt@gmail.com>
|
||
|
||
PR other/93067
|
||
* cpp.c (gfc_cpp_post_options): Call new function
|
||
diagnostic_initialize_input_context().
|
||
|
||
2021-08-24 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/98411
|
||
* trans-decl.c (gfc_finish_var_decl): Adjust check to handle
|
||
implicit SAVE as well as variables in the main program. Improve
|
||
warning message text.
|
||
|
||
2021-08-23 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* openmp.c (gfc_match_dupl_check, gfc_match_dupl_memorder,
|
||
gfc_match_dupl_atomic): New.
|
||
(gfc_match_omp_clauses): Use them; remove duplicate
|
||
'release'/'relaxed' clause matching; improve error dignostic
|
||
for 'default'.
|
||
|
||
2021-08-23 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* dump-parse-tree.c (show_omp_clauses): Handle 'strict' modifier
|
||
on grainsize/num_tasks
|
||
* gfortran.h (gfc_omp_clauses): Add grainsize_strict
|
||
and num_tasks_strict.
|
||
* trans-openmp.c (gfc_trans_omp_clauses, gfc_split_omp_clauses):
|
||
Handle 'strict' modifier on grainsize/num_tasks.
|
||
* openmp.c (gfc_match_omp_clauses): Likewise.
|
||
|
||
2021-08-20 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* error.c
|
||
(error_uinteger): Take 'long long unsigned' instead
|
||
of 'long unsigned' as argumpent.
|
||
(error_integer): Take 'long long' instead of 'long'.
|
||
(error_hwuint, error_hwint): New.
|
||
(error_print): Update to handle 'll' and 'w'
|
||
length modifiers.
|
||
* simplify.c (substring_has_constant_len): Use '%wd'
|
||
in gfc_error.
|
||
|
||
2021-08-20 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/100950
|
||
* simplify.c (substring_has_constant_len): Fix format string of
|
||
gfc_error, pass HOST_WIDE_INT bounds values via char buffer.
|
||
|
||
2021-08-20 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* dump-parse-tree.c (show_omp_clauses): Handle 'at', 'severity'
|
||
and 'message' clauses.
|
||
(show_omp_node, show_code_node): Handle EXEC_OMP_ERROR.
|
||
* gfortran.h (gfc_statement): Add ST_OMP_ERROR.
|
||
(gfc_omp_severity_type, gfc_omp_at_type): New.
|
||
(gfc_omp_clauses): Add 'at', 'severity' and 'message' clause;
|
||
use more bitfields + ENUM_BITFIELD.
|
||
(gfc_exec_op): Add EXEC_OMP_ERROR.
|
||
* match.h (gfc_match_omp_error): New.
|
||
* openmp.c (enum omp_mask1): Add OMP_CLAUSE_(AT,SEVERITY,MESSAGE).
|
||
(gfc_match_omp_clauses): Handle new clauses.
|
||
(OMP_ERROR_CLAUSES, gfc_match_omp_error): New.
|
||
(resolve_omp_clauses): Resolve new clauses.
|
||
(omp_code_to_statement, gfc_resolve_omp_directive): Handle
|
||
EXEC_OMP_ERROR.
|
||
* parse.c (decode_omp_directive, next_statement,
|
||
gfc_ascii_statement): Handle 'omp error'.
|
||
* resolve.c (gfc_resolve_blocks): Likewise.
|
||
* st.c (gfc_free_statement): Likewise.
|
||
* trans-openmp.c (gfc_trans_omp_error): Likewise.
|
||
(gfc_trans_omp_directive): Likewise.
|
||
* trans.c (trans_code): Likewise.
|
||
|
||
2021-08-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* types.def (BT_FN_VOID_CONST_PTR_SIZE): New DEF_FUNCTION_TYPE_2.
|
||
* f95-lang.c (ATTR_COLD_NORETURN_NOTHROW_LEAF_LIST): Define.
|
||
|
||
2021-08-19 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/100950
|
||
* simplify.c (substring_has_constant_len): New.
|
||
(gfc_simplify_len): Handle case of substrings with constant
|
||
bounds.
|
||
|
||
2021-08-18 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* match.h (gfc_match_omp_nothing): New.
|
||
* openmp.c (gfc_match_omp_nothing): New.
|
||
* parse.c (decode_omp_directive): Match 'nothing' directive.
|
||
|
||
2021-08-17 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* dump-parse-tree.c (show_omp_node, show_code_node): Handle
|
||
EXEC_OMP_SCOPE.
|
||
* gfortran.h (enum gfc_statement): Add ST_OMP_(END_)SCOPE.
|
||
(enum gfc_exec_op): Add EXEC_OMP_SCOPE.
|
||
* match.h (gfc_match_omp_scope): New.
|
||
* openmp.c (OMP_SCOPE_CLAUSES): Define
|
||
(gfc_match_omp_scope): New.
|
||
(gfc_match_omp_cancellation_point, gfc_match_omp_end_nowait):
|
||
Improve error diagnostic.
|
||
(omp_code_to_statement): Handle ST_OMP_SCOPE.
|
||
(gfc_resolve_omp_directive): Handle EXEC_OMP_SCOPE.
|
||
* parse.c (decode_omp_directive, next_statement,
|
||
gfc_ascii_statement, parse_omp_structured_block,
|
||
parse_executable): Handle OpenMP's scope construct.
|
||
* resolve.c (gfc_resolve_blocks): Likewise
|
||
* st.c (gfc_free_statement): Likewise
|
||
* trans-openmp.c (gfc_trans_omp_scope): New.
|
||
(gfc_trans_omp_directive): Call it.
|
||
* trans.c (trans_code): handle EXEC_OMP_SCOPE.
|
||
|
||
2021-08-16 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* dump-parse-tree.c (show_omp_clauses): Handle 'filter' clause.
|
||
(show_omp_node, show_code_node): Handle (combined) omp masked construct.
|
||
* frontend-passes.c (gfc_code_walker): Likewise.
|
||
* gfortran.h (enum gfc_statement): Add ST_OMP_*_MASKED*.
|
||
(enum gfc_exec_op): Add EXEC_OMP_*_MASKED*.
|
||
* match.h (gfc_match_omp_masked, gfc_match_omp_masked_taskloop,
|
||
gfc_match_omp_masked_taskloop_simd, gfc_match_omp_parallel_masked,
|
||
gfc_match_omp_parallel_masked_taskloop,
|
||
gfc_match_omp_parallel_masked_taskloop_simd): New prototypes.
|
||
* openmp.c (enum omp_mask1): Add OMP_CLAUSE_FILTER.
|
||
(gfc_match_omp_clauses): Match it.
|
||
(OMP_MASKED_CLAUSES, gfc_match_omp_parallel_masked,
|
||
gfc_match_omp_parallel_masked_taskloop,
|
||
gfc_match_omp_parallel_masked_taskloop_simd,
|
||
gfc_match_omp_masked, gfc_match_omp_masked_taskloop,
|
||
gfc_match_omp_masked_taskloop_simd): New.
|
||
(resolve_omp_clauses): Resolve filter clause.
|
||
(gfc_resolve_omp_parallel_blocks, resolve_omp_do,
|
||
omp_code_to_statement, gfc_resolve_omp_directive): Handle
|
||
omp masked constructs.
|
||
* parse.c (decode_omp_directive, case_exec_markers,
|
||
gfc_ascii_statement, parse_omp_do, parse_omp_structured_block,
|
||
parse_executable): Likewise.
|
||
* resolve.c (gfc_resolve_blocks, gfc_resolve_code): Likewise.
|
||
* st.c (gfc_free_statement): Likewise.
|
||
* trans-openmp.c (gfc_trans_omp_clauses): Handle filter clause.
|
||
(GFC_OMP_SPLIT_MASKED, GFC_OMP_MASK_MASKED): New enum values.
|
||
(gfc_trans_omp_masked): New.
|
||
(gfc_split_omp_clauses): Handle combined masked directives.
|
||
(gfc_trans_omp_master_taskloop): Rename to ...
|
||
(gfc_trans_omp_master_masked_taskloop): ... this; handle also
|
||
combined masked directives.
|
||
(gfc_trans_omp_parallel_master): Rename to ...
|
||
(gfc_trans_omp_parallel_master_masked): ... this; handle
|
||
combined masked directives.
|
||
(gfc_trans_omp_directive): Handle EXEC_OMP_*_MASKED*.
|
||
* trans.c (trans_code): Likewise.
|
||
|
||
2021-08-15 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/99351
|
||
* match.c (sync_statement): Replace %v code by %e in gfc_match to
|
||
allow for function references as STAT and ERRMSG arguments.
|
||
* resolve.c (resolve_sync): Adjust checks of STAT= and ERRMSG= to
|
||
being definable arguments. Function references with a data
|
||
pointer result are accepted.
|
||
* trans-stmt.c (gfc_trans_sync): Adjust assertion.
|
||
|
||
2021-08-12 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* gfortran.h (gfc_omp_proc_bind_kind): Add OMP_PROC_BIND_PRIMARY.
|
||
* dump-parse-tree.c (show_omp_clauses): Add TODO comment to
|
||
change 'master' to 'primary' in proc_bind for OpenMP 5.1.
|
||
* intrinsic.texi (OMP_LIB): Mention OpenMP 5.1; add
|
||
omp_proc_bind_primary.
|
||
* openmp.c (gfc_match_omp_clauses): Accept
|
||
'primary' as alias for 'master'.
|
||
* trans-openmp.c (gfc_trans_omp_clauses): Handle
|
||
OMP_PROC_BIND_PRIMARY.
|
||
|
||
2021-08-11 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* iso-c-binding.def (c_float128, c_float128_complex): Check
|
||
float128_type_node instead of gfc_float128_type_node.
|
||
* trans-types.c (gfc_init_kinds, gfc_build_real_type):
|
||
Update comments re supported 128-bit floating-point types.
|
||
|
||
2021-08-11 Richard Biener <rguenther@suse.de>
|
||
|
||
* trans-common.c (create_common): Set TREE_THIS_VOLATILE on the
|
||
COMPONENT_REF if the field is volatile.
|
||
|
||
2021-08-07 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/68568
|
||
* primary.c (gfc_expr_attr): Variable attribute can only be
|
||
inquired when symtree is non-NULL.
|
||
|
||
2021-07-28 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/101564
|
||
* expr.c (gfc_check_vardef_context): Add check for KIND and LEN
|
||
parameter inquiries.
|
||
* match.c (gfc_match): Fix comment for %v code.
|
||
(gfc_match_allocate, gfc_match_deallocate): Replace use of %v code
|
||
by %e in gfc_match to allow for function references as STAT and
|
||
ERRMSG arguments.
|
||
* resolve.c (resolve_allocate_deallocate): Avoid NULL pointer
|
||
dereferences and shortcut for bad STAT and ERRMSG argument to
|
||
(DE)ALLOCATE. Remove bogus parts of checks for STAT and ERRMSG.
|
||
|
||
2021-07-26 José Rui Faustino de Sousa <jrfsousa@gmail.com>
|
||
Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/93308
|
||
PR fortran/93963
|
||
PR fortran/94327
|
||
PR fortran/94331
|
||
PR fortran/97046
|
||
* trans-decl.c (convert_CFI_desc): Only copy out the descriptor
|
||
if necessary.
|
||
* trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Updated attribute
|
||
handling which reflect a previous intermediate version of the
|
||
standard. Only copy out the descriptor if necessary.
|
||
|
||
2021-07-23 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/101536
|
||
* check.c (array_check): Adjust check for the case of CLASS
|
||
arrays.
|
||
|
||
2021-07-21 Thomas Schwinge <thomas@codesourcery.com>
|
||
Joseph Myers <joseph@codesourcery.com>
|
||
Cesar Philippidis <cesar@codesourcery.com>
|
||
|
||
* dump-parse-tree.c (show_attr): Update.
|
||
* gfortran.h (symbol_attribute): Add 'oacc_routine_nohost' member.
|
||
(gfc_omp_clauses): Add 'nohost' member.
|
||
* module.c (ab_attribute): Add 'AB_OACC_ROUTINE_NOHOST'.
|
||
(attr_bits, mio_symbol_attribute): Update.
|
||
* openmp.c (omp_mask2): Add 'OMP_CLAUSE_NOHOST'.
|
||
(gfc_match_omp_clauses): Handle 'OMP_CLAUSE_NOHOST'.
|
||
(OACC_ROUTINE_CLAUSES): Add 'OMP_CLAUSE_NOHOST'.
|
||
(gfc_match_oacc_routine): Update.
|
||
* trans-decl.c (add_attributes_to_decl): Update.
|
||
* trans-openmp.c (gfc_trans_omp_clauses): Likewise.
|
||
|
||
2021-07-21 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/101514
|
||
* target-memory.c (gfc_interpret_derived): Size of array component
|
||
of derived type can only be computed here for explicit shape.
|
||
* trans-types.c (gfc_get_nodesc_array_type): Do not dereference
|
||
NULL pointers.
|
||
|
||
2021-07-21 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* decl.c (gfc_verify_c_interop_param): Update for F2008 + F2018
|
||
changes; reject unsupported bits with 'Error: Sorry,'.
|
||
* trans-expr.c (gfc_conv_procedure_call): Fix condition to
|
||
For using CFI descriptor with characters.
|
||
|
||
2021-07-18 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/101084
|
||
* io.c (resolve_tag_format): Extend FORMAT check to unknown type.
|
||
|
||
2021-07-14 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/100949
|
||
* trans-expr.c (gfc_trans_class_init_assign): Call
|
||
gfc_conv_expr_present only for dummy variables.
|
||
|
||
2021-07-06 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||
|
||
PR fortran/100227
|
||
* frontend-passes.c (traverse_io_block): Adjust test for
|
||
when a variable is eligible for the transformation to
|
||
array slice.
|
||
|
||
2021-06-28 Martin Sebor <msebor@redhat.com>
|
||
|
||
* trans-array.c (trans_array_constructor): Replace direct uses
|
||
of TREE_NO_WARNING with warning_suppressed_p, and suppress_warning.
|
||
* trans-decl.c (gfc_build_qualified_array): Same.
|
||
(gfc_build_dummy_array_decl): Same.
|
||
(generate_local_decl): Same.
|
||
(gfc_generate_function_code): Same.
|
||
* trans-openmp.c (gfc_omp_clause_default_ctor): Same.
|
||
(gfc_omp_clause_copy_ctor): Same.
|
||
* trans-types.c (get_dtype_type_node): Same.
|
||
(gfc_get_desc_dim_type): Same.
|
||
(gfc_get_array_descriptor_base): Same.
|
||
(gfc_get_caf_vector_type): Same.
|
||
(gfc_get_caf_reference_type): Same.
|
||
* trans.c (gfc_create_var_np): Same.
|
||
|
||
2021-06-23 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* dump-parse-tree.c (show_omp_clauses): Fix enum type used
|
||
for dumping gfc_omp_defaultmap_category.
|
||
|
||
2021-06-23 Andre Vehreschild <vehre@gcc.gnu.org>
|
||
|
||
PR fortran/100337
|
||
* trans-intrinsic.c (conv_co_collective): Check stat for null ptr
|
||
before dereferrencing.
|
||
|
||
2021-06-18 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/100283
|
||
PR fortran/101123
|
||
* trans-intrinsic.c (gfc_conv_intrinsic_minmax): Unconditionally
|
||
convert result of min/max to result type.
|
||
|
||
2021-06-16 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/95501
|
||
PR fortran/95502
|
||
* expr.c (gfc_check_pointer_assign): Avoid NULL pointer
|
||
dereference.
|
||
* match.c (gfc_match_pointer_assignment): Likewise.
|
||
* parse.c (gfc_check_do_variable): Avoid comparison with NULL
|
||
symtree.
|
||
|
||
2021-06-16 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
Revert:
|
||
2021-06-16 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/95501
|
||
PR fortran/95502
|
||
* expr.c (gfc_check_pointer_assign): Avoid NULL pointer
|
||
dereference.
|
||
* match.c (gfc_match_pointer_assignment): Likewise.
|
||
* parse.c (gfc_check_do_variable): Avoid comparison with NULL
|
||
symtree.
|
||
|
||
2021-06-16 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/95501
|
||
PR fortran/95502
|
||
* expr.c (gfc_check_pointer_assign): Avoid NULL pointer
|
||
dereference.
|
||
* match.c (gfc_match_pointer_assignment): Likewise.
|
||
* parse.c (gfc_check_do_variable): Avoid comparison with NULL
|
||
symtree.
|
||
|
||
2021-06-15 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/92568
|
||
* dump-parse-tree.c (show_omp_clauses): Update for defaultmap.
|
||
* f95-lang.c (LANG_HOOKS_OMP_ALLOCATABLE_P,
|
||
LANG_HOOKS_OMP_SCALAR_TARGET_P): New.
|
||
* gfortran.h (enum gfc_omp_defaultmap,
|
||
enum gfc_omp_defaultmap_category): New.
|
||
* openmp.c (gfc_match_omp_clauses): Update defaultmap matching.
|
||
* trans-decl.c (gfc_finish_decl_attrs): Set GFC_DECL_SCALAR_TARGET.
|
||
* trans-openmp.c (gfc_omp_allocatable_p, gfc_omp_scalar_target_p): New.
|
||
(gfc_omp_scalar_p): Take 'ptr_alloc_ok' argument.
|
||
(gfc_trans_omp_clauses, gfc_split_omp_clauses): Update for
|
||
defaultmap changes.
|
||
* trans.h (gfc_omp_scalar_p): Update prototype.
|
||
(gfc_omp_allocatable_p, gfc_omp_scalar_target_p): New.
|
||
(struct lang_decl): Add scalar_target.
|
||
(GFC_DECL_SCALAR_TARGET, GFC_DECL_GET_SCALAR_TARGET): New.
|
||
|
||
2021-06-14 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* resolve.c (resolve_variable): Remove *XCNEW used to
|
||
nullify nullified memory.
|
||
|
||
2021-06-09 Martin Liska <mliska@suse.cz>
|
||
|
||
* intrinsic.texi: Add missing @headitem to tables with a header.
|
||
|
||
2021-06-09 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR fortran/100965
|
||
* trans-openmp.c (gfc_omp_finish_clause): Gimplify OMP_CLAUSE_SIZE.
|
||
|
||
2021-06-08 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR middle-end/99928
|
||
* trans-openmp.c (gfc_add_clause_implicitly): New.
|
||
(gfc_split_omp_clauses): Use it.
|
||
(gfc_free_split_omp_clauses): New.
|
||
(gfc_trans_omp_do_simd, gfc_trans_omp_parallel_do,
|
||
gfc_trans_omp_parallel_do_simd, gfc_trans_omp_distribute,
|
||
gfc_trans_omp_teams, gfc_trans_omp_target, gfc_trans_omp_taskloop,
|
||
gfc_trans_omp_master_taskloop, gfc_trans_omp_parallel_master): Use it.
|
||
|
||
2021-06-08 Martin Liska <mliska@suse.cz>
|
||
|
||
* intrinsic.texi: Fix typo.
|
||
* trans-expr.c (gfc_trans_pointer_assignment): Likewise.
|
||
|
||
2021-06-05 José Rui Faustino de Sousa <jrfsousa@gmail.com>
|
||
|
||
PR fortran/100120
|
||
PR fortran/100816
|
||
PR fortran/100818
|
||
PR fortran/100819
|
||
PR fortran/100821
|
||
* trans-array.c (gfc_get_array_span): rework the way character
|
||
array "span" was calculated.
|
||
(gfc_conv_expr_descriptor): improve handling of character sections
|
||
and unlimited polymorphic objects.
|
||
* trans-expr.c (gfc_get_character_len): new function to calculate
|
||
character string length.
|
||
(gfc_get_character_len_in_bytes): new function to calculate
|
||
character string length in bytes.
|
||
(gfc_conv_scalar_to_descriptor): add call to set the "span".
|
||
(gfc_trans_pointer_assignment): set "_len" and antecipate the
|
||
initialization of the deferred character length hidden argument.
|
||
* trans-intrinsic.c (gfc_conv_associated): set "force_no_tmp" to
|
||
avoid the creation of a temporary.
|
||
* trans-types.c (gfc_get_dtype_rank_type): rework type detection
|
||
so that unlimited polymorphic objects get proper type infomation,
|
||
also important for bind(c).
|
||
(gfc_get_dtype): add argument to pass the rank if necessary.
|
||
(gfc_get_array_type_bounds): cosmetic change to have character
|
||
arrays called character instead of unknown.
|
||
* trans-types.h (gfc_get_dtype): modify prototype.
|
||
* trans.c (get_array_span): rework the way character array "span"
|
||
was calculated.
|
||
* trans.h (gfc_get_character_len): new prototype.
|
||
(gfc_get_character_len_in_bytes): new prototype.
|
||
Add "unlimited_polymorphic" flag to "gfc_se" type to signal when
|
||
expression carries an unlimited polymorphic object.
|
||
|
||
2021-06-04 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/99839
|
||
* frontend-passes.c (inline_matmul_assign): Do not inline matmul
|
||
if the assignment to the resulting array if it is not of canonical
|
||
type (real/integer/complex/logical).
|
||
|
||
2021-06-04 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* dump-parse-tree.c (show_code_node): Handle
|
||
EXEC_OMP_(TARGET_)(,PARALLEL_,TEAMS_)LOOP.
|
||
|
||
2021-06-04 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* scanner.c (skip_fixed_omp_sentinel): Set openacc_flag if
|
||
this is not an (OpenMP) continuation line.
|
||
(skip_fixed_oacc_sentinel): Likewise for openmp_flag and OpenACC.
|
||
(gfc_next_char_literal): gfc_error_now to force error for mixed OMP/ACC
|
||
continuation once per location and return '\n'.
|
||
|
||
2021-06-04 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR middle-end/99928
|
||
* openmp.c (gfc_match_omp_clauses): Fix typo in error message.
|
||
|
||
2021-06-04 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR middle-end/99928
|
||
* dump-parse-tree.c (show_omp_clauses): Handle bind clause.
|
||
(show_omp_node): Handle loop directive.
|
||
* frontend-passes.c (gfc_code_walker): Likewise.
|
||
* gfortran.h (enum gfc_statement): Add
|
||
ST_OMP_(END_)(TARGET_)(|PARALLEL_|TEAMS_)LOOP.
|
||
(enum gfc_omp_bind_type): New.
|
||
(gfc_omp_clauses): Use it.
|
||
(enum gfc_exec_op): Add EXEC_OMP_(TARGET_)(|PARALLEL_|TEAMS_)LOOP.
|
||
* match.h (gfc_match_omp_loop, gfc_match_omp_parallel_loop,
|
||
gfc_match_omp_target_parallel_loop, gfc_match_omp_target_teams_loop,
|
||
gfc_match_omp_teams_loop): New.
|
||
* openmp.c (enum omp_mask1): Add OMP_CLAUSE_BIND.
|
||
(gfc_match_omp_clauses): Handle it.
|
||
(OMP_LOOP_CLAUSES, gfc_match_omp_loop, gfc_match_omp_teams_loop,
|
||
gfc_match_omp_target_teams_loop, gfc_match_omp_parallel_loop,
|
||
gfc_match_omp_target_parallel_loop): New.
|
||
(resolve_omp_clauses, resolve_omp_do, omp_code_to_statement,
|
||
gfc_resolve_omp_directive): Handle omp loop.
|
||
* parse.c (decode_omp_directive case_exec_markers, gfc_ascii_statement,
|
||
parse_omp_do, parse_executable): Likewise.
|
||
(parse_omp_structured_block): Remove ST_ which use parse_omp_do.
|
||
* resolve.c (gfc_resolve_blocks): Add omp loop.
|
||
* st.c (gfc_free_statement): Likewise.
|
||
* trans-openmp.c (gfc_trans_omp_clauses): Handle bind clause.
|
||
(gfc_trans_omp_do, gfc_trans_omp_parallel_do, gfc_trans_omp_distribute,
|
||
gfc_trans_omp_teams, gfc_trans_omp_target, gfc_trans_omp_directive):
|
||
Handle loop directive.
|
||
(gfc_split_omp_clauses): Likewise; fix firstprivate/lastprivate
|
||
and (in_)reduction for taskloop.
|
||
* trans.c (trans_code): Handle omp loop directive.
|
||
|
||
2021-06-01 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR middle-end/99928
|
||
* dump-parse-tree.c (show_omp_node, show_code_node): Handle
|
||
(parallel) master taskloop (simd).
|
||
* frontend-passes.c (gfc_code_walker): Set in_omp_workshare
|
||
to false for parallel master taskloop (simd).
|
||
* gfortran.h (enum gfc_statement):
|
||
Add ST_OMP_(END_)(PARALLEL_)MASTER_TASKLOOP(_SIMD).
|
||
(enum gfc_exec_op): EXEC_OMP_(PARALLEL_)MASTER_TASKLOOP(_SIMD).
|
||
* match.h (gfc_match_omp_master_taskloop,
|
||
gfc_match_omp_master_taskloop_simd,
|
||
gfc_match_omp_parallel_master_taskloop,
|
||
gfc_match_omp_parallel_master_taskloop_simd): New prototype.
|
||
* openmp.c (gfc_match_omp_parallel_master_taskloop,
|
||
gfc_match_omp_parallel_master_taskloop_simd,
|
||
gfc_match_omp_master_taskloop,
|
||
gfc_match_omp_master_taskloop_simd): New.
|
||
(gfc_match_omp_taskloop_simd): Permit 'reduction' clause.
|
||
(resolve_omp_clauses): Handle new combined directives; remove
|
||
inscan-reduction check to reduce multiple errors; add
|
||
task-reduction error for 'taskloop simd'.
|
||
(gfc_resolve_omp_parallel_blocks,
|
||
resolve_omp_do, omp_code_to_statement,
|
||
gfc_resolve_omp_directive): Handle new combined constructs.
|
||
* parse.c (decode_omp_directive, next_statement,
|
||
gfc_ascii_statement, parse_omp_do, parse_omp_structured_block,
|
||
parse_executable): Likewise.
|
||
* resolve.c (gfc_resolve_blocks, gfc_resolve_code): Likewise.
|
||
* st.c (gfc_free_statement): Likewise.
|
||
* trans.c (trans_code): Likewise.
|
||
* trans-openmp.c (gfc_split_omp_clauses,
|
||
gfc_trans_omp_directive): Likewise.
|
||
(gfc_trans_omp_parallel_master): Move after gfc_trans_omp_master_taskloop;
|
||
handle parallel master taskloop (simd) as well.
|
||
(gfc_trans_omp_taskloop): Take gfc_exec_op as arg.
|
||
(gfc_trans_omp_master_taskloop): New.
|
||
|
||
2021-05-30 Gerald Pfeifer <gerald@pfeifer.com>
|
||
|
||
* gfortran.texi (BOZ literal constants): Fix typo.
|
||
|
||
2021-05-28 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* dump-parse-tree.c (show_iterator): New.
|
||
(show_omp_namelist): Handle iterators.
|
||
(show_omp_clauses): Handle affinity.
|
||
* gfortran.h (gfc_free_omp_namelist): New union with 'udr' and new 'ns'.
|
||
* match.c (gfc_free_omp_namelist): Add are to choose union element.
|
||
* openmp.c (gfc_free_omp_clauses, gfc_match_omp_detach,
|
||
gfc_match_omp_clause_reduction, gfc_match_omp_flush): Update
|
||
call to gfc_free_omp_namelist.
|
||
(gfc_match_omp_variable_list): Likewise; permit preceeding whitespace.
|
||
(enum omp_mask1): Add OMP_CLAUSE_AFFINITY.
|
||
(gfc_match_iterator): New.
|
||
(gfc_match_omp_clauses): Use it; update call to gfc_free_omp_namelist.
|
||
(OMP_TASK_CLAUSES): Add OMP_CLAUSE_AFFINITY.
|
||
(gfc_match_omp_taskwait): Match depend clause.
|
||
(resolve_omp_clauses): Handle affinity; update for udr/union change.
|
||
(gfc_resolve_omp_directive): Resolve clauses of taskwait.
|
||
* st.c (gfc_free_statement): Update gfc_free_omp_namelist call.
|
||
* trans-openmp.c (gfc_trans_omp_array_reduction_or_udr): Likewise
|
||
(handle_iterator): New.
|
||
(gfc_trans_omp_clauses): Handle iterators for depend/affinity clause.
|
||
(gfc_trans_omp_taskwait): Handle depend clause.
|
||
(gfc_trans_omp_directive): Update call.
|
||
|
||
2021-05-27 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/100602
|
||
* trans-intrinsic.c (gfc_conv_intrinsic_size): Use CLASS data
|
||
attributes for CLASS arrays for generation of runtime error.
|
||
|
||
2021-05-27 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/100656
|
||
* trans-array.c (gfc_conv_ss_startstride): Do not call check for
|
||
presence of a dummy argument when a symbol actually refers to a
|
||
non-dummy.
|
||
|
||
2021-05-25 Tobias Burnus <tobias@codesourcery.com>
|
||
Johannes Nendwich <a08727063@unet.univie.ac.at>
|
||
|
||
* intrinsic.texi (GERROR, GETARGS, GETLOG, NORM2, PARITY, RANDOM_INIT,
|
||
RANDOM_NUMBER): Fix typos and copy'n'paste errors.
|
||
|
||
2021-05-24 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/86470
|
||
* trans-expr.c (gfc_copy_class_to_class): Add unshare_expr.
|
||
* trans-openmp.c (gfc_is_polymorphic_nonptr,
|
||
gfc_is_unlimited_polymorphic_nonptr): New.
|
||
(gfc_omp_clause_copy_ctor, gfc_omp_clause_dtor): Handle
|
||
polymorphic scalars.
|
||
|
||
2021-05-23 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/100551
|
||
* trans-expr.c (gfc_conv_procedure_call): Adjust check for
|
||
implicit conversion of actual argument to an unlimited polymorphic
|
||
procedure argument.
|
||
|
||
2021-05-23 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* intrinsic.texi (ATOMIC_ADD, ATOMIC_FETCH_ADD): Use the
|
||
proper variable name in the description.
|
||
|
||
2021-05-22 Andre Vehreschild <vehre@gcc.gnu.org>
|
||
Steve Kargl <kargl@gcc.gnu.org>
|
||
|
||
PR fortran/98301
|
||
* trans-decl.c (gfc_build_builtin_function_decls): Move decl.
|
||
* trans-intrinsic.c (conv_intrinsic_random_init): Use bool for
|
||
lib-call of caf_random_init instead of logical (4-byte).
|
||
* trans.h: Add tree var for random_init.
|
||
|
||
2021-05-20 Marcel Vollweiler <marcel@codesourcery.com>
|
||
|
||
* openmp.c (gfc_match_omp_clauses): Support map-type-modifier 'close'.
|
||
|
||
2021-05-18 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/100642
|
||
* openmp.c (omp_code_to_statement): Add missing EXEC_OMP_DEPOBJ.
|
||
|
||
2021-05-17 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/98411
|
||
* trans-decl.c (gfc_finish_var_decl): Add check for explicit SAVE
|
||
attribute.
|
||
|
||
2021-05-17 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/100633
|
||
* resolve.c (gfc_resolve_code): Reject nonintrinsic assignments in
|
||
OMP WORKSHARE.
|
||
|
||
2021-05-14 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* dump-parse-tree.c (show_omp_node, show_code_node): Handle
|
||
EXEC_OMP_PARALLEL_MASTER.
|
||
* frontend-passes.c (gfc_code_walker): Likewise.
|
||
* gfortran.h (enum gfc_statement): Add ST_OMP_PARALLEL_MASTER and
|
||
ST_OMP_END_PARALLEL_MASTER.
|
||
(enum gfc_exec_op): Add EXEC_OMP_PARALLEL_MASTER..
|
||
* match.h (gfc_match_omp_parallel_master): Handle it.
|
||
* openmp.c (gfc_match_omp_parallel_master, resolve_omp_clauses,
|
||
omp_code_to_statement, gfc_resolve_omp_directive): Likewise.
|
||
* parse.c (decode_omp_directive, case_exec_markers,
|
||
gfc_ascii_statement, parse_omp_structured_block,
|
||
parse_executable): Likewise.
|
||
* resolve.c (gfc_resolve_blocks, gfc_resolve_code): Likewise.
|
||
* st.c (gfc_free_statement): Likewise.
|
||
* trans-openmp.c (gfc_trans_omp_parallel_master,
|
||
gfc_trans_omp_workshare, gfc_trans_omp_directive): Likewise.
|
||
* trans.c (trans_code): Likewise.
|
||
|
||
2021-05-14 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* resolve.c (resolve_symbol): Handle implicit SAVE of main-program
|
||
for vars in 'omp threadprivate' and 'omp declare target'.
|
||
|
||
2021-05-10 Martin Liska <mliska@suse.cz>
|
||
|
||
* decl.c (variable_decl): Use startswith
|
||
function instead of strncmp.
|
||
(gfc_match_end): Likewise.
|
||
* gfortran.h (gfc_str_startswith): Likewise.
|
||
* module.c (load_omp_udrs): Likewise.
|
||
(read_module): Likewise.
|
||
* options.c (gfc_handle_runtime_check_option): Likewise.
|
||
* primary.c (match_arg_list_function): Likewise.
|
||
* trans-decl.c (gfc_get_symbol_decl): Likewise.
|
||
* trans-expr.c (gfc_conv_procedure_call): Likewise.
|
||
* trans-intrinsic.c (gfc_conv_ieee_arithmetic_function): Likewise.
|
||
|
||
2021-05-06 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/46991
|
||
PR fortran/99819
|
||
* class.c (gfc_build_class_symbol): Remove the error that
|
||
disables assumed size class arrays. Class array types that are
|
||
not deferred shape or assumed rank are given a unique name and
|
||
placed in the procedure namespace.
|
||
* trans-array.c (gfc_trans_g77_array): Obtain the data pointer
|
||
for class arrays.
|
||
(gfc_trans_dummy_array_bias): Suppress the runtime error for
|
||
extent violations in explicit shape class arrays because it
|
||
always fails.
|
||
* trans-expr.c (gfc_conv_procedure_call): Handle assumed size
|
||
class actual arguments passed to non-descriptor formal args by
|
||
using the data pointer, stored as the symbol's backend decl.
|
||
|
||
2021-05-05 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/100274
|
||
* interface.c (gfc_compare_actual_formal): Continue checks after
|
||
emitting warning for argument length mismatch.
|
||
* trans-expr.c (gfc_conv_procedure_call): Check for NULL pointer
|
||
dereference.
|
||
|
||
2021-05-04 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR testsuite/100397
|
||
* trans-openmp.c (gfc_trans_omp_depobj): Fix pasto in enum values.
|
||
|
||
2021-04-28 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* openmp.c (gfc_match_omp_variable_list): Gobble whitespace before
|
||
checking whether a '%' or parenthesis-open follows as next character.
|
||
|
||
2021-04-28 José Rui Faustino de Sousa <jrfsousa@gmail.com>
|
||
|
||
PR fortran/82376
|
||
* trans-expr.c (gfc_conv_procedure_call): Evaluate function result
|
||
and then pass a pointer.
|
||
|
||
2021-04-26 Thomas Schwinge <thomas@codesourcery.com>
|
||
Nathan Sidwell <nathan@codesourcery.com>
|
||
Tom de Vries <vries@codesourcery.com>
|
||
Julian Brown <julian@codesourcery.com>
|
||
Kwok Cheung Yeung <kcy@codesourcery.com>
|
||
|
||
* lang.opt (Wopenacc-parallelism): New.
|
||
|
||
2021-04-24 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/100154
|
||
* check.c (variable_check): Allow function reference having a data
|
||
pointer result.
|
||
(arg_strlen_is_zero): New function.
|
||
(gfc_check_fgetputc_sub): Add static check of character and status
|
||
arguments.
|
||
(gfc_check_fgetput_sub): Likewise.
|
||
* intrinsic.c (add_subroutines): Fix argument name for the
|
||
character argument to intrinsic subroutines fget[c], fput[c].
|
||
|
||
2021-04-24 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/100218
|
||
* expr.c (gfc_check_vardef_context): Extend check to allow pointer
|
||
from a function reference.
|
||
|
||
2021-04-22 Martin Liska <mliska@suse.cz>
|
||
|
||
PR testsuite/100159
|
||
PR testsuite/100192
|
||
* frontend-passes.c (optimize_expr): Fix typos and missing comments.
|
||
|
||
2021-04-22 Michael Meissner <meissner@linux.ibm.com>
|
||
|
||
PR fortran/96983
|
||
* trans-intrinsic.c (build_round_expr): If int type is larger than
|
||
long long, do the round and convert to the integer type. Do not
|
||
try to find a floating point type the exact size of the integer
|
||
type.
|
||
|
||
2021-04-21 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* dump-parse-tree.c (show_omp_namelist): Handle depobj + mutexinoutset
|
||
in the depend clause.
|
||
(show_omp_clauses, show_omp_node, show_code_node): Handle depobj.
|
||
* gfortran.h (enum gfc_statement): Add ST_OMP_DEPOBJ.
|
||
(enum gfc_omp_depend_op): Add OMP_DEPEND_UNSET,
|
||
OMP_DEPEND_MUTEXINOUTSET and OMP_DEPEND_DEPOBJ.
|
||
(gfc_omp_clauses): Add destroy, depobj_update and depobj.
|
||
(enum gfc_exec_op): Add EXEC_OMP_DEPOBJ
|
||
* match.h (gfc_match_omp_depobj): Match 'omp depobj'.
|
||
* openmp.c (gfc_match_omp_clauses): Add depobj + mutexinoutset
|
||
to depend clause.
|
||
(gfc_match_omp_depobj, resolve_omp_clauses, gfc_resolve_omp_directive):
|
||
Handle 'omp depobj'.
|
||
* parse.c (decode_omp_directive, next_statement, gfc_ascii_statement):
|
||
Likewise.
|
||
* resolve.c (gfc_resolve_code): Likewise.
|
||
* st.c (gfc_free_statement): Likewise.
|
||
* trans-openmp.c (gfc_trans_omp_clauses): Handle depobj + mutexinoutset
|
||
in the depend clause.
|
||
(gfc_trans_omp_depobj, gfc_trans_omp_directive): Handle EXEC_OMP_DEPOBJ.
|
||
* trans.c (trans_code): Likewise.
|
||
|
||
2021-04-20 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/100110
|
||
* trans-decl.c (gfc_get_symbol_decl): Replace test for host
|
||
association with a check that the current and symbol namespaces
|
||
are the same.
|
||
|
||
2021-04-19 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* lang.opt (fopenacc-kernels=): Remove.
|
||
|
||
2021-04-16 José Rui Faustino de Sousa <jrfsousa@gmail.com>
|
||
|
||
PR fortran/100094
|
||
* trans-array.c (gfc_trans_deferred_array): Add code to initialize
|
||
pointers and allocatables with correct TKR parameters.
|
||
|
||
2021-04-16 José Rui Faustino de Sousa <jrfsousa@gmail.com>
|
||
|
||
PR fortran/100018
|
||
* resolve.c: Add association check before de-referencing pointer.
|
||
|
||
2021-04-16 Harald Anlauf <anlauf@gmx.de>
|
||
Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/63797
|
||
* module.c (write_symtree): Do not write interface of intrinsic
|
||
procedure to module file for F2003 and newer.
|
||
|
||
2021-04-15 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/99307
|
||
* symbol.c: Remove trailing white space.
|
||
* trans-array.c (gfc_trans_create_temp_array): Create a class
|
||
temporary for class expressions and assign the new descriptor
|
||
to the data field.
|
||
(build_class_array_ref): If the class expr can be extracted,
|
||
then use that for 'decl'. Class function results are reliably
|
||
handled this way. Call gfc_find_and_cut_at_last_class_ref to
|
||
eliminate largely redundant code. Remove dead code and recast
|
||
the rest of the code to extract 'decl' for remaining cases.
|
||
Call gfc_build_spanned_array_ref.
|
||
(gfc_alloc_allocatable_for_assignment): Use class descriptor
|
||
element length for 'elemsize1'. Eliminate repeat set of dtype
|
||
for class expressions.
|
||
* trans-expr.c (gfc_find_and_cut_at_last_class_ref): Include
|
||
additional code from build_class_array_ref, and use optional
|
||
gfc_typespec pointer argument.
|
||
(gfc_trans_scalar_assign): Make use of pre and post blocks for
|
||
all class expressions.
|
||
* trans.c (get_array_span): For unlimited polymorphic exprs
|
||
multiply the span by the value of the _len field.
|
||
(gfc_build_spanned_array_ref): New function.
|
||
(gfc_build_array_ref): Call gfc_build_spanned_array_ref and
|
||
eliminate repeated code.
|
||
* trans.h: Add arg to gfc_find_and_cut_at_last_class_ref and
|
||
add prototype for gfc_build_spanned_array_ref.
|
||
|
||
2021-04-14 Martin Liska <mliska@suse.cz>
|
||
|
||
* intrinsic.texi: The table has first column empty and it makes
|
||
trouble when processing makeinfo --xml output.
|
||
|
||
2021-04-09 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/99817
|
||
* trans-types.c (gfc_get_function_type): Also generate hidden
|
||
coarray argument for character arguments.
|
||
|
||
2021-04-03 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/99818
|
||
* interface.c (compare_parameter): The codimension attribute is
|
||
applied to the _data field of class formal arguments.
|
||
|
||
2021-04-01 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/99840
|
||
* simplify.c (gfc_simplify_transpose): Properly initialize
|
||
resulting shape.
|
||
|
||
2021-03-28 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/99602
|
||
* trans-expr.c (gfc_conv_procedure_call): Use the _data attrs
|
||
for class expressions and detect proc pointer evaluations by
|
||
the non-null actual argument list.
|
||
|
||
2021-03-27 Steve Kargl <kargl@gcc.gnu.org>
|
||
|
||
* misc.c (gfc_typename): Fix off-by-one in buffer sizes.
|
||
|
||
2021-03-26 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/99651
|
||
* intrinsic.c (gfc_intrinsic_func_interface): Set
|
||
attr.proc = PROC_INTRINSIC if FL_PROCEDURE.
|
||
|
||
2021-03-24 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/99369
|
||
* resolve.c (resolve_operator): Make 'msg' buffer larger
|
||
and use snprintf.
|
||
|
||
2021-03-23 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/93660
|
||
* trans-decl.c (build_function_decl): Add comment;
|
||
increment hidden_typelist for caf_token/caf_offset.
|
||
* trans-types.c (gfc_get_function_type): Add comment;
|
||
add missing caf_token/caf_offset args.
|
||
|
||
2021-03-22 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/99688
|
||
* match.c (select_type_set_tmp, gfc_match_select_type,
|
||
gfc_match_select_rank): Fix 'name' buffersize to avoid out of bounds.
|
||
* resolve.c (resolve_select_type): Likewise.
|
||
|
||
2021-03-19 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||
|
||
* frontend-passes.c (inline_limit_check): Add rank_a
|
||
argument. If a is rank 1, set the second dimension to 1.
|
||
(inline_matmul_assign): Pass rank_a argument to inline_limit_check.
|
||
(call_external_blas): Likewise.
|
||
|
||
2021-03-15 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||
|
||
PR fortran/99345
|
||
* frontend-passes.c (doloop_contained_procedure_code):
|
||
Properly handle EXEC_IOLENGTH.
|
||
|
||
2021-03-15 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/99545
|
||
* trans-stmt.c (gfc_trans_allocate): Mark the initialization
|
||
assignment by setting init_flag.
|
||
|
||
2021-03-14 Harald Anlauf <anlauf@gmx.de>
|
||
Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
* trans-expr.c (gfc_conv_procedure_call): Fix runtime checks for
|
||
CLASS arguments.
|
||
* trans-intrinsic.c (gfc_conv_intrinsic_size): Likewise.
|
||
|
||
2021-03-13 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/99125
|
||
* trans-array.c (gfc_conv_expr_descriptor): For deferred length
|
||
length components use the ss_info string length instead of
|
||
gfc_get_expr_charlen. Make sure that the deferred string length
|
||
is a variable before assigning to it. Otherwise use the expr.
|
||
* trans-expr.c (gfc_conv_string_length): Make sure that the
|
||
deferred string length is a variable before assigning to it.
|
||
|
||
2021-03-12 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/99514
|
||
* resolve.c (resolve_symbol): Accept vars which are in DATA
|
||
and hence (either) implicit SAVE (or in common).
|
||
|
||
2021-03-10 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/99205
|
||
* data.c (gfc_assign_data_value): Reject non-constant character
|
||
length for lvalue.
|
||
* trans-array.c (gfc_conv_array_initializer): Restrict loop to
|
||
elements which are defined to avoid NULL pointer dereference.
|
||
|
||
2021-03-10 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* intrinsic.texi (MIN): Correct 'maximum' to 'minimum'.
|
||
|
||
2021-03-10 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR fortran/96983
|
||
* trans-intrinsic.c (build_round_expr): Do not implicitly assume
|
||
that __float128 is the 128-bit floating-point type.
|
||
|
||
2021-03-08 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/49278
|
||
* data.c (gfc_assign_data_value): Reject variable with PARAMETER
|
||
attribute in DATA statement.
|
||
|
||
2021-03-05 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/99355
|
||
PR fortran/57871
|
||
* invoke.texi (-freal{4,8}-real-*): Extend description.
|
||
* primary.c (match_real_constant): Also promote real literals
|
||
with '_kind' number.
|
||
|
||
2021-03-04 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/99355
|
||
* decl.c (gfc_match_old_kind_spec, gfc_match_kind_spec): Avoid
|
||
redoing kind conversions.
|
||
* primary.c (match_real_constant): Likewise.
|
||
|
||
2021-02-28 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR fortran/99303
|
||
* openmp.c (gfc_omp_requires_add_clause): Fix up diagnostic message
|
||
wordings.
|
||
(resolve_omp_clauses): Likewise.
|
||
|
||
2021-02-28 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR fortran/99300
|
||
* frontend-passes.c (doloop_code): Replace double space in diagnostics
|
||
with a single space.
|
||
|
||
2021-02-24 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/98342
|
||
* trans-expr.c (gfc_conv_derived_to_class): Add optional arg.
|
||
'derived_array' to hold the fixed, parmse expr in the case of
|
||
assumed rank formal arguments. Deal with optional arguments.
|
||
(gfc_conv_procedure_call): Null 'derived' array for each actual
|
||
argument. Add its address to the call to gfc_conv_derived_to_
|
||
class. Access the 'data' field of scalar descriptors before
|
||
deallocating allocatable components. Also strip NOPs before the
|
||
calls to gfc_deallocate_alloc_comp. Use 'derived' array as the
|
||
input to gfc_deallocate_alloc_comp if it is available.
|
||
* trans.h : Include the optional argument 'derived_array' to
|
||
the prototype of gfc_conv_derived_to_class. The default value
|
||
is NULL_TREE.
|
||
|
||
2021-02-23 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/99124
|
||
* resolve.c (resolve_fl_procedure): Include class results in
|
||
the test for F2018, C15100.
|
||
* trans-array.c (get_class_info_from_ss): Do not use the saved
|
||
descriptor to obtain the class expression for variables. Use
|
||
gfc_get_class_from_expr instead.
|
||
|
||
2021-02-23 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/99206
|
||
* simplify.c (gfc_simplify_reshape): Set string length for
|
||
character arguments.
|
||
|
||
2021-02-22 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/99171
|
||
* trans-openmp.c (gfc_omp_is_optional_argument): Regard optional
|
||
dummy procs as nonoptional as no special treatment is needed.
|
||
|
||
2021-02-21 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
* trans-expr.c (gfc_conv_procedure_call): Do not add clobber to
|
||
allocatable intent(out) argument.
|
||
|
||
2021-02-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
||
|
||
PR fortran/98686
|
||
* match.c (gfc_match_namelist): If BT_UNKNOWN, check for
|
||
IMPLICIT NONE and and issue an error, otherwise set the type
|
||
to its IMPLICIT type so that any subsequent use of objects will
|
||
will confirm their types.
|
||
|
||
2021-02-19 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
* symbol.c (gfc_add_flavor): Reverse order of conditions.
|
||
|
||
2021-02-19 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/99010
|
||
* dependency.c (gfc_dep_resolver): Fix coarray handling.
|
||
|
||
2021-02-19 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/99146
|
||
* interface.c:
|
||
|
||
2021-02-19 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/99027
|
||
* simplify.c (simplify_bound_dim): Honor DIMEN_ELEMENT
|
||
when using dim=.
|
||
|
||
2021-02-17 Julian Brown <julian@codesourcery.com>
|
||
|
||
* openmp.c (resolve_omp_clauses): Disallow selecting components
|
||
of arrays of derived type.
|
||
|
||
2021-02-17 Julian Brown <julian@codesourcery.com>
|
||
|
||
* trans-openmp.c (gfc_trans_omp_clauses): Handle element selection
|
||
for arrays of derived types.
|
||
|
||
2021-02-16 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* expr.c (gfc_is_simplify_contiguous): Handle REF_INQUIRY, i.e.
|
||
%im and %re which are EXPR_VARIABLE.
|
||
* openmp.c (resolve_omp_clauses): Diagnose %re/%im explicitly.
|
||
|
||
2021-02-16 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/99111
|
||
* io.c (resolve_tag_format): Reject BT_DERIVED/CLASS/VOID
|
||
as (array-valued) FORMAT tag.
|
||
|
||
2021-02-12 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/99043
|
||
* trans-expr.c (gfc_conv_procedure_call): Don't reset
|
||
rank of assumed-rank array.
|
||
|
||
2021-02-11 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/98897
|
||
* match.c (gfc_match_call): Include associate names as possible
|
||
entities with typebound subroutines. The target needs to be
|
||
resolved for the type.
|
||
|
||
2021-02-11 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/99060
|
||
* primary.c (gfc_match_varspec): Test for non-null 'previous'
|
||
before using its name in the error message.
|
||
|
||
2021-02-11 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* intrinsic.texi (FINDLOC): Add 'MASK' to argument table.
|
||
(MAXLOC, MAXVAL, MINLOC, MINVAL): For 'MASK', remove 'an
|
||
array' as scalars are also permitted.
|
||
|
||
2021-02-10 Julian Brown <julian@codesourcery.com>
|
||
|
||
PR fortran/98979
|
||
* openmp.c (resolve_omp_clauses): Omit OpenACC update in
|
||
contiguity check and stride-specified error.
|
||
|
||
2021-02-04 Julian Brown <julian@codesourcery.com>
|
||
|
||
* openmp.c (resolve_omp_clauses): Omit OpenACC update in
|
||
contiguity check and stride-specified error.
|
||
|
||
2021-02-04 Julian Brown <julian@codesourcery.com>
|
||
|
||
* trans-openmp.c (gfc_trans_omp_clauses): Use class_pointer attribute
|
||
for BT_CLASS.
|
||
|
||
2021-02-04 Julian Brown <julian@codesourcery.com>
|
||
|
||
* trans-openmp.c (gfc_trans_omp_clauses): Fix dereferencing for
|
||
BT_DERIVED members.
|
||
|
||
2021-02-04 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* openmp.c (resolve_omp_clauses): Explicitly diagnose
|
||
substrings as not permitted.
|
||
|
||
2021-02-03 Jeff Law <law@redhat.com>
|
||
|
||
* intrinsic.texi (ANINT): Fix typo.
|
||
|
||
2021-02-03 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/98913
|
||
* dependency.c (gfc_dep_resolver): Treat local access
|
||
to coarrays like any array access in dependency analysis.
|
||
|
||
2021-01-28 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/86470
|
||
* trans.c (gfc_call_malloc): Allocate area of size 1 if passed
|
||
size is NULL (as documented).
|
||
|
||
2021-01-27 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/93924
|
||
PR fortran/93925
|
||
* trans-expr.c (gfc_conv_procedure_call): Suppress the call to
|
||
gfc_conv_intrinsic_to_class for unlimited polymorphic procedure
|
||
pointers.
|
||
(gfc_trans_assignment_1): Similarly suppress class assignment
|
||
for class valued procedure pointers.
|
||
|
||
2021-01-27 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/98472
|
||
* trans-array.c (gfc_conv_expr_descriptor): Include elemental
|
||
procedure pointers in the assert under the comment 'elemental
|
||
function' and eliminate the second, spurious assert.
|
||
|
||
2021-01-25 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/70070
|
||
* data.c (create_character_initializer): Check substring indices
|
||
against bounds.
|
||
(gfc_assign_data_value): Catch error returned from
|
||
create_character_initializer.
|
||
|
||
2021-01-25 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* intrinsic.texi (CO_BROADCAST, CO_MIN, CO_REDUCE, CO_SUM): Fix typos.
|
||
|
||
2021-01-25 Steve Kargl <kargl@gcc.gnu.org>
|
||
|
||
PR fortran/98517
|
||
* resolve.c (resolve_charlen): Check that length expression is
|
||
present before testing for scalar/integer..
|
||
|
||
2021-01-22 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/98565
|
||
* trans-intrinsic.c (gfc_conv_associated): Do not add a _data
|
||
component for scalar class function targets. Instead, fix the
|
||
function result and access the _data from that.
|
||
|
||
2021-01-21 Jorge D'Elia <jdelia@cimec.unl.edu.ar>
|
||
|
||
* intrinsic.texi (CO_MAX): Fix typo.
|
||
|
||
2021-01-21 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/96320
|
||
* decl.c (gfc_match_modproc): It is not an error to find a
|
||
module procedure declaration within a contains block.
|
||
* expr.c (gfc_check_vardef_context): Pure procedure result is
|
||
assignable. Change 'own_scope' accordingly.
|
||
* resolve.c (resolve_typebound_procedure): A procedure that
|
||
has the module procedure attribute is almost certainly a
|
||
module procedure, whatever its interface.
|
||
|
||
2021-01-19 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR fortran/98476
|
||
* openmp.c (resolve_omp_clauses): Change use_device_ptr
|
||
to use_device_addr for unless type(c_ptr); check all
|
||
list item for is_device_ptr.
|
||
|
||
2021-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
|
||
|
||
* dump-parse-tree.c (show_omp_clauses): Handle detach clause.
|
||
* frontend-passes.c (gfc_code_walker): Walk detach expression.
|
||
* gfortran.h (struct gfc_omp_clauses): Add detach field.
|
||
(gfc_c_intptr_kind): New.
|
||
* openmp.c (gfc_free_omp_clauses): Free detach clause.
|
||
(gfc_match_omp_detach): New.
|
||
(enum omp_mask1): Add OMP_CLAUSE_DETACH.
|
||
(enum omp_mask2): Remove OMP_CLAUSE_DETACH.
|
||
(gfc_match_omp_clauses): Handle OMP_CLAUSE_DETACH for OpenMP.
|
||
(OMP_TASK_CLAUSES): Add OMP_CLAUSE_DETACH.
|
||
(resolve_omp_clauses): Prevent use of detach with mergeable and
|
||
overriding the data sharing mode of the event handle.
|
||
* trans-openmp.c (gfc_trans_omp_clauses): Handle detach clause.
|
||
* trans-types.c (gfc_c_intptr_kind): New.
|
||
(gfc_init_kinds): Initialize gfc_c_intptr_kind.
|
||
* types.def
|
||
(BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT): Rename
|
||
to...
|
||
(BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT_PTR):
|
||
...this. Add extra argument.
|
||
|
||
2021-01-14 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
* gfortran.h (gfc_resolve_substring): Add prototype.
|
||
* primary.c (match_string_constant): Simplify substrings with
|
||
constant starting and ending points.
|
||
* resolve.c: Rename resolve_substring to gfc_resolve_substring.
|
||
(gfc_resolve_ref): Use renamed function gfc_resolve_substring.
|
||
|
||
2021-01-14 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/98661
|
||
* resolve.c (resolve_component): Derived type components with
|
||
ALLOCATABLE or POINTER attribute shall have a deferred shape.
|
||
|
||
2021-01-14 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
Revert:
|
||
2021-01-14 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/98661
|
||
* resolve.c (resolve_component): Derived type components with
|
||
ALLOCATABLE or POINTER attribute shall have a deferred shape.
|
||
|
||
2021-01-14 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
PR fortran/98661
|
||
* resolve.c (resolve_component): Derived type components with
|
||
ALLOCATABLE or POINTER attribute shall have a deferred shape.
|
||
|
||
2021-01-08 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/93794
|
||
* trans-expr.c (gfc_conv_component_ref): Remove the condition
|
||
that deferred character length components only be allocatable.
|
||
|
||
2021-01-08 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/98458
|
||
* simplify.c (is_constant_array_expr): If an array constructor
|
||
expression has elements other than constants or structures, try
|
||
fixing the expression with gfc_reduce_init_expr. Also, if shape
|
||
is NULL, obtain the array size and set it.
|
||
|
||
2021-01-07 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/93701
|
||
* resolve.c (find_array_spec): Put static prototype for
|
||
resolve_assoc_var before this function and call for associate
|
||
variables.
|
||
|
||
2021-01-06 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
* resolve.c (resolve_component): Add check for valid CLASS
|
||
reference before trying to access CLASS data.
|
||
|
||
2021-01-04 Martin Liska <mliska@suse.cz>
|
||
|
||
* ChangeLog-2018: Remove duplicate ChangeLog entries.
|
||
|
||
2021-01-01 Harald Anlauf <anlauf@gmx.de>
|
||
|
||
* class.c (gfc_find_vtab): Add check on attribute is_class.
|
||
|
||
2021-01-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* 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.
|
||
|
||
2021-01-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* ChangeLog-2020: Rotate ChangeLog. New file.
|
||
|
||
Copyright (C) 2021 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.
|