c, c++: attribute format on a ctor with a vbase [PR101833, PR47634]
[official-gcc.git] / gcc / fortran / ChangeLog
blobe084d9872564b8cab1f8d9e6eba34df0cb6638fc
1 2022-05-05  Sandra Loosemore  <sandra@codesourcery.com>
3         * gfortran.h (struct gfc_omp_clauses): Add non_rectangular bit.
4         * openmp.cc (is_outer_iteration_variable): New function.
5         (expr_is_invariant): New function.
6         (bound_expr_is_canonical): New function.
7         (resolve_omp_do): Replace existing non-rectangularity error with
8         check for canonical form and setting non_rectangular bit.
9         * trans-openmp.cc (gfc_trans_omp_do): Transfer non_rectangular
10         flag to generated tree structure.
12 2022-05-02  Sandra Loosemore  <sandra@codesourcery.com>
14         * trans-openmp.cc (gfc_trans_omp_critical): Set location on OMP
15         tree node.
16         (gfc_trans_omp_do): Likewise.
17         (gfc_trans_omp_masked): Likewise.
18         (gfc_trans_omp_do_simd): Likewise.
19         (gfc_trans_omp_scope): Likewise.
20         (gfc_trans_omp_taskgroup): Likewise.
21         (gfc_trans_omp_taskwait): Likewise.
22         (gfc_trans_omp_distribute): Likewise.
23         (gfc_trans_omp_taskloop): Likewise.
24         (gfc_trans_omp_master_masked_taskloop): Likewise.
26 2022-04-29  Thomas Koenig  <tkoenig@gcc.gnu.org>
28         * gfortran.texi: Fix exchanged period and letter.
30 2022-04-28  Thomas Koenig  <tkoenig@gcc.gnu.org>
32         * gfortran.texi: Mention r16_ieee and r16_ibm.
33         * invoke.texi: Likewise.
35 2022-04-27  Mikael Morin  <mikael@gcc.gnu.org>
37         PR fortran/103662
38         PR fortran/105379
39         * array.cc (compare_bounds): Use bool as return type.
40         Support non-constant expressions.
41         (gfc_compare_array_spec): Update call to compare_bounds.
43 2022-04-27  Mikael Morin  <mikael@gcc.gnu.org>
45         PR fortran/102043
46         PR fortran/105381
47         * trans-array.cc (non_negative_strides_array_p): Inline variable
48         orig_decl and merge nested if conditions.  Add condition to not
49         recurse if the next argument is the same as the current.
51 2022-04-25  Jakub Jelinek  <jakub@redhat.com>
52             Thomas Schwinge  <thomas@codesourcery.com>
54         PR fortran/104717
55         * trans-openmp.cc (gfc_trans_oacc_construct): Wrap construct body
56         in an extra BIND_EXPR.
58 2022-04-24  Mikael Morin  <mikael@gcc.gnu.org>
59             Jakub Jelinek  <jakub@redhat.com>
61         PR fortran/103662
62         * interface.cc (gfc_compare_derived_types): Support comparing
63         unlimited polymorphic fake symbols.  Recursively compare class
64         descriptor types and virtual table types.
65         * resolve.cc (resolve_fl_derived): Add type to the types list
66         on unlimited polymorphic short-circuit return.
68 2022-04-22  Mikael Morin  <mikael@gcc.gnu.org>
69             Richard Biener  <rguenther@suse.de>
71         PR fortran/102043
72         * trans.h (gfc_build_array_ref): Add non_negative_offset
73         argument.
74         * trans.cc (gfc_build_array_ref): Ditto. Use pointer arithmetic
75         if non_negative_offset is false.
76         * trans-expr.cc (gfc_conv_substring): Set flag in the call to
77         gfc_build_array_ref.
78         * trans-array.cc (gfc_get_cfi_dim_item,
79         gfc_conv_descriptor_dimension): Same.
80         (build_array_ref): Decide on whether to set the flag and update
81         the call.
82         (gfc_conv_scalarized_array_ref): Same.  New argument tmp_array.
83         (gfc_conv_tmp_array_ref): Update call to
84         gfc_conv_scalarized_ref.
85         (non_negative_strides_array_p): New function.
87 2022-04-22  Mikael Morin  <mikael@gcc.gnu.org>
89         PR fortran/102043
90         * trans-array.cc (gfc_conv_expr_descriptor): Use
91         gfc_conv_tmp_array_ref.
93 2022-04-22  Mikael Morin  <mikael@gcc.gnu.org>
95         PR fortran/102043
96         * trans-io.cc: Add handling for the case where the array
97         is referenced using pointer arithmetic.
99 2022-04-22  Mikael Morin  <mikael@gcc.gnu.org>
101         PR fortran/102043
102         * trans-expr.cc: Pre-evaluate src and dest to variables
103         before using them.
105 2022-04-21  Fritz Reese  <foreese@gcc.gnu.org>
107         PR fortran/105310
108         * trans-expr.cc (gfc_conv_union_initializer): Pass vec* by reference.
110 2022-04-13  Tobias Burnus  <tobias@codesourcery.com>
112         PR fortran/105242
113         * match.cc (match_exit_cycle): Handle missing OMP LOOP, DO and SIMD
114         directives in the EXIT/CYCLE diagnostic.
116 2022-04-10  Harald Anlauf  <anlauf@gmx.de>
118         PR fortran/105184
119         * array.cc (match_subscript): Reject assumed size coarray
120         specification with missing lower bound.
121         * resolve.cc (resolve_allocate_expr): Fix logic for checking
122         allocate-coshape-spec in ALLOCATE statement.
124 2022-04-05  Sandra Loosemore  <sandra@codesourcery.com>
126         * trans-openmp.cc (gfc_split_omp_clauses): Fix mask for
127         EXEC_OMP_MASKED_TASKLOOP.
129 2022-04-05  Harald Anlauf  <anlauf@gmx.de>
131         PR fortran/104210
132         * arith.cc (eval_intrinsic): Avoid NULL pointer dereference.
133         (gfc_zero_size_array): Likewise.
135 2022-04-05  Harald Anlauf  <anlauf@gmx.de>
136             Steven G. Kargl  <kargl@gcc.gnu.org>
138         PR fortran/105138
139         * intrinsic.cc (gfc_is_intrinsic): When a symbol refers to a
140         RECURSIVE procedure, it cannot be an INTRINSIC.
142 2022-03-30  Harald Anlauf  <anlauf@gmx.de>
144         PR fortran/100892
145         * check.cc (gfc_check_associated): Avoid NULL pointer dereference.
147 2022-03-29  Harald Anlauf  <anlauf@gmx.de>
148             Steven G. Kargl  <kargl@gcc.gnu.org>
150         PR fortran/104571
151         * resolve.cc (resolve_elemental_actual): Avoid NULL pointer
152         dereference.
154 2022-03-29  Harald Anlauf  <anlauf@gmx.de>
156         PR fortran/50549
157         * resolve.cc (resolve_structure_cons): Reject pointer assignments
158         of character with different lengths in structure constructor.
160 2022-03-25  Jakub Jelinek  <jakub@redhat.com>
162         PR fortran/103691
163         * trans-array.cc (gfc_conv_array_initializer): If TYPE_MAX_VALUE is
164         smaller than TYPE_MIN_VALUE (i.e. empty array), ignore the
165         initializer; if TYPE_MIN_VALUE is equal to TYPE_MAX_VALUE, use just
166         the TYPE_MIN_VALUE as index instead of RANGE_EXPR.
168 2022-03-23  Tobias Burnus  <tobias@codesourcery.com>
170         PR fortran/103560
171         * scanner.cc (add_path_to_list): Don't append '/' to the
172         save include path.
173         (open_included_file): Use '/' in concatenating path + file name.
174         * module.cc (gzopen_included_file_1): Likewise.
176 2022-03-22  Harald Anlauf  <anlauf@gmx.de>
178         PR fortran/104999
179         * simplify.cc (gfc_simplify_cshift): Ensure temporary holding
180         source array stride is initialized.
182 2022-03-19  Mikael Morin  <mikael@gcc.gnu.org>
184         PR fortran/104228
185         PR fortran/104570
186         * parse.cc (parse_associate): Use a new distinct gfc_charlen if the
187         copied type has one whose length is not known to be constant.
188         * resolve.cc (resolve_assoc_var): Reset charlen if it’s shared with
189         the associate target regardless of the expression type.
190         Don’t reinitialize charlen if it’s deferred.
192 2022-03-18  Tobias Burnus  <tobias@codesourcery.com>
194         PR fortran/103039
195         * trans-openmp.cc (gfc_omp_clause_copy_ctor, gfc_omp_clause_dtor):
196         Only privatize pointer for associate names.
198 2022-03-18  Tobias Burnus  <tobias@codesourcery.com>
200         PR fortran/103039
201         * openmp.cc (resolve_omp_clauses): Improve associate-name diagnostic
202         for select type/rank.
204 2022-03-11  Tobias Burnus  <tobias@codesourcery.com>
206         * trans-openmp.cc (gfc_trans_omp_clauses, gfc_omp_finish_clause):
207         Obtain size for mapping only if allocatable array is allocated.
209 2022-03-09  Harald Anlauf  <anlauf@gmx.de>
211         PR fortran/104849
212         * expr.cc (find_array_section): Avoid NULL pointer dereference on
213         invalid array section.
215 2022-03-09  Tobias Burnus  <tobias@codesourcery.com>
217         * trans-intrinsic.cc (gfc_conv_intrinsic_sizeof): Fix CLASS handling.
219 2022-03-08  Tobias Burnus  <tobias@codesourcery.com>
221         PR fortran/104126
222         * trans-expr.cc (gfc_conv_gfc_desc_to_cfi_desc): Handle NULL
223         without MOLD.
225 2022-03-08  Harald Anlauf  <anlauf@gmx.de>
227         PR fortran/104811
228         * frontend-passes.cc (optimize_minmaxloc): Do not attempt
229         frontend-optimization of MINLOC/MAXLOC for character arrays, as
230         there is no suitable code yet for inline expansion.
232 2022-03-07  Tobias Burnus  <tobias@codesourcery.com>
234         PR fortran/99585
235         PR fortran/104430
236         * trans-expr.cc (conv_parent_component_references): Fix comment;
237         simplify comparison.
238         (gfc_maybe_dereference_var): Avoid d referencing a nonpointer.
240 2022-03-07  Tobias Burnus  <tobias@codesourcery.com>
242         * array.cc (gfc_ref_dimen_size): Fix comment typo.
243         * dump-parse-tree.cc (gfc_dump_c_prototypes): Likewise.
244         * frontend-passes.cc (cfe_code): Likewise.
245         * gfortran.texi: Likewise.
246         * resolve.cc (generate_component_assignments): Likewise.
247         * simplify.cc (gfc_simplify_this_image): Likewise.
248         * trans-expr.cc (trans_scalar_class_assign,
249         gfc_maybe_dereference_var): Likewise.
250         * intrinsic.texi: Remove word duplication.
251         * invoke.texi: Likewise.
253 2022-03-07  Jakub Jelinek  <jakub@redhat.com>
255         * trans-expr.cc: Fix up duplicated word issue in a comment.
256         * gfortran.h: Likewise.
257         * scanner.cc: Likewise.
259 2022-03-07  Martin Liska  <mliska@suse.cz>
261         * intrinsic.cc (gfc_is_intrinsic): Remove asterisk from error
262         message.
264 2022-03-07  Martin Liska  <mliska@suse.cz>
266         PR translation/90148
267         * intrinsic.cc (gfc_is_intrinsic): Put
268         quote to a proper place.
270 2022-03-03  Kwok Cheung Yeung  <kcy@codesourcery.com>
272         PR fortran/104131
273         * openmp.cc (gfc_match_omp_detach): Move check for type of event
274         handle to...
275         (resolve_omp_clauses) ...here.  Also check that the event handle is
276         not an array, or an array access or structure element access.
278 2022-03-02  Harald Anlauf  <anlauf@gmx.de>
280         PR fortran/104573
281         * resolve.cc (resolve_structure_cons): Avoid NULL pointer
282         dereference when there is no valid component.
284 2022-02-24  Harald Anlauf  <anlauf@gmx.de>
286         PR fortran/84519
287         * dump-parse-tree.cc (show_code_node): Dump QUIET specifier when
288         present.
289         * match.cc (gfc_match_stopcode): Implement parsing of F2018 QUIET
290         specifier.  F2018 stopcodes may have non-default integer kind.
291         * resolve.cc (gfc_resolve_code): Add checks for QUIET argument.
292         * trans-stmt.cc (gfc_trans_stop): Pass QUIET specifier to call of
293         library function.
295 2022-02-22  Harald Anlauf  <anlauf@gmx.de>
297         PR fortran/104619
298         * resolve.cc (resolve_structure_cons): Skip shape check if shape
299         of constructor cannot be determined at compile time.
301 2022-02-20  Harald Anlauf  <anlauf@gmx.de>
303         PR fortran/77693
304         * data.cc (gfc_assign_data_value): If a variable in a data
305         statement has the POINTER attribute, check for allowed initial
306         data target that is compatible with pointer assignment.
307         * gfortran.h (IS_POINTER): New macro.
309 2022-02-15  Tobias Burnus  <tobias@codesourcery.com>
311         * trans-openmp.cc (gfc_trans_omp_depobj): Fix to alloc/ptr dummy
312         and for c_ptr.
314 2022-02-15  Tobias Burnus  <tobias@codesourcery.com>
316         * trans-openmp.cc (gfc_trans_omp_clauses, gfc_trans_omp_depobj):
317         Depend on the proper addr, for ptr/alloc depend on pointee.
319 2022-02-14  Harald Anlauf  <anlauf@gmx.de>
321         PR fortran/104211
322         * expr.cc (find_array_section): Replace assertion by error
323         recovery when encountering bad array constructor.
325 2022-02-13  Mikael Morin  <mikael@gcc.gnu.org>
327         PR fortran/104228
328         * resolve.cc (resolve_assoc_var): Also create a new character
329         length for non-dummy associate targets.
330         * trans-stmt.cc (trans_associate_var): Initialize character length
331         even if no temporary is used for the associate variable.
333 2022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
334             Tobias Burnus  <tobias@codesourcery.com>
336         * trans-common.cc (GFC_EQUIV_FMT): New macro respecting the
337         target's NO_DOT_IN_LABEL and NO_DOLLAR_IN_LABEL preferences.
338         (build_equiv_decl): Use GFC_EQUIV_FMT here.
340 2022-02-10  Tobias Burnus  <tobias@codesourcery.com>
342         PR fortran/104329
343         * openmp.cc (resolve_omp_atomic): Defer extra-code assert after
344         other diagnostics.
346 2022-02-10  Marcel Vollweiler  <marcel@codesourcery.com>
348         * dump-parse-tree.cc (show_omp_clauses): Added OMP_LIST_HAS_DEVICE_ADDR
349         case.
350         * gfortran.h: Added OMP_LIST_HAS_DEVICE_ADDR.
351         * openmp.cc (enum omp_mask2): Added OMP_CLAUSE_HAS_DEVICE_ADDR.
352         (gfc_match_omp_clauses): Parse HAS_DEVICE_ADDR clause.
353         (resolve_omp_clauses): Same.
354         * trans-openmp.cc (gfc_trans_omp_variable_list): Added
355         OMP_LIST_HAS_DEVICE_ADDR case.
356         (gfc_trans_omp_clauses): Firstprivatize of array descriptors.
358 2022-02-09  Harald Anlauf  <anlauf@gmx.de>
360         PR fortran/66193
361         * arith.cc (reduce_binary_ac): When reducing binary expressions,
362         try simplification.  Handle case of empty constructor.
363         (reduce_binary_ca): Likewise.
365 2022-02-03  Harald Anlauf  <anlauf@gmx.de>
367         PR fortran/104311
368         * check.cc (gfc_calculate_transfer_sizes): Checks for case when
369         storage size of SOURCE is greater than zero while the storage size
370         of MOLD is zero and MOLD is an array shall not depend on SIZE.
372 2022-02-03  Jakub Jelinek  <jakub@redhat.com>
374         PR fortran/104328
375         * openmp.cc (is_scalar_intrinsic_expr): If must_be_var && conv_ok
376         and expr is conversion, verify it is a conversion from EXPR_VARIABLE
377         with non-NULL symtree.  Check ->block->next before dereferencing it.
379 2022-02-01  Harald Anlauf  <anlauf@gmx.de>
381         PR fortran/104331
382         * simplify.cc (gfc_simplify_eoshift): Avoid NULL pointer
383         dereference when shape is not set.
385 2022-01-28  Andre Vehreschild  <vehre@gcc.gnu.org>
387         PR fortran/103790
388         * trans-array.cc (structure_alloc_comps): Prevent descriptor
389         stacking for non-array data; do not broadcast caf-tokens.
390         * trans-intrinsic.cc (conv_co_collective): Prevent generation
391         of unused descriptor.
393 2022-01-28  Andre Vehreschild  <vehre@gcc.gnu.org>
395         Revert:
396         2022-01-28  Andre Vehreschild  <vehre@gcc.gnu.org>
398         PR fortran/103790
399         * trans-array.cc (structure_alloc_comps): Prevent descriptor
400         stacking for non-array data; do not broadcast caf-tokens.
401         * trans-intrinsic.cc (conv_co_collective): Prevent generation
402         of unused descriptor.
404 2022-01-28  Andre Vehreschild  <vehre@gcc.gnu.org>
406         PR fortran/103790
407         * trans-array.cc (structure_alloc_comps): Prevent descriptor
408         stacking for non-array data; do not broadcast caf-tokens.
409         * trans-intrinsic.cc (conv_co_collective): Prevent generation
410         of unused descriptor.
412 2022-01-27  Harald Anlauf  <anlauf@gmx.de>
414         PR fortran/104128
415         * expr.cc (gfc_copy_expr): Convert internal representation of
416         string to wide char in value only for default character kind.
417         * target-memory.cc (interpret_array): Pass flag for conversion of
418         wide chars.
419         (gfc_target_interpret_expr): Likewise.
421 2022-01-27  Harald Anlauf  <anlauf@gmx.de>
423         PR fortran/84784
424         * trans-intrinsic.cc (conv_intrinsic_image_status): Convert result
425         to resulting (default) integer type.
426         (conv_intrinsic_team_number): Likewise.
427         (gfc_conv_intrinsic_popcnt_poppar): Likewise.
429 2022-01-25  Harald Anlauf  <anlauf@gmx.de>
431         PR fortran/104227
432         * check.cc (gfc_calculate_transfer_sizes): Fix checking of arrays
433         passed as MOLD argument to the TRANSFER intrinsic for having
434         storage size zero.
436 2022-01-25  Harald Anlauf  <anlauf@gmx.de>
438         PR fortran/104212
439         * check.cc (gfc_check_norm2): Check that optional argument DIM is
440         scalar.
441         (gfc_check_parity): Likewise.
443 2022-01-24  Jakub Jelinek  <jakub@redhat.com>
445         * lang.opt (fconvert=): Add EnumSet property and mention also
446         r16_ieee and r16_ibm arguments.
447         (big-endian, little-endian, native, swap): Add Set(1) property.
448         (r16_ieee, r16_ibm): New EnumValue entries with Set(2) property.
449         * trans-types.cc (gfc_init_kinds): Emit gfc_fatal_error for
450         -fconvert=r16_ieee or -fconvert=r16_ibm when R16_IEEE <=> R16_IBM
451         conversions aren't supported.
453 2022-01-22  Harald Anlauf  <anlauf@gmx.de>
455         PR fortran/104127
456         * simplify.cc (gfc_simplify_transfer): Ensure that the result
457         typespec is set up for TRANSFER with MOLD of type CHARACTER
458         including character length even if the result is a zero-sized
459         array.
461 2022-01-20  Sandra Loosemore  <sandra@codesourcery.com>
463         PR fortran/103695
464         PR fortran/102621
465         * gfortran.h (struct gfc_namespace) Add omp_affinity_iterator
466         field.
467         * dump-parse-tree.cc (show_iterator): Use it.
468         * openmp.cc (gfc_match_iterator): Likewise.
469         (resolve_omp_clauses): Likewise.
470         * trans-decl.cc (gfc_finish_var_decl): Likewise.
471         * trans-openmp.cc (handle_iterator): Likewise.
473 2022-01-18  Harald Anlauf  <anlauf@gmx.de>
475         PR fortran/103692
476         * array.cc (gfc_expand_constructor): Handle zero-sized array
477         constructors.
479 2022-01-17  Martin Liska  <mliska@suse.cz>
481         * check.cc (gfc_check_all_any): Rename .c names to .cc.
482         * class.cc (find_intrinsic_vtab): Likewise.
483         * config-lang.in: Likewise.
484         * cpp.cc (cpp_define_builtins): Likewise.
485         * data.cc (get_array_index): Likewise.
486         * decl.cc (match_clist_expr): Likewise.
487         (get_proc_name): Likewise.
488         (gfc_verify_c_interop_param): Likewise.
489         (gfc_get_pdt_instance): Likewise.
490         (gfc_match_formal_arglist): Likewise.
491         (gfc_get_type_attr_spec): Likewise.
492         * dependency.cc: Likewise.
493         * error.cc (gfc_format_decoder): Likewise.
494         * expr.cc (check_restricted): Likewise.
495         (gfc_build_default_init_expr): Likewise.
496         * f95-lang.cc: Likewise.
497         * gfc-internals.texi: Likewise.
498         * gfortran.h (enum match): Likewise.
499         (enum procedure_type): Likewise.
500         (enum oacc_routine_lop): Likewise.
501         (gfc_get_pdt_instance): Likewise.
502         (gfc_end_source_files): Likewise.
503         (gfc_mpz_set_hwi): Likewise.
504         (gfc_get_option_string): Likewise.
505         (gfc_find_sym_in_expr): Likewise.
506         (gfc_errors_to_warnings): Likewise.
507         (gfc_real_4_kind): Likewise.
508         (gfc_free_finalizer): Likewise.
509         (gfc_sym_get_dummy_args): Likewise.
510         (gfc_check_intrinsic_standard): Likewise.
511         (gfc_free_case_list): Likewise.
512         (gfc_resolve_oacc_routines): Likewise.
513         (gfc_check_vardef_context): Likewise.
514         (gfc_free_association_list): Likewise.
515         (gfc_implicit_pure_function): Likewise.
516         (gfc_ref_dimen_size): Likewise.
517         (gfc_compare_actual_formal): Likewise.
518         (gfc_resolve_wait): Likewise.
519         (gfc_dt_upper_string): Likewise.
520         (gfc_generate_module_code): Likewise.
521         (gfc_delete_bbt): Likewise.
522         (debug): Likewise.
523         (gfc_build_block_ns): Likewise.
524         (gfc_dep_difference): Likewise.
525         (gfc_invalid_null_arg): Likewise.
526         (gfc_is_finalizable): Likewise.
527         (gfc_fix_implicit_pure): Likewise.
528         (gfc_is_size_zero_array): Likewise.
529         (gfc_is_reallocatable_lhs): Likewise.
530         * gfortranspec.cc: Likewise.
531         * interface.cc (compare_actual_expr): Likewise.
532         * intrinsic.cc (add_functions): Likewise.
533         * iresolve.cc (gfc_resolve_matmul): Likewise.
534         (gfc_resolve_alarm_sub): Likewise.
535         * iso-c-binding.def: Likewise.
536         * lang-specs.h: Likewise.
537         * libgfortran.h (GFC_STDERR_UNIT_NUMBER): Likewise.
538         * match.cc (gfc_match_label): Likewise.
539         (gfc_match_symbol): Likewise.
540         (match_derived_type_spec): Likewise.
541         (copy_ts_from_selector_to_associate): Likewise.
542         * match.h (gfc_match_call): Likewise.
543         (gfc_get_common): Likewise.
544         (gfc_match_omp_end_single): Likewise.
545         (gfc_match_volatile): Likewise.
546         (gfc_match_bind_c): Likewise.
547         (gfc_match_literal_constant): Likewise.
548         (gfc_match_init_expr): Likewise.
549         (gfc_match_array_constructor): Likewise.
550         (gfc_match_end_interface): Likewise.
551         (gfc_match_print): Likewise.
552         (gfc_match_expr): Likewise.
553         * matchexp.cc (next_operator): Likewise.
554         * mathbuiltins.def: Likewise.
555         * module.cc (free_true_name): Likewise.
556         * openmp.cc (gfc_resolve_omp_parallel_blocks): Likewise.
557         (gfc_omp_save_and_clear_state): Likewise.
558         * parse.cc (parse_union): Likewise.
559         (set_syms_host_assoc): Likewise.
560         * resolve.cc (resolve_actual_arglist): Likewise.
561         (resolve_elemental_actual): Likewise.
562         (check_host_association): Likewise.
563         (resolve_typebound_function): Likewise.
564         (resolve_typebound_subroutine): Likewise.
565         (gfc_resolve_expr): Likewise.
566         (resolve_assoc_var): Likewise.
567         (resolve_typebound_procedures): Likewise.
568         (resolve_equivalence_derived): Likewise.
569         * simplify.cc (simplify_bound): Likewise.
570         * symbol.cc (gfc_set_default_type): Likewise.
571         (gfc_add_ext_attribute): Likewise.
572         * target-memory.cc (gfc_target_interpret_expr): Likewise.
573         * target-memory.h (gfc_target_interpret_expr): Likewise.
574         * trans-array.cc (gfc_get_cfi_dim_sm): Likewise.
575         (gfc_conv_shift_descriptor_lbound): Likewise.
576         (gfc_could_be_alias): Likewise.
577         (gfc_get_dataptr_offset): Likewise.
578         * trans-const.cc: Likewise.
579         * trans-decl.cc (trans_function_start): Likewise.
580         (gfc_trans_deferred_vars): Likewise.
581         (generate_local_decl): Likewise.
582         (gfc_generate_function_code): Likewise.
583         * trans-expr.cc (gfc_vptr_size_get): Likewise.
584         (gfc_trans_class_array_init_assign): Likewise.
585         (POWI_TABLE_SIZE): Likewise.
586         (gfc_conv_procedure_call): Likewise.
587         (gfc_trans_arrayfunc_assign): Likewise.
588         * trans-intrinsic.cc (gfc_conv_intrinsic_len): Likewise.
589         (gfc_conv_intrinsic_loc): Likewise.
590         (conv_intrinsic_event_query): Likewise.
591         * trans-io.cc (gfc_build_st_parameter): Likewise.
592         * trans-openmp.cc (gfc_omp_check_optional_argument): Likewise.
593         (gfc_omp_unshare_expr_r): Likewise.
594         (gfc_trans_omp_array_section): Likewise.
595         (gfc_trans_omp_clauses): Likewise.
596         * trans-stmt.cc (trans_associate_var): Likewise.
597         (gfc_trans_deallocate): Likewise.
598         * trans-stmt.h (gfc_trans_class_init_assign): Likewise.
599         (gfc_trans_deallocate): Likewise.
600         (gfc_trans_oacc_declare): Likewise.
601         * trans-types.cc: Likewise.
602         * trans-types.h (enum gfc_packed): Likewise.
603         * trans.cc (N_): Likewise.
604         (trans_code): Likewise.
605         * trans.h (gfc_build_compare_string): Likewise.
606         (gfc_conv_expr_type): Likewise.
607         (gfc_trans_deferred_vars): Likewise.
608         (getdecls): Likewise.
609         (gfc_get_array_descr_info): Likewise.
610         (gfc_omp_firstprivatize_type_sizes): Likewise.
611         (GTY): Likewise.
613 2022-01-17  Martin Liska  <mliska@suse.cz>
615         * arith.c: Moved to...
616         * arith.cc: ...here.
617         * array.c: Moved to...
618         * array.cc: ...here.
619         * bbt.c: Moved to...
620         * bbt.cc: ...here.
621         * check.c: Moved to...
622         * check.cc: ...here.
623         * class.c: Moved to...
624         * class.cc: ...here.
625         * constructor.c: Moved to...
626         * constructor.cc: ...here.
627         * convert.c: Moved to...
628         * convert.cc: ...here.
629         * cpp.c: Moved to...
630         * cpp.cc: ...here.
631         * data.c: Moved to...
632         * data.cc: ...here.
633         * decl.c: Moved to...
634         * decl.cc: ...here.
635         * dependency.c: Moved to...
636         * dependency.cc: ...here.
637         * dump-parse-tree.c: Moved to...
638         * dump-parse-tree.cc: ...here.
639         * error.c: Moved to...
640         * error.cc: ...here.
641         * expr.c: Moved to...
642         * expr.cc: ...here.
643         * f95-lang.c: Moved to...
644         * f95-lang.cc: ...here.
645         * frontend-passes.c: Moved to...
646         * frontend-passes.cc: ...here.
647         * gfortranspec.c: Moved to...
648         * gfortranspec.cc: ...here.
649         * interface.c: Moved to...
650         * interface.cc: ...here.
651         * intrinsic.c: Moved to...
652         * intrinsic.cc: ...here.
653         * io.c: Moved to...
654         * io.cc: ...here.
655         * iresolve.c: Moved to...
656         * iresolve.cc: ...here.
657         * match.c: Moved to...
658         * match.cc: ...here.
659         * matchexp.c: Moved to...
660         * matchexp.cc: ...here.
661         * misc.c: Moved to...
662         * misc.cc: ...here.
663         * module.c: Moved to...
664         * module.cc: ...here.
665         * openmp.c: Moved to...
666         * openmp.cc: ...here.
667         * options.c: Moved to...
668         * options.cc: ...here.
669         * parse.c: Moved to...
670         * parse.cc: ...here.
671         * primary.c: Moved to...
672         * primary.cc: ...here.
673         * resolve.c: Moved to...
674         * resolve.cc: ...here.
675         * scanner.c: Moved to...
676         * scanner.cc: ...here.
677         * simplify.c: Moved to...
678         * simplify.cc: ...here.
679         * st.c: Moved to...
680         * st.cc: ...here.
681         * symbol.c: Moved to...
682         * symbol.cc: ...here.
683         * target-memory.c: Moved to...
684         * target-memory.cc: ...here.
685         * trans-array.c: Moved to...
686         * trans-array.cc: ...here.
687         * trans-common.c: Moved to...
688         * trans-common.cc: ...here.
689         * trans-const.c: Moved to...
690         * trans-const.cc: ...here.
691         * trans-decl.c: Moved to...
692         * trans-decl.cc: ...here.
693         * trans-expr.c: Moved to...
694         * trans-expr.cc: ...here.
695         * trans-intrinsic.c: Moved to...
696         * trans-intrinsic.cc: ...here.
697         * trans-io.c: Moved to...
698         * trans-io.cc: ...here.
699         * trans-openmp.c: Moved to...
700         * trans-openmp.cc: ...here.
701         * trans-stmt.c: Moved to...
702         * trans-stmt.cc: ...here.
703         * trans-types.c: Moved to...
704         * trans-types.cc: ...here.
705         * trans.c: Moved to...
706         * trans.cc: ...here.
708 2022-01-17  Andrew Stubbs  <ams@codesourcery.com>
710         * openmp.c (gfc_match_omp_requires): Don't "sorry" dynamic_allocators.
712 2022-01-15  Harald Anlauf  <anlauf@gmx.de>
714         PR fortran/83079
715         * target-memory.c (gfc_interpret_character): Result length is
716         in bytes and thus depends on the character kind.
717         * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Compute correct
718         string length for the result of the TRANSFER intrinsic and for
719         temporaries for the different character kinds.
721 2022-01-14  Harald Anlauf  <anlauf@gmx.de>
723         PR fortran/99256
724         * intrinsic.c: Do not check formal argument type when checking
725         arguments of intrinsics for alternate return specifiers.
727 2022-01-14  Harald Anlauf  <anlauf@gmx.de>
729         PR fortran/103782
730         * expr.c (gfc_simplify_expr): Adjust logic for when to scalarize a
731         call of an intrinsic which may have been overloaded.
733 2022-01-13  Hafiz Abid Qadeer  <abidh@codesourcery.com>
735         * dump-parse-tree.c (show_omp_clauses): Handle OMP_LIST_ALLOCATE.
736         * gfortran.h (OMP_LIST_ALLOCATE): New enum value.
737         * openmp.c (enum omp_mask1): Add OMP_CLAUSE_ALLOCATE.
738         (gfc_match_omp_clauses): Handle OMP_CLAUSE_ALLOCATE
739         (OMP_PARALLEL_CLAUSES, OMP_DO_CLAUSES, OMP_SECTIONS_CLAUSES)
740         (OMP_TASK_CLAUSES, OMP_TASKLOOP_CLAUSES, OMP_TARGET_CLAUSES)
741         (OMP_TEAMS_CLAUSES, OMP_DISTRIBUTE_CLAUSES)
742         (OMP_SINGLE_CLAUSES): Add OMP_CLAUSE_ALLOCATE.
743         (OMP_TASKGROUP_CLAUSES): New.
744         (gfc_match_omp_taskgroup): Use OMP_TASKGROUP_CLAUSES instead of
745         OMP_CLAUSE_TASK_REDUCTION.
746         (resolve_omp_clauses): Handle OMP_LIST_ALLOCATE.
747         (resolve_omp_do): Avoid warning when loop iteration variable is
748         in allocate clause.
749         * trans-openmp.c (gfc_trans_omp_clauses): Handle translation of
750         allocate clause.
751         (gfc_split_omp_clauses): Update for OMP_LIST_ALLOCATE.
753 2022-01-13  Harald Anlauf  <anlauf@gmx.de>
755         PR fortran/67804
756         * primary.c (gfc_match_structure_constructor): Recover from errors
757         that occurred while checking for a valid structure constructor in
758         a DATA statement.
760 2022-01-11  Thomas Koenig  <tkoenig@gcc.gnu.org>
762         * libgfortran.h (unit_convert): Add flags.
764 2022-01-11  Jakub Jelinek  <jakub@redhat.com>
766         * trans-types.c (gfc_init_kinds): When setting abi_kind to 17, if not
767         targetting glibc 2.32 or later and -fbuilding-libgfortran, set
768         gfc_real16_is_float128 and c_float128 in gfc_real_kinds.
769         (gfc_build_real_type): Don't set c_long_double if c_float128 is
770         already set.
771         * trans-intrinsic.c (builtin_decl_for_precision): Don't use
772         long_double_built_in if gfc_real16_is_float128 and
773         long_double_type_node == gfc_float128_type_node.
774         * lang.opt (fbuilding-libgfortran): New undocumented option.
776 2022-01-11  Jakub Jelinek  <jakub@redhat.com>
778         * trans-intrinsic.c (gfc_get_intrinsic_lib_fndecl): Use
779         gfc_type_abi_kind.
781 2022-01-11  Jakub Jelinek  <jakub@redhat.com>
783         * trans-io.c (transfer_array_desc): Pass abi kind instead of kind
784         to libgfortran.
786 2022-01-11  Jakub Jelinek  <jakub@redhat.com>
788         * trans-io.c (transfer_namelist_element): Use gfc_type_abi_kind,
789         formatting fixes.
790         (transfer_expr): Use gfc_type_abi_kind, use *REAL128* APIs even
791         for abi_kind == 17.
793 2022-01-11  Jakub Jelinek  <jakub@redhat.com>
795         * gfortran.h (gfc_real_info): Add abi_kind member.
796         (gfc_type_abi_kind): Declare.
797         * trans-types.c (gfc_init_kinds): Initialize abi_kind.
798         * intrinsic.c (gfc_type_abi_kind): New function.
799         (conv_name): Use it.
800         * iresolve.c (resolve_transformational, gfc_resolve_abs,
801         gfc_resolve_char_achar, gfc_resolve_acos, gfc_resolve_acosh,
802         gfc_resolve_aimag, gfc_resolve_and, gfc_resolve_aint, gfc_resolve_all,
803         gfc_resolve_anint, gfc_resolve_any, gfc_resolve_asin,
804         gfc_resolve_asinh, gfc_resolve_atan, gfc_resolve_atanh,
805         gfc_resolve_atan2, gfc_resolve_bessel_n2, gfc_resolve_ceiling,
806         gfc_resolve_cmplx, gfc_resolve_complex, gfc_resolve_cos,
807         gfc_resolve_cosh, gfc_resolve_count, gfc_resolve_dble,
808         gfc_resolve_dim, gfc_resolve_dot_product, gfc_resolve_dprod,
809         gfc_resolve_exp, gfc_resolve_floor, gfc_resolve_hypot,
810         gfc_resolve_int, gfc_resolve_int2, gfc_resolve_int8, gfc_resolve_long,
811         gfc_resolve_log, gfc_resolve_log10, gfc_resolve_logical,
812         gfc_resolve_matmul, gfc_resolve_minmax, gfc_resolve_maxloc,
813         gfc_resolve_findloc, gfc_resolve_maxval, gfc_resolve_merge,
814         gfc_resolve_minloc, gfc_resolve_minval, gfc_resolve_mod,
815         gfc_resolve_modulo, gfc_resolve_nearest, gfc_resolve_or,
816         gfc_resolve_real, gfc_resolve_realpart, gfc_resolve_reshape,
817         gfc_resolve_sign, gfc_resolve_sin, gfc_resolve_sinh, gfc_resolve_sqrt,
818         gfc_resolve_tan, gfc_resolve_tanh, gfc_resolve_transpose,
819         gfc_resolve_trigd, gfc_resolve_xor, gfc_resolve_random_number):
820         Likewise.
821         * trans-decl.c (gfc_build_intrinsic_function_decls): Likewise.
823 2022-01-10  Paul Thomas  <pault@gcc.gnu.org>
825         PR fortran/103366
826         * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Allow unlimited
827         polymorphic actual argument passed to assumed type formal.
829 2022-01-09  Harald Anlauf  <anlauf@gmx.de>
831         PR fortran/103777
832         * simplify.c (gfc_simplify_maskr): Check validity of argument 'I'
833         before simplifying.
834         (gfc_simplify_maskl): Likewise.
836 2022-01-09  Harald Anlauf  <anlauf@gmx.de>
838         PR fortran/101762
839         * expr.c (gfc_check_pointer_assign): For pointer initialization
840         targets, check that subscripts and substring indices in
841         specifications are constant expressions.
843 2022-01-09  Mikael Morin  <mikael@gcc.gnu.org>
845         PR fortran/103789
846         * trans-array.c (arg_evaluated_for_scalarization): Add MASKL, MASKR,
847         SCAN and VERIFY to the list of intrinsics whose KIND argument is to be
848         ignored.
850 2022-01-07  Sandra Loosemore  <sandra@codesourcery.com>
852         PR fortran/103898
853         * trans-intrinsic.c (gfc_conv_intrinsic_size): Make size_var
854         actually be a variable and fix surrounding code.
856 2022-01-06  Steve Kargl  <kargl@gcc.gnu.org>
857             Sandra Loosemore  <sandra@codesourcery.com>
859         PR fortran/103287
860         * interface.c (argument_rank_mismatch): Replace incorrect assertion
861         with return.
863 2022-01-05  Sandra Loosemore  <sandra@codesourcery.com>
865         PR fortran/103258
866         * decl.c (gfc_match_char_spec): Suppress errors around call
867         to gfc_reduce_init_expr.
868         * error.c (gfc_query_suppress_errors): New.
869         * gfortran.h (gfc_query_suppress_errors): Declare.
870         * symbol.c (gfc_set_default_type): Check gfc_query_suppress_errors.
872 2022-01-03  Sandra Loosemore  <sandra@codesourcery.com>
874         PR fortran/103390
875         * expr.c (gfc_is_simply_contiguous): Make it smarter about
876         function calls.
877         * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Do not generate
878         copy loops for array expressions that are not "variables" (lvalues).
880 2022-01-03  Jakub Jelinek  <jakub@redhat.com>
882         * gfortranspec.c (lang_specific_driver): Update copyright notice
883         dates.
884         * gfc-internals.texi: Bump @copying's copyright year.
885         * gfortran.texi: Ditto.
886         * intrinsic.texi: Ditto.
887         * invoke.texi: Ditto.
890 Copyright (C) 2022 Free Software Foundation, Inc.
892 Copying and distribution of this file, with or without modification,
893 are permitted in any medium without royalty provided the copyright
894 notice and this notice are preserved.