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