]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/fortran/ChangeLog
d: Merge upstream dmd 4d07f22f2, druntime f89da313, phobos d46814c86.
[thirdparty/gcc.git] / gcc / fortran / ChangeLog
CommitLineData
768f49a2
GA
12022-05-24 Tobias Burnus <tobias@codesourcery.com>
2
3 PR c/105378
4 * openmp.cc (gfc_match_omp_taskwait): Accept nowait.
5
168fc8bd
GA
62022-05-23 Tobias Burnus <tobias@codesourcery.com>
7
8 PR fortran/104949
9 * f95-lang.cc (LANG_HOOKS_OMP_ARRAY_SIZE): Redefine.
10 * trans-openmp.cc (gfc_omp_array_size): New.
11 (gfc_trans_omp_variable_list): Never turn has_device_addr
12 to firstprivate.
13 * trans.h (gfc_omp_array_size): New.
14
1cda629f
GA
152022-05-18 Tobias Burnus <tobias@codesourcery.com>
16
17 * gfortran.h (enum gfc_omp_depend_op): Add OMP_DEPEND_INOUTSET.
18 (gfc_omp_clauses): Enlarge ENUM_BITFIELD.
19 * dump-parse-tree.cc (show_omp_namelist, show_omp_clauses): Handle
20 'inoutset' depend modifier.
21 * openmp.cc (gfc_match_omp_clauses, gfc_match_omp_depobj): Likewise.
22 * trans-openmp.cc (gfc_trans_omp_clauses, gfc_trans_omp_depobj):
23 Likewise.
24
3d9439b1
GA
252022-05-17 Tobias Burnus <tobias@codesourcery.com>
26
27 * dump-parse-tree.cc (show_omp_namelist): Handle omp_all_memory.
28 * openmp.cc (gfc_match_omp_variable_list, gfc_match_omp_depend_sink,
29 gfc_match_omp_clauses, resolve_omp_clauses): Likewise.
30 * trans-openmp.cc (gfc_trans_omp_clauses, gfc_trans_omp_depobj):
31 Likewise.
32 * resolve.cc (resolve_symbol): Reject it as symbol.
33
702bd11f
GA
342022-05-16 Martin Liska <mliska@suse.cz>
35
36 * frontend-passes.cc (gfc_code_walker): Use ARRAY_SIZE.
37 * openmp.cc (gfc_match_omp_context_selector_specification): Likewise.
38 * trans-intrinsic.cc (conv_intrinsic_ieee_builtin): Likewise.
39 * trans-types.cc (gfc_get_array_descr_info): Likewise.
40
9df4ffe4
GA
412022-05-13 Tobias Burnus <tobias@codesourcery.com>
42
43 * trans-openmp.cc (gfc_trans_omp_clauses): When mapping nondescriptor
44 array sections, use GOMP_MAP_FIRSTPRIVATE_POINTER instead of
45 GOMP_MAP_POINTER for the pointer attachment.
46
d0d513b5
GA
472022-05-11 Harald Anlauf <anlauf@gmx.de>
48 Steven G. Kargl <kargl@gcc.gnu.org>
49
50 PR fortran/105230
51 * expr.cc (find_array_section): Correct logic to avoid NULL
52 pointer dereference on invalid array section.
53
e8778989
GA
542022-05-10 Harald Anlauf <anlauf@gmx.de>
55
56 PR fortran/105526
57 * resolve.cc (check_team): New.
58 (gfc_resolve_code): Add checks for arguments to coarray intrinsics
59 FORM TEAM, CHANGE TEAM, and SYNC TEAM.
60
bd022ff9
GA
612022-05-09 Harald Anlauf <anlauf@gmx.de>
62
63 PR fortran/105501
64 * match.cc (gfc_match_if): Adjust patterns used for matching.
65 (gfc_match_select_rank): Likewise.
66 * parse.cc (decode_statement): Likewise.
67
ab869e7f
GA
682022-05-05 Sandra Loosemore <sandra@codesourcery.com>
69
70 * gfortran.h (struct gfc_omp_clauses): Add non_rectangular bit.
71 * openmp.cc (is_outer_iteration_variable): New function.
72 (expr_is_invariant): New function.
73 (bound_expr_is_canonical): New function.
74 (resolve_omp_do): Replace existing non-rectangularity error with
75 check for canonical form and setting non_rectangular bit.
76 * trans-openmp.cc (gfc_trans_omp_do): Transfer non_rectangular
77 flag to generated tree structure.
78
6259d8aa
GA
792022-05-02 Sandra Loosemore <sandra@codesourcery.com>
80
81 * trans-openmp.cc (gfc_trans_omp_critical): Set location on OMP
82 tree node.
83 (gfc_trans_omp_do): Likewise.
84 (gfc_trans_omp_masked): Likewise.
85 (gfc_trans_omp_do_simd): Likewise.
86 (gfc_trans_omp_scope): Likewise.
87 (gfc_trans_omp_taskgroup): Likewise.
88 (gfc_trans_omp_taskwait): Likewise.
89 (gfc_trans_omp_distribute): Likewise.
90 (gfc_trans_omp_taskloop): Likewise.
91 (gfc_trans_omp_master_masked_taskloop): Likewise.
92
66d1e440
GA
932022-04-29 Thomas Koenig <tkoenig@gcc.gnu.org>
94
95 * gfortran.texi: Fix exchanged period and letter.
96
6b6f53d8
GA
972022-04-28 Thomas Koenig <tkoenig@gcc.gnu.org>
98
99 * gfortran.texi: Mention r16_ieee and r16_ibm.
100 * invoke.texi: Likewise.
101
ba949a6a
GA
1022022-04-27 Mikael Morin <mikael@gcc.gnu.org>
103
104 PR fortran/103662
105 PR fortran/105379
106 * array.cc (compare_bounds): Use bool as return type.
107 Support non-constant expressions.
108 (gfc_compare_array_spec): Update call to compare_bounds.
109
1102022-04-27 Mikael Morin <mikael@gcc.gnu.org>
111
112 PR fortran/102043
113 PR fortran/105381
114 * trans-array.cc (non_negative_strides_array_p): Inline variable
115 orig_decl and merge nested if conditions. Add condition to not
116 recurse if the next argument is the same as the current.
117
98de0da6
GA
1182022-04-25 Jakub Jelinek <jakub@redhat.com>
119 Thomas Schwinge <thomas@codesourcery.com>
120
121 PR fortran/104717
122 * trans-openmp.cc (gfc_trans_oacc_construct): Wrap construct body
123 in an extra BIND_EXPR.
124
bd648859
GA
1252022-04-24 Mikael Morin <mikael@gcc.gnu.org>
126 Jakub Jelinek <jakub@redhat.com>
127
128 PR fortran/103662
129 * interface.cc (gfc_compare_derived_types): Support comparing
130 unlimited polymorphic fake symbols. Recursively compare class
131 descriptor types and virtual table types.
132 * resolve.cc (resolve_fl_derived): Add type to the types list
133 on unlimited polymorphic short-circuit return.
134
ab54f600
GA
1352022-04-22 Mikael Morin <mikael@gcc.gnu.org>
136 Richard Biener <rguenther@suse.de>
137
138 PR fortran/102043
139 * trans.h (gfc_build_array_ref): Add non_negative_offset
140 argument.
141 * trans.cc (gfc_build_array_ref): Ditto. Use pointer arithmetic
142 if non_negative_offset is false.
143 * trans-expr.cc (gfc_conv_substring): Set flag in the call to
144 gfc_build_array_ref.
145 * trans-array.cc (gfc_get_cfi_dim_item,
146 gfc_conv_descriptor_dimension): Same.
147 (build_array_ref): Decide on whether to set the flag and update
148 the call.
149 (gfc_conv_scalarized_array_ref): Same. New argument tmp_array.
150 (gfc_conv_tmp_array_ref): Update call to
151 gfc_conv_scalarized_ref.
152 (non_negative_strides_array_p): New function.
153
1542022-04-22 Mikael Morin <mikael@gcc.gnu.org>
155
156 PR fortran/102043
157 * trans-array.cc (gfc_conv_expr_descriptor): Use
158 gfc_conv_tmp_array_ref.
159
1602022-04-22 Mikael Morin <mikael@gcc.gnu.org>
161
162 PR fortran/102043
163 * trans-io.cc: Add handling for the case where the array
164 is referenced using pointer arithmetic.
165
1662022-04-22 Mikael Morin <mikael@gcc.gnu.org>
167
168 PR fortran/102043
169 * trans-expr.cc: Pre-evaluate src and dest to variables
170 before using them.
171
c1a9cf67
GA
1722022-04-21 Fritz Reese <foreese@gcc.gnu.org>
173
174 PR fortran/105310
175 * trans-expr.cc (gfc_conv_union_initializer): Pass vec* by reference.
176
247bbed1
GA
1772022-04-13 Tobias Burnus <tobias@codesourcery.com>
178
179 PR fortran/105242
180 * match.cc (match_exit_cycle): Handle missing OMP LOOP, DO and SIMD
181 directives in the EXIT/CYCLE diagnostic.
182
a1950f52
GA
1832022-04-10 Harald Anlauf <anlauf@gmx.de>
184
185 PR fortran/105184
186 * array.cc (match_subscript): Reject assumed size coarray
187 specification with missing lower bound.
188 * resolve.cc (resolve_allocate_expr): Fix logic for checking
189 allocate-coshape-spec in ALLOCATE statement.
190
9d84ed68
GA
1912022-04-05 Sandra Loosemore <sandra@codesourcery.com>
192
193 * trans-openmp.cc (gfc_split_omp_clauses): Fix mask for
194 EXEC_OMP_MASKED_TASKLOOP.
195
1962022-04-05 Harald Anlauf <anlauf@gmx.de>
197
198 PR fortran/104210
199 * arith.cc (eval_intrinsic): Avoid NULL pointer dereference.
200 (gfc_zero_size_array): Likewise.
201
2022022-04-05 Harald Anlauf <anlauf@gmx.de>
203 Steven G. Kargl <kargl@gcc.gnu.org>
204
205 PR fortran/105138
206 * intrinsic.cc (gfc_is_intrinsic): When a symbol refers to a
207 RECURSIVE procedure, it cannot be an INTRINSIC.
208
150ab50f
GA
2092022-03-30 Harald Anlauf <anlauf@gmx.de>
210
211 PR fortran/100892
212 * check.cc (gfc_check_associated): Avoid NULL pointer dereference.
213
9f774626
GA
2142022-03-29 Harald Anlauf <anlauf@gmx.de>
215 Steven G. Kargl <kargl@gcc.gnu.org>
216
217 PR fortran/104571
218 * resolve.cc (resolve_elemental_actual): Avoid NULL pointer
219 dereference.
220
2212022-03-29 Harald Anlauf <anlauf@gmx.de>
222
223 PR fortran/50549
224 * resolve.cc (resolve_structure_cons): Reject pointer assignments
225 of character with different lengths in structure constructor.
226
31e989a2
GA
2272022-03-25 Jakub Jelinek <jakub@redhat.com>
228
229 PR fortran/103691
230 * trans-array.cc (gfc_conv_array_initializer): If TYPE_MAX_VALUE is
231 smaller than TYPE_MIN_VALUE (i.e. empty array), ignore the
232 initializer; if TYPE_MIN_VALUE is equal to TYPE_MAX_VALUE, use just
233 the TYPE_MIN_VALUE as index instead of RANGE_EXPR.
234
d1ca63a1
GA
2352022-03-23 Tobias Burnus <tobias@codesourcery.com>
236
237 PR fortran/103560
238 * scanner.cc (add_path_to_list): Don't append '/' to the
239 save include path.
240 (open_included_file): Use '/' in concatenating path + file name.
241 * module.cc (gzopen_included_file_1): Likewise.
242
a2287813
GA
2432022-03-22 Harald Anlauf <anlauf@gmx.de>
244
245 PR fortran/104999
246 * simplify.cc (gfc_simplify_cshift): Ensure temporary holding
247 source array stride is initialized.
248
d7f00da1
GA
2492022-03-19 Mikael Morin <mikael@gcc.gnu.org>
250
251 PR fortran/104228
252 PR fortran/104570
253 * parse.cc (parse_associate): Use a new distinct gfc_charlen if the
254 copied type has one whose length is not known to be constant.
255 * resolve.cc (resolve_assoc_var): Reset charlen if it’s shared with
256 the associate target regardless of the expression type.
257 Don’t reinitialize charlen if it’s deferred.
258
8ca61ad1
GA
2592022-03-18 Tobias Burnus <tobias@codesourcery.com>
260
261 PR fortran/103039
262 * trans-openmp.cc (gfc_omp_clause_copy_ctor, gfc_omp_clause_dtor):
263 Only privatize pointer for associate names.
264
2652022-03-18 Tobias Burnus <tobias@codesourcery.com>
266
267 PR fortran/103039
268 * openmp.cc (resolve_omp_clauses): Improve associate-name diagnostic
269 for select type/rank.
270
b00f9761
GA
2712022-03-11 Tobias Burnus <tobias@codesourcery.com>
272
273 * trans-openmp.cc (gfc_trans_omp_clauses, gfc_omp_finish_clause):
274 Obtain size for mapping only if allocatable array is allocated.
275
8cc4f9cd
GA
2762022-03-09 Harald Anlauf <anlauf@gmx.de>
277
278 PR fortran/104849
279 * expr.cc (find_array_section): Avoid NULL pointer dereference on
280 invalid array section.
281
2822022-03-09 Tobias Burnus <tobias@codesourcery.com>
283
284 * trans-intrinsic.cc (gfc_conv_intrinsic_sizeof): Fix CLASS handling.
285
8d038a84
GA
2862022-03-08 Tobias Burnus <tobias@codesourcery.com>
287
288 PR fortran/104126
289 * trans-expr.cc (gfc_conv_gfc_desc_to_cfi_desc): Handle NULL
290 without MOLD.
291
2922022-03-08 Harald Anlauf <anlauf@gmx.de>
293
294 PR fortran/104811
295 * frontend-passes.cc (optimize_minmaxloc): Do not attempt
296 frontend-optimization of MINLOC/MAXLOC for character arrays, as
297 there is no suitable code yet for inline expansion.
298
e6533e2e
GA
2992022-03-07 Tobias Burnus <tobias@codesourcery.com>
300
301 PR fortran/99585
302 PR fortran/104430
303 * trans-expr.cc (conv_parent_component_references): Fix comment;
304 simplify comparison.
305 (gfc_maybe_dereference_var): Avoid d referencing a nonpointer.
306
3072022-03-07 Tobias Burnus <tobias@codesourcery.com>
308
309 * array.cc (gfc_ref_dimen_size): Fix comment typo.
310 * dump-parse-tree.cc (gfc_dump_c_prototypes): Likewise.
311 * frontend-passes.cc (cfe_code): Likewise.
312 * gfortran.texi: Likewise.
313 * resolve.cc (generate_component_assignments): Likewise.
314 * simplify.cc (gfc_simplify_this_image): Likewise.
315 * trans-expr.cc (trans_scalar_class_assign,
316 gfc_maybe_dereference_var): Likewise.
317 * intrinsic.texi: Remove word duplication.
318 * invoke.texi: Likewise.
319
3202022-03-07 Jakub Jelinek <jakub@redhat.com>
321
322 * trans-expr.cc: Fix up duplicated word issue in a comment.
323 * gfortran.h: Likewise.
324 * scanner.cc: Likewise.
325
3262022-03-07 Martin Liska <mliska@suse.cz>
327
328 * intrinsic.cc (gfc_is_intrinsic): Remove asterisk from error
329 message.
330
3312022-03-07 Martin Liska <mliska@suse.cz>
332
333 PR translation/90148
334 * intrinsic.cc (gfc_is_intrinsic): Put
335 quote to a proper place.
336
fc03ebdc
GA
3372022-03-03 Kwok Cheung Yeung <kcy@codesourcery.com>
338
339 PR fortran/104131
340 * openmp.cc (gfc_match_omp_detach): Move check for type of event
341 handle to...
342 (resolve_omp_clauses) ...here. Also check that the event handle is
343 not an array, or an array access or structure element access.
344
ea4911c4
GA
3452022-03-02 Harald Anlauf <anlauf@gmx.de>
346
347 PR fortran/104573
348 * resolve.cc (resolve_structure_cons): Avoid NULL pointer
349 dereference when there is no valid component.
350
756a6185
GA
3512022-02-24 Harald Anlauf <anlauf@gmx.de>
352
353 PR fortran/84519
354 * dump-parse-tree.cc (show_code_node): Dump QUIET specifier when
355 present.
356 * match.cc (gfc_match_stopcode): Implement parsing of F2018 QUIET
357 specifier. F2018 stopcodes may have non-default integer kind.
358 * resolve.cc (gfc_resolve_code): Add checks for QUIET argument.
359 * trans-stmt.cc (gfc_trans_stop): Pass QUIET specifier to call of
360 library function.
361
2cfb33fc
GA
3622022-02-22 Harald Anlauf <anlauf@gmx.de>
363
364 PR fortran/104619
365 * resolve.cc (resolve_structure_cons): Skip shape check if shape
366 of constructor cannot be determined at compile time.
367
c42f1e77
GA
3682022-02-20 Harald Anlauf <anlauf@gmx.de>
369
370 PR fortran/77693
371 * data.cc (gfc_assign_data_value): If a variable in a data
372 statement has the POINTER attribute, check for allowed initial
373 data target that is compatible with pointer assignment.
374 * gfortran.h (IS_POINTER): New macro.
375
875e493b
GA
3762022-02-15 Tobias Burnus <tobias@codesourcery.com>
377
378 * trans-openmp.cc (gfc_trans_omp_depobj): Fix to alloc/ptr dummy
379 and for c_ptr.
380
3812022-02-15 Tobias Burnus <tobias@codesourcery.com>
382
383 * trans-openmp.cc (gfc_trans_omp_clauses, gfc_trans_omp_depobj):
384 Depend on the proper addr, for ptr/alloc depend on pointee.
385
1f8a09d2
GA
3862022-02-14 Harald Anlauf <anlauf@gmx.de>
387
388 PR fortran/104211
389 * expr.cc (find_array_section): Replace assertion by error
390 recovery when encountering bad array constructor.
391
0d31c8ec
GA
3922022-02-13 Mikael Morin <mikael@gcc.gnu.org>
393
394 PR fortran/104228
395 * resolve.cc (resolve_assoc_var): Also create a new character
396 length for non-dummy associate targets.
397 * trans-stmt.cc (trans_associate_var): Initialize character length
398 even if no temporary is used for the associate variable.
399
a645583d
GA
4002022-02-10 Roger Sayle <roger@nextmovesoftware.com>
401 Tobias Burnus <tobias@codesourcery.com>
402
403 * trans-common.cc (GFC_EQUIV_FMT): New macro respecting the
404 target's NO_DOT_IN_LABEL and NO_DOLLAR_IN_LABEL preferences.
405 (build_equiv_decl): Use GFC_EQUIV_FMT here.
406
4072022-02-10 Tobias Burnus <tobias@codesourcery.com>
408
409 PR fortran/104329
410 * openmp.cc (resolve_omp_atomic): Defer extra-code assert after
411 other diagnostics.
412
4132022-02-10 Marcel Vollweiler <marcel@codesourcery.com>
414
415 * dump-parse-tree.cc (show_omp_clauses): Added OMP_LIST_HAS_DEVICE_ADDR
416 case.
417 * gfortran.h: Added OMP_LIST_HAS_DEVICE_ADDR.
418 * openmp.cc (enum omp_mask2): Added OMP_CLAUSE_HAS_DEVICE_ADDR.
419 (gfc_match_omp_clauses): Parse HAS_DEVICE_ADDR clause.
420 (resolve_omp_clauses): Same.
421 * trans-openmp.cc (gfc_trans_omp_variable_list): Added
422 OMP_LIST_HAS_DEVICE_ADDR case.
423 (gfc_trans_omp_clauses): Firstprivatize of array descriptors.
424
3adf509f
GA
4252022-02-09 Harald Anlauf <anlauf@gmx.de>
426
427 PR fortran/66193
428 * arith.cc (reduce_binary_ac): When reducing binary expressions,
429 try simplification. Handle case of empty constructor.
430 (reduce_binary_ca): Likewise.
431
682ede39
GA
4322022-02-03 Harald Anlauf <anlauf@gmx.de>
433
434 PR fortran/104311
435 * check.cc (gfc_calculate_transfer_sizes): Checks for case when
436 storage size of SOURCE is greater than zero while the storage size
437 of MOLD is zero and MOLD is an array shall not depend on SIZE.
438
4392022-02-03 Jakub Jelinek <jakub@redhat.com>
440
441 PR fortran/104328
442 * openmp.cc (is_scalar_intrinsic_expr): If must_be_var && conv_ok
443 and expr is conversion, verify it is a conversion from EXPR_VARIABLE
444 with non-NULL symtree. Check ->block->next before dereferencing it.
445
ae7e4af9
GA
4462022-02-01 Harald Anlauf <anlauf@gmx.de>
447
448 PR fortran/104331
449 * simplify.cc (gfc_simplify_eoshift): Avoid NULL pointer
450 dereference when shape is not set.
451
f6f2d6cf
GA
4522022-01-28 Andre Vehreschild <vehre@gcc.gnu.org>
453
454 PR fortran/103790
455 * trans-array.cc (structure_alloc_comps): Prevent descriptor
456 stacking for non-array data; do not broadcast caf-tokens.
457 * trans-intrinsic.cc (conv_co_collective): Prevent generation
458 of unused descriptor.
459
4602022-01-28 Andre Vehreschild <vehre@gcc.gnu.org>
461
462 Revert:
463 2022-01-28 Andre Vehreschild <vehre@gcc.gnu.org>
464
465 PR fortran/103790
466 * trans-array.cc (structure_alloc_comps): Prevent descriptor
467 stacking for non-array data; do not broadcast caf-tokens.
468 * trans-intrinsic.cc (conv_co_collective): Prevent generation
469 of unused descriptor.
470
4712022-01-28 Andre Vehreschild <vehre@gcc.gnu.org>
472
473 PR fortran/103790
474 * trans-array.cc (structure_alloc_comps): Prevent descriptor
475 stacking for non-array data; do not broadcast caf-tokens.
476 * trans-intrinsic.cc (conv_co_collective): Prevent generation
477 of unused descriptor.
478
99f17e99
GA
4792022-01-27 Harald Anlauf <anlauf@gmx.de>
480
481 PR fortran/104128
482 * expr.cc (gfc_copy_expr): Convert internal representation of
483 string to wide char in value only for default character kind.
484 * target-memory.cc (interpret_array): Pass flag for conversion of
485 wide chars.
486 (gfc_target_interpret_expr): Likewise.
487
4882022-01-27 Harald Anlauf <anlauf@gmx.de>
489
490 PR fortran/84784
491 * trans-intrinsic.cc (conv_intrinsic_image_status): Convert result
492 to resulting (default) integer type.
493 (conv_intrinsic_team_number): Likewise.
494 (gfc_conv_intrinsic_popcnt_poppar): Likewise.
495
e0b8716f
GA
4962022-01-25 Harald Anlauf <anlauf@gmx.de>
497
498 PR fortran/104227
499 * check.cc (gfc_calculate_transfer_sizes): Fix checking of arrays
500 passed as MOLD argument to the TRANSFER intrinsic for having
501 storage size zero.
502
5032022-01-25 Harald Anlauf <anlauf@gmx.de>
504
505 PR fortran/104212
506 * check.cc (gfc_check_norm2): Check that optional argument DIM is
507 scalar.
508 (gfc_check_parity): Likewise.
509
bb99171b
GA
5102022-01-24 Jakub Jelinek <jakub@redhat.com>
511
512 * lang.opt (fconvert=): Add EnumSet property and mention also
513 r16_ieee and r16_ibm arguments.
514 (big-endian, little-endian, native, swap): Add Set(1) property.
515 (r16_ieee, r16_ibm): New EnumValue entries with Set(2) property.
516 * trans-types.cc (gfc_init_kinds): Emit gfc_fatal_error for
517 -fconvert=r16_ieee or -fconvert=r16_ibm when R16_IEEE <=> R16_IBM
518 conversions aren't supported.
519
d43be9dc
GA
5202022-01-22 Harald Anlauf <anlauf@gmx.de>
521
522 PR fortran/104127
523 * simplify.cc (gfc_simplify_transfer): Ensure that the result
524 typespec is set up for TRANSFER with MOLD of type CHARACTER
525 including character length even if the result is a zero-sized
526 array.
527
5fa55d55
GA
5282022-01-20 Sandra Loosemore <sandra@codesourcery.com>
529
530 PR fortran/103695
531 PR fortran/102621
532 * gfortran.h (struct gfc_namespace) Add omp_affinity_iterator
533 field.
534 * dump-parse-tree.cc (show_iterator): Use it.
535 * openmp.cc (gfc_match_iterator): Likewise.
536 (resolve_omp_clauses): Likewise.
537 * trans-decl.cc (gfc_finish_var_decl): Likewise.
538 * trans-openmp.cc (handle_iterator): Likewise.
539
7a761ae6
GA
5402022-01-18 Harald Anlauf <anlauf@gmx.de>
541
542 PR fortran/103692
543 * array.cc (gfc_expand_constructor): Handle zero-sized array
544 constructors.
545
fc829782
GA
5462022-01-17 Martin Liska <mliska@suse.cz>
547
548 * check.cc (gfc_check_all_any): Rename .c names to .cc.
549 * class.cc (find_intrinsic_vtab): Likewise.
550 * config-lang.in: Likewise.
551 * cpp.cc (cpp_define_builtins): Likewise.
552 * data.cc (get_array_index): Likewise.
553 * decl.cc (match_clist_expr): Likewise.
554 (get_proc_name): Likewise.
555 (gfc_verify_c_interop_param): Likewise.
556 (gfc_get_pdt_instance): Likewise.
557 (gfc_match_formal_arglist): Likewise.
558 (gfc_get_type_attr_spec): Likewise.
559 * dependency.cc: Likewise.
560 * error.cc (gfc_format_decoder): Likewise.
561 * expr.cc (check_restricted): Likewise.
562 (gfc_build_default_init_expr): Likewise.
563 * f95-lang.cc: Likewise.
564 * gfc-internals.texi: Likewise.
565 * gfortran.h (enum match): Likewise.
566 (enum procedure_type): Likewise.
567 (enum oacc_routine_lop): Likewise.
568 (gfc_get_pdt_instance): Likewise.
569 (gfc_end_source_files): Likewise.
570 (gfc_mpz_set_hwi): Likewise.
571 (gfc_get_option_string): Likewise.
572 (gfc_find_sym_in_expr): Likewise.
573 (gfc_errors_to_warnings): Likewise.
574 (gfc_real_4_kind): Likewise.
575 (gfc_free_finalizer): Likewise.
576 (gfc_sym_get_dummy_args): Likewise.
577 (gfc_check_intrinsic_standard): Likewise.
578 (gfc_free_case_list): Likewise.
579 (gfc_resolve_oacc_routines): Likewise.
580 (gfc_check_vardef_context): Likewise.
581 (gfc_free_association_list): Likewise.
582 (gfc_implicit_pure_function): Likewise.
583 (gfc_ref_dimen_size): Likewise.
584 (gfc_compare_actual_formal): Likewise.
585 (gfc_resolve_wait): Likewise.
586 (gfc_dt_upper_string): Likewise.
587 (gfc_generate_module_code): Likewise.
588 (gfc_delete_bbt): Likewise.
589 (debug): Likewise.
590 (gfc_build_block_ns): Likewise.
591 (gfc_dep_difference): Likewise.
592 (gfc_invalid_null_arg): Likewise.
593 (gfc_is_finalizable): Likewise.
594 (gfc_fix_implicit_pure): Likewise.
595 (gfc_is_size_zero_array): Likewise.
596 (gfc_is_reallocatable_lhs): Likewise.
597 * gfortranspec.cc: Likewise.
598 * interface.cc (compare_actual_expr): Likewise.
599 * intrinsic.cc (add_functions): Likewise.
600 * iresolve.cc (gfc_resolve_matmul): Likewise.
601 (gfc_resolve_alarm_sub): Likewise.
602 * iso-c-binding.def: Likewise.
603 * lang-specs.h: Likewise.
604 * libgfortran.h (GFC_STDERR_UNIT_NUMBER): Likewise.
605 * match.cc (gfc_match_label): Likewise.
606 (gfc_match_symbol): Likewise.
607 (match_derived_type_spec): Likewise.
608 (copy_ts_from_selector_to_associate): Likewise.
609 * match.h (gfc_match_call): Likewise.
610 (gfc_get_common): Likewise.
611 (gfc_match_omp_end_single): Likewise.
612 (gfc_match_volatile): Likewise.
613 (gfc_match_bind_c): Likewise.
614 (gfc_match_literal_constant): Likewise.
615 (gfc_match_init_expr): Likewise.
616 (gfc_match_array_constructor): Likewise.
617 (gfc_match_end_interface): Likewise.
618 (gfc_match_print): Likewise.
619 (gfc_match_expr): Likewise.
620 * matchexp.cc (next_operator): Likewise.
621 * mathbuiltins.def: Likewise.
622 * module.cc (free_true_name): Likewise.
623 * openmp.cc (gfc_resolve_omp_parallel_blocks): Likewise.
624 (gfc_omp_save_and_clear_state): Likewise.
625 * parse.cc (parse_union): Likewise.
626 (set_syms_host_assoc): Likewise.
627 * resolve.cc (resolve_actual_arglist): Likewise.
628 (resolve_elemental_actual): Likewise.
629 (check_host_association): Likewise.
630 (resolve_typebound_function): Likewise.
631 (resolve_typebound_subroutine): Likewise.
632 (gfc_resolve_expr): Likewise.
633 (resolve_assoc_var): Likewise.
634 (resolve_typebound_procedures): Likewise.
635 (resolve_equivalence_derived): Likewise.
636 * simplify.cc (simplify_bound): Likewise.
637 * symbol.cc (gfc_set_default_type): Likewise.
638 (gfc_add_ext_attribute): Likewise.
639 * target-memory.cc (gfc_target_interpret_expr): Likewise.
640 * target-memory.h (gfc_target_interpret_expr): Likewise.
641 * trans-array.cc (gfc_get_cfi_dim_sm): Likewise.
642 (gfc_conv_shift_descriptor_lbound): Likewise.
643 (gfc_could_be_alias): Likewise.
644 (gfc_get_dataptr_offset): Likewise.
645 * trans-const.cc: Likewise.
646 * trans-decl.cc (trans_function_start): Likewise.
647 (gfc_trans_deferred_vars): Likewise.
648 (generate_local_decl): Likewise.
649 (gfc_generate_function_code): Likewise.
650 * trans-expr.cc (gfc_vptr_size_get): Likewise.
651 (gfc_trans_class_array_init_assign): Likewise.
652 (POWI_TABLE_SIZE): Likewise.
653 (gfc_conv_procedure_call): Likewise.
654 (gfc_trans_arrayfunc_assign): Likewise.
655 * trans-intrinsic.cc (gfc_conv_intrinsic_len): Likewise.
656 (gfc_conv_intrinsic_loc): Likewise.
657 (conv_intrinsic_event_query): Likewise.
658 * trans-io.cc (gfc_build_st_parameter): Likewise.
659 * trans-openmp.cc (gfc_omp_check_optional_argument): Likewise.
660 (gfc_omp_unshare_expr_r): Likewise.
661 (gfc_trans_omp_array_section): Likewise.
662 (gfc_trans_omp_clauses): Likewise.
663 * trans-stmt.cc (trans_associate_var): Likewise.
664 (gfc_trans_deallocate): Likewise.
665 * trans-stmt.h (gfc_trans_class_init_assign): Likewise.
666 (gfc_trans_deallocate): Likewise.
667 (gfc_trans_oacc_declare): Likewise.
668 * trans-types.cc: Likewise.
669 * trans-types.h (enum gfc_packed): Likewise.
670 * trans.cc (N_): Likewise.
671 (trans_code): Likewise.
672 * trans.h (gfc_build_compare_string): Likewise.
673 (gfc_conv_expr_type): Likewise.
674 (gfc_trans_deferred_vars): Likewise.
675 (getdecls): Likewise.
676 (gfc_get_array_descr_info): Likewise.
677 (gfc_omp_firstprivatize_type_sizes): Likewise.
678 (GTY): Likewise.
679
6802022-01-17 Martin Liska <mliska@suse.cz>
681
682 * arith.c: Moved to...
683 * arith.cc: ...here.
684 * array.c: Moved to...
685 * array.cc: ...here.
686 * bbt.c: Moved to...
687 * bbt.cc: ...here.
688 * check.c: Moved to...
689 * check.cc: ...here.
690 * class.c: Moved to...
691 * class.cc: ...here.
692 * constructor.c: Moved to...
693 * constructor.cc: ...here.
694 * convert.c: Moved to...
695 * convert.cc: ...here.
696 * cpp.c: Moved to...
697 * cpp.cc: ...here.
698 * data.c: Moved to...
699 * data.cc: ...here.
700 * decl.c: Moved to...
701 * decl.cc: ...here.
702 * dependency.c: Moved to...
703 * dependency.cc: ...here.
704 * dump-parse-tree.c: Moved to...
705 * dump-parse-tree.cc: ...here.
706 * error.c: Moved to...
707 * error.cc: ...here.
708 * expr.c: Moved to...
709 * expr.cc: ...here.
710 * f95-lang.c: Moved to...
711 * f95-lang.cc: ...here.
712 * frontend-passes.c: Moved to...
713 * frontend-passes.cc: ...here.
714 * gfortranspec.c: Moved to...
715 * gfortranspec.cc: ...here.
716 * interface.c: Moved to...
717 * interface.cc: ...here.
718 * intrinsic.c: Moved to...
719 * intrinsic.cc: ...here.
720 * io.c: Moved to...
721 * io.cc: ...here.
722 * iresolve.c: Moved to...
723 * iresolve.cc: ...here.
724 * match.c: Moved to...
725 * match.cc: ...here.
726 * matchexp.c: Moved to...
727 * matchexp.cc: ...here.
728 * misc.c: Moved to...
729 * misc.cc: ...here.
730 * module.c: Moved to...
731 * module.cc: ...here.
732 * openmp.c: Moved to...
733 * openmp.cc: ...here.
734 * options.c: Moved to...
735 * options.cc: ...here.
736 * parse.c: Moved to...
737 * parse.cc: ...here.
738 * primary.c: Moved to...
739 * primary.cc: ...here.
740 * resolve.c: Moved to...
741 * resolve.cc: ...here.
742 * scanner.c: Moved to...
743 * scanner.cc: ...here.
744 * simplify.c: Moved to...
745 * simplify.cc: ...here.
746 * st.c: Moved to...
747 * st.cc: ...here.
748 * symbol.c: Moved to...
749 * symbol.cc: ...here.
750 * target-memory.c: Moved to...
751 * target-memory.cc: ...here.
752 * trans-array.c: Moved to...
753 * trans-array.cc: ...here.
754 * trans-common.c: Moved to...
755 * trans-common.cc: ...here.
756 * trans-const.c: Moved to...
757 * trans-const.cc: ...here.
758 * trans-decl.c: Moved to...
759 * trans-decl.cc: ...here.
760 * trans-expr.c: Moved to...
761 * trans-expr.cc: ...here.
762 * trans-intrinsic.c: Moved to...
763 * trans-intrinsic.cc: ...here.
764 * trans-io.c: Moved to...
765 * trans-io.cc: ...here.
766 * trans-openmp.c: Moved to...
767 * trans-openmp.cc: ...here.
768 * trans-stmt.c: Moved to...
769 * trans-stmt.cc: ...here.
770 * trans-types.c: Moved to...
771 * trans-types.cc: ...here.
772 * trans.c: Moved to...
773 * trans.cc: ...here.
774
7752022-01-17 Andrew Stubbs <ams@codesourcery.com>
776
777 * openmp.c (gfc_match_omp_requires): Don't "sorry" dynamic_allocators.
778
9248ee41
GA
7792022-01-15 Harald Anlauf <anlauf@gmx.de>
780
781 PR fortran/83079
782 * target-memory.c (gfc_interpret_character): Result length is
783 in bytes and thus depends on the character kind.
784 * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Compute correct
785 string length for the result of the TRANSFER intrinsic and for
786 temporaries for the different character kinds.
787
617db51d
GA
7882022-01-14 Harald Anlauf <anlauf@gmx.de>
789
790 PR fortran/99256
791 * intrinsic.c: Do not check formal argument type when checking
792 arguments of intrinsics for alternate return specifiers.
793
7942022-01-14 Harald Anlauf <anlauf@gmx.de>
795
796 PR fortran/103782
797 * expr.c (gfc_simplify_expr): Adjust logic for when to scalarize a
798 call of an intrinsic which may have been overloaded.
799
ad3f0d08
GA
8002022-01-13 Hafiz Abid Qadeer <abidh@codesourcery.com>
801
802 * dump-parse-tree.c (show_omp_clauses): Handle OMP_LIST_ALLOCATE.
803 * gfortran.h (OMP_LIST_ALLOCATE): New enum value.
804 * openmp.c (enum omp_mask1): Add OMP_CLAUSE_ALLOCATE.
805 (gfc_match_omp_clauses): Handle OMP_CLAUSE_ALLOCATE
806 (OMP_PARALLEL_CLAUSES, OMP_DO_CLAUSES, OMP_SECTIONS_CLAUSES)
807 (OMP_TASK_CLAUSES, OMP_TASKLOOP_CLAUSES, OMP_TARGET_CLAUSES)
808 (OMP_TEAMS_CLAUSES, OMP_DISTRIBUTE_CLAUSES)
809 (OMP_SINGLE_CLAUSES): Add OMP_CLAUSE_ALLOCATE.
810 (OMP_TASKGROUP_CLAUSES): New.
811 (gfc_match_omp_taskgroup): Use OMP_TASKGROUP_CLAUSES instead of
812 OMP_CLAUSE_TASK_REDUCTION.
813 (resolve_omp_clauses): Handle OMP_LIST_ALLOCATE.
814 (resolve_omp_do): Avoid warning when loop iteration variable is
815 in allocate clause.
816 * trans-openmp.c (gfc_trans_omp_clauses): Handle translation of
817 allocate clause.
818 (gfc_split_omp_clauses): Update for OMP_LIST_ALLOCATE.
819
8202022-01-13 Harald Anlauf <anlauf@gmx.de>
821
822 PR fortran/67804
823 * primary.c (gfc_match_structure_constructor): Recover from errors
824 that occurred while checking for a valid structure constructor in
825 a DATA statement.
826
01a254e3
GA
8272022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org>
828
829 * libgfortran.h (unit_convert): Add flags.
830
8312022-01-11 Jakub Jelinek <jakub@redhat.com>
832
833 * trans-types.c (gfc_init_kinds): When setting abi_kind to 17, if not
834 targetting glibc 2.32 or later and -fbuilding-libgfortran, set
835 gfc_real16_is_float128 and c_float128 in gfc_real_kinds.
836 (gfc_build_real_type): Don't set c_long_double if c_float128 is
837 already set.
838 * trans-intrinsic.c (builtin_decl_for_precision): Don't use
839 long_double_built_in if gfc_real16_is_float128 and
840 long_double_type_node == gfc_float128_type_node.
841 * lang.opt (fbuilding-libgfortran): New undocumented option.
842
8432022-01-11 Jakub Jelinek <jakub@redhat.com>
844
845 * trans-intrinsic.c (gfc_get_intrinsic_lib_fndecl): Use
846 gfc_type_abi_kind.
847
8482022-01-11 Jakub Jelinek <jakub@redhat.com>
849
850 * trans-io.c (transfer_array_desc): Pass abi kind instead of kind
851 to libgfortran.
852
8532022-01-11 Jakub Jelinek <jakub@redhat.com>
854
855 * trans-io.c (transfer_namelist_element): Use gfc_type_abi_kind,
856 formatting fixes.
857 (transfer_expr): Use gfc_type_abi_kind, use *REAL128* APIs even
858 for abi_kind == 17.
859
8602022-01-11 Jakub Jelinek <jakub@redhat.com>
861
862 * gfortran.h (gfc_real_info): Add abi_kind member.
863 (gfc_type_abi_kind): Declare.
864 * trans-types.c (gfc_init_kinds): Initialize abi_kind.
865 * intrinsic.c (gfc_type_abi_kind): New function.
866 (conv_name): Use it.
867 * iresolve.c (resolve_transformational, gfc_resolve_abs,
868 gfc_resolve_char_achar, gfc_resolve_acos, gfc_resolve_acosh,
869 gfc_resolve_aimag, gfc_resolve_and, gfc_resolve_aint, gfc_resolve_all,
870 gfc_resolve_anint, gfc_resolve_any, gfc_resolve_asin,
871 gfc_resolve_asinh, gfc_resolve_atan, gfc_resolve_atanh,
872 gfc_resolve_atan2, gfc_resolve_bessel_n2, gfc_resolve_ceiling,
873 gfc_resolve_cmplx, gfc_resolve_complex, gfc_resolve_cos,
874 gfc_resolve_cosh, gfc_resolve_count, gfc_resolve_dble,
875 gfc_resolve_dim, gfc_resolve_dot_product, gfc_resolve_dprod,
876 gfc_resolve_exp, gfc_resolve_floor, gfc_resolve_hypot,
877 gfc_resolve_int, gfc_resolve_int2, gfc_resolve_int8, gfc_resolve_long,
878 gfc_resolve_log, gfc_resolve_log10, gfc_resolve_logical,
879 gfc_resolve_matmul, gfc_resolve_minmax, gfc_resolve_maxloc,
880 gfc_resolve_findloc, gfc_resolve_maxval, gfc_resolve_merge,
881 gfc_resolve_minloc, gfc_resolve_minval, gfc_resolve_mod,
882 gfc_resolve_modulo, gfc_resolve_nearest, gfc_resolve_or,
883 gfc_resolve_real, gfc_resolve_realpart, gfc_resolve_reshape,
884 gfc_resolve_sign, gfc_resolve_sin, gfc_resolve_sinh, gfc_resolve_sqrt,
885 gfc_resolve_tan, gfc_resolve_tanh, gfc_resolve_transpose,
886 gfc_resolve_trigd, gfc_resolve_xor, gfc_resolve_random_number):
887 Likewise.
888 * trans-decl.c (gfc_build_intrinsic_function_decls): Likewise.
889
d9450aa0
GA
8902022-01-10 Paul Thomas <pault@gcc.gnu.org>
891
892 PR fortran/103366
893 * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Allow unlimited
894 polymorphic actual argument passed to assumed type formal.
895
3a5702df
GA
8962022-01-09 Harald Anlauf <anlauf@gmx.de>
897
898 PR fortran/103777
899 * simplify.c (gfc_simplify_maskr): Check validity of argument 'I'
900 before simplifying.
901 (gfc_simplify_maskl): Likewise.
902
9032022-01-09 Harald Anlauf <anlauf@gmx.de>
904
905 PR fortran/101762
906 * expr.c (gfc_check_pointer_assign): For pointer initialization
907 targets, check that subscripts and substring indices in
908 specifications are constant expressions.
909
9102022-01-09 Mikael Morin <mikael@gcc.gnu.org>
911
912 PR fortran/103789
913 * trans-array.c (arg_evaluated_for_scalarization): Add MASKL, MASKR,
914 SCAN and VERIFY to the list of intrinsics whose KIND argument is to be
915 ignored.
916
55e96bf9
GA
9172022-01-07 Sandra Loosemore <sandra@codesourcery.com>
918
919 PR fortran/103898
920 * trans-intrinsic.c (gfc_conv_intrinsic_size): Make size_var
921 actually be a variable and fix surrounding code.
922
11ce8d04
GA
9232022-01-06 Steve Kargl <kargl@gcc.gnu.org>
924 Sandra Loosemore <sandra@codesourcery.com>
925
926 PR fortran/103287
927 * interface.c (argument_rank_mismatch): Replace incorrect assertion
928 with return.
929
0fbefa25
GA
9302022-01-05 Sandra Loosemore <sandra@codesourcery.com>
931
932 PR fortran/103258
933 * decl.c (gfc_match_char_spec): Suppress errors around call
934 to gfc_reduce_init_expr.
935 * error.c (gfc_query_suppress_errors): New.
936 * gfortran.h (gfc_query_suppress_errors): Declare.
937 * symbol.c (gfc_set_default_type): Check gfc_query_suppress_errors.
938
a4ae8c37
GA
9392022-01-03 Sandra Loosemore <sandra@codesourcery.com>
940
941 PR fortran/103390
942 * expr.c (gfc_is_simply_contiguous): Make it smarter about
943 function calls.
944 * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Do not generate
945 copy loops for array expressions that are not "variables" (lvalues).
946
9472022-01-03 Jakub Jelinek <jakub@redhat.com>
948
949 * gfortranspec.c (lang_specific_driver): Update copyright notice
950 dates.
951 * gfc-internals.texi: Bump @copying's copyright year.
952 * gfortran.texi: Ditto.
953 * intrinsic.texi: Ditto.
954 * invoke.texi: Ditto.
955
21fa2a29 956\f
6123f29a 957Copyright (C) 2022 Free Software Foundation, Inc.
ad41bd84
JM
958
959Copying and distribution of this file, with or without modification,
960are permitted in any medium without royalty provided the copyright
961notice and this notice are preserved.