1 2024-02-29 Alexander Westbrooks <alexanderw@gcc.gnu.org>
6 * decl.cc (gfc_get_pdt_instance): Set the PDT instance field
7 'f2k_derived', if not set already, to point to the given
8 PDT template 'f2k_derived' namespace in order to give the
9 PDT instance referential access to the typebound procedures
11 * gfortran.h (gfc_pdt_is_instance_of): Add prototype.
12 * resolve.cc (resolve_typebound_procedure): If the derived type
13 does not have the attribute 'pdt_template' set, compare the
14 dummy argument to the 'resolve_bindings_derived' type like usual.
15 If the derived type is a 'pdt_template', then check if the
16 dummy argument is an instance of the PDT template. If the derived
17 type is a PDT template, and the dummy argument is an instance of
18 that template, but the dummy argument 'param_list' is not
19 SPEC_ASSUMED, check if there are any LEN parameters in the
20 dummy argument. If there are no LEN parameters, then this implies
21 that there are only KIND parameters in the dummy argument.
22 If there are LEN parameters, this would be an error, for all
23 LEN parameters for the dummy argument MUST be assumed for
24 typebound procedures of PDTs.
25 (resolve_pdt): Add a check for ALLOCATABLE and POINTER attributes for
26 SPEC_DEFERRED parameters of PDT class symbols. ALLOCATABLE and
27 POINTER attributes for a PDT class symbol are stored in the
28 'class_pointer' and 'allocatable' attributes of the '_data'
29 component respectively.
30 * symbol.cc (gfc_pdt_is_instance_of): New function.
32 2024-02-26 Harald Anlauf <anlauf@gmx.de>
35 * trans-expr.cc (gfc_conv_procedure_call): Evaluate non-trivial
36 arguments just once before assigning to an unlimited polymorphic
39 2024-02-23 Steve Kargl <kargl@gcc.gnu.org>
40 Harald Anlauf <anlauf@gmx.de>
43 * trans-stmt.cc (gfc_trans_allocate): When a source expression has
44 substring references, part-refs, or %re/%im inquiries, wrap the
45 entity in parentheses to force evaluation of the expression.
47 2024-02-23 Tobias Burnus <tburnus@baylibre.com>
49 * openmp.cc (gfc_match_omp_depobj): Use OPT_Wopenmp
50 as warning category in gfc_warning.
52 2024-02-20 Peter Hill <peter.hill@york.ac.uk>
55 * trans-expr.cc (gfc_conv_intrinsic_to_class): When passing an
56 array component reference of intrinsic type to a procedure
57 with an unlimited polymorphic dummy argument, a temporary
60 2024-02-17 Jakub Jelinek <jakub@redhat.com>
63 * trans-expr.cc (alloc_scalar_allocatable_subcomponent): Don't
64 overwrite expr2->ts.u.cl->backend_decl, instead set size to
65 expr2->ts.u.cl->backend_decl first and use size instead of
66 expr2->ts.u.cl->backend_decl.
67 (gfc_trans_subcomponent_assign): Emit se.pre into block
68 before calling alloc_scalar_allocatable_subcomponent instead of
71 2024-02-17 Harald Anlauf <anlauf@gmx.de>
74 * trans-array.cc (gfc_trans_deferred_array): Do not clobber
75 deferred length for a character variable passed as dummy argument.
77 2024-02-15 Kwok Cheung Yeung <kcyeung@baylibre.com>
79 * dump-parse-tree.cc (show_attr): Handle omp_declare_target_indirect
81 * f95-lang.cc (gfc_gnu_attributes): Add entry for 'omp declare
83 * gfortran.h (symbol_attribute): Add omp_declare_target_indirect
85 (struct gfc_omp_clauses): Add indirect field.
86 * openmp.cc (omp_mask2): Add OMP_CLAUSE_INDIRECT.
87 (gfc_match_omp_clauses): Match indirect clause.
88 (OMP_DECLARE_TARGET_CLAUSES): Add OMP_CLAUSE_INDIRECT.
89 (gfc_match_omp_declare_target): Check omp_device_type and apply
90 omp_declare_target_indirect attribute to symbol if indirect clause
91 active. Show warning if there are only device_type and/or indirect
92 clauses on the directive.
93 * trans-decl.cc (add_attributes_to_decl): Add 'omp declare target
94 indirect' attribute if symbol has indirect attribute set.
96 2024-02-14 Steve Kargl <kargl@gcc.gnu.org>
99 * trans-io.cc (transfer_namelist_element): When building the
100 namelist object name, if the use rename attribute is set, use
101 the local name specified in the use statement.
103 2024-02-14 Jakub Jelinek <jakub@redhat.com>
105 * error.cc (error_print): For u printing of ptrdiff_t,
106 print ptrdiff_t argument converted to unsigned long long and
107 masked with 2ULL * PTRDIFF_MAX + 1.
109 2024-02-13 Tobias Burnus <tburnus@baylibre.com>
112 * trans-openmp.cc (gfc_trans_omp_declare_variant): Handle splitting of
113 OMP_TRAIT_PROPERTY_EXPR into OMP_TRAIT_PROPERTY_{DEV_NUM,BOOL}_EXPR.
114 * openmp.cc (gfc_match_omp_context_selector): Likewise; rejects
115 non-const device_num/condition; improve diagnostic.
117 2024-02-13 Harald Anlauf <anlauf@gmx.de>
120 * trans-expr.cc (gfc_conv_procedure_call): When passing an optional
121 dummy argument to an optional dummy argument of a bind(c) procedure
122 and the dummy argument is passed via a CFI descriptor, no special
123 presence check and passing of a default NULL pointer is needed.
125 2024-02-13 Steve Kargl <kargl@gcc.gnu.org>
128 * trans-array.cc (gfc_trans_deferred_array): Set length to zero,
129 avoiding extraneous diagnostics.
131 2024-02-10 Jakub Jelinek <jakub@redhat.com>
133 * error.cc (error_print): Handle z and t modifiers on d, i and u.
134 * check.cc (gfc_check_transfer): Use %zd instead of %ld and casts to
136 * primary.cc (gfc_convert_to_structure_constructor): Use %td instead
137 of %ld and casts to long.
139 2024-02-10 Jakub Jelinek <jakub@redhat.com>
141 * trans-common.cc (build_common_decl): Use %wu instead of %lu and
142 casts to unsigned long.
143 * resolve.cc (resolve_ordinary_assign): Use %wd instead of %ld and
145 * array.cc (gfc_resolve_character_array_constructor): Likewise.
146 * data.cc (create_character_initializer): Likewise.
148 2024-02-09 Harald Anlauf <anlauf@gmx.de>
151 * arith.cc (reduce_unary): Remember any overflow encountered during
152 reduction of unary arithmetic operations on array constructors and
153 continue, and return error status, but terminate on serious errors.
155 2024-01-28 Harald Anlauf <anlauf@gmx.de>
158 * trans-expr.cc (conv_dummy_value): Treat NULL actual argument to
159 optional dummy with the VALUE attribute as not present.
160 (gfc_conv_procedure_call): Likewise.
162 2024-01-27 Harald Anlauf <anlauf@gmx.de>
165 * trans-array.cc (gfc_conv_array_ref): Restrict use of transformed
166 descriptor (sym->backend_decl) to the unlimited polymorphic case.
168 2024-01-24 Harald Anlauf <anlauf@gmx.de>
171 * trans-expr.cc (conv_dummy_value): New.
172 (gfc_conv_procedure_call): Factor code for handling dummy arguments
173 with the VALUE attribute in the scalar case into conv_dummy_value().
174 Reuse and adjust for calling elemental procedures.
176 2024-01-21 Harald Anlauf <anlauf@gmx.de>
179 * trans-expr.cc (gfc_conv_procedure_call): Fix handling of optional
180 scalar arguments of intrinsic type with the VALUE attribute.
182 2024-01-20 Mikael Morin <mikael@gcc.gnu.org>
186 * parse.cc: Restore current interface to its previous value on error.
188 2024-01-19 Harald Anlauf <anlauf@gmx.de>
191 * trans-array.cc (array_bound_check_elemental): Array bounds check
192 shall apply here to elemental dimensions of an array section only.
194 2024-01-13 Harald Anlauf <anlauf@gmx.de>
197 * trans-intrinsic.cc (gfc_conv_intrinsic_ishftc): Handle optional
198 dummy argument for SIZE passed to ISHFTC. Set default value to
199 BIT_SIZE(I) when missing.
201 2024-01-13 Harald Anlauf <anlauf@gmx.de>
204 * gfortran.h (gfc_loop_annot): New.
205 (gfc_iterator, gfc_forall_iterator): Use for annotation control.
206 * array.cc (gfc_copy_iterator): Adjust.
207 * gfortran.texi: Document annotations IVDEP, UNROLL n, VECTOR,
208 NOVECTOR as applied to DO CONCURRENT.
209 * parse.cc (parse_do_block): Parse annotations IVDEP, UNROLL n,
210 VECTOR, NOVECTOR as applied to DO CONCURRENT. Apply UNROLL only to
211 first loop control variable.
212 * trans-stmt.cc (iter_info): Use gfc_loop_annot.
213 (gfc_trans_simple_do): Adjust.
214 (gfc_trans_forall_loop): Annotate loops with IVDEP, UNROLL n,
215 VECTOR, NOVECTOR as needed for DO CONCURRENT.
216 (gfc_trans_forall_1): Handle loop annotations.
218 2024-01-08 Harald Anlauf <anlauf@gmx.de>
221 * trans-intrinsic.cc (gfc_conv_intrinsic_size): Use
222 gfc_conv_expr_present() for proper check of optional DIM argument.
224 2024-01-06 Harald Anlauf <anlauf@gmx.de>
225 José Rui Faustino de Sousa <jrfsousa@gmail.com>
228 * iresolve.cc (gfc_resolve_repeat): Force conversion to
229 gfc_charlen_int_kind before call to gfc_multiply.
231 2024-01-04 David Malcolm <dmalcolm@redhat.com>
233 * lang.opt.urls: New file, autogenerated by
234 regenerate-opt-urls.py.
236 2024-01-03 Harald Anlauf <anlauf@gmx.de>
238 * trans-types.cc (gfc_get_nodesc_array_type): Clear used gmp
241 2024-01-03 Jakub Jelinek <jakub@redhat.com>
243 * gfortranspec.cc (lang_specific_driver): Update copyright notice
245 * gfc-internals.texi: Bump @copying's copyright year.
246 * gfortran.texi: Ditto.
247 * intrinsic.texi: Ditto.
248 * invoke.texi: Ditto.
251 Copyright (C) 2024 Free Software Foundation, Inc.
253 Copying and distribution of this file, with or without modification,
254 are permitted in any medium without royalty provided the copyright
255 notice and this notice are preserved.