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