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