Daily bump.
[official-gcc.git] / gcc / fortran / ChangeLog
blob84509358aa0491c4c69c639aa20f1bb9981ce840
1 2021-11-07  Thomas Koenig  <tkoenig@gcc.gnu.org>
3         * intrinsic.c (add_subroutines): Change keyword "operator"
4         to the correct one, "operation".
5         * check.c (gfc_check_co_reduce): Change OPERATOR to
6         OPERATION in error messages.
7         * intrinsic.texi: Change OPERATOR to OPERATION in
8         documentation.
10 2021-11-07  Sandra Loosemore  <sandra@codesourcery.com>
12         * interface.c (gfc_compare_actual_formal): Continue checking
13         all arguments after encountering an error.
14         * intrinsic.c (do_ts29113_check): Likewise.
15         * resolve.c (resolve_operator): Continue resolving on op2 error.
17 2021-11-06  Harald Anlauf  <anlauf@gmx.de>
19         PR fortran/102715
20         * decl.c (add_init_expr_to_sym): Reject rank mismatch between
21         array and its initializer.
23 2021-11-05  Harald Anlauf  <anlauf@gmx.de>
25         PR fortran/102817
26         * expr.c (simplify_parameter_variable): Copy shape of referenced
27         subobject when simplifying.
29 2021-11-05  Harald Anlauf  <anlauf@gmx.de>
31         PR fortran/69419
32         * match.c (gfc_match_common): Check array spec of a symbol in a
33         COMMON object list and reject it if it is a coarray.
35 2021-11-05  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
37         PR fortran/100972
38         * decl.c (gfc_match_implicit_none): Fix typo in warning.
39         * resolve.c (resolve_unknown_f): Reject external procedures
40         without explicit EXTERNAL attribute whe IMPLICIT none (external)
41         is in effect.
43 2021-11-05  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
45         * decl.c (gfc_insert_kind_parameter_exprs): Make static.
46         * expr.c (gfc_build_init_expr): Make static
47         (gfc_build_default_init_expr): Move below its static helper.
48         * gfortran.h (gfc_insert_kind_parameter_exprs, gfc_add_saved_common,
49         gfc_add_common, gfc_use_derived_tree, gfc_free_charlen,
50         gfc_get_ultimate_derived_super_type,
51         gfc_resolve_oacc_parallel_loop_blocks, gfc_build_init_expr,
52         gfc_iso_c_sub_interface): Delete.
53         * symbol.c (gfc_new_charlen, gfc_get_derived_super_type): Make
54         static.
56 2021-11-05  Sandra Loosemore  <sandra@codesourcery.com>
58         PR fortran/35276
59         * gfortran.texi (Mixed-Language Programming): Talk about C++,
60         and how to link.
62 2021-11-04  Sandra Loosemore  <sandra@codesourcery.com>
64         * gfortran.texi (Projects): Add bullet for helping with
65         incomplete standards compliance.
66         (Proposed Extensions): Delete section.
68 2021-11-04  Sandra Loosemore  <sandra@codesourcery.com>
70         * intrinsic.texi (Introduction to Intrinsics): Genericize
71         references to standard versions.
72         * invoke.texi (-fall-intrinsics): Likewise.
73         (-fmax-identifier-length=): Likewise.
75 2021-11-04  Sandra Loosemore  <sandra@codesourcery.com>
77         * gfortran.texi (Interoperability with C): Copy-editing.  Add
78         more index entries.
79         (Intrinsic Types): Likewise.
80         (Derived Types and struct): Likewise.
81         (Interoperable Global Variables): Likewise.
82         (Interoperable Subroutines and Functions): Likewise.
83         (Working with C Pointers): Likewise.
84         (Further Interoperability of Fortran with C): Likewise.  Rewrite
85         to reflect that this is now fully supported by gfortran.
87 2021-11-04  Sandra Loosemore  <sandra@codesourcery.com>
89         * gfortran.texi (About GNU Fortran): Consolidate material
90         formerly in other sections.  Copy-editing.
91         (Preprocessing and conditional compilation): Delete, moving
92         most material to invoke.texi.
93         (GNU Fortran and G77): Delete.
94         (Project Status): Delete.
95         (Standards): Update.
96         (Fortran 95 status): Mention conditional compilation here.
97         (Fortran 2003 status): Rewrite to mention the 1 missing feature
98         instead of all the ones implemented.
99         (Fortran 2008 status): Similarly for the 2 missing features.
100         (Fortran 2018 status): Rewrite to reflect completion of TS29113
101         feature support.
102         * invoke.texi (Preprocessing Options): Move material formerly
103         in introductory chapter here.
105 2021-11-04  Sandra Loosemore  <sandra@codesourcery.com>
107         * gfortran.texi (Standards): Move discussion of specific
108         standard versions here....
109         (Fortran standards status): ...from here, and delete this node.
111 2021-10-31  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
113         * symbol.c (gfc_get_typebound_proc): Revert memcpy.
115 2021-10-31  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
117         * resolve.c (resolve_fl_procedure): Initialize
118         allocatable_or_pointer.
120 2021-10-30  Manfred Schwarb  <manfred99@gmx.ch>
122         * intrinsic.texi: Remove entries for SHORT and LONG intrinsics.
124 2021-10-30  Manfred Schwarb  <manfred99@gmx.ch>
126         * check.c (gfc_check_intconv): Change error message.
128 2021-10-30  Manfred Schwarb  <manfred99@gmx.ch>
130         * intrinsic.texi (REAL): Fix entries in Specific names table.
132 2021-10-30  Manfred Schwarb  <manfred99@gmx.ch>
134         * intrinsic.texi: Adjust @columnfractions commands to improve
135         appearance for narrow 80 character terminals.
137 2021-10-30  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
139         * parse.c (clean_up_modules): Free gsym.
141 2021-10-30  Harald Anlauf  <anlauf@gmx.de>
143         * gfortran.texi (bug reports): credit Gerhard Steinmetz for
144           numerous bug reports.
146 2021-10-30  Steve Kargl  <kargl@gcc.gnu.org>
148         PR fortran/99853
149         * resolve.c (resolve_select): Generate regular gfc_error on
150         invalid conversions instead of an gfc_internal_error.
152 2021-10-29  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
154         * symbol.c (free_tb_tree): Free type-bound procedure struct.
155         (gfc_get_typebound_proc): Use explicit memcpy for clarity.
157 2021-10-27  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
159         * intrinsic.h (gfc_check_sum, gfc_resolve_atan2d, gfc_resolve_kill,
160         gfc_resolve_kill_sub): Delete declaration.
162 2021-10-27  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
164         * trans-types.h (gfc_convert_function_code): Delete.
166 2021-10-27  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
168         * trans-stmt.h (gfc_trans_deallocate_array): Delete.
170 2021-10-27  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
172         * trans-array.c (gfc_trans_scalarized_loop_end): Make static.
173         * trans-array.h (gfc_trans_scalarized_loop_end,
174         gfc_conv_tmp_ref, gfc_conv_array_transpose): Delete declaration.
176 2021-10-27  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
178         * constructor.c (gfc_constructor_get_base): Make static.
179         (gfc_constructor_expr_foreach, gfc_constructor_swap): Delete.
180         * constructor.h (gfc_constructor_get_base): Remove declaration.
181         (gfc_constructor_expr_foreach, gfc_constructor_swap): Delete.
183 2021-10-27  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
185         * decl.c (gfc_match_old_kind_spec, set_com_block_bind_c,
186         set_verify_bind_c_sym, set_verify_bind_c_com_block,
187         get_bind_c_idents, gfc_match_suffix, gfc_get_type_attr_spec,
188         check_extended_derived_type): Make static.
189         (gfc_match_gcc_unroll): Add comment.
190         * match.c (gfc_match_small_int_expr): Delete definition.
191         * match.h (gfc_match_small_int_expr): Delete declaration.
192         (gfc_match_name_C, gfc_match_old_kind_spec, set_com_block_bind_c,
193         set_verify_bind_c_sym, set_verify_bind_c_com_block,
194         get_bind_c_idents, gfc_match_suffix,
195         gfc_get_type_attr_spec): Delete declaration.
197 2021-10-27  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
199         * expr.c (is_non_empty_structure_constructor): Make static.
200         * gfortran.h (gfc_check_any_c_kind): Delete.
201         * match.c (gfc_match_label): Make static.
202         * match.h (gfc_match_label): Delete declaration.
203         * scanner.c (file_changes_cur, file_changes_count,
204         file_changes_allocated): Make static.
205         * trans-expr.c (gfc_get_character_len): Make static.
206         (gfc_class_len_or_zero_get): Make static.
207         (VTAB_GET_FIELD_GEN): Undefine.
208         (gfc_get_class_array_ref): Make static.
209         (gfc_finish_interface_mapping): Make static.
210         * trans-types.c (gfc_check_any_c_kind): Delete.
211         (pfunc_type_node, dtype_type_node, gfc_get_ppc_type): Make static.
212         * trans-types.h (gfc_get_ppc_type): Delete declaration.
213         * trans.c (gfc_msg_wrong_return): Delete.
214         * trans.h (gfc_class_len_or_zero_get, gfc_class_vtab_extends_get,
215         gfc_vptr_extends_get, gfc_get_class_array_ref, gfc_get_character_len,
216         gfc_finish_interface_mapping, gfc_msg_wrong_return,
217         gfc_get_function_decl): Delete declaration.
219 2021-10-27  Tobias Burnus  <tobias@codesourcery.com>
221         * trans-stmt.c (gfc_trans_select_rank_cases): Fix condition
222         for allocatables/pointers.
224 2021-10-26  Harald Anlauf  <anlauf@gmx.de>
226         PR fortran/102956
227         * symbol.c (gfc_check_conflict): Add conflict check for PDT KIND
228         and LEN type parameters.
230 2021-10-26  Harald Anlauf  <anlauf@gmx.de>
232         PR fortran/102917
233         * decl.c (match_attr_spec): Remove invalid integer kind checks on
234         KIND and LEN attributes of PDTs.
236 2021-10-26  Harald Anlauf  <anlauf@gmx.de>
238         PR fortran/102816
239         * resolve.c (resolve_structure_cons): Reject invalid array spec of
240         a DT component referenced in a structure constructor.
242 2021-10-26  Tobias Burnus  <tobias@codesourcery.com>
244         PR fortran/102885
245         * trans-decl.c (gfc_conv_cfi_to_gfc): Properly handle nonconstant
246         character lenghts.
248 2021-10-25  Andrew MacLeod  <amacleod@redhat.com>
250         * trans-decl.c (gfc_conv_cfi_to_gfc): Initialize rank to NULL_TREE.
252 2021-10-22  Eric Gallager  <egallager@gcc.gnu.org>
254         PR other/102663
255         * Make-lang.in: Allow dvi-formatted documentation
256         to be installed.
258 2021-10-22  Tobias Burnus  <tobias@codesourcery.com>
260         PR fortran/92621
261         * trans-expr.c (gfc_trans_assignment_1): Add STRIP_NOPS.
263 2021-10-21  Chung-Lin Tang  <cltang@codesourcery.com>
265         * decl.c (gfc_match_end): Add COMP_OMP_STRICTLY_STRUCTURED_BLOCK case
266         together with COMP_BLOCK.
267         * parse.c (parse_omp_structured_block): Change return type to
268         'gfc_statement', add handling for strictly-structured block case, adjust
269         recursive calls to parse_omp_structured_block.
270         (parse_executable): Adjust calls to parse_omp_structured_block.
271         * parse.h (enum gfc_compile_state): Add
272         COMP_OMP_STRICTLY_STRUCTURED_BLOCK.
273         * trans-openmp.c (gfc_trans_omp_workshare): Add EXEC_BLOCK case
274         handling.
276 2021-10-21  Sandra Loosemore  <sandra@codesourcery.com>
278         PR fortran/94070
279         * expr.c (gfc_simplify_expr): Handle GFC_ISYM_SHAPE along with
280         GFC_ISYM_LBOUND and GFC_ISYM_UBOUND.
281         * trans-array.c (gfc_conv_ss_startstride): Likewise.
282         (set_loop_bounds): Likewise.
283         * trans-intrinsic.c (gfc_trans_intrinsic_bound): Extend to
284         handle SHAPE.  Correct logic for zero-size special cases and
285         detecting assumed-rank arrays associated with an assumed-size
286         argument.
287         (gfc_conv_intrinsic_shape): Deleted.
288         (gfc_conv_intrinsic_function): Handle GFC_ISYM_SHAPE like
289         GFC_ISYM_LBOUND and GFC_ISYM_UBOUND.
290         (gfc_add_intrinsic_ss_code): Likewise.
291         (gfc_walk_intrinsic_bound): Likewise.
293 2021-10-20  Chung-Lin Tang  <cltang@codesourcery.com>
295         * openmp.c (gfc_match_omp_clause_reduction): Add 'openmp_target' default
296         false parameter. Add 'always,tofrom' map for OMP_LIST_IN_REDUCTION case.
297         (gfc_match_omp_clauses): Add 'openmp_target' default false parameter,
298         adjust call to gfc_match_omp_clause_reduction.
299         (match_omp): Adjust call to gfc_match_omp_clauses
300         * trans-openmp.c (gfc_trans_omp_taskgroup): Add call to
301         gfc_match_omp_clause, create and return block.
303 2021-10-19  Tobias Burnus  <tobias@codesourcery.com>
305         * trans-types.c (create_fn_spec): For allocatable/pointer
306         character(len=:), use 'w' not 'R' as fn spec for the length dummy
307         argument.
309 2021-10-19  Tobias Burnus  <tobias@codesourcery.com>
311         PR fortran/92482
312         * trans-expr.c (gfc_conv_procedure_call): Use TREE_OPERAND not
313         build_fold_indirect_ref_loc to undo an ADDR_EXPR.
315 2021-10-18  Tobias Burnus  <tobias@codesourcery.com>
317         PR fortran/102086
318         PR fortran/92189
319         PR fortran/92621
320         PR fortran/101308
321         PR fortran/101309
322         PR fortran/101635
323         PR fortran/92482
324         * decl.c (gfc_verify_c_interop_param): Remove 'sorry' for
325         scalar allocatable/pointer and len=*.
326         * expr.c (is_CFI_desc): Return true for for those.
327         * gfortran.h (CFI_type_kind_shift, CFI_type_mask,
328         CFI_type_from_type_kind, CFI_VERSION, CFI_MAX_RANK,
329         CFI_attribute_pointer, CFI_attribute_allocatable,
330         CFI_attribute_other, CFI_type_Integer, CFI_type_Logical,
331         CFI_type_Real, CFI_type_Complex, CFI_type_Character,
332         CFI_type_ucs4_char, CFI_type_struct, CFI_type_cptr,
333         CFI_type_cfunptr, CFI_type_other): New #define.
334         * trans-array.c (CFI_FIELD_BASE_ADDR, CFI_FIELD_ELEM_LEN,
335         CFI_FIELD_VERSION, CFI_FIELD_RANK, CFI_FIELD_ATTRIBUTE,
336         CFI_FIELD_TYPE, CFI_FIELD_DIM, CFI_DIM_FIELD_LOWER_BOUND,
337         CFI_DIM_FIELD_EXTENT, CFI_DIM_FIELD_SM,
338         gfc_get_cfi_descriptor_field, gfc_get_cfi_desc_base_addr,
339         gfc_get_cfi_desc_elem_len, gfc_get_cfi_desc_version,
340         gfc_get_cfi_desc_rank, gfc_get_cfi_desc_type,
341         gfc_get_cfi_desc_attribute, gfc_get_cfi_dim_item,
342         gfc_get_cfi_dim_lbound, gfc_get_cfi_dim_extent, gfc_get_cfi_dim_sm):
343         New define/functions to access the CFI array descriptor.
344         (gfc_conv_descriptor_type): New function for the GFC descriptor.
345         (gfc_get_array_span): Handle expr of CFI descriptors and
346         assumed-type descriptors.
347         (gfc_trans_array_bounds): Remove 'static'.
348         (gfc_conv_expr_descriptor): For assumed type, use the dtype of
349         the actual argument.
350         (structure_alloc_comps): Remove ' ' inside tabs.
351         * trans-array.h (gfc_trans_array_bounds, gfc_conv_descriptor_type,
352         gfc_get_cfi_desc_base_addr, gfc_get_cfi_desc_elem_len,
353         gfc_get_cfi_desc_version, gfc_get_cfi_desc_rank,
354         gfc_get_cfi_desc_type, gfc_get_cfi_desc_attribute,
355         gfc_get_cfi_dim_lbound, gfc_get_cfi_dim_extent, gfc_get_cfi_dim_sm):
356         New prototypes.
357         * trans-decl.c (gfor_fndecl_cfi_to_gfc, gfor_fndecl_gfc_to_cfi):
358         Remove global vars.
359         (gfc_build_builtin_function_decls): Remove their initialization.
360         (gfc_get_symbol_decl, create_function_arglist,
361         gfc_trans_deferred_vars): Update for CFI.
362         (convert_CFI_desc): Remove and replace by ...
363         (gfc_conv_cfi_to_gfc): ... this function
364         (gfc_generate_function_code): Call it; create local GFC var for CFI.
365         * trans-expr.c (gfc_maybe_dereference_var): Handle CFI.
366         (gfc_conv_subref_array_arg): Handle the if-noncontigous-only copy in
367         when the result should be a descriptor.
368         (gfc_conv_gfc_desc_to_cfi_desc): Completely rewritten.
369         (gfc_conv_procedure_call): CFI fixes.
370         * trans-openmp.c (gfc_omp_is_optional_argument,
371         gfc_omp_check_optional_argument): Handle optional
372         CFI.
373         * trans-stmt.c (gfc_trans_select_rank_cases): Cleanup, avoid invalid
374         code for allocatable/pointer dummies, which cannot be assumed size.
375         * trans-types.c (gfc_cfi_descriptor_base): New global var.
376         (gfc_get_dtype_rank_type): Skip rank init for rank < 0.
377         (gfc_sym_type): Handle CFI dummies.
378         (gfc_get_function_type): Update call.
379         (gfc_get_cfi_dim_type, gfc_get_cfi_type): New.
380         * trans-types.h (gfc_sym_type): Update prototype.
381         (gfc_get_cfi_type): New prototype.
382         * trans.c (gfc_trans_runtime_check): Make conditions more consistent
383         to avoid '<logical> AND_THEN <long int>' in conditions.
384         * trans.h (gfor_fndecl_cfi_to_gfc, gfor_fndecl_gfc_to_cfi): Remove
385         global-var declaration.
387 2021-10-18  Tobias Burnus  <tobias@codesourcery.com>
389         PR fortran/102745
390         * intrinsic.c (gfc_convert_type_warn): Fix checks by checking CLASS
391         and do typcheck in correct order for type extension.
392         * misc.c (gfc_typename): Print proper not internal CLASS type name.
394 2021-10-15  Harald Anlauf  <anlauf@gmx.de>
395             Tobias Burnus  <tobias@codesourcery.com>
397         PR fortran/102685
398         * decl.c (match_clist_expr): Set rank/shape of clist initializer
399         to match LHS.
400         * resolve.c (resolve_structure_cons): In a structure constructor,
401         compare shapes of array components against declared shape.
403 2021-10-14  Harald Anlauf  <anlauf@gmx.de>
405         PR fortran/102717
406         * simplify.c (gfc_simplify_reshape): Replace assert by error
407         message for negative elements in SHAPE array.
409 2021-10-14  Harald Anlauf  <anlauf@gmx.de>
411         PR fortran/102716
412         * check.c (gfc_check_shape): Reorder checks so that invalid KIND
413         arguments can be detected.
415 2021-10-14  Kwok Cheung Yeung  <kcy@codesourcery.com>
417         * gfortran.h (enum gfc_statement): Add ST_OMP_DECLARE_VARIANT.
418         (enum gfc_omp_trait_property_kind): New.
419         (struct gfc_omp_trait_property): New.
420         (gfc_get_omp_trait_property): New macro.
421         (struct gfc_omp_selector): New.
422         (gfc_get_omp_selector): New macro.
423         (struct gfc_omp_set_selector): New.
424         (gfc_get_omp_set_selector): New macro.
425         (struct gfc_omp_declare_variant): New.
426         (gfc_get_omp_declare_variant): New macro.
427         (struct gfc_namespace): Add omp_declare_variant field.
428         (gfc_free_omp_declare_variant_list): New prototype.
429         * match.h (gfc_match_omp_declare_variant): New prototype.
430         * openmp.c (gfc_free_omp_trait_property_list): New.
431         (gfc_free_omp_selector_list): New.
432         (gfc_free_omp_set_selector_list): New.
433         (gfc_free_omp_declare_variant_list): New.
434         (gfc_match_omp_clauses): Add extra optional argument.  Handle end of
435         clauses for context selectors.
436         (omp_construct_selectors, omp_device_selectors,
437         omp_implementation_selectors, omp_user_selectors): New.
438         (gfc_match_omp_context_selector): New.
439         (gfc_match_omp_context_selector_specification): New.
440         (gfc_match_omp_declare_variant): New.
441         * parse.c: Include tree-core.h and omp-general.h.
442         (decode_omp_directive): Handle 'declare variant'.
443         (case_omp_decl): Include ST_OMP_DECLARE_VARIANT.
444         (gfc_ascii_statement): Handle ST_OMP_DECLARE_VARIANT.
445         (gfc_parse_file): Initialize omp_requires_mask.
446         * symbol.c (gfc_free_namespace): Call
447         gfc_free_omp_declare_variant_list.
448         * trans-decl.c (gfc_get_extern_function_decl): Call
449         gfc_trans_omp_declare_variant.
450         (gfc_create_function_decl): Call gfc_trans_omp_declare_variant.
451         * trans-openmp.c (gfc_trans_omp_declare_variant): New.
452         * trans-stmt.h (gfc_trans_omp_declare_variant): New prototype.
454 2021-10-13  Tobias Burnus  <tobias@codesourcery.com>
456         * dump-parse-tree.c (show_omp_clauses): Handle ancestor modifier,
457         avoid ICE for GFC_OMP_ATOMIC_SWAP.
458         * gfortran.h (gfc_omp_clauses): Change 'anecestor' into a bitfield.
460 2021-10-12  Tobias Burnus  <tobias@codesourcery.com>
462         PR fortran/102541
463         * check.c (gfc_check_present): Handle optional CLASS.
464         * interface.c (gfc_compare_actual_formal): Likewise.
465         * trans-array.c (gfc_trans_g77_array): Likewise.
466         * trans-decl.c (gfc_build_dummy_array_decl): Likewise.
467         * trans-types.c (gfc_sym_type): Likewise.
468         * primary.c (gfc_variable_attr): Fixes for dummy and
469         pointer when 'class%_data' is passed.
470         * trans-expr.c (set_dtype_for_unallocated, gfc_conv_procedure_call):
471         For assumed-rank dummy, fix setting rank for dealloc/notassoc actual
472         and setting ubound to -1 for assumed-size actuals.
474 2021-10-10  Harald Anlauf  <anlauf@gmx.de>
476         PR fortran/99348
477         PR fortran/102521
478         * decl.c (add_init_expr_to_sym): Extend initialization of
479         parameter arrays from scalars to handle derived types.
481 2021-10-09  Harald Anlauf  <anlauf@gmx.de>
483         PR fortran/65454
484         * module.c (read_module): Handle old and new-style relational
485         operators when used in USE module, ONLY: OPERATOR(op).
487 2021-10-08  Sandra Loosemore  <sandra@codesourcery.com>
489         PR fortran/54753
490         * interface.c (gfc_compare_actual_formal): Add diagnostic
491         for F2018:C839.  Refactor shared code and fix bugs with class
492         array info lookup, and extend similar diagnostic from PR94110
493         to also cover class types.
495 2021-10-08  Martin Liska  <mliska@suse.cz>
497         * options.c (gfc_post_options): Use new macro
498         OPTION_SET_P.
500 2021-10-06  Tobias Burnus  <tobias@codesourcery.com>
502         * resolve.c (resolve_values): Only show
503         deprecated warning if attr.referenced.
505 2021-10-04  Tobias Burnus  <tobias@codesourcery.com>
507         PR fortran/54753
508         * resolve.c (can_generate_init, resolve_fl_variable_derived,
509         resolve_symbol): Only do initialization with intent(out) if not
510         inside of an interface block.
512 2021-10-01  Martin Sebor  <msebor@redhat.com>
514         PR c/102103
515         * array.c: Remove an unnecessary test.
516         * trans-array.c: Same.
518 2021-10-01  Jakub Jelinek  <jakub@redhat.com>
520         * gfortran.h (gfc_omp_clauses): Add order_reproducible bitfield.
521         * dump-parse-tree.c (show_omp_clauses): Print REPRODUCIBLE: for it.
522         * openmp.c (gfc_match_omp_clauses): Set order_reproducible for
523         explicit reproducible: modifier.
524         * trans-openmp.c (gfc_trans_omp_clauses): Set
525         OMP_CLAUSE_ORDER_REPRODUCIBLE for order_reproducible.
526         (gfc_split_omp_clauses): Also copy order_reproducible.
528 2021-09-30  Harald Anlauf  <anlauf@gmx.de>
530         PR fortran/102458
531         * simplify.c (simplify_size): Resolve expressions used in array
532         specifications so that SIZE can be simplified.
534 2021-09-30  Harald Anlauf  <anlauf@gmx.de>
536         * expr.c: The correct reference to Fortran standard is: F2018:10.1.12.
538 2021-09-30  Tobias Burnus  <tobias@codesourcery.com>
540         PR fortran/71703
541         PR fortran/84007
542         * trans-intrinsic.c (gfc_conv_same_type_as): Fix handling
543         of UNLIMITED_POLY.
544         * trans.h (gfc_vtpr_hash_get): Renamed prototype to ...
545         (gfc_vptr_hash_get): ... this to match function name.
547 2021-09-29  Harald Anlauf  <anlauf@gmx.de>
549         PR fortran/102520
550         * array.c (expand_constructor): Do not dereference NULL pointer.
552 2021-09-27  Tobias Burnus  <tobias@codesourcery.com>
554         PR fortran/94070
555         * trans-array.c (gfc_tree_array_size): New function to
556         find size inline (whole array or one dimension).
557         (array_parameter_size): Use it, take stmt_block as arg.
558         (gfc_conv_array_parameter): Update call.
559         * trans-array.h (gfc_tree_array_size): Add prototype.
560         * trans-decl.c (gfor_fndecl_size0, gfor_fndecl_size1): Remove
561         these global vars.
562         (gfc_build_intrinsic_function_decls): Remove their initialization.
563         * trans-expr.c (gfc_conv_procedure_call): Update
564         bounds of pointer/allocatable actual args to nonallocatable/nonpointer
565         dummies to be one based.
566         * trans-intrinsic.c (gfc_conv_intrinsic_shape): Fix case for
567         assumed rank with allocatable/pointer dummy.
568         (gfc_conv_intrinsic_size): Update to use inline function.
569         * trans.h (gfor_fndecl_size0, gfor_fndecl_size1): Remove var decl.
571 2021-09-26  Tobias Burnus  <tobias@codesourcery.com>
573         PR fortran/101334
574         * trans-intrinsic.c (gfc_conv_associated): Support assumed-rank
575         'pointer' with scalar/array 'target' argument.
577 2021-09-24  Harald Anlauf  <anlauf@gmx.de>
579         PR fortran/102458
580         * expr.c (is_non_constant_intrinsic): Check for intrinsics
581         excluded in constant expressions (F2018:10.1.2).
582         (gfc_is_constant_expr): Use that check.
584 2021-09-24  Sandra Loosemore  <sandra@codesourcery.com>
586         PR fortran/101333
587         * interface.c (compare_parameter): Enforce F2018 C711.
589 2021-09-24  Tobias Burnus  <tobias@codesourcery.com>
591         PR fortran/55534
592         * scanner.c (load_file): Return void, call (gfc_)fatal_error for
593         all errors.
594         (include_line, include_stmt, gfc_new_file): Remove exit call
595         for failed load_file run.
597 2021-09-23  Sandra Loosemore  <sandra@codesourcery.com>
599         PR fortran/101320
600         * decl.c (gfc_verify_c_interop_param): Handle F2018 C1557,
601         aka TS29113 C516.
603 2021-09-23  Harald Anlauf  <anlauf@gmx.de>
604             Tobias Burnus  <tobias@codesourcery.com>
606         PR fortran/93834
607         * trans-intrinsic.c (gfc_conv_allocated): Cleanup. Handle
608         coindexed scalar coarrays.
610 2021-09-23  Sandra Loosemore  <sandra@codesourcery.com>
612         PR fortran/101319
613         * interface.c (gfc_compare_actual_formal): Extend existing
614         assumed-type diagnostic to also check for argument with type
615         parameters.
617 2021-09-23  Sandra Loosemore  <sandra@codesourcery.com>
619         PR fortran/101334
620         * check.c (gfc_check_associated): Allow an assumed-rank
621         array for the pointer argument.
622         * interface.c (compare_parameter): Also give rank mismatch
623         error on assumed-rank array.
625 2021-09-23  Sandra Loosemore  <sandra@codesourcery.com>
627         * trans-stmt.c (trans_associate_var): Check that result of
628         GFC_DECL_SAVED_DESCRIPTOR is not null before using it.
630 2021-09-22  Tobias Burnus  <tobias@codesourcery.com>
632         PR fortran/55534
633         * cpp.c (gfc_cpp_register_include_paths, gfc_cpp_post_options):
634         Add new bool verbose_missing_dir_warn argument.
635         * cpp.h (gfc_cpp_post_options): Update prototype.
636         * f95-lang.c (gfc_init): Remove duplicated file-not found diag.
637         * gfortran.h (gfc_check_include_dirs): Takes bool
638         verbose_missing_dir_warn arg.
639         (gfc_new_file): Returns now void.
640         * options.c (gfc_post_options): Update to warn for -I and -J,
641         only, by default but for all when user requested.
642         * scanner.c (gfc_do_check_include_dir):
643         (gfc_do_check_include_dirs, gfc_check_include_dirs): Take bool
644         verbose warn arg and update to avoid printing the same message
645         twice or never.
646         (load_file): Fix indent.
647         (gfc_new_file): Return void and exit when load_file failed
648         as all other load_file users do.
650 2021-09-22  Tobias Burnus  <tobias@codesourcery.com>
652         * trans-expr.c (gfc_simple_for_loop): New.
653         * trans.h (gfc_simple_for_loop): New prototype.
655 2021-09-21  Tobias Burnus  <tobias@codesourcery.com>
657         PR fortran/55534
658         * cpp.c: Define GCC_C_COMMON_C for #include "options.h" to make
659         cpp_reason_option_codes available.
660         (gfc_cpp_register_include_paths): Make static, set pfile's
661         warn_missing_include_dirs and move before caller.
662         (gfc_cpp_init_cb): New, cb code moved from ...
663         (gfc_cpp_init_0): ... here.
664         (gfc_cpp_post_options): Call gfc_cpp_init_cb.
665         (cb_cpp_diagnostic_cpp_option): New. As implemented in c-family
666         to match CppReason flags to -W... names.
667         (cb_cpp_diagnostic): Use it to replace single special case.
668         * cpp.h (gfc_cpp_register_include_paths): Remove as now static.
669         * gfortran.h (gfc_check_include_dirs): New prototype.
670         (gfc_add_include_path): Add new bool arg.
671         * options.c (gfc_init_options): Don't set -Wmissing-include-dirs.
672         (gfc_post_options): Set it here after commandline processing. Call
673         gfc_add_include_path with defer_warn=false.
674         (gfc_handle_option): Call it with defer_warn=true.
675         * scanner.c (gfc_do_check_include_dir, gfc_do_check_include_dirs,
676         gfc_check_include_dirs): New. Diagnostic moved from ...
677         (add_path_to_list): ... here, which came before cmdline processing.
678         Take additional bool defer_warn argument.
679         (gfc_add_include_path): Take additional defer_warn arg.
680         * scanner.h (struct gfc_directorylist): Reorder for alignment issues,
681         add new 'bool warn'.
683 2021-09-20  Tobias Burnus  <tobias@codesourcery.com>
685         * gfortran.h (gfc_omp_clauses): Add order_unconstrained.
686         * dump-parse-tree.c (show_omp_clauses): Dump it.
687         * openmp.c (gfc_match_omp_clauses): Match unconstrained/reproducible
688         modifiers to ordered(concurrent).
689         (OMP_DISTRIBUTE_CLAUSES): Accept ordered clause.
690         (resolve_omp_clauses): Reject ordered + order on same directive.
691         * trans-openmp.c (gfc_trans_omp_clauses, gfc_split_omp_clauses): Pass
692         on unconstrained modifier of ordered(concurrent).
694 2021-09-17  Harald Anlauf  <anlauf@gmx.de>
696         PR fortran/102366
697         * trans-decl.c (gfc_finish_var_decl): Disable the warning message
698         for variables moved from stack to static storange if they are
699         declared in the main, but allow the move to happen.
701 2021-09-17  Sandra Loosemore  <sandra@codesourcery.com>
703         * intrinsic.texi (ISO_C_BINDING): Change C_FLOAT128 to correspond
704         to _Float128 rather than __float128.
705         * iso-c-binding.def (c_float128): Update comments.
706         * trans-intrinsic.c (gfc_builtin_decl_for_float_kind): Likewise.
707         (build_round_expr): Likewise.
708         (gfc_build_intrinsic_lib_fndcecls): Likewise.
709         * trans-types.h (gfc_real16_is_float128): Likewise.
711 2021-09-16  Harald Anlauf  <anlauf@gmx.de>
713         PR fortran/102287
714         * trans-expr.c (gfc_conv_procedure_call): Wrap deallocation of
715         allocatable components of optional allocatable derived type
716         procedure arguments with INTENT(OUT) into a presence check.
718 2021-09-14  Harald Anlauf  <anlauf@gmx.de>
720         PR fortran/102311
721         * resolve.c (resolve_entries): Attempt to recover cleanly after
722         rejecting mismatched function entries.
724 2021-09-14  Tobias Burnus  <tobias@codesourcery.com>
726         PR fortran/102313
727         * parse.c (gfc_ascii_statement): Add missing ST_OMP_END_SCOPE.
729 2021-09-13  Harald Anlauf  <anlauf@gmx.de>
731         PR fortran/82314
732         * decl.c (add_init_expr_to_sym): For proper initialization of
733         array-valued named constants the array bounds need to be
734         simplified before adding the initializer.
736 2021-09-13  Harald Anlauf  <anlauf@gmx.de>
738         PR fortran/85130
739         * expr.c (find_substring_ref): Handle given substring start and
740         end indices as signed integers, not unsigned.
742 2021-09-09  Harald Anlauf  <anlauf@gmx.de>
744         PR fortran/98490
745         * trans-expr.c (gfc_conv_substring): Do not generate substring
746         bounds check for implied do loop index variable before it actually
747         becomes defined.
749 2021-09-08  liuhongt  <hongtao.liu@intel.com>
751         * options.c (gfc_post_options): Issue an error for
752         -fexcess-precision=16.
754 2021-09-07  Harald Anlauf  <anlauf@gmx.de>
756         PR fortran/101327
757         * expr.c (find_array_element): When bounds cannot be determined as
758         constant, return error instead of aborting.
760 2021-09-07  Marcel Vollweiler  <marcel@codesourcery.com>
762         * openmp.c (gfc_match_omp_flush): Parse 'seq_cst' clause on 'flush'
763         directive.
764         * trans-openmp.c (gfc_trans_omp_flush): Handle OMP_MEMORDER_SEQ_CST.
766 2021-09-03  Tobias Burnus  <tobias@codesourcery.com>
768         * decl.c (gfc_verify_c_interop_param): Reject pointer with
769         CONTIGUOUS attributes as dummy arg. Reject character len > 1
770         when passed as byte stream.
772 2021-09-01  Harald Anlauf  <anlauf@gmx.de>
774         PR fortran/56985
775         * resolve.c (resolve_common_vars): Fix grammar and improve wording
776         of error message rejecting an unlimited polymorphic in COMMON.
778 2021-08-31  Harald Anlauf  <anlauf@gmx.de>
780         PR fortran/100950
781         * simplify.c (substring_has_constant_len): Minimize checks for
782         substring expressions being allowed.
784 2021-08-31  Marcel Vollweiler  <marcel@codesourcery.com>
786         * gfortran.h: Add variable for 'ancestor' in struct gfc_omp_clauses.
787         * openmp.c (gfc_match_omp_clauses): Parse device-modifiers 'device_num'
788         and 'ancestor' in 'target device' clauses.
789         * trans-openmp.c (gfc_trans_omp_clauses): Set OMP_CLAUSE_DEVICE_ANCESTOR.
791 2021-08-30  Harald Anlauf  <anlauf@gmx.de>
793         PR fortran/102113
794         * match.c (gfc_match_goto): Allow for whitespace in parsing list
795         of labels.
797 2021-08-30  Harald Anlauf  <anlauf@gmx.de>
799         PR fortran/101349
800         * resolve.c (resolve_allocate_expr): An unlimited polymorphic
801         argument to ALLOCATE must be ALLOCATABLE or a POINTER.  Fix the
802         corresponding check.
804 2021-08-28  Harald Anlauf  <anlauf@gmx.de>
806         PR fortran/87737
807         * resolve.c (resolve_entries): For functions of type CHARACTER
808         tighten the checks for matching characteristics.
810 2021-08-25  Lewis Hyatt  <lhyatt@gmail.com>
812         PR other/93067
813         * cpp.c (gfc_cpp_post_options): Call new function
814         diagnostic_initialize_input_context().
816 2021-08-24  Harald Anlauf  <anlauf@gmx.de>
818         PR fortran/98411
819         * trans-decl.c (gfc_finish_var_decl): Adjust check to handle
820         implicit SAVE as well as variables in the main program.  Improve
821         warning message text.
823 2021-08-23  Tobias Burnus  <tobias@codesourcery.com>
825         * openmp.c (gfc_match_dupl_check, gfc_match_dupl_memorder,
826         gfc_match_dupl_atomic): New.
827         (gfc_match_omp_clauses): Use them; remove duplicate
828         'release'/'relaxed' clause matching; improve error dignostic
829         for 'default'.
831 2021-08-23  Tobias Burnus  <tobias@codesourcery.com>
833         * dump-parse-tree.c (show_omp_clauses): Handle 'strict' modifier
834         on grainsize/num_tasks
835         * gfortran.h (gfc_omp_clauses): Add grainsize_strict
836         and num_tasks_strict.
837         * trans-openmp.c (gfc_trans_omp_clauses, gfc_split_omp_clauses):
838         Handle 'strict' modifier on grainsize/num_tasks.
839         * openmp.c (gfc_match_omp_clauses): Likewise.
841 2021-08-20  Tobias Burnus  <tobias@codesourcery.com>
843         * error.c
844         (error_uinteger): Take 'long long unsigned' instead
845         of 'long unsigned' as argumpent.
846         (error_integer): Take 'long long' instead of 'long'.
847         (error_hwuint, error_hwint): New.
848         (error_print): Update to handle 'll' and 'w'
849         length modifiers.
850         * simplify.c (substring_has_constant_len): Use '%wd'
851         in gfc_error.
853 2021-08-20  Harald Anlauf  <anlauf@gmx.de>
855         PR fortran/100950
856         * simplify.c (substring_has_constant_len): Fix format string of
857         gfc_error, pass HOST_WIDE_INT bounds values via char buffer.
859 2021-08-20  Tobias Burnus  <tobias@codesourcery.com>
861         * dump-parse-tree.c (show_omp_clauses): Handle 'at', 'severity'
862         and 'message' clauses.
863         (show_omp_node, show_code_node): Handle EXEC_OMP_ERROR.
864         * gfortran.h (gfc_statement): Add ST_OMP_ERROR.
865         (gfc_omp_severity_type, gfc_omp_at_type): New.
866         (gfc_omp_clauses): Add 'at', 'severity' and 'message' clause;
867         use more bitfields + ENUM_BITFIELD.
868         (gfc_exec_op): Add EXEC_OMP_ERROR.
869         * match.h (gfc_match_omp_error): New.
870         * openmp.c (enum omp_mask1): Add OMP_CLAUSE_(AT,SEVERITY,MESSAGE).
871         (gfc_match_omp_clauses): Handle new clauses.
872         (OMP_ERROR_CLAUSES, gfc_match_omp_error): New.
873         (resolve_omp_clauses): Resolve new clauses.
874         (omp_code_to_statement, gfc_resolve_omp_directive): Handle
875         EXEC_OMP_ERROR.
876         * parse.c (decode_omp_directive, next_statement,
877         gfc_ascii_statement): Handle 'omp error'.
878         * resolve.c (gfc_resolve_blocks): Likewise.
879         * st.c (gfc_free_statement): Likewise.
880         * trans-openmp.c (gfc_trans_omp_error): Likewise.
881         (gfc_trans_omp_directive): Likewise.
882         * trans.c (trans_code): Likewise.
884 2021-08-20  Jakub Jelinek  <jakub@redhat.com>
886         * types.def (BT_FN_VOID_CONST_PTR_SIZE): New DEF_FUNCTION_TYPE_2.
887         * f95-lang.c (ATTR_COLD_NORETURN_NOTHROW_LEAF_LIST): Define.
889 2021-08-19  Harald Anlauf  <anlauf@gmx.de>
891         PR fortran/100950
892         * simplify.c (substring_has_constant_len): New.
893         (gfc_simplify_len): Handle case of substrings with constant
894         bounds.
896 2021-08-18  Tobias Burnus  <tobias@codesourcery.com>
898         * match.h (gfc_match_omp_nothing): New.
899         * openmp.c (gfc_match_omp_nothing): New.
900         * parse.c (decode_omp_directive): Match 'nothing' directive.
902 2021-08-17  Tobias Burnus  <tobias@codesourcery.com>
904         * dump-parse-tree.c (show_omp_node, show_code_node): Handle
905         EXEC_OMP_SCOPE.
906         * gfortran.h (enum gfc_statement): Add ST_OMP_(END_)SCOPE.
907         (enum gfc_exec_op): Add EXEC_OMP_SCOPE.
908         * match.h (gfc_match_omp_scope): New.
909         * openmp.c (OMP_SCOPE_CLAUSES): Define
910         (gfc_match_omp_scope): New.
911         (gfc_match_omp_cancellation_point, gfc_match_omp_end_nowait):
912         Improve error diagnostic.
913         (omp_code_to_statement): Handle ST_OMP_SCOPE.
914         (gfc_resolve_omp_directive): Handle EXEC_OMP_SCOPE.
915         * parse.c (decode_omp_directive, next_statement,
916         gfc_ascii_statement, parse_omp_structured_block,
917         parse_executable): Handle OpenMP's scope construct.
918         * resolve.c (gfc_resolve_blocks): Likewise
919         * st.c (gfc_free_statement): Likewise
920         * trans-openmp.c (gfc_trans_omp_scope): New.
921         (gfc_trans_omp_directive): Call it.
922         * trans.c (trans_code): handle EXEC_OMP_SCOPE.
924 2021-08-16  Tobias Burnus  <tobias@codesourcery.com>
926         * dump-parse-tree.c (show_omp_clauses): Handle 'filter' clause.
927         (show_omp_node, show_code_node): Handle (combined) omp masked construct.
928         * frontend-passes.c (gfc_code_walker): Likewise.
929         * gfortran.h (enum gfc_statement): Add ST_OMP_*_MASKED*.
930         (enum gfc_exec_op): Add EXEC_OMP_*_MASKED*.
931         * match.h (gfc_match_omp_masked, gfc_match_omp_masked_taskloop,
932         gfc_match_omp_masked_taskloop_simd, gfc_match_omp_parallel_masked,
933         gfc_match_omp_parallel_masked_taskloop,
934         gfc_match_omp_parallel_masked_taskloop_simd): New prototypes.
935         * openmp.c (enum omp_mask1): Add OMP_CLAUSE_FILTER.
936         (gfc_match_omp_clauses): Match it.
937         (OMP_MASKED_CLAUSES, gfc_match_omp_parallel_masked,
938         gfc_match_omp_parallel_masked_taskloop,
939         gfc_match_omp_parallel_masked_taskloop_simd,
940         gfc_match_omp_masked, gfc_match_omp_masked_taskloop,
941         gfc_match_omp_masked_taskloop_simd): New.
942         (resolve_omp_clauses): Resolve filter clause.
943         (gfc_resolve_omp_parallel_blocks, resolve_omp_do,
944         omp_code_to_statement, gfc_resolve_omp_directive): Handle
945         omp masked constructs.
946         * parse.c (decode_omp_directive, case_exec_markers,
947         gfc_ascii_statement, parse_omp_do, parse_omp_structured_block,
948         parse_executable): Likewise.
949         * resolve.c (gfc_resolve_blocks, gfc_resolve_code): Likewise.
950         * st.c (gfc_free_statement): Likewise.
951         * trans-openmp.c (gfc_trans_omp_clauses): Handle filter clause.
952         (GFC_OMP_SPLIT_MASKED, GFC_OMP_MASK_MASKED): New enum values.
953         (gfc_trans_omp_masked): New.
954         (gfc_split_omp_clauses): Handle combined masked directives.
955         (gfc_trans_omp_master_taskloop): Rename to ...
956         (gfc_trans_omp_master_masked_taskloop): ... this; handle also
957         combined masked directives.
958         (gfc_trans_omp_parallel_master): Rename to ...
959         (gfc_trans_omp_parallel_master_masked): ... this; handle
960         combined masked directives.
961         (gfc_trans_omp_directive): Handle EXEC_OMP_*_MASKED*.
962         * trans.c (trans_code): Likewise.
964 2021-08-15  Harald Anlauf  <anlauf@gmx.de>
966         PR fortran/99351
967         * match.c (sync_statement): Replace %v code by %e in gfc_match to
968         allow for function references as STAT and ERRMSG arguments.
969         * resolve.c (resolve_sync): Adjust checks of STAT= and ERRMSG= to
970         being definable arguments.  Function references with a data
971         pointer result are accepted.
972         * trans-stmt.c (gfc_trans_sync): Adjust assertion.
974 2021-08-12  Tobias Burnus  <tobias@codesourcery.com>
976         * gfortran.h (gfc_omp_proc_bind_kind): Add OMP_PROC_BIND_PRIMARY.
977         * dump-parse-tree.c (show_omp_clauses): Add TODO comment to
978         change 'master' to 'primary' in proc_bind for OpenMP 5.1.
979         * intrinsic.texi (OMP_LIB): Mention OpenMP 5.1; add
980         omp_proc_bind_primary.
981         * openmp.c (gfc_match_omp_clauses): Accept
982         'primary' as alias for 'master'.
983         * trans-openmp.c (gfc_trans_omp_clauses): Handle
984         OMP_PROC_BIND_PRIMARY.
986 2021-08-11  Sandra Loosemore  <sandra@codesourcery.com>
988         * iso-c-binding.def (c_float128, c_float128_complex): Check
989         float128_type_node instead of gfc_float128_type_node.
990         * trans-types.c (gfc_init_kinds, gfc_build_real_type):
991         Update comments re supported 128-bit floating-point types.
993 2021-08-11  Richard Biener  <rguenther@suse.de>
995         * trans-common.c (create_common): Set TREE_THIS_VOLATILE on the
996         COMPONENT_REF if the field is volatile.
998 2021-08-07  Harald Anlauf  <anlauf@gmx.de>
1000         PR fortran/68568
1001         * primary.c (gfc_expr_attr): Variable attribute can only be
1002         inquired when symtree is non-NULL.
1004 2021-07-28  Harald Anlauf  <anlauf@gmx.de>
1006         PR fortran/101564
1007         * expr.c (gfc_check_vardef_context): Add check for KIND and LEN
1008         parameter inquiries.
1009         * match.c (gfc_match): Fix comment for %v code.
1010         (gfc_match_allocate, gfc_match_deallocate): Replace use of %v code
1011         by %e in gfc_match to allow for function references as STAT and
1012         ERRMSG arguments.
1013         * resolve.c (resolve_allocate_deallocate): Avoid NULL pointer
1014         dereferences and shortcut for bad STAT and ERRMSG argument to
1015         (DE)ALLOCATE.  Remove bogus parts of checks for STAT and ERRMSG.
1017 2021-07-26  José Rui Faustino de Sousa  <jrfsousa@gmail.com>
1018             Tobias Burnus  <tobias@codesourcery.com>
1020         PR fortran/93308
1021         PR fortran/93963
1022         PR fortran/94327
1023         PR fortran/94331
1024         PR fortran/97046
1025         * trans-decl.c (convert_CFI_desc): Only copy out the descriptor
1026         if necessary.
1027         * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Updated attribute
1028         handling which reflect a previous intermediate version of the
1029         standard. Only copy out the descriptor if necessary.
1031 2021-07-23  Harald Anlauf  <anlauf@gmx.de>
1033         PR fortran/101536
1034         * check.c (array_check): Adjust check for the case of CLASS
1035         arrays.
1037 2021-07-21  Thomas Schwinge  <thomas@codesourcery.com>
1038             Joseph Myers  <joseph@codesourcery.com>
1039             Cesar Philippidis  <cesar@codesourcery.com>
1041         * dump-parse-tree.c (show_attr): Update.
1042         * gfortran.h (symbol_attribute): Add 'oacc_routine_nohost' member.
1043         (gfc_omp_clauses): Add 'nohost' member.
1044         * module.c (ab_attribute): Add 'AB_OACC_ROUTINE_NOHOST'.
1045         (attr_bits, mio_symbol_attribute): Update.
1046         * openmp.c (omp_mask2): Add 'OMP_CLAUSE_NOHOST'.
1047         (gfc_match_omp_clauses): Handle 'OMP_CLAUSE_NOHOST'.
1048         (OACC_ROUTINE_CLAUSES): Add 'OMP_CLAUSE_NOHOST'.
1049         (gfc_match_oacc_routine): Update.
1050         * trans-decl.c (add_attributes_to_decl): Update.
1051         * trans-openmp.c (gfc_trans_omp_clauses): Likewise.
1053 2021-07-21  Harald Anlauf  <anlauf@gmx.de>
1055         PR fortran/101514
1056         * target-memory.c (gfc_interpret_derived): Size of array component
1057         of derived type can only be computed here for explicit shape.
1058         * trans-types.c (gfc_get_nodesc_array_type): Do not dereference
1059         NULL pointers.
1061 2021-07-21  Tobias Burnus  <tobias@codesourcery.com>
1063         * decl.c (gfc_verify_c_interop_param): Update for F2008 + F2018
1064         changes; reject unsupported bits with 'Error: Sorry,'.
1065         * trans-expr.c (gfc_conv_procedure_call): Fix condition to
1066         For using CFI descriptor with characters.
1068 2021-07-18  Harald Anlauf  <anlauf@gmx.de>
1070         PR fortran/101084
1071         * io.c (resolve_tag_format): Extend FORMAT check to unknown type.
1073 2021-07-14  Harald Anlauf  <anlauf@gmx.de>
1075         PR fortran/100949
1076         * trans-expr.c (gfc_trans_class_init_assign): Call
1077         gfc_conv_expr_present only for dummy variables.
1079 2021-07-06  Thomas Koenig  <tkoenig@gcc.gnu.org>
1081         PR fortran/100227
1082         * frontend-passes.c (traverse_io_block): Adjust test for
1083         when a variable is eligible for the transformation to
1084         array slice.
1086 2021-06-28  Martin Sebor  <msebor@redhat.com>
1088         * trans-array.c (trans_array_constructor): Replace direct uses
1089         of TREE_NO_WARNING with warning_suppressed_p, and suppress_warning.
1090         * trans-decl.c (gfc_build_qualified_array): Same.
1091         (gfc_build_dummy_array_decl): Same.
1092         (generate_local_decl): Same.
1093         (gfc_generate_function_code): Same.
1094         * trans-openmp.c (gfc_omp_clause_default_ctor): Same.
1095         (gfc_omp_clause_copy_ctor): Same.
1096         * trans-types.c (get_dtype_type_node): Same.
1097         (gfc_get_desc_dim_type): Same.
1098         (gfc_get_array_descriptor_base): Same.
1099         (gfc_get_caf_vector_type): Same.
1100         (gfc_get_caf_reference_type): Same.
1101         * trans.c (gfc_create_var_np): Same.
1103 2021-06-23  Tobias Burnus  <tobias@codesourcery.com>
1105         * dump-parse-tree.c (show_omp_clauses): Fix enum type used
1106         for dumping gfc_omp_defaultmap_category.
1108 2021-06-23  Andre Vehreschild  <vehre@gcc.gnu.org>
1110         PR fortran/100337
1111         * trans-intrinsic.c (conv_co_collective): Check stat for null ptr
1112         before dereferrencing.
1114 2021-06-18  Harald Anlauf  <anlauf@gmx.de>
1116         PR fortran/100283
1117         PR fortran/101123
1118         * trans-intrinsic.c (gfc_conv_intrinsic_minmax): Unconditionally
1119         convert result of min/max to result type.
1121 2021-06-16  Harald Anlauf  <anlauf@gmx.de>
1123         PR fortran/95501
1124         PR fortran/95502
1125         * expr.c (gfc_check_pointer_assign): Avoid NULL pointer
1126         dereference.
1127         * match.c (gfc_match_pointer_assignment): Likewise.
1128         * parse.c (gfc_check_do_variable): Avoid comparison with NULL
1129         symtree.
1131 2021-06-16  Harald Anlauf  <anlauf@gmx.de>
1133         Revert:
1134         2021-06-16  Harald Anlauf  <anlauf@gmx.de>
1136         PR fortran/95501
1137         PR fortran/95502
1138         * expr.c (gfc_check_pointer_assign): Avoid NULL pointer
1139         dereference.
1140         * match.c (gfc_match_pointer_assignment): Likewise.
1141         * parse.c (gfc_check_do_variable): Avoid comparison with NULL
1142         symtree.
1144 2021-06-16  Harald Anlauf  <anlauf@gmx.de>
1146         PR fortran/95501
1147         PR fortran/95502
1148         * expr.c (gfc_check_pointer_assign): Avoid NULL pointer
1149         dereference.
1150         * match.c (gfc_match_pointer_assignment): Likewise.
1151         * parse.c (gfc_check_do_variable): Avoid comparison with NULL
1152         symtree.
1154 2021-06-15  Tobias Burnus  <tobias@codesourcery.com>
1156         PR fortran/92568
1157         * dump-parse-tree.c (show_omp_clauses): Update for defaultmap.
1158         * f95-lang.c (LANG_HOOKS_OMP_ALLOCATABLE_P,
1159         LANG_HOOKS_OMP_SCALAR_TARGET_P): New.
1160         * gfortran.h (enum gfc_omp_defaultmap,
1161         enum gfc_omp_defaultmap_category): New.
1162         * openmp.c (gfc_match_omp_clauses): Update defaultmap matching.
1163         * trans-decl.c (gfc_finish_decl_attrs): Set GFC_DECL_SCALAR_TARGET.
1164         * trans-openmp.c (gfc_omp_allocatable_p, gfc_omp_scalar_target_p): New.
1165         (gfc_omp_scalar_p): Take 'ptr_alloc_ok' argument.
1166         (gfc_trans_omp_clauses, gfc_split_omp_clauses): Update for
1167         defaultmap changes.
1168         * trans.h (gfc_omp_scalar_p): Update prototype.
1169         (gfc_omp_allocatable_p, gfc_omp_scalar_target_p): New.
1170         (struct lang_decl): Add scalar_target.
1171         (GFC_DECL_SCALAR_TARGET, GFC_DECL_GET_SCALAR_TARGET): New.
1173 2021-06-14  Tobias Burnus  <tobias@codesourcery.com>
1175         * resolve.c (resolve_variable): Remove *XCNEW used to
1176         nullify nullified memory.
1178 2021-06-09  Martin Liska  <mliska@suse.cz>
1180         * intrinsic.texi: Add missing @headitem to tables with a header.
1182 2021-06-09  Jakub Jelinek  <jakub@redhat.com>
1184         PR fortran/100965
1185         * trans-openmp.c (gfc_omp_finish_clause): Gimplify OMP_CLAUSE_SIZE.
1187 2021-06-08  Tobias Burnus  <tobias@codesourcery.com>
1189         PR middle-end/99928
1190         * trans-openmp.c (gfc_add_clause_implicitly): New.
1191         (gfc_split_omp_clauses): Use it.
1192         (gfc_free_split_omp_clauses): New.
1193         (gfc_trans_omp_do_simd, gfc_trans_omp_parallel_do,
1194         gfc_trans_omp_parallel_do_simd, gfc_trans_omp_distribute,
1195         gfc_trans_omp_teams, gfc_trans_omp_target, gfc_trans_omp_taskloop,
1196         gfc_trans_omp_master_taskloop, gfc_trans_omp_parallel_master): Use it.
1198 2021-06-08  Martin Liska  <mliska@suse.cz>
1200         * intrinsic.texi: Fix typo.
1201         * trans-expr.c (gfc_trans_pointer_assignment): Likewise.
1203 2021-06-05  José Rui Faustino de Sousa  <jrfsousa@gmail.com>
1205         PR fortran/100120
1206         PR fortran/100816
1207         PR fortran/100818
1208         PR fortran/100819
1209         PR fortran/100821
1210         * trans-array.c (gfc_get_array_span): rework the way character
1211         array "span" was calculated.
1212         (gfc_conv_expr_descriptor): improve handling of character sections
1213         and unlimited polymorphic objects.
1214         * trans-expr.c (gfc_get_character_len): new function to calculate
1215         character string length.
1216         (gfc_get_character_len_in_bytes): new function to calculate
1217         character string length in bytes.
1218         (gfc_conv_scalar_to_descriptor): add call to set the "span".
1219         (gfc_trans_pointer_assignment): set "_len" and antecipate the
1220         initialization of the deferred character length hidden argument.
1221         * trans-intrinsic.c (gfc_conv_associated): set "force_no_tmp" to
1222         avoid the creation of a temporary.
1223         * trans-types.c (gfc_get_dtype_rank_type): rework type detection
1224         so that unlimited polymorphic objects get proper type infomation,
1225         also important for bind(c).
1226         (gfc_get_dtype): add argument to pass the rank if necessary.
1227         (gfc_get_array_type_bounds): cosmetic change to have character
1228         arrays called character instead of unknown.
1229         * trans-types.h (gfc_get_dtype): modify prototype.
1230         * trans.c (get_array_span): rework the way character array "span"
1231         was calculated.
1232         * trans.h (gfc_get_character_len): new prototype.
1233         (gfc_get_character_len_in_bytes): new prototype.
1234         Add "unlimited_polymorphic" flag to "gfc_se" type to signal when
1235         expression carries an unlimited polymorphic object.
1237 2021-06-04  Harald Anlauf  <anlauf@gmx.de>
1239         PR fortran/99839
1240         * frontend-passes.c (inline_matmul_assign): Do not inline matmul
1241         if the assignment to the resulting array if it is not of canonical
1242         type (real/integer/complex/logical).
1244 2021-06-04  Tobias Burnus  <tobias@codesourcery.com>
1246         * dump-parse-tree.c (show_code_node): Handle
1247         EXEC_OMP_(TARGET_)(,PARALLEL_,TEAMS_)LOOP.
1249 2021-06-04  Tobias Burnus  <tobias@codesourcery.com>
1251         * scanner.c (skip_fixed_omp_sentinel): Set openacc_flag if
1252         this is not an (OpenMP) continuation line.
1253         (skip_fixed_oacc_sentinel): Likewise for openmp_flag and OpenACC.
1254         (gfc_next_char_literal): gfc_error_now to force error for mixed OMP/ACC
1255         continuation once per location and return '\n'.
1257 2021-06-04  Tobias Burnus  <tobias@codesourcery.com>
1259         PR middle-end/99928
1260         * openmp.c (gfc_match_omp_clauses): Fix typo in error message.
1262 2021-06-04  Tobias Burnus  <tobias@codesourcery.com>
1264         PR middle-end/99928
1265         * dump-parse-tree.c (show_omp_clauses): Handle bind clause.
1266         (show_omp_node): Handle loop directive.
1267         * frontend-passes.c (gfc_code_walker): Likewise.
1268         * gfortran.h (enum gfc_statement): Add
1269         ST_OMP_(END_)(TARGET_)(|PARALLEL_|TEAMS_)LOOP.
1270         (enum gfc_omp_bind_type): New.
1271         (gfc_omp_clauses): Use it.
1272         (enum gfc_exec_op): Add EXEC_OMP_(TARGET_)(|PARALLEL_|TEAMS_)LOOP.
1273         * match.h (gfc_match_omp_loop, gfc_match_omp_parallel_loop,
1274         gfc_match_omp_target_parallel_loop, gfc_match_omp_target_teams_loop,
1275         gfc_match_omp_teams_loop): New.
1276         * openmp.c (enum omp_mask1): Add OMP_CLAUSE_BIND.
1277         (gfc_match_omp_clauses): Handle it.
1278         (OMP_LOOP_CLAUSES, gfc_match_omp_loop, gfc_match_omp_teams_loop,
1279         gfc_match_omp_target_teams_loop, gfc_match_omp_parallel_loop,
1280         gfc_match_omp_target_parallel_loop): New.
1281         (resolve_omp_clauses, resolve_omp_do, omp_code_to_statement,
1282         gfc_resolve_omp_directive): Handle omp loop.
1283         * parse.c (decode_omp_directive case_exec_markers, gfc_ascii_statement,
1284         parse_omp_do, parse_executable): Likewise.
1285         (parse_omp_structured_block): Remove ST_ which use parse_omp_do.
1286         * resolve.c (gfc_resolve_blocks): Add omp loop.
1287         * st.c (gfc_free_statement): Likewise.
1288         * trans-openmp.c (gfc_trans_omp_clauses): Handle bind clause.
1289         (gfc_trans_omp_do, gfc_trans_omp_parallel_do, gfc_trans_omp_distribute,
1290         gfc_trans_omp_teams, gfc_trans_omp_target, gfc_trans_omp_directive):
1291         Handle loop directive.
1292         (gfc_split_omp_clauses): Likewise; fix firstprivate/lastprivate
1293         and (in_)reduction for taskloop.
1294         * trans.c (trans_code): Handle omp loop directive.
1296 2021-06-01  Tobias Burnus  <tobias@codesourcery.com>
1298         PR middle-end/99928
1299         * dump-parse-tree.c (show_omp_node, show_code_node): Handle
1300         (parallel) master taskloop (simd).
1301         * frontend-passes.c (gfc_code_walker): Set in_omp_workshare
1302         to false for parallel master taskloop (simd).
1303         * gfortran.h (enum gfc_statement):
1304         Add ST_OMP_(END_)(PARALLEL_)MASTER_TASKLOOP(_SIMD).
1305         (enum gfc_exec_op): EXEC_OMP_(PARALLEL_)MASTER_TASKLOOP(_SIMD).
1306         * match.h (gfc_match_omp_master_taskloop,
1307         gfc_match_omp_master_taskloop_simd,
1308         gfc_match_omp_parallel_master_taskloop,
1309         gfc_match_omp_parallel_master_taskloop_simd): New prototype.
1310         * openmp.c (gfc_match_omp_parallel_master_taskloop,
1311         gfc_match_omp_parallel_master_taskloop_simd,
1312         gfc_match_omp_master_taskloop,
1313         gfc_match_omp_master_taskloop_simd): New.
1314         (gfc_match_omp_taskloop_simd): Permit 'reduction' clause.
1315         (resolve_omp_clauses): Handle new combined directives; remove
1316         inscan-reduction check to reduce multiple errors; add
1317         task-reduction error for 'taskloop simd'.
1318         (gfc_resolve_omp_parallel_blocks,
1319         resolve_omp_do, omp_code_to_statement,
1320         gfc_resolve_omp_directive): Handle new combined constructs.
1321         * parse.c (decode_omp_directive, next_statement,
1322         gfc_ascii_statement, parse_omp_do, parse_omp_structured_block,
1323         parse_executable): Likewise.
1324         * resolve.c (gfc_resolve_blocks, gfc_resolve_code): Likewise.
1325         * st.c (gfc_free_statement): Likewise.
1326         * trans.c (trans_code): Likewise.
1327         * trans-openmp.c (gfc_split_omp_clauses,
1328         gfc_trans_omp_directive): Likewise.
1329         (gfc_trans_omp_parallel_master): Move after gfc_trans_omp_master_taskloop;
1330         handle parallel master taskloop (simd) as well.
1331         (gfc_trans_omp_taskloop): Take gfc_exec_op as arg.
1332         (gfc_trans_omp_master_taskloop): New.
1334 2021-05-30  Gerald Pfeifer  <gerald@pfeifer.com>
1336         * gfortran.texi (BOZ literal constants): Fix typo.
1338 2021-05-28  Tobias Burnus  <tobias@codesourcery.com>
1340         * dump-parse-tree.c (show_iterator): New.
1341         (show_omp_namelist): Handle iterators.
1342         (show_omp_clauses): Handle affinity.
1343         * gfortran.h (gfc_free_omp_namelist): New union with 'udr' and new 'ns'.
1344         * match.c (gfc_free_omp_namelist): Add are to choose union element.
1345         * openmp.c (gfc_free_omp_clauses, gfc_match_omp_detach,
1346         gfc_match_omp_clause_reduction, gfc_match_omp_flush): Update
1347         call to gfc_free_omp_namelist.
1348         (gfc_match_omp_variable_list): Likewise; permit preceeding whitespace.
1349         (enum omp_mask1): Add OMP_CLAUSE_AFFINITY.
1350         (gfc_match_iterator): New.
1351         (gfc_match_omp_clauses): Use it; update call to gfc_free_omp_namelist.
1352         (OMP_TASK_CLAUSES): Add OMP_CLAUSE_AFFINITY.
1353         (gfc_match_omp_taskwait): Match depend clause.
1354         (resolve_omp_clauses): Handle affinity; update for udr/union change.
1355         (gfc_resolve_omp_directive): Resolve clauses of taskwait.
1356         * st.c (gfc_free_statement): Update gfc_free_omp_namelist call.
1357         * trans-openmp.c (gfc_trans_omp_array_reduction_or_udr): Likewise
1358         (handle_iterator): New.
1359         (gfc_trans_omp_clauses): Handle iterators for depend/affinity clause.
1360         (gfc_trans_omp_taskwait): Handle depend clause.
1361         (gfc_trans_omp_directive): Update call.
1363 2021-05-27  Harald Anlauf  <anlauf@gmx.de>
1365         PR fortran/100602
1366         * trans-intrinsic.c (gfc_conv_intrinsic_size): Use CLASS data
1367         attributes for CLASS arrays for generation of runtime error.
1369 2021-05-27  Harald Anlauf  <anlauf@gmx.de>
1371         PR fortran/100656
1372         * trans-array.c (gfc_conv_ss_startstride): Do not call check for
1373         presence of a dummy argument when a symbol actually refers to a
1374         non-dummy.
1376 2021-05-25  Tobias Burnus  <tobias@codesourcery.com>
1377             Johannes Nendwich  <a08727063@unet.univie.ac.at>
1379         * intrinsic.texi (GERROR, GETARGS, GETLOG, NORM2, PARITY, RANDOM_INIT,
1380         RANDOM_NUMBER): Fix typos and copy'n'paste errors.
1382 2021-05-24  Tobias Burnus  <tobias@codesourcery.com>
1384         PR fortran/86470
1385         * trans-expr.c (gfc_copy_class_to_class): Add unshare_expr.
1386         * trans-openmp.c (gfc_is_polymorphic_nonptr,
1387         gfc_is_unlimited_polymorphic_nonptr): New.
1388         (gfc_omp_clause_copy_ctor, gfc_omp_clause_dtor): Handle
1389         polymorphic scalars.
1391 2021-05-23  Harald Anlauf  <anlauf@gmx.de>
1393         PR fortran/100551
1394         * trans-expr.c (gfc_conv_procedure_call): Adjust check for
1395         implicit conversion of actual argument to an unlimited polymorphic
1396         procedure argument.
1398 2021-05-23  Tobias Burnus  <tobias@codesourcery.com>
1400         * intrinsic.texi (ATOMIC_ADD, ATOMIC_FETCH_ADD): Use the
1401         proper variable name in the description.
1403 2021-05-22  Andre Vehreschild  <vehre@gcc.gnu.org>
1404             Steve Kargl  <kargl@gcc.gnu.org>
1406         PR fortran/98301
1407         * trans-decl.c (gfc_build_builtin_function_decls): Move decl.
1408         * trans-intrinsic.c (conv_intrinsic_random_init): Use bool for
1409         lib-call of caf_random_init instead of logical (4-byte).
1410         * trans.h: Add tree var for random_init.
1412 2021-05-20  Marcel Vollweiler  <marcel@codesourcery.com>
1414         * openmp.c (gfc_match_omp_clauses): Support map-type-modifier 'close'.
1416 2021-05-18  Tobias Burnus  <tobias@codesourcery.com>
1418         PR fortran/100642
1419         * openmp.c (omp_code_to_statement): Add missing EXEC_OMP_DEPOBJ.
1421 2021-05-17  Harald Anlauf  <anlauf@gmx.de>
1423         PR fortran/98411
1424         * trans-decl.c (gfc_finish_var_decl): Add check for explicit SAVE
1425         attribute.
1427 2021-05-17  Tobias Burnus  <tobias@codesourcery.com>
1429         PR fortran/100633
1430         * resolve.c (gfc_resolve_code): Reject nonintrinsic assignments in
1431         OMP WORKSHARE.
1433 2021-05-14  Tobias Burnus  <tobias@codesourcery.com>
1435         * dump-parse-tree.c (show_omp_node, show_code_node): Handle
1436         EXEC_OMP_PARALLEL_MASTER.
1437         * frontend-passes.c (gfc_code_walker): Likewise.
1438         * gfortran.h (enum gfc_statement): Add ST_OMP_PARALLEL_MASTER and
1439         ST_OMP_END_PARALLEL_MASTER.
1440         (enum gfc_exec_op): Add EXEC_OMP_PARALLEL_MASTER..
1441         * match.h (gfc_match_omp_parallel_master): Handle it.
1442         * openmp.c (gfc_match_omp_parallel_master, resolve_omp_clauses,
1443         omp_code_to_statement, gfc_resolve_omp_directive): Likewise.
1444         * parse.c (decode_omp_directive, case_exec_markers,
1445         gfc_ascii_statement, parse_omp_structured_block,
1446         parse_executable): Likewise.
1447         * resolve.c (gfc_resolve_blocks, gfc_resolve_code): Likewise.
1448         * st.c (gfc_free_statement): Likewise.
1449         * trans-openmp.c (gfc_trans_omp_parallel_master,
1450         gfc_trans_omp_workshare, gfc_trans_omp_directive): Likewise.
1451         * trans.c (trans_code): Likewise.
1453 2021-05-14  Tobias Burnus  <tobias@codesourcery.com>
1455         * resolve.c (resolve_symbol): Handle implicit SAVE of main-program
1456         for vars in 'omp threadprivate' and 'omp declare target'.
1458 2021-05-10  Martin Liska  <mliska@suse.cz>
1460         * decl.c (variable_decl): Use startswith
1461         function instead of strncmp.
1462         (gfc_match_end): Likewise.
1463         * gfortran.h (gfc_str_startswith): Likewise.
1464         * module.c (load_omp_udrs): Likewise.
1465         (read_module): Likewise.
1466         * options.c (gfc_handle_runtime_check_option): Likewise.
1467         * primary.c (match_arg_list_function): Likewise.
1468         * trans-decl.c (gfc_get_symbol_decl): Likewise.
1469         * trans-expr.c (gfc_conv_procedure_call): Likewise.
1470         * trans-intrinsic.c (gfc_conv_ieee_arithmetic_function): Likewise.
1472 2021-05-06  Paul Thomas  <pault@gcc.gnu.org>
1474         PR fortran/46991
1475         PR fortran/99819
1476         * class.c (gfc_build_class_symbol): Remove the error that
1477         disables assumed size class arrays. Class array types that are
1478         not deferred shape or assumed rank are given a unique name and
1479         placed in the procedure namespace.
1480         * trans-array.c (gfc_trans_g77_array): Obtain the data pointer
1481         for class arrays.
1482         (gfc_trans_dummy_array_bias): Suppress the runtime error for
1483         extent violations in explicit shape class arrays because it
1484         always fails.
1485         * trans-expr.c (gfc_conv_procedure_call): Handle assumed size
1486         class actual arguments passed to non-descriptor formal args by
1487         using the data pointer, stored as the symbol's backend decl.
1489 2021-05-05  Harald Anlauf  <anlauf@gmx.de>
1491         PR fortran/100274
1492         * interface.c (gfc_compare_actual_formal): Continue checks after
1493         emitting warning for argument length mismatch.
1494         * trans-expr.c (gfc_conv_procedure_call): Check for NULL pointer
1495         dereference.
1497 2021-05-04  Tobias Burnus  <tobias@codesourcery.com>
1499         PR testsuite/100397
1500         * trans-openmp.c (gfc_trans_omp_depobj): Fix pasto in enum values.
1502 2021-04-28  Tobias Burnus  <tobias@codesourcery.com>
1504         * openmp.c (gfc_match_omp_variable_list): Gobble whitespace before
1505         checking whether a '%' or parenthesis-open follows as next character.
1507 2021-04-28  José Rui Faustino de Sousa  <jrfsousa@gmail.com>
1509         PR fortran/82376
1510         * trans-expr.c (gfc_conv_procedure_call): Evaluate function result
1511         and then pass a pointer.
1513 2021-04-26  Thomas Schwinge  <thomas@codesourcery.com>
1514             Nathan Sidwell  <nathan@codesourcery.com>
1515             Tom de Vries  <vries@codesourcery.com>
1516             Julian Brown  <julian@codesourcery.com>
1517             Kwok Cheung Yeung  <kcy@codesourcery.com>
1519         * lang.opt (Wopenacc-parallelism): New.
1521 2021-04-24  Harald Anlauf  <anlauf@gmx.de>
1523         PR fortran/100154
1524         * check.c (variable_check): Allow function reference having a data
1525         pointer result.
1526         (arg_strlen_is_zero): New function.
1527         (gfc_check_fgetputc_sub): Add static check of character and status
1528         arguments.
1529         (gfc_check_fgetput_sub): Likewise.
1530         * intrinsic.c (add_subroutines): Fix argument name for the
1531         character argument to intrinsic subroutines fget[c], fput[c].
1533 2021-04-24  Harald Anlauf  <anlauf@gmx.de>
1535         PR fortran/100218
1536         * expr.c (gfc_check_vardef_context): Extend check to allow pointer
1537         from a function reference.
1539 2021-04-22  Martin Liska  <mliska@suse.cz>
1541         PR testsuite/100159
1542         PR testsuite/100192
1543         * frontend-passes.c (optimize_expr): Fix typos and missing comments.
1545 2021-04-22  Michael Meissner  <meissner@linux.ibm.com>
1547         PR fortran/96983
1548         * trans-intrinsic.c (build_round_expr): If int type is larger than
1549         long long, do the round and convert to the integer type.  Do not
1550         try to find a floating point type the exact size of the integer
1551         type.
1553 2021-04-21  Tobias Burnus  <tobias@codesourcery.com>
1555         * dump-parse-tree.c (show_omp_namelist): Handle depobj + mutexinoutset
1556         in the depend clause.
1557         (show_omp_clauses, show_omp_node, show_code_node): Handle depobj.
1558         * gfortran.h (enum gfc_statement): Add ST_OMP_DEPOBJ.
1559         (enum gfc_omp_depend_op): Add OMP_DEPEND_UNSET,
1560         OMP_DEPEND_MUTEXINOUTSET and OMP_DEPEND_DEPOBJ.
1561         (gfc_omp_clauses): Add destroy, depobj_update and depobj.
1562         (enum gfc_exec_op): Add EXEC_OMP_DEPOBJ
1563         * match.h (gfc_match_omp_depobj): Match 'omp depobj'.
1564         * openmp.c (gfc_match_omp_clauses): Add depobj + mutexinoutset
1565         to depend clause.
1566         (gfc_match_omp_depobj, resolve_omp_clauses, gfc_resolve_omp_directive):
1567         Handle 'omp depobj'.
1568         * parse.c (decode_omp_directive, next_statement, gfc_ascii_statement):
1569         Likewise.
1570         * resolve.c (gfc_resolve_code): Likewise.
1571         * st.c (gfc_free_statement): Likewise.
1572         * trans-openmp.c (gfc_trans_omp_clauses): Handle depobj + mutexinoutset
1573         in the depend clause.
1574         (gfc_trans_omp_depobj, gfc_trans_omp_directive): Handle EXEC_OMP_DEPOBJ.
1575         * trans.c (trans_code): Likewise.
1577 2021-04-20  Paul Thomas  <pault@gcc.gnu.org>
1579         PR fortran/100110
1580         * trans-decl.c (gfc_get_symbol_decl): Replace test for host
1581         association with a check that the current and symbol namespaces
1582         are the same.
1584 2021-04-19  Thomas Schwinge  <thomas@codesourcery.com>
1586         * lang.opt (fopenacc-kernels=): Remove.
1588 2021-04-16  José Rui Faustino de Sousa  <jrfsousa@gmail.com>
1590         PR fortran/100094
1591         * trans-array.c (gfc_trans_deferred_array): Add code to initialize
1592         pointers and allocatables with correct TKR parameters.
1594 2021-04-16  José Rui Faustino de Sousa  <jrfsousa@gmail.com>
1596         PR fortran/100018
1597         * resolve.c: Add association check before de-referencing pointer.
1599 2021-04-16  Harald Anlauf  <anlauf@gmx.de>
1600             Paul Thomas  <pault@gcc.gnu.org>
1602         PR fortran/63797
1603         * module.c (write_symtree): Do not write interface of intrinsic
1604         procedure to module file for F2003 and newer.
1606 2021-04-15  Paul Thomas  <pault@gcc.gnu.org>
1608         PR fortran/99307
1609         * symbol.c: Remove trailing white space.
1610         * trans-array.c (gfc_trans_create_temp_array): Create a class
1611         temporary for class expressions and assign the new descriptor
1612         to the data field.
1613         (build_class_array_ref): If the class expr can be extracted,
1614         then use that for 'decl'. Class function results are reliably
1615         handled this way. Call gfc_find_and_cut_at_last_class_ref to
1616         eliminate largely redundant code. Remove dead code and recast
1617         the rest of the code to extract 'decl' for remaining cases.
1618         Call gfc_build_spanned_array_ref.
1619         (gfc_alloc_allocatable_for_assignment): Use class descriptor
1620         element length for 'elemsize1'. Eliminate repeat set of dtype
1621         for class expressions.
1622         * trans-expr.c (gfc_find_and_cut_at_last_class_ref): Include
1623         additional code from build_class_array_ref, and use optional
1624         gfc_typespec pointer argument.
1625         (gfc_trans_scalar_assign): Make use of pre and post blocks for
1626         all class expressions.
1627         * trans.c (get_array_span): For unlimited polymorphic exprs
1628         multiply the span by the value of the _len field.
1629         (gfc_build_spanned_array_ref): New function.
1630         (gfc_build_array_ref): Call gfc_build_spanned_array_ref and
1631         eliminate repeated code.
1632         * trans.h: Add arg to gfc_find_and_cut_at_last_class_ref and
1633         add prototype for gfc_build_spanned_array_ref.
1635 2021-04-14  Martin Liska  <mliska@suse.cz>
1637         * intrinsic.texi: The table has first column empty and it makes
1638         trouble when processing makeinfo --xml output.
1640 2021-04-09  Tobias Burnus  <tobias@codesourcery.com>
1642         PR fortran/99817
1643         * trans-types.c (gfc_get_function_type): Also generate hidden
1644         coarray argument for character arguments.
1646 2021-04-03  Paul Thomas  <pault@gcc.gnu.org>
1648         PR fortran/99818
1649         * interface.c (compare_parameter): The codimension attribute is
1650         applied to the _data field of class formal arguments.
1652 2021-04-01  Harald Anlauf  <anlauf@gmx.de>
1654         PR fortran/99840
1655         * simplify.c (gfc_simplify_transpose): Properly initialize
1656         resulting shape.
1658 2021-03-28  Paul Thomas  <pault@gcc.gnu.org>
1660         PR fortran/99602
1661         * trans-expr.c (gfc_conv_procedure_call): Use the _data attrs
1662         for class expressions and detect proc pointer evaluations by
1663         the non-null actual argument list.
1665 2021-03-27  Steve Kargl  <kargl@gcc.gnu.org>
1667         * misc.c (gfc_typename): Fix off-by-one in buffer sizes.
1669 2021-03-26  Tobias Burnus  <tobias@codesourcery.com>
1671         PR fortran/99651
1672         * intrinsic.c (gfc_intrinsic_func_interface): Set
1673         attr.proc = PROC_INTRINSIC if FL_PROCEDURE.
1675 2021-03-24  Tobias Burnus  <tobias@codesourcery.com>
1677         PR fortran/99369
1678         * resolve.c (resolve_operator): Make 'msg' buffer larger
1679         and use snprintf.
1681 2021-03-23  Tobias Burnus  <tobias@codesourcery.com>
1683         PR fortran/93660
1684         * trans-decl.c (build_function_decl): Add comment;
1685         increment hidden_typelist for caf_token/caf_offset.
1686         * trans-types.c (gfc_get_function_type): Add comment;
1687         add missing caf_token/caf_offset args.
1689 2021-03-22  Tobias Burnus  <tobias@codesourcery.com>
1691         PR fortran/99688
1692         * match.c (select_type_set_tmp, gfc_match_select_type,
1693         gfc_match_select_rank): Fix 'name' buffersize to avoid out of bounds.
1694         * resolve.c (resolve_select_type): Likewise.
1696 2021-03-19  Thomas Koenig  <tkoenig@gcc.gnu.org>
1698         * frontend-passes.c (inline_limit_check): Add rank_a
1699         argument. If a is rank 1, set the second dimension to 1.
1700         (inline_matmul_assign): Pass rank_a argument to inline_limit_check.
1701         (call_external_blas): Likewise.
1703 2021-03-15  Thomas Koenig  <tkoenig@gcc.gnu.org>
1705         PR fortran/99345
1706         * frontend-passes.c (doloop_contained_procedure_code):
1707         Properly handle EXEC_IOLENGTH.
1709 2021-03-15  Paul Thomas  <pault@gcc.gnu.org>
1711         PR fortran/99545
1712         * trans-stmt.c (gfc_trans_allocate): Mark the initialization
1713         assignment by setting init_flag.
1715 2021-03-14  Harald Anlauf  <anlauf@gmx.de>
1716             Paul Thomas  <pault@gcc.gnu.org>
1718         * trans-expr.c (gfc_conv_procedure_call): Fix runtime checks for
1719         CLASS arguments.
1720         * trans-intrinsic.c (gfc_conv_intrinsic_size): Likewise.
1722 2021-03-13  Paul Thomas  <pault@gcc.gnu.org>
1724         PR fortran/99125
1725         * trans-array.c (gfc_conv_expr_descriptor): For deferred length
1726         length components use the ss_info string length instead of
1727         gfc_get_expr_charlen. Make sure that the deferred string length
1728         is a variable before assigning to it. Otherwise use the expr.
1729         * trans-expr.c (gfc_conv_string_length): Make sure that the
1730         deferred string length is a variable before assigning to it.
1732 2021-03-12  Tobias Burnus  <tobias@codesourcery.com>
1734         PR fortran/99514
1735         * resolve.c (resolve_symbol): Accept vars which are in DATA
1736         and hence (either) implicit SAVE (or in common).
1738 2021-03-10  Harald Anlauf  <anlauf@gmx.de>
1740         PR fortran/99205
1741         * data.c (gfc_assign_data_value): Reject non-constant character
1742         length for lvalue.
1743         * trans-array.c (gfc_conv_array_initializer): Restrict loop to
1744         elements which are defined to avoid NULL pointer dereference.
1746 2021-03-10  Tobias Burnus  <tobias@codesourcery.com>
1748         * intrinsic.texi (MIN): Correct 'maximum' to 'minimum'.
1750 2021-03-10  Eric Botcazou  <ebotcazou@adacore.com>
1752         PR fortran/96983
1753         * trans-intrinsic.c (build_round_expr): Do not implicitly assume
1754         that __float128 is the 128-bit floating-point type.
1756 2021-03-08  Harald Anlauf  <anlauf@gmx.de>
1758         PR fortran/49278
1759         * data.c (gfc_assign_data_value): Reject variable with PARAMETER
1760         attribute in DATA statement.
1762 2021-03-05  Tobias Burnus  <tobias@codesourcery.com>
1764         PR fortran/99355
1765         PR fortran/57871
1766         * invoke.texi (-freal{4,8}-real-*): Extend description.
1767         * primary.c (match_real_constant): Also promote real literals
1768         with '_kind' number.
1770 2021-03-04  Tobias Burnus  <tobias@codesourcery.com>
1772         PR fortran/99355
1773         * decl.c (gfc_match_old_kind_spec, gfc_match_kind_spec): Avoid
1774         redoing kind conversions.
1775         * primary.c (match_real_constant): Likewise.
1777 2021-02-28  Jakub Jelinek  <jakub@redhat.com>
1779         PR fortran/99303
1780         * openmp.c (gfc_omp_requires_add_clause): Fix up diagnostic message
1781         wordings.
1782         (resolve_omp_clauses): Likewise.
1784 2021-02-28  Jakub Jelinek  <jakub@redhat.com>
1786         PR fortran/99300
1787         * frontend-passes.c (doloop_code): Replace double space in diagnostics
1788         with a single space.
1790 2021-02-24  Paul Thomas  <pault@gcc.gnu.org>
1792         PR fortran/98342
1793         * trans-expr.c (gfc_conv_derived_to_class): Add optional arg.
1794         'derived_array' to hold the fixed, parmse expr in the case of
1795         assumed rank formal arguments. Deal with optional arguments.
1796         (gfc_conv_procedure_call): Null 'derived' array for each actual
1797         argument. Add its address to the call to gfc_conv_derived_to_
1798         class. Access the 'data' field of scalar descriptors before
1799         deallocating allocatable components. Also strip NOPs before the
1800         calls to gfc_deallocate_alloc_comp. Use 'derived' array as the
1801         input to gfc_deallocate_alloc_comp if it is available.
1802         * trans.h : Include the optional argument 'derived_array' to
1803         the prototype of gfc_conv_derived_to_class. The default value
1804         is NULL_TREE.
1806 2021-02-23  Paul Thomas  <pault@gcc.gnu.org>
1808         PR fortran/99124
1809         * resolve.c (resolve_fl_procedure): Include class results in
1810         the test for F2018, C15100.
1811         * trans-array.c (get_class_info_from_ss): Do not use the saved
1812         descriptor to obtain the class expression for variables. Use
1813         gfc_get_class_from_expr instead.
1815 2021-02-23  Harald Anlauf  <anlauf@gmx.de>
1817         PR fortran/99206
1818         * simplify.c (gfc_simplify_reshape): Set string length for
1819         character arguments.
1821 2021-02-22  Tobias Burnus  <tobias@codesourcery.com>
1823         PR fortran/99171
1824         * trans-openmp.c (gfc_omp_is_optional_argument): Regard optional
1825         dummy procs as nonoptional as no special treatment is needed.
1827 2021-02-21  Harald Anlauf  <anlauf@gmx.de>
1829         * trans-expr.c (gfc_conv_procedure_call): Do not add clobber to
1830         allocatable intent(out) argument.
1832 2021-02-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1834         PR fortran/98686
1835         * match.c (gfc_match_namelist): If BT_UNKNOWN, check for
1836         IMPLICIT NONE and and issue an error, otherwise set the type
1837         to its IMPLICIT type so that any subsequent use of objects will
1838         will confirm their types.
1840 2021-02-19  Harald Anlauf  <anlauf@gmx.de>
1842         * symbol.c (gfc_add_flavor): Reverse order of conditions.
1844 2021-02-19  Tobias Burnus  <tobias@codesourcery.com>
1846         PR fortran/99010
1847         * dependency.c (gfc_dep_resolver): Fix coarray handling.
1849 2021-02-19  Tobias Burnus  <tobias@codesourcery.com>
1851         PR fortran/99146
1852         * interface.c:
1854 2021-02-19  Tobias Burnus  <tobias@codesourcery.com>
1856         PR fortran/99027
1857         * simplify.c (simplify_bound_dim): Honor DIMEN_ELEMENT
1858         when using dim=.
1860 2021-02-17  Julian Brown  <julian@codesourcery.com>
1862         * openmp.c (resolve_omp_clauses): Disallow selecting components
1863         of arrays of derived type.
1865 2021-02-17  Julian Brown  <julian@codesourcery.com>
1867         * trans-openmp.c (gfc_trans_omp_clauses): Handle element selection
1868         for arrays of derived types.
1870 2021-02-16  Tobias Burnus  <tobias@codesourcery.com>
1872         * expr.c (gfc_is_simplify_contiguous): Handle REF_INQUIRY, i.e.
1873         %im and %re which are EXPR_VARIABLE.
1874         * openmp.c (resolve_omp_clauses): Diagnose %re/%im explicitly.
1876 2021-02-16  Tobias Burnus  <tobias@codesourcery.com>
1878         PR fortran/99111
1879         * io.c (resolve_tag_format): Reject BT_DERIVED/CLASS/VOID
1880         as (array-valued) FORMAT tag.
1882 2021-02-12  Tobias Burnus  <tobias@codesourcery.com>
1884         PR fortran/99043
1885         * trans-expr.c (gfc_conv_procedure_call): Don't reset
1886         rank of assumed-rank array.
1888 2021-02-11  Paul Thomas  <pault@gcc.gnu.org>
1890         PR fortran/98897
1891         * match.c (gfc_match_call): Include associate names as possible
1892         entities with typebound subroutines. The target needs to be
1893         resolved for the type.
1895 2021-02-11  Paul Thomas  <pault@gcc.gnu.org>
1897         PR fortran/99060
1898         * primary.c (gfc_match_varspec): Test for non-null 'previous'
1899         before using its name in the error message.
1901 2021-02-11  Tobias Burnus  <tobias@codesourcery.com>
1903         * intrinsic.texi (FINDLOC): Add 'MASK' to argument table.
1904         (MAXLOC, MAXVAL, MINLOC, MINVAL): For 'MASK', remove 'an
1905         array' as scalars are also permitted.
1907 2021-02-10  Julian Brown  <julian@codesourcery.com>
1909         PR fortran/98979
1910         * openmp.c (resolve_omp_clauses): Omit OpenACC update in
1911         contiguity check and stride-specified error.
1913 2021-02-04  Julian Brown  <julian@codesourcery.com>
1915         * openmp.c (resolve_omp_clauses): Omit OpenACC update in
1916         contiguity check and stride-specified error.
1918 2021-02-04  Julian Brown  <julian@codesourcery.com>
1920         * trans-openmp.c (gfc_trans_omp_clauses): Use class_pointer attribute
1921         for BT_CLASS.
1923 2021-02-04  Julian Brown  <julian@codesourcery.com>
1925         * trans-openmp.c (gfc_trans_omp_clauses): Fix dereferencing for
1926         BT_DERIVED members.
1928 2021-02-04  Tobias Burnus  <tobias@codesourcery.com>
1930         * openmp.c (resolve_omp_clauses): Explicitly diagnose
1931         substrings as not permitted.
1933 2021-02-03  Jeff Law  <law@redhat.com>
1935         * intrinsic.texi (ANINT): Fix typo.
1937 2021-02-03  Tobias Burnus  <tobias@codesourcery.com>
1939         PR fortran/98913
1940         * dependency.c (gfc_dep_resolver): Treat local access
1941         to coarrays like any array access in dependency analysis.
1943 2021-01-28  Harald Anlauf  <anlauf@gmx.de>
1945         PR fortran/86470
1946         * trans.c (gfc_call_malloc): Allocate area of size 1 if passed
1947         size is NULL (as documented).
1949 2021-01-27  Paul Thomas  <pault@gcc.gnu.org>
1951         PR fortran/93924
1952         PR fortran/93925
1953         * trans-expr.c (gfc_conv_procedure_call): Suppress the call to
1954         gfc_conv_intrinsic_to_class for unlimited polymorphic procedure
1955         pointers.
1956         (gfc_trans_assignment_1): Similarly suppress class assignment
1957         for class valued procedure pointers.
1959 2021-01-27  Paul Thomas  <pault@gcc.gnu.org>
1961         PR fortran/98472
1962         * trans-array.c (gfc_conv_expr_descriptor): Include elemental
1963         procedure pointers in the assert under the comment 'elemental
1964         function' and eliminate the second, spurious assert.
1966 2021-01-25  Harald Anlauf  <anlauf@gmx.de>
1968         PR fortran/70070
1969         * data.c (create_character_initializer): Check substring indices
1970         against bounds.
1971         (gfc_assign_data_value): Catch error returned from
1972         create_character_initializer.
1974 2021-01-25  Tobias Burnus  <tobias@codesourcery.com>
1976         * intrinsic.texi (CO_BROADCAST, CO_MIN, CO_REDUCE, CO_SUM): Fix typos.
1978 2021-01-25  Steve Kargl  <kargl@gcc.gnu.org>
1980         PR fortran/98517
1981         * resolve.c (resolve_charlen): Check that length expression is
1982         present before testing for scalar/integer..
1984 2021-01-22  Paul Thomas  <pault@gcc.gnu.org>
1986         PR fortran/98565
1987         * trans-intrinsic.c (gfc_conv_associated): Do not add a _data
1988         component for scalar class function targets. Instead, fix the
1989         function result and access the _data from that.
1991 2021-01-21  Jorge D'Elia  <jdelia@cimec.unl.edu.ar>
1993         * intrinsic.texi (CO_MAX): Fix typo.
1995 2021-01-21  Paul Thomas  <pault@gcc.gnu.org>
1997         PR fortran/96320
1998         * decl.c (gfc_match_modproc): It is not an error to find a
1999         module procedure declaration within a contains block.
2000         * expr.c (gfc_check_vardef_context): Pure procedure result is
2001         assignable. Change 'own_scope' accordingly.
2002         * resolve.c (resolve_typebound_procedure): A procedure that
2003         has the module procedure attribute is almost certainly a
2004         module procedure, whatever its interface.
2006 2021-01-19  Tobias Burnus  <tobias@codesourcery.com>
2008         PR fortran/98476
2009         * openmp.c (resolve_omp_clauses): Change use_device_ptr
2010         to use_device_addr for unless type(c_ptr); check all
2011         list item for is_device_ptr.
2013 2021-01-16  Kwok Cheung Yeung  <kcy@codesourcery.com>
2015         * dump-parse-tree.c (show_omp_clauses): Handle detach clause.
2016         * frontend-passes.c (gfc_code_walker): Walk detach expression.
2017         * gfortran.h (struct gfc_omp_clauses): Add detach field.
2018         (gfc_c_intptr_kind): New.
2019         * openmp.c (gfc_free_omp_clauses): Free detach clause.
2020         (gfc_match_omp_detach): New.
2021         (enum omp_mask1): Add OMP_CLAUSE_DETACH.
2022         (enum omp_mask2): Remove OMP_CLAUSE_DETACH.
2023         (gfc_match_omp_clauses): Handle OMP_CLAUSE_DETACH for OpenMP.
2024         (OMP_TASK_CLAUSES): Add OMP_CLAUSE_DETACH.
2025         (resolve_omp_clauses): Prevent use of detach with mergeable and
2026         overriding the data sharing mode of the event handle.
2027         * trans-openmp.c (gfc_trans_omp_clauses): Handle detach clause.
2028         * trans-types.c (gfc_c_intptr_kind): New.
2029         (gfc_init_kinds): Initialize gfc_c_intptr_kind.
2030         * types.def
2031         (BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT): Rename
2032         to...
2033         (BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT_PTR):
2034         ...this.  Add extra argument.
2036 2021-01-14  Harald Anlauf  <anlauf@gmx.de>
2038         * gfortran.h (gfc_resolve_substring): Add prototype.
2039         * primary.c (match_string_constant): Simplify substrings with
2040         constant starting and ending points.
2041         * resolve.c: Rename resolve_substring to gfc_resolve_substring.
2042         (gfc_resolve_ref): Use renamed function gfc_resolve_substring.
2044 2021-01-14  Harald Anlauf  <anlauf@gmx.de>
2046         PR fortran/98661
2047         * resolve.c (resolve_component): Derived type components with
2048         ALLOCATABLE or POINTER attribute shall have a deferred shape.
2050 2021-01-14  Harald Anlauf  <anlauf@gmx.de>
2052         Revert:
2053         2021-01-14  Harald Anlauf  <anlauf@gmx.de>
2055         PR fortran/98661
2056         * resolve.c (resolve_component): Derived type components with
2057         ALLOCATABLE or POINTER attribute shall have a deferred shape.
2059 2021-01-14  Harald Anlauf  <anlauf@gmx.de>
2061         PR fortran/98661
2062         * resolve.c (resolve_component): Derived type components with
2063         ALLOCATABLE or POINTER attribute shall have a deferred shape.
2065 2021-01-08  Paul Thomas  <pault@gcc.gnu.org>
2067         PR fortran/93794
2068         * trans-expr.c (gfc_conv_component_ref): Remove the condition
2069         that deferred character length components only be allocatable.
2071 2021-01-08  Paul Thomas  <pault@gcc.gnu.org>
2073         PR fortran/98458
2074         * simplify.c (is_constant_array_expr): If an array constructor
2075         expression has elements other than constants or structures, try
2076         fixing the expression with gfc_reduce_init_expr. Also, if shape
2077         is NULL, obtain the array size and set it.
2079 2021-01-07  Paul Thomas  <pault@gcc.gnu.org>
2081         PR fortran/93701
2082         * resolve.c (find_array_spec): Put static prototype for
2083         resolve_assoc_var before this function and call for associate
2084         variables.
2086 2021-01-06  Harald Anlauf  <anlauf@gmx.de>
2088         * resolve.c (resolve_component): Add check for valid CLASS
2089         reference before trying to access CLASS data.
2091 2021-01-04  Martin Liska  <mliska@suse.cz>
2093         * ChangeLog-2018: Remove duplicate ChangeLog entries.
2095 2021-01-01  Harald Anlauf  <anlauf@gmx.de>
2097         * class.c (gfc_find_vtab): Add check on attribute is_class.
2099 2021-01-01  Jakub Jelinek  <jakub@redhat.com>
2101         * gfortranspec.c (lang_specific_driver): Update copyright notice
2102         dates.
2103         * gfc-internals.texi: Bump @copying's copyright year.
2104         * gfortran.texi: Ditto.
2105         * intrinsic.texi: Ditto.
2106         * invoke.texi: Ditto.
2108 2021-01-01  Jakub Jelinek  <jakub@redhat.com>
2110         * ChangeLog-2020: Rotate ChangeLog.  New file.
2113 Copyright (C) 2021 Free Software Foundation, Inc.
2115 Copying and distribution of this file, with or without modification,
2116 are permitted in any medium without royalty provided the copyright
2117 notice and this notice are preserved.