flags: add comment
[official-gcc.git] / gcc / fortran / ChangeLog
blob27d445a9175205d283950228ff4c96a93fcf5de1
1 2022-06-08  Tobias Burnus  <tobias@codesourcery.com>
3         * openmp.cc (gfc_match_omp_clauses): Check also parent namespace
4         for 'requires reverse_offload'.
6 2022-06-07  Jakub Jelinek  <jakub@redhat.com>
8         * trans-openmp.cc (gfc_trans_omp_clauses): Set
9         OMP_CLAUSE_LINEAR_OLD_LINEAR_MODIFIER on OMP_CLAUSE_LINEAR
10         clauses unconditionally for now.
12 2022-06-03  Tobias Burnus  <tobias@codesourcery.com>
14         * openmp.cc (OMP_SCOPE_CLAUSES): Add firstprivate and allocate.
16 2022-06-02  David Malcolm  <dmalcolm@redhat.com>
18         * f95-lang.cc (gfc_get_sarif_source_language): New.
19         (LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE): Redefine.
21 2022-05-31  Jason Merrill  <jason@redhat.com>
23         * Make-lang.in (fortran.tags): Look at *.cc.
25 2022-05-30  Harald Anlauf  <anlauf@gmx.de>
27         PR fortran/91300
28         * libgfortran.h: Define new error code LIBERROR_NO_MEMORY.
29         * trans-stmt.cc (gfc_trans_allocate): Generate code for setting
30         ERRMSG depending on result of STAT result of ALLOCATE.
31         * trans.cc (gfc_allocate_using_malloc): Use STAT value of
32         LIBERROR_NO_MEMORY in case of failed malloc.
34 2022-05-28  Tobias Burnus  <tobias@codesourcery.com>
36         * dump-parse-tree.cc (show_omp_clauses): Handle OMP_LIST_ENTER.
37         * gfortran.h: Add OMP_LIST_ENTER.
38         * openmp.cc (enum omp_mask2, OMP_DECLARE_TARGET_CLAUSES): Add
39         OMP_CLAUSE_ENTER.
40         (gfc_match_omp_clauses, gfc_match_omp_declare_target,
41         resolve_omp_clauses): Handle 'enter' clause.
43 2022-05-27  Tobias Burnus  <tobias@codesourcery.com>
44             Chung-Lin Tang  <cltang@codesourcery.com>
46         * openmp.cc (gfc_check_omp_requires): Fix clause name in error.
48 2022-05-24  Tobias Burnus  <tobias@codesourcery.com>
50         PR c/105378
51         * openmp.cc (gfc_match_omp_taskwait): Accept nowait.
53 2022-05-23  Tobias Burnus  <tobias@codesourcery.com>
55         PR fortran/104949
56         * f95-lang.cc (LANG_HOOKS_OMP_ARRAY_SIZE): Redefine.
57         * trans-openmp.cc (gfc_omp_array_size): New.
58         (gfc_trans_omp_variable_list): Never turn has_device_addr
59         to firstprivate.
60         * trans.h (gfc_omp_array_size): New.
62 2022-05-18  Tobias Burnus  <tobias@codesourcery.com>
64         * gfortran.h (enum gfc_omp_depend_op): Add OMP_DEPEND_INOUTSET.
65         (gfc_omp_clauses): Enlarge ENUM_BITFIELD.
66         * dump-parse-tree.cc (show_omp_namelist, show_omp_clauses): Handle
67         'inoutset' depend modifier.
68         * openmp.cc (gfc_match_omp_clauses, gfc_match_omp_depobj): Likewise.
69         * trans-openmp.cc (gfc_trans_omp_clauses, gfc_trans_omp_depobj):
70         Likewise.
72 2022-05-17  Tobias Burnus  <tobias@codesourcery.com>
74         * dump-parse-tree.cc (show_omp_namelist): Handle omp_all_memory.
75         * openmp.cc (gfc_match_omp_variable_list, gfc_match_omp_depend_sink,
76         gfc_match_omp_clauses, resolve_omp_clauses): Likewise.
77         * trans-openmp.cc (gfc_trans_omp_clauses, gfc_trans_omp_depobj):
78         Likewise.
79         * resolve.cc (resolve_symbol): Reject it as symbol.
81 2022-05-16  Martin Liska  <mliska@suse.cz>
83         * frontend-passes.cc (gfc_code_walker): Use ARRAY_SIZE.
84         * openmp.cc (gfc_match_omp_context_selector_specification): Likewise.
85         * trans-intrinsic.cc (conv_intrinsic_ieee_builtin): Likewise.
86         * trans-types.cc (gfc_get_array_descr_info): Likewise.
88 2022-05-13  Tobias Burnus  <tobias@codesourcery.com>
90         * trans-openmp.cc (gfc_trans_omp_clauses): When mapping nondescriptor
91         array sections, use GOMP_MAP_FIRSTPRIVATE_POINTER instead of
92         GOMP_MAP_POINTER for the pointer attachment.
94 2022-05-11  Harald Anlauf  <anlauf@gmx.de>
95             Steven G. Kargl  <kargl@gcc.gnu.org>
97         PR fortran/105230
98         * expr.cc (find_array_section): Correct logic to avoid NULL
99         pointer dereference on invalid array section.
101 2022-05-10  Harald Anlauf  <anlauf@gmx.de>
103         PR fortran/105526
104         * resolve.cc (check_team): New.
105         (gfc_resolve_code): Add checks for arguments to coarray intrinsics
106         FORM TEAM, CHANGE TEAM, and SYNC TEAM.
108 2022-05-09  Harald Anlauf  <anlauf@gmx.de>
110         PR fortran/105501
111         * match.cc (gfc_match_if): Adjust patterns used for matching.
112         (gfc_match_select_rank): Likewise.
113         * parse.cc (decode_statement): Likewise.
115 2022-05-05  Sandra Loosemore  <sandra@codesourcery.com>
117         * gfortran.h (struct gfc_omp_clauses): Add non_rectangular bit.
118         * openmp.cc (is_outer_iteration_variable): New function.
119         (expr_is_invariant): New function.
120         (bound_expr_is_canonical): New function.
121         (resolve_omp_do): Replace existing non-rectangularity error with
122         check for canonical form and setting non_rectangular bit.
123         * trans-openmp.cc (gfc_trans_omp_do): Transfer non_rectangular
124         flag to generated tree structure.
126 2022-05-02  Sandra Loosemore  <sandra@codesourcery.com>
128         * trans-openmp.cc (gfc_trans_omp_critical): Set location on OMP
129         tree node.
130         (gfc_trans_omp_do): Likewise.
131         (gfc_trans_omp_masked): Likewise.
132         (gfc_trans_omp_do_simd): Likewise.
133         (gfc_trans_omp_scope): Likewise.
134         (gfc_trans_omp_taskgroup): Likewise.
135         (gfc_trans_omp_taskwait): Likewise.
136         (gfc_trans_omp_distribute): Likewise.
137         (gfc_trans_omp_taskloop): Likewise.
138         (gfc_trans_omp_master_masked_taskloop): Likewise.
140 2022-04-29  Thomas Koenig  <tkoenig@gcc.gnu.org>
142         * gfortran.texi: Fix exchanged period and letter.
144 2022-04-28  Thomas Koenig  <tkoenig@gcc.gnu.org>
146         * gfortran.texi: Mention r16_ieee and r16_ibm.
147         * invoke.texi: Likewise.
149 2022-04-27  Mikael Morin  <mikael@gcc.gnu.org>
151         PR fortran/103662
152         PR fortran/105379
153         * array.cc (compare_bounds): Use bool as return type.
154         Support non-constant expressions.
155         (gfc_compare_array_spec): Update call to compare_bounds.
157 2022-04-27  Mikael Morin  <mikael@gcc.gnu.org>
159         PR fortran/102043
160         PR fortran/105381
161         * trans-array.cc (non_negative_strides_array_p): Inline variable
162         orig_decl and merge nested if conditions.  Add condition to not
163         recurse if the next argument is the same as the current.
165 2022-04-25  Jakub Jelinek  <jakub@redhat.com>
166             Thomas Schwinge  <thomas@codesourcery.com>
168         PR fortran/104717
169         * trans-openmp.cc (gfc_trans_oacc_construct): Wrap construct body
170         in an extra BIND_EXPR.
172 2022-04-24  Mikael Morin  <mikael@gcc.gnu.org>
173             Jakub Jelinek  <jakub@redhat.com>
175         PR fortran/103662
176         * interface.cc (gfc_compare_derived_types): Support comparing
177         unlimited polymorphic fake symbols.  Recursively compare class
178         descriptor types and virtual table types.
179         * resolve.cc (resolve_fl_derived): Add type to the types list
180         on unlimited polymorphic short-circuit return.
182 2022-04-22  Mikael Morin  <mikael@gcc.gnu.org>
183             Richard Biener  <rguenther@suse.de>
185         PR fortran/102043
186         * trans.h (gfc_build_array_ref): Add non_negative_offset
187         argument.
188         * trans.cc (gfc_build_array_ref): Ditto. Use pointer arithmetic
189         if non_negative_offset is false.
190         * trans-expr.cc (gfc_conv_substring): Set flag in the call to
191         gfc_build_array_ref.
192         * trans-array.cc (gfc_get_cfi_dim_item,
193         gfc_conv_descriptor_dimension): Same.
194         (build_array_ref): Decide on whether to set the flag and update
195         the call.
196         (gfc_conv_scalarized_array_ref): Same.  New argument tmp_array.
197         (gfc_conv_tmp_array_ref): Update call to
198         gfc_conv_scalarized_ref.
199         (non_negative_strides_array_p): New function.
201 2022-04-22  Mikael Morin  <mikael@gcc.gnu.org>
203         PR fortran/102043
204         * trans-array.cc (gfc_conv_expr_descriptor): Use
205         gfc_conv_tmp_array_ref.
207 2022-04-22  Mikael Morin  <mikael@gcc.gnu.org>
209         PR fortran/102043
210         * trans-io.cc: Add handling for the case where the array
211         is referenced using pointer arithmetic.
213 2022-04-22  Mikael Morin  <mikael@gcc.gnu.org>
215         PR fortran/102043
216         * trans-expr.cc: Pre-evaluate src and dest to variables
217         before using them.
219 2022-04-21  Fritz Reese  <foreese@gcc.gnu.org>
221         PR fortran/105310
222         * trans-expr.cc (gfc_conv_union_initializer): Pass vec* by reference.
224 2022-04-13  Tobias Burnus  <tobias@codesourcery.com>
226         PR fortran/105242
227         * match.cc (match_exit_cycle): Handle missing OMP LOOP, DO and SIMD
228         directives in the EXIT/CYCLE diagnostic.
230 2022-04-10  Harald Anlauf  <anlauf@gmx.de>
232         PR fortran/105184
233         * array.cc (match_subscript): Reject assumed size coarray
234         specification with missing lower bound.
235         * resolve.cc (resolve_allocate_expr): Fix logic for checking
236         allocate-coshape-spec in ALLOCATE statement.
238 2022-04-05  Sandra Loosemore  <sandra@codesourcery.com>
240         * trans-openmp.cc (gfc_split_omp_clauses): Fix mask for
241         EXEC_OMP_MASKED_TASKLOOP.
243 2022-04-05  Harald Anlauf  <anlauf@gmx.de>
245         PR fortran/104210
246         * arith.cc (eval_intrinsic): Avoid NULL pointer dereference.
247         (gfc_zero_size_array): Likewise.
249 2022-04-05  Harald Anlauf  <anlauf@gmx.de>
250             Steven G. Kargl  <kargl@gcc.gnu.org>
252         PR fortran/105138
253         * intrinsic.cc (gfc_is_intrinsic): When a symbol refers to a
254         RECURSIVE procedure, it cannot be an INTRINSIC.
256 2022-03-30  Harald Anlauf  <anlauf@gmx.de>
258         PR fortran/100892
259         * check.cc (gfc_check_associated): Avoid NULL pointer dereference.
261 2022-03-29  Harald Anlauf  <anlauf@gmx.de>
262             Steven G. Kargl  <kargl@gcc.gnu.org>
264         PR fortran/104571
265         * resolve.cc (resolve_elemental_actual): Avoid NULL pointer
266         dereference.
268 2022-03-29  Harald Anlauf  <anlauf@gmx.de>
270         PR fortran/50549
271         * resolve.cc (resolve_structure_cons): Reject pointer assignments
272         of character with different lengths in structure constructor.
274 2022-03-25  Jakub Jelinek  <jakub@redhat.com>
276         PR fortran/103691
277         * trans-array.cc (gfc_conv_array_initializer): If TYPE_MAX_VALUE is
278         smaller than TYPE_MIN_VALUE (i.e. empty array), ignore the
279         initializer; if TYPE_MIN_VALUE is equal to TYPE_MAX_VALUE, use just
280         the TYPE_MIN_VALUE as index instead of RANGE_EXPR.
282 2022-03-23  Tobias Burnus  <tobias@codesourcery.com>
284         PR fortran/103560
285         * scanner.cc (add_path_to_list): Don't append '/' to the
286         save include path.
287         (open_included_file): Use '/' in concatenating path + file name.
288         * module.cc (gzopen_included_file_1): Likewise.
290 2022-03-22  Harald Anlauf  <anlauf@gmx.de>
292         PR fortran/104999
293         * simplify.cc (gfc_simplify_cshift): Ensure temporary holding
294         source array stride is initialized.
296 2022-03-19  Mikael Morin  <mikael@gcc.gnu.org>
298         PR fortran/104228
299         PR fortran/104570
300         * parse.cc (parse_associate): Use a new distinct gfc_charlen if the
301         copied type has one whose length is not known to be constant.
302         * resolve.cc (resolve_assoc_var): Reset charlen if it’s shared with
303         the associate target regardless of the expression type.
304         Don’t reinitialize charlen if it’s deferred.
306 2022-03-18  Tobias Burnus  <tobias@codesourcery.com>
308         PR fortran/103039
309         * trans-openmp.cc (gfc_omp_clause_copy_ctor, gfc_omp_clause_dtor):
310         Only privatize pointer for associate names.
312 2022-03-18  Tobias Burnus  <tobias@codesourcery.com>
314         PR fortran/103039
315         * openmp.cc (resolve_omp_clauses): Improve associate-name diagnostic
316         for select type/rank.
318 2022-03-11  Tobias Burnus  <tobias@codesourcery.com>
320         * trans-openmp.cc (gfc_trans_omp_clauses, gfc_omp_finish_clause):
321         Obtain size for mapping only if allocatable array is allocated.
323 2022-03-09  Harald Anlauf  <anlauf@gmx.de>
325         PR fortran/104849
326         * expr.cc (find_array_section): Avoid NULL pointer dereference on
327         invalid array section.
329 2022-03-09  Tobias Burnus  <tobias@codesourcery.com>
331         * trans-intrinsic.cc (gfc_conv_intrinsic_sizeof): Fix CLASS handling.
333 2022-03-08  Tobias Burnus  <tobias@codesourcery.com>
335         PR fortran/104126
336         * trans-expr.cc (gfc_conv_gfc_desc_to_cfi_desc): Handle NULL
337         without MOLD.
339 2022-03-08  Harald Anlauf  <anlauf@gmx.de>
341         PR fortran/104811
342         * frontend-passes.cc (optimize_minmaxloc): Do not attempt
343         frontend-optimization of MINLOC/MAXLOC for character arrays, as
344         there is no suitable code yet for inline expansion.
346 2022-03-07  Tobias Burnus  <tobias@codesourcery.com>
348         PR fortran/99585
349         PR fortran/104430
350         * trans-expr.cc (conv_parent_component_references): Fix comment;
351         simplify comparison.
352         (gfc_maybe_dereference_var): Avoid d referencing a nonpointer.
354 2022-03-07  Tobias Burnus  <tobias@codesourcery.com>
356         * array.cc (gfc_ref_dimen_size): Fix comment typo.
357         * dump-parse-tree.cc (gfc_dump_c_prototypes): Likewise.
358         * frontend-passes.cc (cfe_code): Likewise.
359         * gfortran.texi: Likewise.
360         * resolve.cc (generate_component_assignments): Likewise.
361         * simplify.cc (gfc_simplify_this_image): Likewise.
362         * trans-expr.cc (trans_scalar_class_assign,
363         gfc_maybe_dereference_var): Likewise.
364         * intrinsic.texi: Remove word duplication.
365         * invoke.texi: Likewise.
367 2022-03-07  Jakub Jelinek  <jakub@redhat.com>
369         * trans-expr.cc: Fix up duplicated word issue in a comment.
370         * gfortran.h: Likewise.
371         * scanner.cc: Likewise.
373 2022-03-07  Martin Liska  <mliska@suse.cz>
375         * intrinsic.cc (gfc_is_intrinsic): Remove asterisk from error
376         message.
378 2022-03-07  Martin Liska  <mliska@suse.cz>
380         PR translation/90148
381         * intrinsic.cc (gfc_is_intrinsic): Put
382         quote to a proper place.
384 2022-03-03  Kwok Cheung Yeung  <kcy@codesourcery.com>
386         PR fortran/104131
387         * openmp.cc (gfc_match_omp_detach): Move check for type of event
388         handle to...
389         (resolve_omp_clauses) ...here.  Also check that the event handle is
390         not an array, or an array access or structure element access.
392 2022-03-02  Harald Anlauf  <anlauf@gmx.de>
394         PR fortran/104573
395         * resolve.cc (resolve_structure_cons): Avoid NULL pointer
396         dereference when there is no valid component.
398 2022-02-24  Harald Anlauf  <anlauf@gmx.de>
400         PR fortran/84519
401         * dump-parse-tree.cc (show_code_node): Dump QUIET specifier when
402         present.
403         * match.cc (gfc_match_stopcode): Implement parsing of F2018 QUIET
404         specifier.  F2018 stopcodes may have non-default integer kind.
405         * resolve.cc (gfc_resolve_code): Add checks for QUIET argument.
406         * trans-stmt.cc (gfc_trans_stop): Pass QUIET specifier to call of
407         library function.
409 2022-02-22  Harald Anlauf  <anlauf@gmx.de>
411         PR fortran/104619
412         * resolve.cc (resolve_structure_cons): Skip shape check if shape
413         of constructor cannot be determined at compile time.
415 2022-02-20  Harald Anlauf  <anlauf@gmx.de>
417         PR fortran/77693
418         * data.cc (gfc_assign_data_value): If a variable in a data
419         statement has the POINTER attribute, check for allowed initial
420         data target that is compatible with pointer assignment.
421         * gfortran.h (IS_POINTER): New macro.
423 2022-02-15  Tobias Burnus  <tobias@codesourcery.com>
425         * trans-openmp.cc (gfc_trans_omp_depobj): Fix to alloc/ptr dummy
426         and for c_ptr.
428 2022-02-15  Tobias Burnus  <tobias@codesourcery.com>
430         * trans-openmp.cc (gfc_trans_omp_clauses, gfc_trans_omp_depobj):
431         Depend on the proper addr, for ptr/alloc depend on pointee.
433 2022-02-14  Harald Anlauf  <anlauf@gmx.de>
435         PR fortran/104211
436         * expr.cc (find_array_section): Replace assertion by error
437         recovery when encountering bad array constructor.
439 2022-02-13  Mikael Morin  <mikael@gcc.gnu.org>
441         PR fortran/104228
442         * resolve.cc (resolve_assoc_var): Also create a new character
443         length for non-dummy associate targets.
444         * trans-stmt.cc (trans_associate_var): Initialize character length
445         even if no temporary is used for the associate variable.
447 2022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
448             Tobias Burnus  <tobias@codesourcery.com>
450         * trans-common.cc (GFC_EQUIV_FMT): New macro respecting the
451         target's NO_DOT_IN_LABEL and NO_DOLLAR_IN_LABEL preferences.
452         (build_equiv_decl): Use GFC_EQUIV_FMT here.
454 2022-02-10  Tobias Burnus  <tobias@codesourcery.com>
456         PR fortran/104329
457         * openmp.cc (resolve_omp_atomic): Defer extra-code assert after
458         other diagnostics.
460 2022-02-10  Marcel Vollweiler  <marcel@codesourcery.com>
462         * dump-parse-tree.cc (show_omp_clauses): Added OMP_LIST_HAS_DEVICE_ADDR
463         case.
464         * gfortran.h: Added OMP_LIST_HAS_DEVICE_ADDR.
465         * openmp.cc (enum omp_mask2): Added OMP_CLAUSE_HAS_DEVICE_ADDR.
466         (gfc_match_omp_clauses): Parse HAS_DEVICE_ADDR clause.
467         (resolve_omp_clauses): Same.
468         * trans-openmp.cc (gfc_trans_omp_variable_list): Added
469         OMP_LIST_HAS_DEVICE_ADDR case.
470         (gfc_trans_omp_clauses): Firstprivatize of array descriptors.
472 2022-02-09  Harald Anlauf  <anlauf@gmx.de>
474         PR fortran/66193
475         * arith.cc (reduce_binary_ac): When reducing binary expressions,
476         try simplification.  Handle case of empty constructor.
477         (reduce_binary_ca): Likewise.
479 2022-02-03  Harald Anlauf  <anlauf@gmx.de>
481         PR fortran/104311
482         * check.cc (gfc_calculate_transfer_sizes): Checks for case when
483         storage size of SOURCE is greater than zero while the storage size
484         of MOLD is zero and MOLD is an array shall not depend on SIZE.
486 2022-02-03  Jakub Jelinek  <jakub@redhat.com>
488         PR fortran/104328
489         * openmp.cc (is_scalar_intrinsic_expr): If must_be_var && conv_ok
490         and expr is conversion, verify it is a conversion from EXPR_VARIABLE
491         with non-NULL symtree.  Check ->block->next before dereferencing it.
493 2022-02-01  Harald Anlauf  <anlauf@gmx.de>
495         PR fortran/104331
496         * simplify.cc (gfc_simplify_eoshift): Avoid NULL pointer
497         dereference when shape is not set.
499 2022-01-28  Andre Vehreschild  <vehre@gcc.gnu.org>
501         PR fortran/103790
502         * trans-array.cc (structure_alloc_comps): Prevent descriptor
503         stacking for non-array data; do not broadcast caf-tokens.
504         * trans-intrinsic.cc (conv_co_collective): Prevent generation
505         of unused descriptor.
507 2022-01-28  Andre Vehreschild  <vehre@gcc.gnu.org>
509         Revert:
510         2022-01-28  Andre Vehreschild  <vehre@gcc.gnu.org>
512         PR fortran/103790
513         * trans-array.cc (structure_alloc_comps): Prevent descriptor
514         stacking for non-array data; do not broadcast caf-tokens.
515         * trans-intrinsic.cc (conv_co_collective): Prevent generation
516         of unused descriptor.
518 2022-01-28  Andre Vehreschild  <vehre@gcc.gnu.org>
520         PR fortran/103790
521         * trans-array.cc (structure_alloc_comps): Prevent descriptor
522         stacking for non-array data; do not broadcast caf-tokens.
523         * trans-intrinsic.cc (conv_co_collective): Prevent generation
524         of unused descriptor.
526 2022-01-27  Harald Anlauf  <anlauf@gmx.de>
528         PR fortran/104128
529         * expr.cc (gfc_copy_expr): Convert internal representation of
530         string to wide char in value only for default character kind.
531         * target-memory.cc (interpret_array): Pass flag for conversion of
532         wide chars.
533         (gfc_target_interpret_expr): Likewise.
535 2022-01-27  Harald Anlauf  <anlauf@gmx.de>
537         PR fortran/84784
538         * trans-intrinsic.cc (conv_intrinsic_image_status): Convert result
539         to resulting (default) integer type.
540         (conv_intrinsic_team_number): Likewise.
541         (gfc_conv_intrinsic_popcnt_poppar): Likewise.
543 2022-01-25  Harald Anlauf  <anlauf@gmx.de>
545         PR fortran/104227
546         * check.cc (gfc_calculate_transfer_sizes): Fix checking of arrays
547         passed as MOLD argument to the TRANSFER intrinsic for having
548         storage size zero.
550 2022-01-25  Harald Anlauf  <anlauf@gmx.de>
552         PR fortran/104212
553         * check.cc (gfc_check_norm2): Check that optional argument DIM is
554         scalar.
555         (gfc_check_parity): Likewise.
557 2022-01-24  Jakub Jelinek  <jakub@redhat.com>
559         * lang.opt (fconvert=): Add EnumSet property and mention also
560         r16_ieee and r16_ibm arguments.
561         (big-endian, little-endian, native, swap): Add Set(1) property.
562         (r16_ieee, r16_ibm): New EnumValue entries with Set(2) property.
563         * trans-types.cc (gfc_init_kinds): Emit gfc_fatal_error for
564         -fconvert=r16_ieee or -fconvert=r16_ibm when R16_IEEE <=> R16_IBM
565         conversions aren't supported.
567 2022-01-22  Harald Anlauf  <anlauf@gmx.de>
569         PR fortran/104127
570         * simplify.cc (gfc_simplify_transfer): Ensure that the result
571         typespec is set up for TRANSFER with MOLD of type CHARACTER
572         including character length even if the result is a zero-sized
573         array.
575 2022-01-20  Sandra Loosemore  <sandra@codesourcery.com>
577         PR fortran/103695
578         PR fortran/102621
579         * gfortran.h (struct gfc_namespace) Add omp_affinity_iterator
580         field.
581         * dump-parse-tree.cc (show_iterator): Use it.
582         * openmp.cc (gfc_match_iterator): Likewise.
583         (resolve_omp_clauses): Likewise.
584         * trans-decl.cc (gfc_finish_var_decl): Likewise.
585         * trans-openmp.cc (handle_iterator): Likewise.
587 2022-01-18  Harald Anlauf  <anlauf@gmx.de>
589         PR fortran/103692
590         * array.cc (gfc_expand_constructor): Handle zero-sized array
591         constructors.
593 2022-01-17  Martin Liska  <mliska@suse.cz>
595         * check.cc (gfc_check_all_any): Rename .c names to .cc.
596         * class.cc (find_intrinsic_vtab): Likewise.
597         * config-lang.in: Likewise.
598         * cpp.cc (cpp_define_builtins): Likewise.
599         * data.cc (get_array_index): Likewise.
600         * decl.cc (match_clist_expr): Likewise.
601         (get_proc_name): Likewise.
602         (gfc_verify_c_interop_param): Likewise.
603         (gfc_get_pdt_instance): Likewise.
604         (gfc_match_formal_arglist): Likewise.
605         (gfc_get_type_attr_spec): Likewise.
606         * dependency.cc: Likewise.
607         * error.cc (gfc_format_decoder): Likewise.
608         * expr.cc (check_restricted): Likewise.
609         (gfc_build_default_init_expr): Likewise.
610         * f95-lang.cc: Likewise.
611         * gfc-internals.texi: Likewise.
612         * gfortran.h (enum match): Likewise.
613         (enum procedure_type): Likewise.
614         (enum oacc_routine_lop): Likewise.
615         (gfc_get_pdt_instance): Likewise.
616         (gfc_end_source_files): Likewise.
617         (gfc_mpz_set_hwi): Likewise.
618         (gfc_get_option_string): Likewise.
619         (gfc_find_sym_in_expr): Likewise.
620         (gfc_errors_to_warnings): Likewise.
621         (gfc_real_4_kind): Likewise.
622         (gfc_free_finalizer): Likewise.
623         (gfc_sym_get_dummy_args): Likewise.
624         (gfc_check_intrinsic_standard): Likewise.
625         (gfc_free_case_list): Likewise.
626         (gfc_resolve_oacc_routines): Likewise.
627         (gfc_check_vardef_context): Likewise.
628         (gfc_free_association_list): Likewise.
629         (gfc_implicit_pure_function): Likewise.
630         (gfc_ref_dimen_size): Likewise.
631         (gfc_compare_actual_formal): Likewise.
632         (gfc_resolve_wait): Likewise.
633         (gfc_dt_upper_string): Likewise.
634         (gfc_generate_module_code): Likewise.
635         (gfc_delete_bbt): Likewise.
636         (debug): Likewise.
637         (gfc_build_block_ns): Likewise.
638         (gfc_dep_difference): Likewise.
639         (gfc_invalid_null_arg): Likewise.
640         (gfc_is_finalizable): Likewise.
641         (gfc_fix_implicit_pure): Likewise.
642         (gfc_is_size_zero_array): Likewise.
643         (gfc_is_reallocatable_lhs): Likewise.
644         * gfortranspec.cc: Likewise.
645         * interface.cc (compare_actual_expr): Likewise.
646         * intrinsic.cc (add_functions): Likewise.
647         * iresolve.cc (gfc_resolve_matmul): Likewise.
648         (gfc_resolve_alarm_sub): Likewise.
649         * iso-c-binding.def: Likewise.
650         * lang-specs.h: Likewise.
651         * libgfortran.h (GFC_STDERR_UNIT_NUMBER): Likewise.
652         * match.cc (gfc_match_label): Likewise.
653         (gfc_match_symbol): Likewise.
654         (match_derived_type_spec): Likewise.
655         (copy_ts_from_selector_to_associate): Likewise.
656         * match.h (gfc_match_call): Likewise.
657         (gfc_get_common): Likewise.
658         (gfc_match_omp_end_single): Likewise.
659         (gfc_match_volatile): Likewise.
660         (gfc_match_bind_c): Likewise.
661         (gfc_match_literal_constant): Likewise.
662         (gfc_match_init_expr): Likewise.
663         (gfc_match_array_constructor): Likewise.
664         (gfc_match_end_interface): Likewise.
665         (gfc_match_print): Likewise.
666         (gfc_match_expr): Likewise.
667         * matchexp.cc (next_operator): Likewise.
668         * mathbuiltins.def: Likewise.
669         * module.cc (free_true_name): Likewise.
670         * openmp.cc (gfc_resolve_omp_parallel_blocks): Likewise.
671         (gfc_omp_save_and_clear_state): Likewise.
672         * parse.cc (parse_union): Likewise.
673         (set_syms_host_assoc): Likewise.
674         * resolve.cc (resolve_actual_arglist): Likewise.
675         (resolve_elemental_actual): Likewise.
676         (check_host_association): Likewise.
677         (resolve_typebound_function): Likewise.
678         (resolve_typebound_subroutine): Likewise.
679         (gfc_resolve_expr): Likewise.
680         (resolve_assoc_var): Likewise.
681         (resolve_typebound_procedures): Likewise.
682         (resolve_equivalence_derived): Likewise.
683         * simplify.cc (simplify_bound): Likewise.
684         * symbol.cc (gfc_set_default_type): Likewise.
685         (gfc_add_ext_attribute): Likewise.
686         * target-memory.cc (gfc_target_interpret_expr): Likewise.
687         * target-memory.h (gfc_target_interpret_expr): Likewise.
688         * trans-array.cc (gfc_get_cfi_dim_sm): Likewise.
689         (gfc_conv_shift_descriptor_lbound): Likewise.
690         (gfc_could_be_alias): Likewise.
691         (gfc_get_dataptr_offset): Likewise.
692         * trans-const.cc: Likewise.
693         * trans-decl.cc (trans_function_start): Likewise.
694         (gfc_trans_deferred_vars): Likewise.
695         (generate_local_decl): Likewise.
696         (gfc_generate_function_code): Likewise.
697         * trans-expr.cc (gfc_vptr_size_get): Likewise.
698         (gfc_trans_class_array_init_assign): Likewise.
699         (POWI_TABLE_SIZE): Likewise.
700         (gfc_conv_procedure_call): Likewise.
701         (gfc_trans_arrayfunc_assign): Likewise.
702         * trans-intrinsic.cc (gfc_conv_intrinsic_len): Likewise.
703         (gfc_conv_intrinsic_loc): Likewise.
704         (conv_intrinsic_event_query): Likewise.
705         * trans-io.cc (gfc_build_st_parameter): Likewise.
706         * trans-openmp.cc (gfc_omp_check_optional_argument): Likewise.
707         (gfc_omp_unshare_expr_r): Likewise.
708         (gfc_trans_omp_array_section): Likewise.
709         (gfc_trans_omp_clauses): Likewise.
710         * trans-stmt.cc (trans_associate_var): Likewise.
711         (gfc_trans_deallocate): Likewise.
712         * trans-stmt.h (gfc_trans_class_init_assign): Likewise.
713         (gfc_trans_deallocate): Likewise.
714         (gfc_trans_oacc_declare): Likewise.
715         * trans-types.cc: Likewise.
716         * trans-types.h (enum gfc_packed): Likewise.
717         * trans.cc (N_): Likewise.
718         (trans_code): Likewise.
719         * trans.h (gfc_build_compare_string): Likewise.
720         (gfc_conv_expr_type): Likewise.
721         (gfc_trans_deferred_vars): Likewise.
722         (getdecls): Likewise.
723         (gfc_get_array_descr_info): Likewise.
724         (gfc_omp_firstprivatize_type_sizes): Likewise.
725         (GTY): Likewise.
727 2022-01-17  Martin Liska  <mliska@suse.cz>
729         * arith.c: Moved to...
730         * arith.cc: ...here.
731         * array.c: Moved to...
732         * array.cc: ...here.
733         * bbt.c: Moved to...
734         * bbt.cc: ...here.
735         * check.c: Moved to...
736         * check.cc: ...here.
737         * class.c: Moved to...
738         * class.cc: ...here.
739         * constructor.c: Moved to...
740         * constructor.cc: ...here.
741         * convert.c: Moved to...
742         * convert.cc: ...here.
743         * cpp.c: Moved to...
744         * cpp.cc: ...here.
745         * data.c: Moved to...
746         * data.cc: ...here.
747         * decl.c: Moved to...
748         * decl.cc: ...here.
749         * dependency.c: Moved to...
750         * dependency.cc: ...here.
751         * dump-parse-tree.c: Moved to...
752         * dump-parse-tree.cc: ...here.
753         * error.c: Moved to...
754         * error.cc: ...here.
755         * expr.c: Moved to...
756         * expr.cc: ...here.
757         * f95-lang.c: Moved to...
758         * f95-lang.cc: ...here.
759         * frontend-passes.c: Moved to...
760         * frontend-passes.cc: ...here.
761         * gfortranspec.c: Moved to...
762         * gfortranspec.cc: ...here.
763         * interface.c: Moved to...
764         * interface.cc: ...here.
765         * intrinsic.c: Moved to...
766         * intrinsic.cc: ...here.
767         * io.c: Moved to...
768         * io.cc: ...here.
769         * iresolve.c: Moved to...
770         * iresolve.cc: ...here.
771         * match.c: Moved to...
772         * match.cc: ...here.
773         * matchexp.c: Moved to...
774         * matchexp.cc: ...here.
775         * misc.c: Moved to...
776         * misc.cc: ...here.
777         * module.c: Moved to...
778         * module.cc: ...here.
779         * openmp.c: Moved to...
780         * openmp.cc: ...here.
781         * options.c: Moved to...
782         * options.cc: ...here.
783         * parse.c: Moved to...
784         * parse.cc: ...here.
785         * primary.c: Moved to...
786         * primary.cc: ...here.
787         * resolve.c: Moved to...
788         * resolve.cc: ...here.
789         * scanner.c: Moved to...
790         * scanner.cc: ...here.
791         * simplify.c: Moved to...
792         * simplify.cc: ...here.
793         * st.c: Moved to...
794         * st.cc: ...here.
795         * symbol.c: Moved to...
796         * symbol.cc: ...here.
797         * target-memory.c: Moved to...
798         * target-memory.cc: ...here.
799         * trans-array.c: Moved to...
800         * trans-array.cc: ...here.
801         * trans-common.c: Moved to...
802         * trans-common.cc: ...here.
803         * trans-const.c: Moved to...
804         * trans-const.cc: ...here.
805         * trans-decl.c: Moved to...
806         * trans-decl.cc: ...here.
807         * trans-expr.c: Moved to...
808         * trans-expr.cc: ...here.
809         * trans-intrinsic.c: Moved to...
810         * trans-intrinsic.cc: ...here.
811         * trans-io.c: Moved to...
812         * trans-io.cc: ...here.
813         * trans-openmp.c: Moved to...
814         * trans-openmp.cc: ...here.
815         * trans-stmt.c: Moved to...
816         * trans-stmt.cc: ...here.
817         * trans-types.c: Moved to...
818         * trans-types.cc: ...here.
819         * trans.c: Moved to...
820         * trans.cc: ...here.
822 2022-01-17  Andrew Stubbs  <ams@codesourcery.com>
824         * openmp.c (gfc_match_omp_requires): Don't "sorry" dynamic_allocators.
826 2022-01-15  Harald Anlauf  <anlauf@gmx.de>
828         PR fortran/83079
829         * target-memory.c (gfc_interpret_character): Result length is
830         in bytes and thus depends on the character kind.
831         * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Compute correct
832         string length for the result of the TRANSFER intrinsic and for
833         temporaries for the different character kinds.
835 2022-01-14  Harald Anlauf  <anlauf@gmx.de>
837         PR fortran/99256
838         * intrinsic.c: Do not check formal argument type when checking
839         arguments of intrinsics for alternate return specifiers.
841 2022-01-14  Harald Anlauf  <anlauf@gmx.de>
843         PR fortran/103782
844         * expr.c (gfc_simplify_expr): Adjust logic for when to scalarize a
845         call of an intrinsic which may have been overloaded.
847 2022-01-13  Hafiz Abid Qadeer  <abidh@codesourcery.com>
849         * dump-parse-tree.c (show_omp_clauses): Handle OMP_LIST_ALLOCATE.
850         * gfortran.h (OMP_LIST_ALLOCATE): New enum value.
851         * openmp.c (enum omp_mask1): Add OMP_CLAUSE_ALLOCATE.
852         (gfc_match_omp_clauses): Handle OMP_CLAUSE_ALLOCATE
853         (OMP_PARALLEL_CLAUSES, OMP_DO_CLAUSES, OMP_SECTIONS_CLAUSES)
854         (OMP_TASK_CLAUSES, OMP_TASKLOOP_CLAUSES, OMP_TARGET_CLAUSES)
855         (OMP_TEAMS_CLAUSES, OMP_DISTRIBUTE_CLAUSES)
856         (OMP_SINGLE_CLAUSES): Add OMP_CLAUSE_ALLOCATE.
857         (OMP_TASKGROUP_CLAUSES): New.
858         (gfc_match_omp_taskgroup): Use OMP_TASKGROUP_CLAUSES instead of
859         OMP_CLAUSE_TASK_REDUCTION.
860         (resolve_omp_clauses): Handle OMP_LIST_ALLOCATE.
861         (resolve_omp_do): Avoid warning when loop iteration variable is
862         in allocate clause.
863         * trans-openmp.c (gfc_trans_omp_clauses): Handle translation of
864         allocate clause.
865         (gfc_split_omp_clauses): Update for OMP_LIST_ALLOCATE.
867 2022-01-13  Harald Anlauf  <anlauf@gmx.de>
869         PR fortran/67804
870         * primary.c (gfc_match_structure_constructor): Recover from errors
871         that occurred while checking for a valid structure constructor in
872         a DATA statement.
874 2022-01-11  Thomas Koenig  <tkoenig@gcc.gnu.org>
876         * libgfortran.h (unit_convert): Add flags.
878 2022-01-11  Jakub Jelinek  <jakub@redhat.com>
880         * trans-types.c (gfc_init_kinds): When setting abi_kind to 17, if not
881         targetting glibc 2.32 or later and -fbuilding-libgfortran, set
882         gfc_real16_is_float128 and c_float128 in gfc_real_kinds.
883         (gfc_build_real_type): Don't set c_long_double if c_float128 is
884         already set.
885         * trans-intrinsic.c (builtin_decl_for_precision): Don't use
886         long_double_built_in if gfc_real16_is_float128 and
887         long_double_type_node == gfc_float128_type_node.
888         * lang.opt (fbuilding-libgfortran): New undocumented option.
890 2022-01-11  Jakub Jelinek  <jakub@redhat.com>
892         * trans-intrinsic.c (gfc_get_intrinsic_lib_fndecl): Use
893         gfc_type_abi_kind.
895 2022-01-11  Jakub Jelinek  <jakub@redhat.com>
897         * trans-io.c (transfer_array_desc): Pass abi kind instead of kind
898         to libgfortran.
900 2022-01-11  Jakub Jelinek  <jakub@redhat.com>
902         * trans-io.c (transfer_namelist_element): Use gfc_type_abi_kind,
903         formatting fixes.
904         (transfer_expr): Use gfc_type_abi_kind, use *REAL128* APIs even
905         for abi_kind == 17.
907 2022-01-11  Jakub Jelinek  <jakub@redhat.com>
909         * gfortran.h (gfc_real_info): Add abi_kind member.
910         (gfc_type_abi_kind): Declare.
911         * trans-types.c (gfc_init_kinds): Initialize abi_kind.
912         * intrinsic.c (gfc_type_abi_kind): New function.
913         (conv_name): Use it.
914         * iresolve.c (resolve_transformational, gfc_resolve_abs,
915         gfc_resolve_char_achar, gfc_resolve_acos, gfc_resolve_acosh,
916         gfc_resolve_aimag, gfc_resolve_and, gfc_resolve_aint, gfc_resolve_all,
917         gfc_resolve_anint, gfc_resolve_any, gfc_resolve_asin,
918         gfc_resolve_asinh, gfc_resolve_atan, gfc_resolve_atanh,
919         gfc_resolve_atan2, gfc_resolve_bessel_n2, gfc_resolve_ceiling,
920         gfc_resolve_cmplx, gfc_resolve_complex, gfc_resolve_cos,
921         gfc_resolve_cosh, gfc_resolve_count, gfc_resolve_dble,
922         gfc_resolve_dim, gfc_resolve_dot_product, gfc_resolve_dprod,
923         gfc_resolve_exp, gfc_resolve_floor, gfc_resolve_hypot,
924         gfc_resolve_int, gfc_resolve_int2, gfc_resolve_int8, gfc_resolve_long,
925         gfc_resolve_log, gfc_resolve_log10, gfc_resolve_logical,
926         gfc_resolve_matmul, gfc_resolve_minmax, gfc_resolve_maxloc,
927         gfc_resolve_findloc, gfc_resolve_maxval, gfc_resolve_merge,
928         gfc_resolve_minloc, gfc_resolve_minval, gfc_resolve_mod,
929         gfc_resolve_modulo, gfc_resolve_nearest, gfc_resolve_or,
930         gfc_resolve_real, gfc_resolve_realpart, gfc_resolve_reshape,
931         gfc_resolve_sign, gfc_resolve_sin, gfc_resolve_sinh, gfc_resolve_sqrt,
932         gfc_resolve_tan, gfc_resolve_tanh, gfc_resolve_transpose,
933         gfc_resolve_trigd, gfc_resolve_xor, gfc_resolve_random_number):
934         Likewise.
935         * trans-decl.c (gfc_build_intrinsic_function_decls): Likewise.
937 2022-01-10  Paul Thomas  <pault@gcc.gnu.org>
939         PR fortran/103366
940         * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Allow unlimited
941         polymorphic actual argument passed to assumed type formal.
943 2022-01-09  Harald Anlauf  <anlauf@gmx.de>
945         PR fortran/103777
946         * simplify.c (gfc_simplify_maskr): Check validity of argument 'I'
947         before simplifying.
948         (gfc_simplify_maskl): Likewise.
950 2022-01-09  Harald Anlauf  <anlauf@gmx.de>
952         PR fortran/101762
953         * expr.c (gfc_check_pointer_assign): For pointer initialization
954         targets, check that subscripts and substring indices in
955         specifications are constant expressions.
957 2022-01-09  Mikael Morin  <mikael@gcc.gnu.org>
959         PR fortran/103789
960         * trans-array.c (arg_evaluated_for_scalarization): Add MASKL, MASKR,
961         SCAN and VERIFY to the list of intrinsics whose KIND argument is to be
962         ignored.
964 2022-01-07  Sandra Loosemore  <sandra@codesourcery.com>
966         PR fortran/103898
967         * trans-intrinsic.c (gfc_conv_intrinsic_size): Make size_var
968         actually be a variable and fix surrounding code.
970 2022-01-06  Steve Kargl  <kargl@gcc.gnu.org>
971             Sandra Loosemore  <sandra@codesourcery.com>
973         PR fortran/103287
974         * interface.c (argument_rank_mismatch): Replace incorrect assertion
975         with return.
977 2022-01-05  Sandra Loosemore  <sandra@codesourcery.com>
979         PR fortran/103258
980         * decl.c (gfc_match_char_spec): Suppress errors around call
981         to gfc_reduce_init_expr.
982         * error.c (gfc_query_suppress_errors): New.
983         * gfortran.h (gfc_query_suppress_errors): Declare.
984         * symbol.c (gfc_set_default_type): Check gfc_query_suppress_errors.
986 2022-01-03  Sandra Loosemore  <sandra@codesourcery.com>
988         PR fortran/103390
989         * expr.c (gfc_is_simply_contiguous): Make it smarter about
990         function calls.
991         * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Do not generate
992         copy loops for array expressions that are not "variables" (lvalues).
994 2022-01-03  Jakub Jelinek  <jakub@redhat.com>
996         * gfortranspec.c (lang_specific_driver): Update copyright notice
997         dates.
998         * gfc-internals.texi: Bump @copying's copyright year.
999         * gfortran.texi: Ditto.
1000         * intrinsic.texi: Ditto.
1001         * invoke.texi: Ditto.
1004 Copyright (C) 2022 Free Software Foundation, Inc.
1006 Copying and distribution of this file, with or without modification,
1007 are permitted in any medium without royalty provided the copyright
1008 notice and this notice are preserved.