1 2022-07-04 Tobias Burnus <tobias@codesourcery.com>
2 Jakub Jelinek <jakub@redhat.com>
4 * gfortran.h (gfc_omp_namelist): Update by creating 'linear' struct,
5 move 'linear_op' as 'op' to id and add 'old_modifier' to it.
6 * dump-parse-tree.cc (show_omp_namelist): Update accordingly.
7 * module.cc (mio_omp_declare_simd): Likewise.
8 * trans-openmp.cc (gfc_trans_omp_clauses): Likewise.
9 * openmp.cc (resolve_omp_clauses): Likewise; accept new-style
10 'val' modifier with do/simd.
11 (gfc_match_omp_clauses): Handle OpenMP 5.2 linear clause syntax.
13 2022-07-04 Tobias Burnus <tobias@codesourcery.com>
14 Chung-Lin Tang <cltang@codesourcery.com>
15 Thomas Schwinge <thomas@codesourcery.com>
17 * openmp.cc (gfc_match_omp_requires): Remove sorry.
18 * parse.cc (decode_omp_directive): Don't regard 'declare target'
19 as target usage for 'omp requires'; add more flags to
22 2022-07-01 Tobias Burnus <tobias@codesourcery.com>
24 * dump-parse-tree.cc (show_omp_namelist): For the map-type,
25 also handle the always modifer and release/delete.
26 * openmp.cc (resolve_omp_clauses): Accept tofrom
27 map-type modifier for target enter/exit data,
28 but use 'to' / 'from' internally.
30 2022-06-30 Harald Anlauf <anlauf@gmx.de>
31 Steven G. Kargl <kargl@gcc.gnu.org>
37 * decl.cc (gfc_match_data_decl): Reject CLASS entity declaration
38 when it is given the PARAMETER attribute.
40 2022-06-29 Harald Anlauf <anlauf@gmx.de>
41 Steven G. Kargl <kargl@gcc.gnu.org>
44 * simplify.cc (gfc_simplify_extends_type_of): Do not attempt to
45 simplify when one of the arguments is a CLASS variable that was
46 not properly declared.
48 2022-06-28 Jakub Jelinek <jakub@redhat.com>
50 * gfortran.h (gfc_real_info): Add use_iec_60559 bitfield.
51 * trans-types.h (gfc_real16_use_iec_60559): Declare.
52 * trans-types.cc (gfc_real16_use_iec_60559): Define.
53 (gfc_init_kinds): When building powerpc64le-linux libgfortran
54 on glibc 2.26 to 2.31, set gfc_real16_use_iec_60559 and
56 (gfc_build_real_type): Set gfc_real16_use_iec_60559 and use_iec_60559
57 on glibc 2.26 or later.
58 * trans-intrinsic.cc (gfc_build_intrinsic_lib_fndecls): Adjust
59 comment. Handle gfc_real16_use_iec_60559.
60 (gfc_get_intrinsic_lib_fndecl): Handle use_iec_60559.
62 2022-06-26 Harald Anlauf <anlauf@gmx.de>
65 * simplify.cc (gfc_simplify_index): Replace old simplification
66 code by the equivalent of the runtime library implementation. Use
67 HOST_WIDE_INT instead of int for string index, length variables.
69 2022-06-26 Harald Anlauf <anlauf@gmx.de>
72 * decl.cc (variable_decl): Adjust upper bounds for explicit-shape
73 specs with constant bound expressions to ensure non-negative
76 2022-06-24 Harald Anlauf <anlauf@gmx.de>
79 * check.cc (gfc_check_unpack): Try to simplify MASK argument to
80 UNPACK so that checking of the VECTOR argument can work when MASK
83 2022-06-18 Harald Anlauf <anlauf@gmx.de>
86 * simplify.cc (gfc_simplify_btest): Add check for POS argument.
87 (gfc_simplify_ibclr): Add check for POS argument.
88 (gfc_simplify_ibits): Add check for POS and LEN arguments.
89 (gfc_simplify_ibset): Add check for POS argument.
91 2022-06-08 Tobias Burnus <tobias@codesourcery.com>
93 * openmp.cc (gfc_match_omp_clauses): Check also parent namespace
94 for 'requires reverse_offload'.
96 2022-06-07 Jakub Jelinek <jakub@redhat.com>
98 * trans-openmp.cc (gfc_trans_omp_clauses): Set
99 OMP_CLAUSE_LINEAR_OLD_LINEAR_MODIFIER on OMP_CLAUSE_LINEAR
100 clauses unconditionally for now.
102 2022-06-03 Tobias Burnus <tobias@codesourcery.com>
104 * openmp.cc (OMP_SCOPE_CLAUSES): Add firstprivate and allocate.
106 2022-06-02 David Malcolm <dmalcolm@redhat.com>
108 * f95-lang.cc (gfc_get_sarif_source_language): New.
109 (LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE): Redefine.
111 2022-05-31 Jason Merrill <jason@redhat.com>
113 * Make-lang.in (fortran.tags): Look at *.cc.
115 2022-05-30 Harald Anlauf <anlauf@gmx.de>
118 * libgfortran.h: Define new error code LIBERROR_NO_MEMORY.
119 * trans-stmt.cc (gfc_trans_allocate): Generate code for setting
120 ERRMSG depending on result of STAT result of ALLOCATE.
121 * trans.cc (gfc_allocate_using_malloc): Use STAT value of
122 LIBERROR_NO_MEMORY in case of failed malloc.
124 2022-05-28 Tobias Burnus <tobias@codesourcery.com>
126 * dump-parse-tree.cc (show_omp_clauses): Handle OMP_LIST_ENTER.
127 * gfortran.h: Add OMP_LIST_ENTER.
128 * openmp.cc (enum omp_mask2, OMP_DECLARE_TARGET_CLAUSES): Add
130 (gfc_match_omp_clauses, gfc_match_omp_declare_target,
131 resolve_omp_clauses): Handle 'enter' clause.
133 2022-05-27 Tobias Burnus <tobias@codesourcery.com>
134 Chung-Lin Tang <cltang@codesourcery.com>
136 * openmp.cc (gfc_check_omp_requires): Fix clause name in error.
138 2022-05-24 Tobias Burnus <tobias@codesourcery.com>
141 * openmp.cc (gfc_match_omp_taskwait): Accept nowait.
143 2022-05-23 Tobias Burnus <tobias@codesourcery.com>
146 * f95-lang.cc (LANG_HOOKS_OMP_ARRAY_SIZE): Redefine.
147 * trans-openmp.cc (gfc_omp_array_size): New.
148 (gfc_trans_omp_variable_list): Never turn has_device_addr
150 * trans.h (gfc_omp_array_size): New.
152 2022-05-18 Tobias Burnus <tobias@codesourcery.com>
154 * gfortran.h (enum gfc_omp_depend_op): Add OMP_DEPEND_INOUTSET.
155 (gfc_omp_clauses): Enlarge ENUM_BITFIELD.
156 * dump-parse-tree.cc (show_omp_namelist, show_omp_clauses): Handle
157 'inoutset' depend modifier.
158 * openmp.cc (gfc_match_omp_clauses, gfc_match_omp_depobj): Likewise.
159 * trans-openmp.cc (gfc_trans_omp_clauses, gfc_trans_omp_depobj):
162 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
164 * dump-parse-tree.cc (show_omp_namelist): Handle omp_all_memory.
165 * openmp.cc (gfc_match_omp_variable_list, gfc_match_omp_depend_sink,
166 gfc_match_omp_clauses, resolve_omp_clauses): Likewise.
167 * trans-openmp.cc (gfc_trans_omp_clauses, gfc_trans_omp_depobj):
169 * resolve.cc (resolve_symbol): Reject it as symbol.
171 2022-05-16 Martin Liska <mliska@suse.cz>
173 * frontend-passes.cc (gfc_code_walker): Use ARRAY_SIZE.
174 * openmp.cc (gfc_match_omp_context_selector_specification): Likewise.
175 * trans-intrinsic.cc (conv_intrinsic_ieee_builtin): Likewise.
176 * trans-types.cc (gfc_get_array_descr_info): Likewise.
178 2022-05-13 Tobias Burnus <tobias@codesourcery.com>
180 * trans-openmp.cc (gfc_trans_omp_clauses): When mapping nondescriptor
181 array sections, use GOMP_MAP_FIRSTPRIVATE_POINTER instead of
182 GOMP_MAP_POINTER for the pointer attachment.
184 2022-05-11 Harald Anlauf <anlauf@gmx.de>
185 Steven G. Kargl <kargl@gcc.gnu.org>
188 * expr.cc (find_array_section): Correct logic to avoid NULL
189 pointer dereference on invalid array section.
191 2022-05-10 Harald Anlauf <anlauf@gmx.de>
194 * resolve.cc (check_team): New.
195 (gfc_resolve_code): Add checks for arguments to coarray intrinsics
196 FORM TEAM, CHANGE TEAM, and SYNC TEAM.
198 2022-05-09 Harald Anlauf <anlauf@gmx.de>
201 * match.cc (gfc_match_if): Adjust patterns used for matching.
202 (gfc_match_select_rank): Likewise.
203 * parse.cc (decode_statement): Likewise.
205 2022-05-05 Sandra Loosemore <sandra@codesourcery.com>
207 * gfortran.h (struct gfc_omp_clauses): Add non_rectangular bit.
208 * openmp.cc (is_outer_iteration_variable): New function.
209 (expr_is_invariant): New function.
210 (bound_expr_is_canonical): New function.
211 (resolve_omp_do): Replace existing non-rectangularity error with
212 check for canonical form and setting non_rectangular bit.
213 * trans-openmp.cc (gfc_trans_omp_do): Transfer non_rectangular
214 flag to generated tree structure.
216 2022-05-02 Sandra Loosemore <sandra@codesourcery.com>
218 * trans-openmp.cc (gfc_trans_omp_critical): Set location on OMP
220 (gfc_trans_omp_do): Likewise.
221 (gfc_trans_omp_masked): Likewise.
222 (gfc_trans_omp_do_simd): Likewise.
223 (gfc_trans_omp_scope): Likewise.
224 (gfc_trans_omp_taskgroup): Likewise.
225 (gfc_trans_omp_taskwait): Likewise.
226 (gfc_trans_omp_distribute): Likewise.
227 (gfc_trans_omp_taskloop): Likewise.
228 (gfc_trans_omp_master_masked_taskloop): Likewise.
230 2022-04-29 Thomas Koenig <tkoenig@gcc.gnu.org>
232 * gfortran.texi: Fix exchanged period and letter.
234 2022-04-28 Thomas Koenig <tkoenig@gcc.gnu.org>
236 * gfortran.texi: Mention r16_ieee and r16_ibm.
237 * invoke.texi: Likewise.
239 2022-04-27 Mikael Morin <mikael@gcc.gnu.org>
243 * array.cc (compare_bounds): Use bool as return type.
244 Support non-constant expressions.
245 (gfc_compare_array_spec): Update call to compare_bounds.
247 2022-04-27 Mikael Morin <mikael@gcc.gnu.org>
251 * trans-array.cc (non_negative_strides_array_p): Inline variable
252 orig_decl and merge nested if conditions. Add condition to not
253 recurse if the next argument is the same as the current.
255 2022-04-25 Jakub Jelinek <jakub@redhat.com>
256 Thomas Schwinge <thomas@codesourcery.com>
259 * trans-openmp.cc (gfc_trans_oacc_construct): Wrap construct body
260 in an extra BIND_EXPR.
262 2022-04-24 Mikael Morin <mikael@gcc.gnu.org>
263 Jakub Jelinek <jakub@redhat.com>
266 * interface.cc (gfc_compare_derived_types): Support comparing
267 unlimited polymorphic fake symbols. Recursively compare class
268 descriptor types and virtual table types.
269 * resolve.cc (resolve_fl_derived): Add type to the types list
270 on unlimited polymorphic short-circuit return.
272 2022-04-22 Mikael Morin <mikael@gcc.gnu.org>
273 Richard Biener <rguenther@suse.de>
276 * trans.h (gfc_build_array_ref): Add non_negative_offset
278 * trans.cc (gfc_build_array_ref): Ditto. Use pointer arithmetic
279 if non_negative_offset is false.
280 * trans-expr.cc (gfc_conv_substring): Set flag in the call to
282 * trans-array.cc (gfc_get_cfi_dim_item,
283 gfc_conv_descriptor_dimension): Same.
284 (build_array_ref): Decide on whether to set the flag and update
286 (gfc_conv_scalarized_array_ref): Same. New argument tmp_array.
287 (gfc_conv_tmp_array_ref): Update call to
288 gfc_conv_scalarized_ref.
289 (non_negative_strides_array_p): New function.
291 2022-04-22 Mikael Morin <mikael@gcc.gnu.org>
294 * trans-array.cc (gfc_conv_expr_descriptor): Use
295 gfc_conv_tmp_array_ref.
297 2022-04-22 Mikael Morin <mikael@gcc.gnu.org>
300 * trans-io.cc: Add handling for the case where the array
301 is referenced using pointer arithmetic.
303 2022-04-22 Mikael Morin <mikael@gcc.gnu.org>
306 * trans-expr.cc: Pre-evaluate src and dest to variables
309 2022-04-21 Fritz Reese <foreese@gcc.gnu.org>
312 * trans-expr.cc (gfc_conv_union_initializer): Pass vec* by reference.
314 2022-04-13 Tobias Burnus <tobias@codesourcery.com>
317 * match.cc (match_exit_cycle): Handle missing OMP LOOP, DO and SIMD
318 directives in the EXIT/CYCLE diagnostic.
320 2022-04-10 Harald Anlauf <anlauf@gmx.de>
323 * array.cc (match_subscript): Reject assumed size coarray
324 specification with missing lower bound.
325 * resolve.cc (resolve_allocate_expr): Fix logic for checking
326 allocate-coshape-spec in ALLOCATE statement.
328 2022-04-05 Sandra Loosemore <sandra@codesourcery.com>
330 * trans-openmp.cc (gfc_split_omp_clauses): Fix mask for
331 EXEC_OMP_MASKED_TASKLOOP.
333 2022-04-05 Harald Anlauf <anlauf@gmx.de>
336 * arith.cc (eval_intrinsic): Avoid NULL pointer dereference.
337 (gfc_zero_size_array): Likewise.
339 2022-04-05 Harald Anlauf <anlauf@gmx.de>
340 Steven G. Kargl <kargl@gcc.gnu.org>
343 * intrinsic.cc (gfc_is_intrinsic): When a symbol refers to a
344 RECURSIVE procedure, it cannot be an INTRINSIC.
346 2022-03-30 Harald Anlauf <anlauf@gmx.de>
349 * check.cc (gfc_check_associated): Avoid NULL pointer dereference.
351 2022-03-29 Harald Anlauf <anlauf@gmx.de>
352 Steven G. Kargl <kargl@gcc.gnu.org>
355 * resolve.cc (resolve_elemental_actual): Avoid NULL pointer
358 2022-03-29 Harald Anlauf <anlauf@gmx.de>
361 * resolve.cc (resolve_structure_cons): Reject pointer assignments
362 of character with different lengths in structure constructor.
364 2022-03-25 Jakub Jelinek <jakub@redhat.com>
367 * trans-array.cc (gfc_conv_array_initializer): If TYPE_MAX_VALUE is
368 smaller than TYPE_MIN_VALUE (i.e. empty array), ignore the
369 initializer; if TYPE_MIN_VALUE is equal to TYPE_MAX_VALUE, use just
370 the TYPE_MIN_VALUE as index instead of RANGE_EXPR.
372 2022-03-23 Tobias Burnus <tobias@codesourcery.com>
375 * scanner.cc (add_path_to_list): Don't append '/' to the
377 (open_included_file): Use '/' in concatenating path + file name.
378 * module.cc (gzopen_included_file_1): Likewise.
380 2022-03-22 Harald Anlauf <anlauf@gmx.de>
383 * simplify.cc (gfc_simplify_cshift): Ensure temporary holding
384 source array stride is initialized.
386 2022-03-19 Mikael Morin <mikael@gcc.gnu.org>
390 * parse.cc (parse_associate): Use a new distinct gfc_charlen if the
391 copied type has one whose length is not known to be constant.
392 * resolve.cc (resolve_assoc_var): Reset charlen if it’s shared with
393 the associate target regardless of the expression type.
394 Don’t reinitialize charlen if it’s deferred.
396 2022-03-18 Tobias Burnus <tobias@codesourcery.com>
399 * trans-openmp.cc (gfc_omp_clause_copy_ctor, gfc_omp_clause_dtor):
400 Only privatize pointer for associate names.
402 2022-03-18 Tobias Burnus <tobias@codesourcery.com>
405 * openmp.cc (resolve_omp_clauses): Improve associate-name diagnostic
406 for select type/rank.
408 2022-03-11 Tobias Burnus <tobias@codesourcery.com>
410 * trans-openmp.cc (gfc_trans_omp_clauses, gfc_omp_finish_clause):
411 Obtain size for mapping only if allocatable array is allocated.
413 2022-03-09 Harald Anlauf <anlauf@gmx.de>
416 * expr.cc (find_array_section): Avoid NULL pointer dereference on
417 invalid array section.
419 2022-03-09 Tobias Burnus <tobias@codesourcery.com>
421 * trans-intrinsic.cc (gfc_conv_intrinsic_sizeof): Fix CLASS handling.
423 2022-03-08 Tobias Burnus <tobias@codesourcery.com>
426 * trans-expr.cc (gfc_conv_gfc_desc_to_cfi_desc): Handle NULL
429 2022-03-08 Harald Anlauf <anlauf@gmx.de>
432 * frontend-passes.cc (optimize_minmaxloc): Do not attempt
433 frontend-optimization of MINLOC/MAXLOC for character arrays, as
434 there is no suitable code yet for inline expansion.
436 2022-03-07 Tobias Burnus <tobias@codesourcery.com>
440 * trans-expr.cc (conv_parent_component_references): Fix comment;
442 (gfc_maybe_dereference_var): Avoid d referencing a nonpointer.
444 2022-03-07 Tobias Burnus <tobias@codesourcery.com>
446 * array.cc (gfc_ref_dimen_size): Fix comment typo.
447 * dump-parse-tree.cc (gfc_dump_c_prototypes): Likewise.
448 * frontend-passes.cc (cfe_code): Likewise.
449 * gfortran.texi: Likewise.
450 * resolve.cc (generate_component_assignments): Likewise.
451 * simplify.cc (gfc_simplify_this_image): Likewise.
452 * trans-expr.cc (trans_scalar_class_assign,
453 gfc_maybe_dereference_var): Likewise.
454 * intrinsic.texi: Remove word duplication.
455 * invoke.texi: Likewise.
457 2022-03-07 Jakub Jelinek <jakub@redhat.com>
459 * trans-expr.cc: Fix up duplicated word issue in a comment.
460 * gfortran.h: Likewise.
461 * scanner.cc: Likewise.
463 2022-03-07 Martin Liska <mliska@suse.cz>
465 * intrinsic.cc (gfc_is_intrinsic): Remove asterisk from error
468 2022-03-07 Martin Liska <mliska@suse.cz>
471 * intrinsic.cc (gfc_is_intrinsic): Put
472 quote to a proper place.
474 2022-03-03 Kwok Cheung Yeung <kcy@codesourcery.com>
477 * openmp.cc (gfc_match_omp_detach): Move check for type of event
479 (resolve_omp_clauses) ...here. Also check that the event handle is
480 not an array, or an array access or structure element access.
482 2022-03-02 Harald Anlauf <anlauf@gmx.de>
485 * resolve.cc (resolve_structure_cons): Avoid NULL pointer
486 dereference when there is no valid component.
488 2022-02-24 Harald Anlauf <anlauf@gmx.de>
491 * dump-parse-tree.cc (show_code_node): Dump QUIET specifier when
493 * match.cc (gfc_match_stopcode): Implement parsing of F2018 QUIET
494 specifier. F2018 stopcodes may have non-default integer kind.
495 * resolve.cc (gfc_resolve_code): Add checks for QUIET argument.
496 * trans-stmt.cc (gfc_trans_stop): Pass QUIET specifier to call of
499 2022-02-22 Harald Anlauf <anlauf@gmx.de>
502 * resolve.cc (resolve_structure_cons): Skip shape check if shape
503 of constructor cannot be determined at compile time.
505 2022-02-20 Harald Anlauf <anlauf@gmx.de>
508 * data.cc (gfc_assign_data_value): If a variable in a data
509 statement has the POINTER attribute, check for allowed initial
510 data target that is compatible with pointer assignment.
511 * gfortran.h (IS_POINTER): New macro.
513 2022-02-15 Tobias Burnus <tobias@codesourcery.com>
515 * trans-openmp.cc (gfc_trans_omp_depobj): Fix to alloc/ptr dummy
518 2022-02-15 Tobias Burnus <tobias@codesourcery.com>
520 * trans-openmp.cc (gfc_trans_omp_clauses, gfc_trans_omp_depobj):
521 Depend on the proper addr, for ptr/alloc depend on pointee.
523 2022-02-14 Harald Anlauf <anlauf@gmx.de>
526 * expr.cc (find_array_section): Replace assertion by error
527 recovery when encountering bad array constructor.
529 2022-02-13 Mikael Morin <mikael@gcc.gnu.org>
532 * resolve.cc (resolve_assoc_var): Also create a new character
533 length for non-dummy associate targets.
534 * trans-stmt.cc (trans_associate_var): Initialize character length
535 even if no temporary is used for the associate variable.
537 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
538 Tobias Burnus <tobias@codesourcery.com>
540 * trans-common.cc (GFC_EQUIV_FMT): New macro respecting the
541 target's NO_DOT_IN_LABEL and NO_DOLLAR_IN_LABEL preferences.
542 (build_equiv_decl): Use GFC_EQUIV_FMT here.
544 2022-02-10 Tobias Burnus <tobias@codesourcery.com>
547 * openmp.cc (resolve_omp_atomic): Defer extra-code assert after
550 2022-02-10 Marcel Vollweiler <marcel@codesourcery.com>
552 * dump-parse-tree.cc (show_omp_clauses): Added OMP_LIST_HAS_DEVICE_ADDR
554 * gfortran.h: Added OMP_LIST_HAS_DEVICE_ADDR.
555 * openmp.cc (enum omp_mask2): Added OMP_CLAUSE_HAS_DEVICE_ADDR.
556 (gfc_match_omp_clauses): Parse HAS_DEVICE_ADDR clause.
557 (resolve_omp_clauses): Same.
558 * trans-openmp.cc (gfc_trans_omp_variable_list): Added
559 OMP_LIST_HAS_DEVICE_ADDR case.
560 (gfc_trans_omp_clauses): Firstprivatize of array descriptors.
562 2022-02-09 Harald Anlauf <anlauf@gmx.de>
565 * arith.cc (reduce_binary_ac): When reducing binary expressions,
566 try simplification. Handle case of empty constructor.
567 (reduce_binary_ca): Likewise.
569 2022-02-03 Harald Anlauf <anlauf@gmx.de>
572 * check.cc (gfc_calculate_transfer_sizes): Checks for case when
573 storage size of SOURCE is greater than zero while the storage size
574 of MOLD is zero and MOLD is an array shall not depend on SIZE.
576 2022-02-03 Jakub Jelinek <jakub@redhat.com>
579 * openmp.cc (is_scalar_intrinsic_expr): If must_be_var && conv_ok
580 and expr is conversion, verify it is a conversion from EXPR_VARIABLE
581 with non-NULL symtree. Check ->block->next before dereferencing it.
583 2022-02-01 Harald Anlauf <anlauf@gmx.de>
586 * simplify.cc (gfc_simplify_eoshift): Avoid NULL pointer
587 dereference when shape is not set.
589 2022-01-28 Andre Vehreschild <vehre@gcc.gnu.org>
592 * trans-array.cc (structure_alloc_comps): Prevent descriptor
593 stacking for non-array data; do not broadcast caf-tokens.
594 * trans-intrinsic.cc (conv_co_collective): Prevent generation
595 of unused descriptor.
597 2022-01-28 Andre Vehreschild <vehre@gcc.gnu.org>
600 2022-01-28 Andre Vehreschild <vehre@gcc.gnu.org>
603 * trans-array.cc (structure_alloc_comps): Prevent descriptor
604 stacking for non-array data; do not broadcast caf-tokens.
605 * trans-intrinsic.cc (conv_co_collective): Prevent generation
606 of unused descriptor.
608 2022-01-28 Andre Vehreschild <vehre@gcc.gnu.org>
611 * trans-array.cc (structure_alloc_comps): Prevent descriptor
612 stacking for non-array data; do not broadcast caf-tokens.
613 * trans-intrinsic.cc (conv_co_collective): Prevent generation
614 of unused descriptor.
616 2022-01-27 Harald Anlauf <anlauf@gmx.de>
619 * expr.cc (gfc_copy_expr): Convert internal representation of
620 string to wide char in value only for default character kind.
621 * target-memory.cc (interpret_array): Pass flag for conversion of
623 (gfc_target_interpret_expr): Likewise.
625 2022-01-27 Harald Anlauf <anlauf@gmx.de>
628 * trans-intrinsic.cc (conv_intrinsic_image_status): Convert result
629 to resulting (default) integer type.
630 (conv_intrinsic_team_number): Likewise.
631 (gfc_conv_intrinsic_popcnt_poppar): Likewise.
633 2022-01-25 Harald Anlauf <anlauf@gmx.de>
636 * check.cc (gfc_calculate_transfer_sizes): Fix checking of arrays
637 passed as MOLD argument to the TRANSFER intrinsic for having
640 2022-01-25 Harald Anlauf <anlauf@gmx.de>
643 * check.cc (gfc_check_norm2): Check that optional argument DIM is
645 (gfc_check_parity): Likewise.
647 2022-01-24 Jakub Jelinek <jakub@redhat.com>
649 * lang.opt (fconvert=): Add EnumSet property and mention also
650 r16_ieee and r16_ibm arguments.
651 (big-endian, little-endian, native, swap): Add Set(1) property.
652 (r16_ieee, r16_ibm): New EnumValue entries with Set(2) property.
653 * trans-types.cc (gfc_init_kinds): Emit gfc_fatal_error for
654 -fconvert=r16_ieee or -fconvert=r16_ibm when R16_IEEE <=> R16_IBM
655 conversions aren't supported.
657 2022-01-22 Harald Anlauf <anlauf@gmx.de>
660 * simplify.cc (gfc_simplify_transfer): Ensure that the result
661 typespec is set up for TRANSFER with MOLD of type CHARACTER
662 including character length even if the result is a zero-sized
665 2022-01-20 Sandra Loosemore <sandra@codesourcery.com>
669 * gfortran.h (struct gfc_namespace) Add omp_affinity_iterator
671 * dump-parse-tree.cc (show_iterator): Use it.
672 * openmp.cc (gfc_match_iterator): Likewise.
673 (resolve_omp_clauses): Likewise.
674 * trans-decl.cc (gfc_finish_var_decl): Likewise.
675 * trans-openmp.cc (handle_iterator): Likewise.
677 2022-01-18 Harald Anlauf <anlauf@gmx.de>
680 * array.cc (gfc_expand_constructor): Handle zero-sized array
683 2022-01-17 Martin Liska <mliska@suse.cz>
685 * check.cc (gfc_check_all_any): Rename .c names to .cc.
686 * class.cc (find_intrinsic_vtab): Likewise.
687 * config-lang.in: Likewise.
688 * cpp.cc (cpp_define_builtins): Likewise.
689 * data.cc (get_array_index): Likewise.
690 * decl.cc (match_clist_expr): Likewise.
691 (get_proc_name): Likewise.
692 (gfc_verify_c_interop_param): Likewise.
693 (gfc_get_pdt_instance): Likewise.
694 (gfc_match_formal_arglist): Likewise.
695 (gfc_get_type_attr_spec): Likewise.
696 * dependency.cc: Likewise.
697 * error.cc (gfc_format_decoder): Likewise.
698 * expr.cc (check_restricted): Likewise.
699 (gfc_build_default_init_expr): Likewise.
700 * f95-lang.cc: Likewise.
701 * gfc-internals.texi: Likewise.
702 * gfortran.h (enum match): Likewise.
703 (enum procedure_type): Likewise.
704 (enum oacc_routine_lop): Likewise.
705 (gfc_get_pdt_instance): Likewise.
706 (gfc_end_source_files): Likewise.
707 (gfc_mpz_set_hwi): Likewise.
708 (gfc_get_option_string): Likewise.
709 (gfc_find_sym_in_expr): Likewise.
710 (gfc_errors_to_warnings): Likewise.
711 (gfc_real_4_kind): Likewise.
712 (gfc_free_finalizer): Likewise.
713 (gfc_sym_get_dummy_args): Likewise.
714 (gfc_check_intrinsic_standard): Likewise.
715 (gfc_free_case_list): Likewise.
716 (gfc_resolve_oacc_routines): Likewise.
717 (gfc_check_vardef_context): Likewise.
718 (gfc_free_association_list): Likewise.
719 (gfc_implicit_pure_function): Likewise.
720 (gfc_ref_dimen_size): Likewise.
721 (gfc_compare_actual_formal): Likewise.
722 (gfc_resolve_wait): Likewise.
723 (gfc_dt_upper_string): Likewise.
724 (gfc_generate_module_code): Likewise.
725 (gfc_delete_bbt): Likewise.
727 (gfc_build_block_ns): Likewise.
728 (gfc_dep_difference): Likewise.
729 (gfc_invalid_null_arg): Likewise.
730 (gfc_is_finalizable): Likewise.
731 (gfc_fix_implicit_pure): Likewise.
732 (gfc_is_size_zero_array): Likewise.
733 (gfc_is_reallocatable_lhs): Likewise.
734 * gfortranspec.cc: Likewise.
735 * interface.cc (compare_actual_expr): Likewise.
736 * intrinsic.cc (add_functions): Likewise.
737 * iresolve.cc (gfc_resolve_matmul): Likewise.
738 (gfc_resolve_alarm_sub): Likewise.
739 * iso-c-binding.def: Likewise.
740 * lang-specs.h: Likewise.
741 * libgfortran.h (GFC_STDERR_UNIT_NUMBER): Likewise.
742 * match.cc (gfc_match_label): Likewise.
743 (gfc_match_symbol): Likewise.
744 (match_derived_type_spec): Likewise.
745 (copy_ts_from_selector_to_associate): Likewise.
746 * match.h (gfc_match_call): Likewise.
747 (gfc_get_common): Likewise.
748 (gfc_match_omp_end_single): Likewise.
749 (gfc_match_volatile): Likewise.
750 (gfc_match_bind_c): Likewise.
751 (gfc_match_literal_constant): Likewise.
752 (gfc_match_init_expr): Likewise.
753 (gfc_match_array_constructor): Likewise.
754 (gfc_match_end_interface): Likewise.
755 (gfc_match_print): Likewise.
756 (gfc_match_expr): Likewise.
757 * matchexp.cc (next_operator): Likewise.
758 * mathbuiltins.def: Likewise.
759 * module.cc (free_true_name): Likewise.
760 * openmp.cc (gfc_resolve_omp_parallel_blocks): Likewise.
761 (gfc_omp_save_and_clear_state): Likewise.
762 * parse.cc (parse_union): Likewise.
763 (set_syms_host_assoc): Likewise.
764 * resolve.cc (resolve_actual_arglist): Likewise.
765 (resolve_elemental_actual): Likewise.
766 (check_host_association): Likewise.
767 (resolve_typebound_function): Likewise.
768 (resolve_typebound_subroutine): Likewise.
769 (gfc_resolve_expr): Likewise.
770 (resolve_assoc_var): Likewise.
771 (resolve_typebound_procedures): Likewise.
772 (resolve_equivalence_derived): Likewise.
773 * simplify.cc (simplify_bound): Likewise.
774 * symbol.cc (gfc_set_default_type): Likewise.
775 (gfc_add_ext_attribute): Likewise.
776 * target-memory.cc (gfc_target_interpret_expr): Likewise.
777 * target-memory.h (gfc_target_interpret_expr): Likewise.
778 * trans-array.cc (gfc_get_cfi_dim_sm): Likewise.
779 (gfc_conv_shift_descriptor_lbound): Likewise.
780 (gfc_could_be_alias): Likewise.
781 (gfc_get_dataptr_offset): Likewise.
782 * trans-const.cc: Likewise.
783 * trans-decl.cc (trans_function_start): Likewise.
784 (gfc_trans_deferred_vars): Likewise.
785 (generate_local_decl): Likewise.
786 (gfc_generate_function_code): Likewise.
787 * trans-expr.cc (gfc_vptr_size_get): Likewise.
788 (gfc_trans_class_array_init_assign): Likewise.
789 (POWI_TABLE_SIZE): Likewise.
790 (gfc_conv_procedure_call): Likewise.
791 (gfc_trans_arrayfunc_assign): Likewise.
792 * trans-intrinsic.cc (gfc_conv_intrinsic_len): Likewise.
793 (gfc_conv_intrinsic_loc): Likewise.
794 (conv_intrinsic_event_query): Likewise.
795 * trans-io.cc (gfc_build_st_parameter): Likewise.
796 * trans-openmp.cc (gfc_omp_check_optional_argument): Likewise.
797 (gfc_omp_unshare_expr_r): Likewise.
798 (gfc_trans_omp_array_section): Likewise.
799 (gfc_trans_omp_clauses): Likewise.
800 * trans-stmt.cc (trans_associate_var): Likewise.
801 (gfc_trans_deallocate): Likewise.
802 * trans-stmt.h (gfc_trans_class_init_assign): Likewise.
803 (gfc_trans_deallocate): Likewise.
804 (gfc_trans_oacc_declare): Likewise.
805 * trans-types.cc: Likewise.
806 * trans-types.h (enum gfc_packed): Likewise.
807 * trans.cc (N_): Likewise.
808 (trans_code): Likewise.
809 * trans.h (gfc_build_compare_string): Likewise.
810 (gfc_conv_expr_type): Likewise.
811 (gfc_trans_deferred_vars): Likewise.
812 (getdecls): Likewise.
813 (gfc_get_array_descr_info): Likewise.
814 (gfc_omp_firstprivatize_type_sizes): Likewise.
817 2022-01-17 Martin Liska <mliska@suse.cz>
819 * arith.c: Moved to...
821 * array.c: Moved to...
825 * check.c: Moved to...
827 * class.c: Moved to...
829 * constructor.c: Moved to...
830 * constructor.cc: ...here.
831 * convert.c: Moved to...
832 * convert.cc: ...here.
835 * data.c: Moved to...
837 * decl.c: Moved to...
839 * dependency.c: Moved to...
840 * dependency.cc: ...here.
841 * dump-parse-tree.c: Moved to...
842 * dump-parse-tree.cc: ...here.
843 * error.c: Moved to...
845 * expr.c: Moved to...
847 * f95-lang.c: Moved to...
848 * f95-lang.cc: ...here.
849 * frontend-passes.c: Moved to...
850 * frontend-passes.cc: ...here.
851 * gfortranspec.c: Moved to...
852 * gfortranspec.cc: ...here.
853 * interface.c: Moved to...
854 * interface.cc: ...here.
855 * intrinsic.c: Moved to...
856 * intrinsic.cc: ...here.
859 * iresolve.c: Moved to...
860 * iresolve.cc: ...here.
861 * match.c: Moved to...
863 * matchexp.c: Moved to...
864 * matchexp.cc: ...here.
865 * misc.c: Moved to...
867 * module.c: Moved to...
868 * module.cc: ...here.
869 * openmp.c: Moved to...
870 * openmp.cc: ...here.
871 * options.c: Moved to...
872 * options.cc: ...here.
873 * parse.c: Moved to...
875 * primary.c: Moved to...
876 * primary.cc: ...here.
877 * resolve.c: Moved to...
878 * resolve.cc: ...here.
879 * scanner.c: Moved to...
880 * scanner.cc: ...here.
881 * simplify.c: Moved to...
882 * simplify.cc: ...here.
885 * symbol.c: Moved to...
886 * symbol.cc: ...here.
887 * target-memory.c: Moved to...
888 * target-memory.cc: ...here.
889 * trans-array.c: Moved to...
890 * trans-array.cc: ...here.
891 * trans-common.c: Moved to...
892 * trans-common.cc: ...here.
893 * trans-const.c: Moved to...
894 * trans-const.cc: ...here.
895 * trans-decl.c: Moved to...
896 * trans-decl.cc: ...here.
897 * trans-expr.c: Moved to...
898 * trans-expr.cc: ...here.
899 * trans-intrinsic.c: Moved to...
900 * trans-intrinsic.cc: ...here.
901 * trans-io.c: Moved to...
902 * trans-io.cc: ...here.
903 * trans-openmp.c: Moved to...
904 * trans-openmp.cc: ...here.
905 * trans-stmt.c: Moved to...
906 * trans-stmt.cc: ...here.
907 * trans-types.c: Moved to...
908 * trans-types.cc: ...here.
909 * trans.c: Moved to...
912 2022-01-17 Andrew Stubbs <ams@codesourcery.com>
914 * openmp.c (gfc_match_omp_requires): Don't "sorry" dynamic_allocators.
916 2022-01-15 Harald Anlauf <anlauf@gmx.de>
919 * target-memory.c (gfc_interpret_character): Result length is
920 in bytes and thus depends on the character kind.
921 * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Compute correct
922 string length for the result of the TRANSFER intrinsic and for
923 temporaries for the different character kinds.
925 2022-01-14 Harald Anlauf <anlauf@gmx.de>
928 * intrinsic.c: Do not check formal argument type when checking
929 arguments of intrinsics for alternate return specifiers.
931 2022-01-14 Harald Anlauf <anlauf@gmx.de>
934 * expr.c (gfc_simplify_expr): Adjust logic for when to scalarize a
935 call of an intrinsic which may have been overloaded.
937 2022-01-13 Hafiz Abid Qadeer <abidh@codesourcery.com>
939 * dump-parse-tree.c (show_omp_clauses): Handle OMP_LIST_ALLOCATE.
940 * gfortran.h (OMP_LIST_ALLOCATE): New enum value.
941 * openmp.c (enum omp_mask1): Add OMP_CLAUSE_ALLOCATE.
942 (gfc_match_omp_clauses): Handle OMP_CLAUSE_ALLOCATE
943 (OMP_PARALLEL_CLAUSES, OMP_DO_CLAUSES, OMP_SECTIONS_CLAUSES)
944 (OMP_TASK_CLAUSES, OMP_TASKLOOP_CLAUSES, OMP_TARGET_CLAUSES)
945 (OMP_TEAMS_CLAUSES, OMP_DISTRIBUTE_CLAUSES)
946 (OMP_SINGLE_CLAUSES): Add OMP_CLAUSE_ALLOCATE.
947 (OMP_TASKGROUP_CLAUSES): New.
948 (gfc_match_omp_taskgroup): Use OMP_TASKGROUP_CLAUSES instead of
949 OMP_CLAUSE_TASK_REDUCTION.
950 (resolve_omp_clauses): Handle OMP_LIST_ALLOCATE.
951 (resolve_omp_do): Avoid warning when loop iteration variable is
953 * trans-openmp.c (gfc_trans_omp_clauses): Handle translation of
955 (gfc_split_omp_clauses): Update for OMP_LIST_ALLOCATE.
957 2022-01-13 Harald Anlauf <anlauf@gmx.de>
960 * primary.c (gfc_match_structure_constructor): Recover from errors
961 that occurred while checking for a valid structure constructor in
964 2022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org>
966 * libgfortran.h (unit_convert): Add flags.
968 2022-01-11 Jakub Jelinek <jakub@redhat.com>
970 * trans-types.c (gfc_init_kinds): When setting abi_kind to 17, if not
971 targetting glibc 2.32 or later and -fbuilding-libgfortran, set
972 gfc_real16_is_float128 and c_float128 in gfc_real_kinds.
973 (gfc_build_real_type): Don't set c_long_double if c_float128 is
975 * trans-intrinsic.c (builtin_decl_for_precision): Don't use
976 long_double_built_in if gfc_real16_is_float128 and
977 long_double_type_node == gfc_float128_type_node.
978 * lang.opt (fbuilding-libgfortran): New undocumented option.
980 2022-01-11 Jakub Jelinek <jakub@redhat.com>
982 * trans-intrinsic.c (gfc_get_intrinsic_lib_fndecl): Use
985 2022-01-11 Jakub Jelinek <jakub@redhat.com>
987 * trans-io.c (transfer_array_desc): Pass abi kind instead of kind
990 2022-01-11 Jakub Jelinek <jakub@redhat.com>
992 * trans-io.c (transfer_namelist_element): Use gfc_type_abi_kind,
994 (transfer_expr): Use gfc_type_abi_kind, use *REAL128* APIs even
997 2022-01-11 Jakub Jelinek <jakub@redhat.com>
999 * gfortran.h (gfc_real_info): Add abi_kind member.
1000 (gfc_type_abi_kind): Declare.
1001 * trans-types.c (gfc_init_kinds): Initialize abi_kind.
1002 * intrinsic.c (gfc_type_abi_kind): New function.
1003 (conv_name): Use it.
1004 * iresolve.c (resolve_transformational, gfc_resolve_abs,
1005 gfc_resolve_char_achar, gfc_resolve_acos, gfc_resolve_acosh,
1006 gfc_resolve_aimag, gfc_resolve_and, gfc_resolve_aint, gfc_resolve_all,
1007 gfc_resolve_anint, gfc_resolve_any, gfc_resolve_asin,
1008 gfc_resolve_asinh, gfc_resolve_atan, gfc_resolve_atanh,
1009 gfc_resolve_atan2, gfc_resolve_bessel_n2, gfc_resolve_ceiling,
1010 gfc_resolve_cmplx, gfc_resolve_complex, gfc_resolve_cos,
1011 gfc_resolve_cosh, gfc_resolve_count, gfc_resolve_dble,
1012 gfc_resolve_dim, gfc_resolve_dot_product, gfc_resolve_dprod,
1013 gfc_resolve_exp, gfc_resolve_floor, gfc_resolve_hypot,
1014 gfc_resolve_int, gfc_resolve_int2, gfc_resolve_int8, gfc_resolve_long,
1015 gfc_resolve_log, gfc_resolve_log10, gfc_resolve_logical,
1016 gfc_resolve_matmul, gfc_resolve_minmax, gfc_resolve_maxloc,
1017 gfc_resolve_findloc, gfc_resolve_maxval, gfc_resolve_merge,
1018 gfc_resolve_minloc, gfc_resolve_minval, gfc_resolve_mod,
1019 gfc_resolve_modulo, gfc_resolve_nearest, gfc_resolve_or,
1020 gfc_resolve_real, gfc_resolve_realpart, gfc_resolve_reshape,
1021 gfc_resolve_sign, gfc_resolve_sin, gfc_resolve_sinh, gfc_resolve_sqrt,
1022 gfc_resolve_tan, gfc_resolve_tanh, gfc_resolve_transpose,
1023 gfc_resolve_trigd, gfc_resolve_xor, gfc_resolve_random_number):
1025 * trans-decl.c (gfc_build_intrinsic_function_decls): Likewise.
1027 2022-01-10 Paul Thomas <pault@gcc.gnu.org>
1030 * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Allow unlimited
1031 polymorphic actual argument passed to assumed type formal.
1033 2022-01-09 Harald Anlauf <anlauf@gmx.de>
1036 * simplify.c (gfc_simplify_maskr): Check validity of argument 'I'
1038 (gfc_simplify_maskl): Likewise.
1040 2022-01-09 Harald Anlauf <anlauf@gmx.de>
1043 * expr.c (gfc_check_pointer_assign): For pointer initialization
1044 targets, check that subscripts and substring indices in
1045 specifications are constant expressions.
1047 2022-01-09 Mikael Morin <mikael@gcc.gnu.org>
1050 * trans-array.c (arg_evaluated_for_scalarization): Add MASKL, MASKR,
1051 SCAN and VERIFY to the list of intrinsics whose KIND argument is to be
1054 2022-01-07 Sandra Loosemore <sandra@codesourcery.com>
1057 * trans-intrinsic.c (gfc_conv_intrinsic_size): Make size_var
1058 actually be a variable and fix surrounding code.
1060 2022-01-06 Steve Kargl <kargl@gcc.gnu.org>
1061 Sandra Loosemore <sandra@codesourcery.com>
1064 * interface.c (argument_rank_mismatch): Replace incorrect assertion
1067 2022-01-05 Sandra Loosemore <sandra@codesourcery.com>
1070 * decl.c (gfc_match_char_spec): Suppress errors around call
1071 to gfc_reduce_init_expr.
1072 * error.c (gfc_query_suppress_errors): New.
1073 * gfortran.h (gfc_query_suppress_errors): Declare.
1074 * symbol.c (gfc_set_default_type): Check gfc_query_suppress_errors.
1076 2022-01-03 Sandra Loosemore <sandra@codesourcery.com>
1079 * expr.c (gfc_is_simply_contiguous): Make it smarter about
1081 * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Do not generate
1082 copy loops for array expressions that are not "variables" (lvalues).
1084 2022-01-03 Jakub Jelinek <jakub@redhat.com>
1086 * gfortranspec.c (lang_specific_driver): Update copyright notice
1088 * gfc-internals.texi: Bump @copying's copyright year.
1089 * gfortran.texi: Ditto.
1090 * intrinsic.texi: Ditto.
1091 * invoke.texi: Ditto.
1094 Copyright (C) 2022 Free Software Foundation, Inc.
1096 Copying and distribution of this file, with or without modification,
1097 are permitted in any medium without royalty provided the copyright
1098 notice and this notice are preserved.