]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/fortran/ChangeLog
libstdc++: Avoid implicit narrowing from uint128_t [PR104859]
[thirdparty/gcc.git] / gcc / fortran / ChangeLog
CommitLineData
8d038a84
GA
12022-03-08 Tobias Burnus <tobias@codesourcery.com>
2
3 PR fortran/104126
4 * trans-expr.cc (gfc_conv_gfc_desc_to_cfi_desc): Handle NULL
5 without MOLD.
6
72022-03-08 Harald Anlauf <anlauf@gmx.de>
8
9 PR fortran/104811
10 * frontend-passes.cc (optimize_minmaxloc): Do not attempt
11 frontend-optimization of MINLOC/MAXLOC for character arrays, as
12 there is no suitable code yet for inline expansion.
13
e6533e2e
GA
142022-03-07 Tobias Burnus <tobias@codesourcery.com>
15
16 PR fortran/99585
17 PR fortran/104430
18 * trans-expr.cc (conv_parent_component_references): Fix comment;
19 simplify comparison.
20 (gfc_maybe_dereference_var): Avoid d referencing a nonpointer.
21
222022-03-07 Tobias Burnus <tobias@codesourcery.com>
23
24 * array.cc (gfc_ref_dimen_size): Fix comment typo.
25 * dump-parse-tree.cc (gfc_dump_c_prototypes): Likewise.
26 * frontend-passes.cc (cfe_code): Likewise.
27 * gfortran.texi: Likewise.
28 * resolve.cc (generate_component_assignments): Likewise.
29 * simplify.cc (gfc_simplify_this_image): Likewise.
30 * trans-expr.cc (trans_scalar_class_assign,
31 gfc_maybe_dereference_var): Likewise.
32 * intrinsic.texi: Remove word duplication.
33 * invoke.texi: Likewise.
34
352022-03-07 Jakub Jelinek <jakub@redhat.com>
36
37 * trans-expr.cc: Fix up duplicated word issue in a comment.
38 * gfortran.h: Likewise.
39 * scanner.cc: Likewise.
40
412022-03-07 Martin Liska <mliska@suse.cz>
42
43 * intrinsic.cc (gfc_is_intrinsic): Remove asterisk from error
44 message.
45
462022-03-07 Martin Liska <mliska@suse.cz>
47
48 PR translation/90148
49 * intrinsic.cc (gfc_is_intrinsic): Put
50 quote to a proper place.
51
fc03ebdc
GA
522022-03-03 Kwok Cheung Yeung <kcy@codesourcery.com>
53
54 PR fortran/104131
55 * openmp.cc (gfc_match_omp_detach): Move check for type of event
56 handle to...
57 (resolve_omp_clauses) ...here. Also check that the event handle is
58 not an array, or an array access or structure element access.
59
ea4911c4
GA
602022-03-02 Harald Anlauf <anlauf@gmx.de>
61
62 PR fortran/104573
63 * resolve.cc (resolve_structure_cons): Avoid NULL pointer
64 dereference when there is no valid component.
65
756a6185
GA
662022-02-24 Harald Anlauf <anlauf@gmx.de>
67
68 PR fortran/84519
69 * dump-parse-tree.cc (show_code_node): Dump QUIET specifier when
70 present.
71 * match.cc (gfc_match_stopcode): Implement parsing of F2018 QUIET
72 specifier. F2018 stopcodes may have non-default integer kind.
73 * resolve.cc (gfc_resolve_code): Add checks for QUIET argument.
74 * trans-stmt.cc (gfc_trans_stop): Pass QUIET specifier to call of
75 library function.
76
2cfb33fc
GA
772022-02-22 Harald Anlauf <anlauf@gmx.de>
78
79 PR fortran/104619
80 * resolve.cc (resolve_structure_cons): Skip shape check if shape
81 of constructor cannot be determined at compile time.
82
c42f1e77
GA
832022-02-20 Harald Anlauf <anlauf@gmx.de>
84
85 PR fortran/77693
86 * data.cc (gfc_assign_data_value): If a variable in a data
87 statement has the POINTER attribute, check for allowed initial
88 data target that is compatible with pointer assignment.
89 * gfortran.h (IS_POINTER): New macro.
90
875e493b
GA
912022-02-15 Tobias Burnus <tobias@codesourcery.com>
92
93 * trans-openmp.cc (gfc_trans_omp_depobj): Fix to alloc/ptr dummy
94 and for c_ptr.
95
962022-02-15 Tobias Burnus <tobias@codesourcery.com>
97
98 * trans-openmp.cc (gfc_trans_omp_clauses, gfc_trans_omp_depobj):
99 Depend on the proper addr, for ptr/alloc depend on pointee.
100
1f8a09d2
GA
1012022-02-14 Harald Anlauf <anlauf@gmx.de>
102
103 PR fortran/104211
104 * expr.cc (find_array_section): Replace assertion by error
105 recovery when encountering bad array constructor.
106
0d31c8ec
GA
1072022-02-13 Mikael Morin <mikael@gcc.gnu.org>
108
109 PR fortran/104228
110 * resolve.cc (resolve_assoc_var): Also create a new character
111 length for non-dummy associate targets.
112 * trans-stmt.cc (trans_associate_var): Initialize character length
113 even if no temporary is used for the associate variable.
114
a645583d
GA
1152022-02-10 Roger Sayle <roger@nextmovesoftware.com>
116 Tobias Burnus <tobias@codesourcery.com>
117
118 * trans-common.cc (GFC_EQUIV_FMT): New macro respecting the
119 target's NO_DOT_IN_LABEL and NO_DOLLAR_IN_LABEL preferences.
120 (build_equiv_decl): Use GFC_EQUIV_FMT here.
121
1222022-02-10 Tobias Burnus <tobias@codesourcery.com>
123
124 PR fortran/104329
125 * openmp.cc (resolve_omp_atomic): Defer extra-code assert after
126 other diagnostics.
127
1282022-02-10 Marcel Vollweiler <marcel@codesourcery.com>
129
130 * dump-parse-tree.cc (show_omp_clauses): Added OMP_LIST_HAS_DEVICE_ADDR
131 case.
132 * gfortran.h: Added OMP_LIST_HAS_DEVICE_ADDR.
133 * openmp.cc (enum omp_mask2): Added OMP_CLAUSE_HAS_DEVICE_ADDR.
134 (gfc_match_omp_clauses): Parse HAS_DEVICE_ADDR clause.
135 (resolve_omp_clauses): Same.
136 * trans-openmp.cc (gfc_trans_omp_variable_list): Added
137 OMP_LIST_HAS_DEVICE_ADDR case.
138 (gfc_trans_omp_clauses): Firstprivatize of array descriptors.
139
3adf509f
GA
1402022-02-09 Harald Anlauf <anlauf@gmx.de>
141
142 PR fortran/66193
143 * arith.cc (reduce_binary_ac): When reducing binary expressions,
144 try simplification. Handle case of empty constructor.
145 (reduce_binary_ca): Likewise.
146
682ede39
GA
1472022-02-03 Harald Anlauf <anlauf@gmx.de>
148
149 PR fortran/104311
150 * check.cc (gfc_calculate_transfer_sizes): Checks for case when
151 storage size of SOURCE is greater than zero while the storage size
152 of MOLD is zero and MOLD is an array shall not depend on SIZE.
153
1542022-02-03 Jakub Jelinek <jakub@redhat.com>
155
156 PR fortran/104328
157 * openmp.cc (is_scalar_intrinsic_expr): If must_be_var && conv_ok
158 and expr is conversion, verify it is a conversion from EXPR_VARIABLE
159 with non-NULL symtree. Check ->block->next before dereferencing it.
160
ae7e4af9
GA
1612022-02-01 Harald Anlauf <anlauf@gmx.de>
162
163 PR fortran/104331
164 * simplify.cc (gfc_simplify_eoshift): Avoid NULL pointer
165 dereference when shape is not set.
166
f6f2d6cf
GA
1672022-01-28 Andre Vehreschild <vehre@gcc.gnu.org>
168
169 PR fortran/103790
170 * trans-array.cc (structure_alloc_comps): Prevent descriptor
171 stacking for non-array data; do not broadcast caf-tokens.
172 * trans-intrinsic.cc (conv_co_collective): Prevent generation
173 of unused descriptor.
174
1752022-01-28 Andre Vehreschild <vehre@gcc.gnu.org>
176
177 Revert:
178 2022-01-28 Andre Vehreschild <vehre@gcc.gnu.org>
179
180 PR fortran/103790
181 * trans-array.cc (structure_alloc_comps): Prevent descriptor
182 stacking for non-array data; do not broadcast caf-tokens.
183 * trans-intrinsic.cc (conv_co_collective): Prevent generation
184 of unused descriptor.
185
1862022-01-28 Andre Vehreschild <vehre@gcc.gnu.org>
187
188 PR fortran/103790
189 * trans-array.cc (structure_alloc_comps): Prevent descriptor
190 stacking for non-array data; do not broadcast caf-tokens.
191 * trans-intrinsic.cc (conv_co_collective): Prevent generation
192 of unused descriptor.
193
99f17e99
GA
1942022-01-27 Harald Anlauf <anlauf@gmx.de>
195
196 PR fortran/104128
197 * expr.cc (gfc_copy_expr): Convert internal representation of
198 string to wide char in value only for default character kind.
199 * target-memory.cc (interpret_array): Pass flag for conversion of
200 wide chars.
201 (gfc_target_interpret_expr): Likewise.
202
2032022-01-27 Harald Anlauf <anlauf@gmx.de>
204
205 PR fortran/84784
206 * trans-intrinsic.cc (conv_intrinsic_image_status): Convert result
207 to resulting (default) integer type.
208 (conv_intrinsic_team_number): Likewise.
209 (gfc_conv_intrinsic_popcnt_poppar): Likewise.
210
e0b8716f
GA
2112022-01-25 Harald Anlauf <anlauf@gmx.de>
212
213 PR fortran/104227
214 * check.cc (gfc_calculate_transfer_sizes): Fix checking of arrays
215 passed as MOLD argument to the TRANSFER intrinsic for having
216 storage size zero.
217
2182022-01-25 Harald Anlauf <anlauf@gmx.de>
219
220 PR fortran/104212
221 * check.cc (gfc_check_norm2): Check that optional argument DIM is
222 scalar.
223 (gfc_check_parity): Likewise.
224
bb99171b
GA
2252022-01-24 Jakub Jelinek <jakub@redhat.com>
226
227 * lang.opt (fconvert=): Add EnumSet property and mention also
228 r16_ieee and r16_ibm arguments.
229 (big-endian, little-endian, native, swap): Add Set(1) property.
230 (r16_ieee, r16_ibm): New EnumValue entries with Set(2) property.
231 * trans-types.cc (gfc_init_kinds): Emit gfc_fatal_error for
232 -fconvert=r16_ieee or -fconvert=r16_ibm when R16_IEEE <=> R16_IBM
233 conversions aren't supported.
234
d43be9dc
GA
2352022-01-22 Harald Anlauf <anlauf@gmx.de>
236
237 PR fortran/104127
238 * simplify.cc (gfc_simplify_transfer): Ensure that the result
239 typespec is set up for TRANSFER with MOLD of type CHARACTER
240 including character length even if the result is a zero-sized
241 array.
242
5fa55d55
GA
2432022-01-20 Sandra Loosemore <sandra@codesourcery.com>
244
245 PR fortran/103695
246 PR fortran/102621
247 * gfortran.h (struct gfc_namespace) Add omp_affinity_iterator
248 field.
249 * dump-parse-tree.cc (show_iterator): Use it.
250 * openmp.cc (gfc_match_iterator): Likewise.
251 (resolve_omp_clauses): Likewise.
252 * trans-decl.cc (gfc_finish_var_decl): Likewise.
253 * trans-openmp.cc (handle_iterator): Likewise.
254
7a761ae6
GA
2552022-01-18 Harald Anlauf <anlauf@gmx.de>
256
257 PR fortran/103692
258 * array.cc (gfc_expand_constructor): Handle zero-sized array
259 constructors.
260
fc829782
GA
2612022-01-17 Martin Liska <mliska@suse.cz>
262
263 * check.cc (gfc_check_all_any): Rename .c names to .cc.
264 * class.cc (find_intrinsic_vtab): Likewise.
265 * config-lang.in: Likewise.
266 * cpp.cc (cpp_define_builtins): Likewise.
267 * data.cc (get_array_index): Likewise.
268 * decl.cc (match_clist_expr): Likewise.
269 (get_proc_name): Likewise.
270 (gfc_verify_c_interop_param): Likewise.
271 (gfc_get_pdt_instance): Likewise.
272 (gfc_match_formal_arglist): Likewise.
273 (gfc_get_type_attr_spec): Likewise.
274 * dependency.cc: Likewise.
275 * error.cc (gfc_format_decoder): Likewise.
276 * expr.cc (check_restricted): Likewise.
277 (gfc_build_default_init_expr): Likewise.
278 * f95-lang.cc: Likewise.
279 * gfc-internals.texi: Likewise.
280 * gfortran.h (enum match): Likewise.
281 (enum procedure_type): Likewise.
282 (enum oacc_routine_lop): Likewise.
283 (gfc_get_pdt_instance): Likewise.
284 (gfc_end_source_files): Likewise.
285 (gfc_mpz_set_hwi): Likewise.
286 (gfc_get_option_string): Likewise.
287 (gfc_find_sym_in_expr): Likewise.
288 (gfc_errors_to_warnings): Likewise.
289 (gfc_real_4_kind): Likewise.
290 (gfc_free_finalizer): Likewise.
291 (gfc_sym_get_dummy_args): Likewise.
292 (gfc_check_intrinsic_standard): Likewise.
293 (gfc_free_case_list): Likewise.
294 (gfc_resolve_oacc_routines): Likewise.
295 (gfc_check_vardef_context): Likewise.
296 (gfc_free_association_list): Likewise.
297 (gfc_implicit_pure_function): Likewise.
298 (gfc_ref_dimen_size): Likewise.
299 (gfc_compare_actual_formal): Likewise.
300 (gfc_resolve_wait): Likewise.
301 (gfc_dt_upper_string): Likewise.
302 (gfc_generate_module_code): Likewise.
303 (gfc_delete_bbt): Likewise.
304 (debug): Likewise.
305 (gfc_build_block_ns): Likewise.
306 (gfc_dep_difference): Likewise.
307 (gfc_invalid_null_arg): Likewise.
308 (gfc_is_finalizable): Likewise.
309 (gfc_fix_implicit_pure): Likewise.
310 (gfc_is_size_zero_array): Likewise.
311 (gfc_is_reallocatable_lhs): Likewise.
312 * gfortranspec.cc: Likewise.
313 * interface.cc (compare_actual_expr): Likewise.
314 * intrinsic.cc (add_functions): Likewise.
315 * iresolve.cc (gfc_resolve_matmul): Likewise.
316 (gfc_resolve_alarm_sub): Likewise.
317 * iso-c-binding.def: Likewise.
318 * lang-specs.h: Likewise.
319 * libgfortran.h (GFC_STDERR_UNIT_NUMBER): Likewise.
320 * match.cc (gfc_match_label): Likewise.
321 (gfc_match_symbol): Likewise.
322 (match_derived_type_spec): Likewise.
323 (copy_ts_from_selector_to_associate): Likewise.
324 * match.h (gfc_match_call): Likewise.
325 (gfc_get_common): Likewise.
326 (gfc_match_omp_end_single): Likewise.
327 (gfc_match_volatile): Likewise.
328 (gfc_match_bind_c): Likewise.
329 (gfc_match_literal_constant): Likewise.
330 (gfc_match_init_expr): Likewise.
331 (gfc_match_array_constructor): Likewise.
332 (gfc_match_end_interface): Likewise.
333 (gfc_match_print): Likewise.
334 (gfc_match_expr): Likewise.
335 * matchexp.cc (next_operator): Likewise.
336 * mathbuiltins.def: Likewise.
337 * module.cc (free_true_name): Likewise.
338 * openmp.cc (gfc_resolve_omp_parallel_blocks): Likewise.
339 (gfc_omp_save_and_clear_state): Likewise.
340 * parse.cc (parse_union): Likewise.
341 (set_syms_host_assoc): Likewise.
342 * resolve.cc (resolve_actual_arglist): Likewise.
343 (resolve_elemental_actual): Likewise.
344 (check_host_association): Likewise.
345 (resolve_typebound_function): Likewise.
346 (resolve_typebound_subroutine): Likewise.
347 (gfc_resolve_expr): Likewise.
348 (resolve_assoc_var): Likewise.
349 (resolve_typebound_procedures): Likewise.
350 (resolve_equivalence_derived): Likewise.
351 * simplify.cc (simplify_bound): Likewise.
352 * symbol.cc (gfc_set_default_type): Likewise.
353 (gfc_add_ext_attribute): Likewise.
354 * target-memory.cc (gfc_target_interpret_expr): Likewise.
355 * target-memory.h (gfc_target_interpret_expr): Likewise.
356 * trans-array.cc (gfc_get_cfi_dim_sm): Likewise.
357 (gfc_conv_shift_descriptor_lbound): Likewise.
358 (gfc_could_be_alias): Likewise.
359 (gfc_get_dataptr_offset): Likewise.
360 * trans-const.cc: Likewise.
361 * trans-decl.cc (trans_function_start): Likewise.
362 (gfc_trans_deferred_vars): Likewise.
363 (generate_local_decl): Likewise.
364 (gfc_generate_function_code): Likewise.
365 * trans-expr.cc (gfc_vptr_size_get): Likewise.
366 (gfc_trans_class_array_init_assign): Likewise.
367 (POWI_TABLE_SIZE): Likewise.
368 (gfc_conv_procedure_call): Likewise.
369 (gfc_trans_arrayfunc_assign): Likewise.
370 * trans-intrinsic.cc (gfc_conv_intrinsic_len): Likewise.
371 (gfc_conv_intrinsic_loc): Likewise.
372 (conv_intrinsic_event_query): Likewise.
373 * trans-io.cc (gfc_build_st_parameter): Likewise.
374 * trans-openmp.cc (gfc_omp_check_optional_argument): Likewise.
375 (gfc_omp_unshare_expr_r): Likewise.
376 (gfc_trans_omp_array_section): Likewise.
377 (gfc_trans_omp_clauses): Likewise.
378 * trans-stmt.cc (trans_associate_var): Likewise.
379 (gfc_trans_deallocate): Likewise.
380 * trans-stmt.h (gfc_trans_class_init_assign): Likewise.
381 (gfc_trans_deallocate): Likewise.
382 (gfc_trans_oacc_declare): Likewise.
383 * trans-types.cc: Likewise.
384 * trans-types.h (enum gfc_packed): Likewise.
385 * trans.cc (N_): Likewise.
386 (trans_code): Likewise.
387 * trans.h (gfc_build_compare_string): Likewise.
388 (gfc_conv_expr_type): Likewise.
389 (gfc_trans_deferred_vars): Likewise.
390 (getdecls): Likewise.
391 (gfc_get_array_descr_info): Likewise.
392 (gfc_omp_firstprivatize_type_sizes): Likewise.
393 (GTY): Likewise.
394
3952022-01-17 Martin Liska <mliska@suse.cz>
396
397 * arith.c: Moved to...
398 * arith.cc: ...here.
399 * array.c: Moved to...
400 * array.cc: ...here.
401 * bbt.c: Moved to...
402 * bbt.cc: ...here.
403 * check.c: Moved to...
404 * check.cc: ...here.
405 * class.c: Moved to...
406 * class.cc: ...here.
407 * constructor.c: Moved to...
408 * constructor.cc: ...here.
409 * convert.c: Moved to...
410 * convert.cc: ...here.
411 * cpp.c: Moved to...
412 * cpp.cc: ...here.
413 * data.c: Moved to...
414 * data.cc: ...here.
415 * decl.c: Moved to...
416 * decl.cc: ...here.
417 * dependency.c: Moved to...
418 * dependency.cc: ...here.
419 * dump-parse-tree.c: Moved to...
420 * dump-parse-tree.cc: ...here.
421 * error.c: Moved to...
422 * error.cc: ...here.
423 * expr.c: Moved to...
424 * expr.cc: ...here.
425 * f95-lang.c: Moved to...
426 * f95-lang.cc: ...here.
427 * frontend-passes.c: Moved to...
428 * frontend-passes.cc: ...here.
429 * gfortranspec.c: Moved to...
430 * gfortranspec.cc: ...here.
431 * interface.c: Moved to...
432 * interface.cc: ...here.
433 * intrinsic.c: Moved to...
434 * intrinsic.cc: ...here.
435 * io.c: Moved to...
436 * io.cc: ...here.
437 * iresolve.c: Moved to...
438 * iresolve.cc: ...here.
439 * match.c: Moved to...
440 * match.cc: ...here.
441 * matchexp.c: Moved to...
442 * matchexp.cc: ...here.
443 * misc.c: Moved to...
444 * misc.cc: ...here.
445 * module.c: Moved to...
446 * module.cc: ...here.
447 * openmp.c: Moved to...
448 * openmp.cc: ...here.
449 * options.c: Moved to...
450 * options.cc: ...here.
451 * parse.c: Moved to...
452 * parse.cc: ...here.
453 * primary.c: Moved to...
454 * primary.cc: ...here.
455 * resolve.c: Moved to...
456 * resolve.cc: ...here.
457 * scanner.c: Moved to...
458 * scanner.cc: ...here.
459 * simplify.c: Moved to...
460 * simplify.cc: ...here.
461 * st.c: Moved to...
462 * st.cc: ...here.
463 * symbol.c: Moved to...
464 * symbol.cc: ...here.
465 * target-memory.c: Moved to...
466 * target-memory.cc: ...here.
467 * trans-array.c: Moved to...
468 * trans-array.cc: ...here.
469 * trans-common.c: Moved to...
470 * trans-common.cc: ...here.
471 * trans-const.c: Moved to...
472 * trans-const.cc: ...here.
473 * trans-decl.c: Moved to...
474 * trans-decl.cc: ...here.
475 * trans-expr.c: Moved to...
476 * trans-expr.cc: ...here.
477 * trans-intrinsic.c: Moved to...
478 * trans-intrinsic.cc: ...here.
479 * trans-io.c: Moved to...
480 * trans-io.cc: ...here.
481 * trans-openmp.c: Moved to...
482 * trans-openmp.cc: ...here.
483 * trans-stmt.c: Moved to...
484 * trans-stmt.cc: ...here.
485 * trans-types.c: Moved to...
486 * trans-types.cc: ...here.
487 * trans.c: Moved to...
488 * trans.cc: ...here.
489
4902022-01-17 Andrew Stubbs <ams@codesourcery.com>
491
492 * openmp.c (gfc_match_omp_requires): Don't "sorry" dynamic_allocators.
493
9248ee41
GA
4942022-01-15 Harald Anlauf <anlauf@gmx.de>
495
496 PR fortran/83079
497 * target-memory.c (gfc_interpret_character): Result length is
498 in bytes and thus depends on the character kind.
499 * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Compute correct
500 string length for the result of the TRANSFER intrinsic and for
501 temporaries for the different character kinds.
502
617db51d
GA
5032022-01-14 Harald Anlauf <anlauf@gmx.de>
504
505 PR fortran/99256
506 * intrinsic.c: Do not check formal argument type when checking
507 arguments of intrinsics for alternate return specifiers.
508
5092022-01-14 Harald Anlauf <anlauf@gmx.de>
510
511 PR fortran/103782
512 * expr.c (gfc_simplify_expr): Adjust logic for when to scalarize a
513 call of an intrinsic which may have been overloaded.
514
ad3f0d08
GA
5152022-01-13 Hafiz Abid Qadeer <abidh@codesourcery.com>
516
517 * dump-parse-tree.c (show_omp_clauses): Handle OMP_LIST_ALLOCATE.
518 * gfortran.h (OMP_LIST_ALLOCATE): New enum value.
519 * openmp.c (enum omp_mask1): Add OMP_CLAUSE_ALLOCATE.
520 (gfc_match_omp_clauses): Handle OMP_CLAUSE_ALLOCATE
521 (OMP_PARALLEL_CLAUSES, OMP_DO_CLAUSES, OMP_SECTIONS_CLAUSES)
522 (OMP_TASK_CLAUSES, OMP_TASKLOOP_CLAUSES, OMP_TARGET_CLAUSES)
523 (OMP_TEAMS_CLAUSES, OMP_DISTRIBUTE_CLAUSES)
524 (OMP_SINGLE_CLAUSES): Add OMP_CLAUSE_ALLOCATE.
525 (OMP_TASKGROUP_CLAUSES): New.
526 (gfc_match_omp_taskgroup): Use OMP_TASKGROUP_CLAUSES instead of
527 OMP_CLAUSE_TASK_REDUCTION.
528 (resolve_omp_clauses): Handle OMP_LIST_ALLOCATE.
529 (resolve_omp_do): Avoid warning when loop iteration variable is
530 in allocate clause.
531 * trans-openmp.c (gfc_trans_omp_clauses): Handle translation of
532 allocate clause.
533 (gfc_split_omp_clauses): Update for OMP_LIST_ALLOCATE.
534
5352022-01-13 Harald Anlauf <anlauf@gmx.de>
536
537 PR fortran/67804
538 * primary.c (gfc_match_structure_constructor): Recover from errors
539 that occurred while checking for a valid structure constructor in
540 a DATA statement.
541
01a254e3
GA
5422022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org>
543
544 * libgfortran.h (unit_convert): Add flags.
545
5462022-01-11 Jakub Jelinek <jakub@redhat.com>
547
548 * trans-types.c (gfc_init_kinds): When setting abi_kind to 17, if not
549 targetting glibc 2.32 or later and -fbuilding-libgfortran, set
550 gfc_real16_is_float128 and c_float128 in gfc_real_kinds.
551 (gfc_build_real_type): Don't set c_long_double if c_float128 is
552 already set.
553 * trans-intrinsic.c (builtin_decl_for_precision): Don't use
554 long_double_built_in if gfc_real16_is_float128 and
555 long_double_type_node == gfc_float128_type_node.
556 * lang.opt (fbuilding-libgfortran): New undocumented option.
557
5582022-01-11 Jakub Jelinek <jakub@redhat.com>
559
560 * trans-intrinsic.c (gfc_get_intrinsic_lib_fndecl): Use
561 gfc_type_abi_kind.
562
5632022-01-11 Jakub Jelinek <jakub@redhat.com>
564
565 * trans-io.c (transfer_array_desc): Pass abi kind instead of kind
566 to libgfortran.
567
5682022-01-11 Jakub Jelinek <jakub@redhat.com>
569
570 * trans-io.c (transfer_namelist_element): Use gfc_type_abi_kind,
571 formatting fixes.
572 (transfer_expr): Use gfc_type_abi_kind, use *REAL128* APIs even
573 for abi_kind == 17.
574
5752022-01-11 Jakub Jelinek <jakub@redhat.com>
576
577 * gfortran.h (gfc_real_info): Add abi_kind member.
578 (gfc_type_abi_kind): Declare.
579 * trans-types.c (gfc_init_kinds): Initialize abi_kind.
580 * intrinsic.c (gfc_type_abi_kind): New function.
581 (conv_name): Use it.
582 * iresolve.c (resolve_transformational, gfc_resolve_abs,
583 gfc_resolve_char_achar, gfc_resolve_acos, gfc_resolve_acosh,
584 gfc_resolve_aimag, gfc_resolve_and, gfc_resolve_aint, gfc_resolve_all,
585 gfc_resolve_anint, gfc_resolve_any, gfc_resolve_asin,
586 gfc_resolve_asinh, gfc_resolve_atan, gfc_resolve_atanh,
587 gfc_resolve_atan2, gfc_resolve_bessel_n2, gfc_resolve_ceiling,
588 gfc_resolve_cmplx, gfc_resolve_complex, gfc_resolve_cos,
589 gfc_resolve_cosh, gfc_resolve_count, gfc_resolve_dble,
590 gfc_resolve_dim, gfc_resolve_dot_product, gfc_resolve_dprod,
591 gfc_resolve_exp, gfc_resolve_floor, gfc_resolve_hypot,
592 gfc_resolve_int, gfc_resolve_int2, gfc_resolve_int8, gfc_resolve_long,
593 gfc_resolve_log, gfc_resolve_log10, gfc_resolve_logical,
594 gfc_resolve_matmul, gfc_resolve_minmax, gfc_resolve_maxloc,
595 gfc_resolve_findloc, gfc_resolve_maxval, gfc_resolve_merge,
596 gfc_resolve_minloc, gfc_resolve_minval, gfc_resolve_mod,
597 gfc_resolve_modulo, gfc_resolve_nearest, gfc_resolve_or,
598 gfc_resolve_real, gfc_resolve_realpart, gfc_resolve_reshape,
599 gfc_resolve_sign, gfc_resolve_sin, gfc_resolve_sinh, gfc_resolve_sqrt,
600 gfc_resolve_tan, gfc_resolve_tanh, gfc_resolve_transpose,
601 gfc_resolve_trigd, gfc_resolve_xor, gfc_resolve_random_number):
602 Likewise.
603 * trans-decl.c (gfc_build_intrinsic_function_decls): Likewise.
604
d9450aa0
GA
6052022-01-10 Paul Thomas <pault@gcc.gnu.org>
606
607 PR fortran/103366
608 * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Allow unlimited
609 polymorphic actual argument passed to assumed type formal.
610
3a5702df
GA
6112022-01-09 Harald Anlauf <anlauf@gmx.de>
612
613 PR fortran/103777
614 * simplify.c (gfc_simplify_maskr): Check validity of argument 'I'
615 before simplifying.
616 (gfc_simplify_maskl): Likewise.
617
6182022-01-09 Harald Anlauf <anlauf@gmx.de>
619
620 PR fortran/101762
621 * expr.c (gfc_check_pointer_assign): For pointer initialization
622 targets, check that subscripts and substring indices in
623 specifications are constant expressions.
624
6252022-01-09 Mikael Morin <mikael@gcc.gnu.org>
626
627 PR fortran/103789
628 * trans-array.c (arg_evaluated_for_scalarization): Add MASKL, MASKR,
629 SCAN and VERIFY to the list of intrinsics whose KIND argument is to be
630 ignored.
631
55e96bf9
GA
6322022-01-07 Sandra Loosemore <sandra@codesourcery.com>
633
634 PR fortran/103898
635 * trans-intrinsic.c (gfc_conv_intrinsic_size): Make size_var
636 actually be a variable and fix surrounding code.
637
11ce8d04
GA
6382022-01-06 Steve Kargl <kargl@gcc.gnu.org>
639 Sandra Loosemore <sandra@codesourcery.com>
640
641 PR fortran/103287
642 * interface.c (argument_rank_mismatch): Replace incorrect assertion
643 with return.
644
0fbefa25
GA
6452022-01-05 Sandra Loosemore <sandra@codesourcery.com>
646
647 PR fortran/103258
648 * decl.c (gfc_match_char_spec): Suppress errors around call
649 to gfc_reduce_init_expr.
650 * error.c (gfc_query_suppress_errors): New.
651 * gfortran.h (gfc_query_suppress_errors): Declare.
652 * symbol.c (gfc_set_default_type): Check gfc_query_suppress_errors.
653
a4ae8c37
GA
6542022-01-03 Sandra Loosemore <sandra@codesourcery.com>
655
656 PR fortran/103390
657 * expr.c (gfc_is_simply_contiguous): Make it smarter about
658 function calls.
659 * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Do not generate
660 copy loops for array expressions that are not "variables" (lvalues).
661
6622022-01-03 Jakub Jelinek <jakub@redhat.com>
663
664 * gfortranspec.c (lang_specific_driver): Update copyright notice
665 dates.
666 * gfc-internals.texi: Bump @copying's copyright year.
667 * gfortran.texi: Ditto.
668 * intrinsic.texi: Ditto.
669 * invoke.texi: Ditto.
670
21fa2a29 671\f
6123f29a 672Copyright (C) 2022 Free Software Foundation, Inc.
ad41bd84
JM
673
674Copying and distribution of this file, with or without modification,
675are permitted in any medium without royalty provided the copyright
676notice and this notice are preserved.