1 2022-04-22 Mikael Morin <mikael@gcc.gnu.org>
2 Richard Biener <rguenther@suse.de>
5 * trans.h (gfc_build_array_ref): Add non_negative_offset
7 * trans.cc (gfc_build_array_ref): Ditto. Use pointer arithmetic
8 if non_negative_offset is false.
9 * trans-expr.cc (gfc_conv_substring): Set flag in the call to
11 * trans-array.cc (gfc_get_cfi_dim_item,
12 gfc_conv_descriptor_dimension): Same.
13 (build_array_ref): Decide on whether to set the flag and update
15 (gfc_conv_scalarized_array_ref): Same. New argument tmp_array.
16 (gfc_conv_tmp_array_ref): Update call to
17 gfc_conv_scalarized_ref.
18 (non_negative_strides_array_p): New function.
20 2022-04-22 Mikael Morin <mikael@gcc.gnu.org>
23 * trans-array.cc (gfc_conv_expr_descriptor): Use
24 gfc_conv_tmp_array_ref.
26 2022-04-22 Mikael Morin <mikael@gcc.gnu.org>
29 * trans-io.cc: Add handling for the case where the array
30 is referenced using pointer arithmetic.
32 2022-04-22 Mikael Morin <mikael@gcc.gnu.org>
35 * trans-expr.cc: Pre-evaluate src and dest to variables
38 2022-04-21 Fritz Reese <foreese@gcc.gnu.org>
41 * trans-expr.cc (gfc_conv_union_initializer): Pass vec* by reference.
43 2022-04-13 Tobias Burnus <tobias@codesourcery.com>
46 * match.cc (match_exit_cycle): Handle missing OMP LOOP, DO and SIMD
47 directives in the EXIT/CYCLE diagnostic.
49 2022-04-10 Harald Anlauf <anlauf@gmx.de>
52 * array.cc (match_subscript): Reject assumed size coarray
53 specification with missing lower bound.
54 * resolve.cc (resolve_allocate_expr): Fix logic for checking
55 allocate-coshape-spec in ALLOCATE statement.
57 2022-04-05 Sandra Loosemore <sandra@codesourcery.com>
59 * trans-openmp.cc (gfc_split_omp_clauses): Fix mask for
60 EXEC_OMP_MASKED_TASKLOOP.
62 2022-04-05 Harald Anlauf <anlauf@gmx.de>
65 * arith.cc (eval_intrinsic): Avoid NULL pointer dereference.
66 (gfc_zero_size_array): Likewise.
68 2022-04-05 Harald Anlauf <anlauf@gmx.de>
69 Steven G. Kargl <kargl@gcc.gnu.org>
72 * intrinsic.cc (gfc_is_intrinsic): When a symbol refers to a
73 RECURSIVE procedure, it cannot be an INTRINSIC.
75 2022-03-30 Harald Anlauf <anlauf@gmx.de>
78 * check.cc (gfc_check_associated): Avoid NULL pointer dereference.
80 2022-03-29 Harald Anlauf <anlauf@gmx.de>
81 Steven G. Kargl <kargl@gcc.gnu.org>
84 * resolve.cc (resolve_elemental_actual): Avoid NULL pointer
87 2022-03-29 Harald Anlauf <anlauf@gmx.de>
90 * resolve.cc (resolve_structure_cons): Reject pointer assignments
91 of character with different lengths in structure constructor.
93 2022-03-25 Jakub Jelinek <jakub@redhat.com>
96 * trans-array.cc (gfc_conv_array_initializer): If TYPE_MAX_VALUE is
97 smaller than TYPE_MIN_VALUE (i.e. empty array), ignore the
98 initializer; if TYPE_MIN_VALUE is equal to TYPE_MAX_VALUE, use just
99 the TYPE_MIN_VALUE as index instead of RANGE_EXPR.
101 2022-03-23 Tobias Burnus <tobias@codesourcery.com>
104 * scanner.cc (add_path_to_list): Don't append '/' to the
106 (open_included_file): Use '/' in concatenating path + file name.
107 * module.cc (gzopen_included_file_1): Likewise.
109 2022-03-22 Harald Anlauf <anlauf@gmx.de>
112 * simplify.cc (gfc_simplify_cshift): Ensure temporary holding
113 source array stride is initialized.
115 2022-03-19 Mikael Morin <mikael@gcc.gnu.org>
119 * parse.cc (parse_associate): Use a new distinct gfc_charlen if the
120 copied type has one whose length is not known to be constant.
121 * resolve.cc (resolve_assoc_var): Reset charlen if it’s shared with
122 the associate target regardless of the expression type.
123 Don’t reinitialize charlen if it’s deferred.
125 2022-03-18 Tobias Burnus <tobias@codesourcery.com>
128 * trans-openmp.cc (gfc_omp_clause_copy_ctor, gfc_omp_clause_dtor):
129 Only privatize pointer for associate names.
131 2022-03-18 Tobias Burnus <tobias@codesourcery.com>
134 * openmp.cc (resolve_omp_clauses): Improve associate-name diagnostic
135 for select type/rank.
137 2022-03-11 Tobias Burnus <tobias@codesourcery.com>
139 * trans-openmp.cc (gfc_trans_omp_clauses, gfc_omp_finish_clause):
140 Obtain size for mapping only if allocatable array is allocated.
142 2022-03-09 Harald Anlauf <anlauf@gmx.de>
145 * expr.cc (find_array_section): Avoid NULL pointer dereference on
146 invalid array section.
148 2022-03-09 Tobias Burnus <tobias@codesourcery.com>
150 * trans-intrinsic.cc (gfc_conv_intrinsic_sizeof): Fix CLASS handling.
152 2022-03-08 Tobias Burnus <tobias@codesourcery.com>
155 * trans-expr.cc (gfc_conv_gfc_desc_to_cfi_desc): Handle NULL
158 2022-03-08 Harald Anlauf <anlauf@gmx.de>
161 * frontend-passes.cc (optimize_minmaxloc): Do not attempt
162 frontend-optimization of MINLOC/MAXLOC for character arrays, as
163 there is no suitable code yet for inline expansion.
165 2022-03-07 Tobias Burnus <tobias@codesourcery.com>
169 * trans-expr.cc (conv_parent_component_references): Fix comment;
171 (gfc_maybe_dereference_var): Avoid d referencing a nonpointer.
173 2022-03-07 Tobias Burnus <tobias@codesourcery.com>
175 * array.cc (gfc_ref_dimen_size): Fix comment typo.
176 * dump-parse-tree.cc (gfc_dump_c_prototypes): Likewise.
177 * frontend-passes.cc (cfe_code): Likewise.
178 * gfortran.texi: Likewise.
179 * resolve.cc (generate_component_assignments): Likewise.
180 * simplify.cc (gfc_simplify_this_image): Likewise.
181 * trans-expr.cc (trans_scalar_class_assign,
182 gfc_maybe_dereference_var): Likewise.
183 * intrinsic.texi: Remove word duplication.
184 * invoke.texi: Likewise.
186 2022-03-07 Jakub Jelinek <jakub@redhat.com>
188 * trans-expr.cc: Fix up duplicated word issue in a comment.
189 * gfortran.h: Likewise.
190 * scanner.cc: Likewise.
192 2022-03-07 Martin Liska <mliska@suse.cz>
194 * intrinsic.cc (gfc_is_intrinsic): Remove asterisk from error
197 2022-03-07 Martin Liska <mliska@suse.cz>
200 * intrinsic.cc (gfc_is_intrinsic): Put
201 quote to a proper place.
203 2022-03-03 Kwok Cheung Yeung <kcy@codesourcery.com>
206 * openmp.cc (gfc_match_omp_detach): Move check for type of event
208 (resolve_omp_clauses) ...here. Also check that the event handle is
209 not an array, or an array access or structure element access.
211 2022-03-02 Harald Anlauf <anlauf@gmx.de>
214 * resolve.cc (resolve_structure_cons): Avoid NULL pointer
215 dereference when there is no valid component.
217 2022-02-24 Harald Anlauf <anlauf@gmx.de>
220 * dump-parse-tree.cc (show_code_node): Dump QUIET specifier when
222 * match.cc (gfc_match_stopcode): Implement parsing of F2018 QUIET
223 specifier. F2018 stopcodes may have non-default integer kind.
224 * resolve.cc (gfc_resolve_code): Add checks for QUIET argument.
225 * trans-stmt.cc (gfc_trans_stop): Pass QUIET specifier to call of
228 2022-02-22 Harald Anlauf <anlauf@gmx.de>
231 * resolve.cc (resolve_structure_cons): Skip shape check if shape
232 of constructor cannot be determined at compile time.
234 2022-02-20 Harald Anlauf <anlauf@gmx.de>
237 * data.cc (gfc_assign_data_value): If a variable in a data
238 statement has the POINTER attribute, check for allowed initial
239 data target that is compatible with pointer assignment.
240 * gfortran.h (IS_POINTER): New macro.
242 2022-02-15 Tobias Burnus <tobias@codesourcery.com>
244 * trans-openmp.cc (gfc_trans_omp_depobj): Fix to alloc/ptr dummy
247 2022-02-15 Tobias Burnus <tobias@codesourcery.com>
249 * trans-openmp.cc (gfc_trans_omp_clauses, gfc_trans_omp_depobj):
250 Depend on the proper addr, for ptr/alloc depend on pointee.
252 2022-02-14 Harald Anlauf <anlauf@gmx.de>
255 * expr.cc (find_array_section): Replace assertion by error
256 recovery when encountering bad array constructor.
258 2022-02-13 Mikael Morin <mikael@gcc.gnu.org>
261 * resolve.cc (resolve_assoc_var): Also create a new character
262 length for non-dummy associate targets.
263 * trans-stmt.cc (trans_associate_var): Initialize character length
264 even if no temporary is used for the associate variable.
266 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
267 Tobias Burnus <tobias@codesourcery.com>
269 * trans-common.cc (GFC_EQUIV_FMT): New macro respecting the
270 target's NO_DOT_IN_LABEL and NO_DOLLAR_IN_LABEL preferences.
271 (build_equiv_decl): Use GFC_EQUIV_FMT here.
273 2022-02-10 Tobias Burnus <tobias@codesourcery.com>
276 * openmp.cc (resolve_omp_atomic): Defer extra-code assert after
279 2022-02-10 Marcel Vollweiler <marcel@codesourcery.com>
281 * dump-parse-tree.cc (show_omp_clauses): Added OMP_LIST_HAS_DEVICE_ADDR
283 * gfortran.h: Added OMP_LIST_HAS_DEVICE_ADDR.
284 * openmp.cc (enum omp_mask2): Added OMP_CLAUSE_HAS_DEVICE_ADDR.
285 (gfc_match_omp_clauses): Parse HAS_DEVICE_ADDR clause.
286 (resolve_omp_clauses): Same.
287 * trans-openmp.cc (gfc_trans_omp_variable_list): Added
288 OMP_LIST_HAS_DEVICE_ADDR case.
289 (gfc_trans_omp_clauses): Firstprivatize of array descriptors.
291 2022-02-09 Harald Anlauf <anlauf@gmx.de>
294 * arith.cc (reduce_binary_ac): When reducing binary expressions,
295 try simplification. Handle case of empty constructor.
296 (reduce_binary_ca): Likewise.
298 2022-02-03 Harald Anlauf <anlauf@gmx.de>
301 * check.cc (gfc_calculate_transfer_sizes): Checks for case when
302 storage size of SOURCE is greater than zero while the storage size
303 of MOLD is zero and MOLD is an array shall not depend on SIZE.
305 2022-02-03 Jakub Jelinek <jakub@redhat.com>
308 * openmp.cc (is_scalar_intrinsic_expr): If must_be_var && conv_ok
309 and expr is conversion, verify it is a conversion from EXPR_VARIABLE
310 with non-NULL symtree. Check ->block->next before dereferencing it.
312 2022-02-01 Harald Anlauf <anlauf@gmx.de>
315 * simplify.cc (gfc_simplify_eoshift): Avoid NULL pointer
316 dereference when shape is not set.
318 2022-01-28 Andre Vehreschild <vehre@gcc.gnu.org>
321 * trans-array.cc (structure_alloc_comps): Prevent descriptor
322 stacking for non-array data; do not broadcast caf-tokens.
323 * trans-intrinsic.cc (conv_co_collective): Prevent generation
324 of unused descriptor.
326 2022-01-28 Andre Vehreschild <vehre@gcc.gnu.org>
329 2022-01-28 Andre Vehreschild <vehre@gcc.gnu.org>
332 * trans-array.cc (structure_alloc_comps): Prevent descriptor
333 stacking for non-array data; do not broadcast caf-tokens.
334 * trans-intrinsic.cc (conv_co_collective): Prevent generation
335 of unused descriptor.
337 2022-01-28 Andre Vehreschild <vehre@gcc.gnu.org>
340 * trans-array.cc (structure_alloc_comps): Prevent descriptor
341 stacking for non-array data; do not broadcast caf-tokens.
342 * trans-intrinsic.cc (conv_co_collective): Prevent generation
343 of unused descriptor.
345 2022-01-27 Harald Anlauf <anlauf@gmx.de>
348 * expr.cc (gfc_copy_expr): Convert internal representation of
349 string to wide char in value only for default character kind.
350 * target-memory.cc (interpret_array): Pass flag for conversion of
352 (gfc_target_interpret_expr): Likewise.
354 2022-01-27 Harald Anlauf <anlauf@gmx.de>
357 * trans-intrinsic.cc (conv_intrinsic_image_status): Convert result
358 to resulting (default) integer type.
359 (conv_intrinsic_team_number): Likewise.
360 (gfc_conv_intrinsic_popcnt_poppar): Likewise.
362 2022-01-25 Harald Anlauf <anlauf@gmx.de>
365 * check.cc (gfc_calculate_transfer_sizes): Fix checking of arrays
366 passed as MOLD argument to the TRANSFER intrinsic for having
369 2022-01-25 Harald Anlauf <anlauf@gmx.de>
372 * check.cc (gfc_check_norm2): Check that optional argument DIM is
374 (gfc_check_parity): Likewise.
376 2022-01-24 Jakub Jelinek <jakub@redhat.com>
378 * lang.opt (fconvert=): Add EnumSet property and mention also
379 r16_ieee and r16_ibm arguments.
380 (big-endian, little-endian, native, swap): Add Set(1) property.
381 (r16_ieee, r16_ibm): New EnumValue entries with Set(2) property.
382 * trans-types.cc (gfc_init_kinds): Emit gfc_fatal_error for
383 -fconvert=r16_ieee or -fconvert=r16_ibm when R16_IEEE <=> R16_IBM
384 conversions aren't supported.
386 2022-01-22 Harald Anlauf <anlauf@gmx.de>
389 * simplify.cc (gfc_simplify_transfer): Ensure that the result
390 typespec is set up for TRANSFER with MOLD of type CHARACTER
391 including character length even if the result is a zero-sized
394 2022-01-20 Sandra Loosemore <sandra@codesourcery.com>
398 * gfortran.h (struct gfc_namespace) Add omp_affinity_iterator
400 * dump-parse-tree.cc (show_iterator): Use it.
401 * openmp.cc (gfc_match_iterator): Likewise.
402 (resolve_omp_clauses): Likewise.
403 * trans-decl.cc (gfc_finish_var_decl): Likewise.
404 * trans-openmp.cc (handle_iterator): Likewise.
406 2022-01-18 Harald Anlauf <anlauf@gmx.de>
409 * array.cc (gfc_expand_constructor): Handle zero-sized array
412 2022-01-17 Martin Liska <mliska@suse.cz>
414 * check.cc (gfc_check_all_any): Rename .c names to .cc.
415 * class.cc (find_intrinsic_vtab): Likewise.
416 * config-lang.in: Likewise.
417 * cpp.cc (cpp_define_builtins): Likewise.
418 * data.cc (get_array_index): Likewise.
419 * decl.cc (match_clist_expr): Likewise.
420 (get_proc_name): Likewise.
421 (gfc_verify_c_interop_param): Likewise.
422 (gfc_get_pdt_instance): Likewise.
423 (gfc_match_formal_arglist): Likewise.
424 (gfc_get_type_attr_spec): Likewise.
425 * dependency.cc: Likewise.
426 * error.cc (gfc_format_decoder): Likewise.
427 * expr.cc (check_restricted): Likewise.
428 (gfc_build_default_init_expr): Likewise.
429 * f95-lang.cc: Likewise.
430 * gfc-internals.texi: Likewise.
431 * gfortran.h (enum match): Likewise.
432 (enum procedure_type): Likewise.
433 (enum oacc_routine_lop): Likewise.
434 (gfc_get_pdt_instance): Likewise.
435 (gfc_end_source_files): Likewise.
436 (gfc_mpz_set_hwi): Likewise.
437 (gfc_get_option_string): Likewise.
438 (gfc_find_sym_in_expr): Likewise.
439 (gfc_errors_to_warnings): Likewise.
440 (gfc_real_4_kind): Likewise.
441 (gfc_free_finalizer): Likewise.
442 (gfc_sym_get_dummy_args): Likewise.
443 (gfc_check_intrinsic_standard): Likewise.
444 (gfc_free_case_list): Likewise.
445 (gfc_resolve_oacc_routines): Likewise.
446 (gfc_check_vardef_context): Likewise.
447 (gfc_free_association_list): Likewise.
448 (gfc_implicit_pure_function): Likewise.
449 (gfc_ref_dimen_size): Likewise.
450 (gfc_compare_actual_formal): Likewise.
451 (gfc_resolve_wait): Likewise.
452 (gfc_dt_upper_string): Likewise.
453 (gfc_generate_module_code): Likewise.
454 (gfc_delete_bbt): Likewise.
456 (gfc_build_block_ns): Likewise.
457 (gfc_dep_difference): Likewise.
458 (gfc_invalid_null_arg): Likewise.
459 (gfc_is_finalizable): Likewise.
460 (gfc_fix_implicit_pure): Likewise.
461 (gfc_is_size_zero_array): Likewise.
462 (gfc_is_reallocatable_lhs): Likewise.
463 * gfortranspec.cc: Likewise.
464 * interface.cc (compare_actual_expr): Likewise.
465 * intrinsic.cc (add_functions): Likewise.
466 * iresolve.cc (gfc_resolve_matmul): Likewise.
467 (gfc_resolve_alarm_sub): Likewise.
468 * iso-c-binding.def: Likewise.
469 * lang-specs.h: Likewise.
470 * libgfortran.h (GFC_STDERR_UNIT_NUMBER): Likewise.
471 * match.cc (gfc_match_label): Likewise.
472 (gfc_match_symbol): Likewise.
473 (match_derived_type_spec): Likewise.
474 (copy_ts_from_selector_to_associate): Likewise.
475 * match.h (gfc_match_call): Likewise.
476 (gfc_get_common): Likewise.
477 (gfc_match_omp_end_single): Likewise.
478 (gfc_match_volatile): Likewise.
479 (gfc_match_bind_c): Likewise.
480 (gfc_match_literal_constant): Likewise.
481 (gfc_match_init_expr): Likewise.
482 (gfc_match_array_constructor): Likewise.
483 (gfc_match_end_interface): Likewise.
484 (gfc_match_print): Likewise.
485 (gfc_match_expr): Likewise.
486 * matchexp.cc (next_operator): Likewise.
487 * mathbuiltins.def: Likewise.
488 * module.cc (free_true_name): Likewise.
489 * openmp.cc (gfc_resolve_omp_parallel_blocks): Likewise.
490 (gfc_omp_save_and_clear_state): Likewise.
491 * parse.cc (parse_union): Likewise.
492 (set_syms_host_assoc): Likewise.
493 * resolve.cc (resolve_actual_arglist): Likewise.
494 (resolve_elemental_actual): Likewise.
495 (check_host_association): Likewise.
496 (resolve_typebound_function): Likewise.
497 (resolve_typebound_subroutine): Likewise.
498 (gfc_resolve_expr): Likewise.
499 (resolve_assoc_var): Likewise.
500 (resolve_typebound_procedures): Likewise.
501 (resolve_equivalence_derived): Likewise.
502 * simplify.cc (simplify_bound): Likewise.
503 * symbol.cc (gfc_set_default_type): Likewise.
504 (gfc_add_ext_attribute): Likewise.
505 * target-memory.cc (gfc_target_interpret_expr): Likewise.
506 * target-memory.h (gfc_target_interpret_expr): Likewise.
507 * trans-array.cc (gfc_get_cfi_dim_sm): Likewise.
508 (gfc_conv_shift_descriptor_lbound): Likewise.
509 (gfc_could_be_alias): Likewise.
510 (gfc_get_dataptr_offset): Likewise.
511 * trans-const.cc: Likewise.
512 * trans-decl.cc (trans_function_start): Likewise.
513 (gfc_trans_deferred_vars): Likewise.
514 (generate_local_decl): Likewise.
515 (gfc_generate_function_code): Likewise.
516 * trans-expr.cc (gfc_vptr_size_get): Likewise.
517 (gfc_trans_class_array_init_assign): Likewise.
518 (POWI_TABLE_SIZE): Likewise.
519 (gfc_conv_procedure_call): Likewise.
520 (gfc_trans_arrayfunc_assign): Likewise.
521 * trans-intrinsic.cc (gfc_conv_intrinsic_len): Likewise.
522 (gfc_conv_intrinsic_loc): Likewise.
523 (conv_intrinsic_event_query): Likewise.
524 * trans-io.cc (gfc_build_st_parameter): Likewise.
525 * trans-openmp.cc (gfc_omp_check_optional_argument): Likewise.
526 (gfc_omp_unshare_expr_r): Likewise.
527 (gfc_trans_omp_array_section): Likewise.
528 (gfc_trans_omp_clauses): Likewise.
529 * trans-stmt.cc (trans_associate_var): Likewise.
530 (gfc_trans_deallocate): Likewise.
531 * trans-stmt.h (gfc_trans_class_init_assign): Likewise.
532 (gfc_trans_deallocate): Likewise.
533 (gfc_trans_oacc_declare): Likewise.
534 * trans-types.cc: Likewise.
535 * trans-types.h (enum gfc_packed): Likewise.
536 * trans.cc (N_): Likewise.
537 (trans_code): Likewise.
538 * trans.h (gfc_build_compare_string): Likewise.
539 (gfc_conv_expr_type): Likewise.
540 (gfc_trans_deferred_vars): Likewise.
541 (getdecls): Likewise.
542 (gfc_get_array_descr_info): Likewise.
543 (gfc_omp_firstprivatize_type_sizes): Likewise.
546 2022-01-17 Martin Liska <mliska@suse.cz>
548 * arith.c: Moved to...
550 * array.c: Moved to...
554 * check.c: Moved to...
556 * class.c: Moved to...
558 * constructor.c: Moved to...
559 * constructor.cc: ...here.
560 * convert.c: Moved to...
561 * convert.cc: ...here.
564 * data.c: Moved to...
566 * decl.c: Moved to...
568 * dependency.c: Moved to...
569 * dependency.cc: ...here.
570 * dump-parse-tree.c: Moved to...
571 * dump-parse-tree.cc: ...here.
572 * error.c: Moved to...
574 * expr.c: Moved to...
576 * f95-lang.c: Moved to...
577 * f95-lang.cc: ...here.
578 * frontend-passes.c: Moved to...
579 * frontend-passes.cc: ...here.
580 * gfortranspec.c: Moved to...
581 * gfortranspec.cc: ...here.
582 * interface.c: Moved to...
583 * interface.cc: ...here.
584 * intrinsic.c: Moved to...
585 * intrinsic.cc: ...here.
588 * iresolve.c: Moved to...
589 * iresolve.cc: ...here.
590 * match.c: Moved to...
592 * matchexp.c: Moved to...
593 * matchexp.cc: ...here.
594 * misc.c: Moved to...
596 * module.c: Moved to...
597 * module.cc: ...here.
598 * openmp.c: Moved to...
599 * openmp.cc: ...here.
600 * options.c: Moved to...
601 * options.cc: ...here.
602 * parse.c: Moved to...
604 * primary.c: Moved to...
605 * primary.cc: ...here.
606 * resolve.c: Moved to...
607 * resolve.cc: ...here.
608 * scanner.c: Moved to...
609 * scanner.cc: ...here.
610 * simplify.c: Moved to...
611 * simplify.cc: ...here.
614 * symbol.c: Moved to...
615 * symbol.cc: ...here.
616 * target-memory.c: Moved to...
617 * target-memory.cc: ...here.
618 * trans-array.c: Moved to...
619 * trans-array.cc: ...here.
620 * trans-common.c: Moved to...
621 * trans-common.cc: ...here.
622 * trans-const.c: Moved to...
623 * trans-const.cc: ...here.
624 * trans-decl.c: Moved to...
625 * trans-decl.cc: ...here.
626 * trans-expr.c: Moved to...
627 * trans-expr.cc: ...here.
628 * trans-intrinsic.c: Moved to...
629 * trans-intrinsic.cc: ...here.
630 * trans-io.c: Moved to...
631 * trans-io.cc: ...here.
632 * trans-openmp.c: Moved to...
633 * trans-openmp.cc: ...here.
634 * trans-stmt.c: Moved to...
635 * trans-stmt.cc: ...here.
636 * trans-types.c: Moved to...
637 * trans-types.cc: ...here.
638 * trans.c: Moved to...
641 2022-01-17 Andrew Stubbs <ams@codesourcery.com>
643 * openmp.c (gfc_match_omp_requires): Don't "sorry" dynamic_allocators.
645 2022-01-15 Harald Anlauf <anlauf@gmx.de>
648 * target-memory.c (gfc_interpret_character): Result length is
649 in bytes and thus depends on the character kind.
650 * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Compute correct
651 string length for the result of the TRANSFER intrinsic and for
652 temporaries for the different character kinds.
654 2022-01-14 Harald Anlauf <anlauf@gmx.de>
657 * intrinsic.c: Do not check formal argument type when checking
658 arguments of intrinsics for alternate return specifiers.
660 2022-01-14 Harald Anlauf <anlauf@gmx.de>
663 * expr.c (gfc_simplify_expr): Adjust logic for when to scalarize a
664 call of an intrinsic which may have been overloaded.
666 2022-01-13 Hafiz Abid Qadeer <abidh@codesourcery.com>
668 * dump-parse-tree.c (show_omp_clauses): Handle OMP_LIST_ALLOCATE.
669 * gfortran.h (OMP_LIST_ALLOCATE): New enum value.
670 * openmp.c (enum omp_mask1): Add OMP_CLAUSE_ALLOCATE.
671 (gfc_match_omp_clauses): Handle OMP_CLAUSE_ALLOCATE
672 (OMP_PARALLEL_CLAUSES, OMP_DO_CLAUSES, OMP_SECTIONS_CLAUSES)
673 (OMP_TASK_CLAUSES, OMP_TASKLOOP_CLAUSES, OMP_TARGET_CLAUSES)
674 (OMP_TEAMS_CLAUSES, OMP_DISTRIBUTE_CLAUSES)
675 (OMP_SINGLE_CLAUSES): Add OMP_CLAUSE_ALLOCATE.
676 (OMP_TASKGROUP_CLAUSES): New.
677 (gfc_match_omp_taskgroup): Use OMP_TASKGROUP_CLAUSES instead of
678 OMP_CLAUSE_TASK_REDUCTION.
679 (resolve_omp_clauses): Handle OMP_LIST_ALLOCATE.
680 (resolve_omp_do): Avoid warning when loop iteration variable is
682 * trans-openmp.c (gfc_trans_omp_clauses): Handle translation of
684 (gfc_split_omp_clauses): Update for OMP_LIST_ALLOCATE.
686 2022-01-13 Harald Anlauf <anlauf@gmx.de>
689 * primary.c (gfc_match_structure_constructor): Recover from errors
690 that occurred while checking for a valid structure constructor in
693 2022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org>
695 * libgfortran.h (unit_convert): Add flags.
697 2022-01-11 Jakub Jelinek <jakub@redhat.com>
699 * trans-types.c (gfc_init_kinds): When setting abi_kind to 17, if not
700 targetting glibc 2.32 or later and -fbuilding-libgfortran, set
701 gfc_real16_is_float128 and c_float128 in gfc_real_kinds.
702 (gfc_build_real_type): Don't set c_long_double if c_float128 is
704 * trans-intrinsic.c (builtin_decl_for_precision): Don't use
705 long_double_built_in if gfc_real16_is_float128 and
706 long_double_type_node == gfc_float128_type_node.
707 * lang.opt (fbuilding-libgfortran): New undocumented option.
709 2022-01-11 Jakub Jelinek <jakub@redhat.com>
711 * trans-intrinsic.c (gfc_get_intrinsic_lib_fndecl): Use
714 2022-01-11 Jakub Jelinek <jakub@redhat.com>
716 * trans-io.c (transfer_array_desc): Pass abi kind instead of kind
719 2022-01-11 Jakub Jelinek <jakub@redhat.com>
721 * trans-io.c (transfer_namelist_element): Use gfc_type_abi_kind,
723 (transfer_expr): Use gfc_type_abi_kind, use *REAL128* APIs even
726 2022-01-11 Jakub Jelinek <jakub@redhat.com>
728 * gfortran.h (gfc_real_info): Add abi_kind member.
729 (gfc_type_abi_kind): Declare.
730 * trans-types.c (gfc_init_kinds): Initialize abi_kind.
731 * intrinsic.c (gfc_type_abi_kind): New function.
733 * iresolve.c (resolve_transformational, gfc_resolve_abs,
734 gfc_resolve_char_achar, gfc_resolve_acos, gfc_resolve_acosh,
735 gfc_resolve_aimag, gfc_resolve_and, gfc_resolve_aint, gfc_resolve_all,
736 gfc_resolve_anint, gfc_resolve_any, gfc_resolve_asin,
737 gfc_resolve_asinh, gfc_resolve_atan, gfc_resolve_atanh,
738 gfc_resolve_atan2, gfc_resolve_bessel_n2, gfc_resolve_ceiling,
739 gfc_resolve_cmplx, gfc_resolve_complex, gfc_resolve_cos,
740 gfc_resolve_cosh, gfc_resolve_count, gfc_resolve_dble,
741 gfc_resolve_dim, gfc_resolve_dot_product, gfc_resolve_dprod,
742 gfc_resolve_exp, gfc_resolve_floor, gfc_resolve_hypot,
743 gfc_resolve_int, gfc_resolve_int2, gfc_resolve_int8, gfc_resolve_long,
744 gfc_resolve_log, gfc_resolve_log10, gfc_resolve_logical,
745 gfc_resolve_matmul, gfc_resolve_minmax, gfc_resolve_maxloc,
746 gfc_resolve_findloc, gfc_resolve_maxval, gfc_resolve_merge,
747 gfc_resolve_minloc, gfc_resolve_minval, gfc_resolve_mod,
748 gfc_resolve_modulo, gfc_resolve_nearest, gfc_resolve_or,
749 gfc_resolve_real, gfc_resolve_realpart, gfc_resolve_reshape,
750 gfc_resolve_sign, gfc_resolve_sin, gfc_resolve_sinh, gfc_resolve_sqrt,
751 gfc_resolve_tan, gfc_resolve_tanh, gfc_resolve_transpose,
752 gfc_resolve_trigd, gfc_resolve_xor, gfc_resolve_random_number):
754 * trans-decl.c (gfc_build_intrinsic_function_decls): Likewise.
756 2022-01-10 Paul Thomas <pault@gcc.gnu.org>
759 * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Allow unlimited
760 polymorphic actual argument passed to assumed type formal.
762 2022-01-09 Harald Anlauf <anlauf@gmx.de>
765 * simplify.c (gfc_simplify_maskr): Check validity of argument 'I'
767 (gfc_simplify_maskl): Likewise.
769 2022-01-09 Harald Anlauf <anlauf@gmx.de>
772 * expr.c (gfc_check_pointer_assign): For pointer initialization
773 targets, check that subscripts and substring indices in
774 specifications are constant expressions.
776 2022-01-09 Mikael Morin <mikael@gcc.gnu.org>
779 * trans-array.c (arg_evaluated_for_scalarization): Add MASKL, MASKR,
780 SCAN and VERIFY to the list of intrinsics whose KIND argument is to be
783 2022-01-07 Sandra Loosemore <sandra@codesourcery.com>
786 * trans-intrinsic.c (gfc_conv_intrinsic_size): Make size_var
787 actually be a variable and fix surrounding code.
789 2022-01-06 Steve Kargl <kargl@gcc.gnu.org>
790 Sandra Loosemore <sandra@codesourcery.com>
793 * interface.c (argument_rank_mismatch): Replace incorrect assertion
796 2022-01-05 Sandra Loosemore <sandra@codesourcery.com>
799 * decl.c (gfc_match_char_spec): Suppress errors around call
800 to gfc_reduce_init_expr.
801 * error.c (gfc_query_suppress_errors): New.
802 * gfortran.h (gfc_query_suppress_errors): Declare.
803 * symbol.c (gfc_set_default_type): Check gfc_query_suppress_errors.
805 2022-01-03 Sandra Loosemore <sandra@codesourcery.com>
808 * expr.c (gfc_is_simply_contiguous): Make it smarter about
810 * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Do not generate
811 copy loops for array expressions that are not "variables" (lvalues).
813 2022-01-03 Jakub Jelinek <jakub@redhat.com>
815 * gfortranspec.c (lang_specific_driver): Update copyright notice
817 * gfc-internals.texi: Bump @copying's copyright year.
818 * gfortran.texi: Ditto.
819 * intrinsic.texi: Ditto.
820 * invoke.texi: Ditto.
823 Copyright (C) 2022 Free Software Foundation, Inc.
825 Copying and distribution of this file, with or without modification,
826 are permitted in any medium without royalty provided the copyright
827 notice and this notice are preserved.