]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/fortran/ChangeLog
Daily bump.
[thirdparty/gcc.git] / gcc / fortran / ChangeLog
CommitLineData
88ce3d5f
GA
12020-11-02 Thomas Schwinge <thomas@codesourcery.com>
2
3 PR fortran/92793
4 * trans.c (gfc_set_backend_locus): Use 'gfc_get_location'.
5 (gfc_restore_backend_locus): Adjust.
6
72020-11-02 Tobias Burnus <tobias@codesourcery.com>
8
9 PR fortran/97655
10 * openmp.c (gfc_match_omp_atomic): Fix mem-order handling;
11 reject specifying update + capture together.
12
132020-10-30 Tobias Burnus <tobias@codesourcery.com>
14
15 * dump-parse-tree.c (show_omp_clauses): Handle atomic clauses.
16 (show_omp_node): Call it for atomic.
17 * gfortran.h (enum gfc_omp_atomic_op): Add GFC_OMP_ATOMIC_UNSET,
18 remove GFC_OMP_ATOMIC_SEQ_CST and GFC_OMP_ATOMIC_ACQ_REL.
19 (enum gfc_omp_memorder): Replace OMP_MEMORDER_LAST by
20 OMP_MEMORDER_UNSET, add OMP_MEMORDER_SEQ_CST/OMP_MEMORDER_RELAXED.
21 (gfc_omp_clauses): Add capture and atomic_op.
22 (gfc_code): remove omp_atomic.
23 * openmp.c (enum omp_mask1): Add atomic, capture, memorder clauses.
24 (gfc_match_omp_clauses): Match them.
25 (OMP_ATOMIC_CLAUSES): Add.
26 (gfc_match_omp_flush): Update for 'last' to 'unset' change.
27 (gfc_match_omp_oacc_atomic): Removed and placed content ..
28 (gfc_match_omp_atomic): ... here. Update for OpenMP 5 clauses.
29 (gfc_match_oacc_atomic): Match directly here.
30 (resolve_omp_atomic, gfc_resolve_omp_directive): Update.
31 * parse.c (parse_omp_oacc_atomic): Update for struct gfc_code changes.
32 * resolve.c (gfc_resolve_blocks): Update assert.
33 * st.c (gfc_free_statement): Also call for EXEC_O{ACC,MP}_ATOMIC.
34 * trans-openmp.c (gfc_trans_omp_atomic): Update.
35 (gfc_trans_omp_flush): Update for 'last' to 'unset' change.
36
372020-10-30 Jan Hubicka <jh@suse.cz>
38
39 * trans-types.c: Include alias.h
40 (gfc_get_array_type_bounds): Set typeless storage.
41
89bb01e7
GA
422020-10-27 Harald Anlauf <anlauf@gmx.de>
43
44 * resolve.c (gfc_impure_variable): A dummy argument with the VALUE
45 attribute may be redefined without making a procedure impure.
46
472020-10-27 Richard Biener <rguenther@suse.de>
48
49 * trans-array.c (gfc_get_descriptor_field): New helper.
50 (gfc_conv_descriptor_data_get): Use it - drop strange
51 REFERENCE_TYPE handling and make sure we don't trigger it.
52 (gfc_conv_descriptor_data_addr): Use gfc_get_descriptor_field.
53 (gfc_conv_descriptor_data_set): Likewise.
54 (gfc_conv_descriptor_offset): Likewise.
55 (gfc_conv_descriptor_dtype): Likewise.
56 (gfc_conv_descriptor_span): Likewise.
57 (gfc_get_descriptor_dimension): Likewise.
58 (gfc_conv_descriptor_token): Likewise.
59 (gfc_conv_descriptor_subfield): New helper.
60 (gfc_conv_descriptor_stride): Use it.
61 (gfc_conv_descriptor_lbound): Likewise.
62 (gfc_conv_descriptor_ubound): Likewise.
63
9651cba4
GA
642020-10-25 Thomas Koenig <tkoenig@gcc.gnu.org>
65
66 PR fortran/97454
67 * gfortran.h (gfc_symbol): Add pass_as_value flag.
68 (gfc_copy_formal_args_intr): Add optional argument
69 copy_type.
70 (gfc_get_intrinsic_function_symbol): Add prototype.
71 (gfc_find_intrinsic_symbol): Add prototype.
72 * intrinsic.c (gfc_get_intrinsic_function_symbol): New function.
73 (gfc_find_intrinsic_symbol): New function.
74 * symbol.c (gfc_copy_formal_args_intr): Add argument. Handle case
75 where the type needs to be copied from the actual argument.
76 * trans-intrinsic.c (remove_empty_actual_arguments): New function.
77 (specific_intrinsic_symbol): New function.
78 (gfc_conv_intrinsic_funcall): Use it.
79 (strip_kind_from_actual): Adjust so that the expression pointer
80 is set to NULL.
81 (gfc_conv_intrinsic_minmaxloc): Likewise.
82 (gfc_conv_intrinsic_minmaxval): Adjust removal of dim.
83 * trans-types.c (gfc_sym_type): If sym->pass_as_value is set, do
84 not pass by reference.
85
43868df3
GA
862020-10-22 Tobias Burnus <tobias@codesourcery.com>
87
88 * gfortran.h (enum gfc_omp_memorder): Add.
89 (gfc_omp_clauses): Use it.
90 * openmp.c (gfc_match_omp_flush): Match memorder clauses.
91 * trans-openmp.c (gfc_trans_omp_flush): Handle them.
92 (gfc_trans_omp_directive): Update call.
93
56ddd5e2
GA
942020-10-21 Tobias Burnus <tobias@codesourcery.com>
95
96 PR fortran/45516
97 * class.c: Add _deallocate to the vtable documentation
98 comment.
99
56e4eee9
GA
1002020-10-16 Harald Anlauf <anlauf@gmx.de>
101
102 PR fortran/95979
103 * expr.c (gfc_check_init_expr): Fix check of return code from
104 gfc_intrinsic_func_interface.
105 * intrinsic.c (gfc_intrinsic_func_interface): Add further attempt
106 of simplification of elemental intrinsics with array arguments.
107 * iresolve.c (gfc_resolve_index_func): Keep optional KIND argument
108 for simplification of elemental use of INDEX.
109
b85d5dc5
GA
1102020-10-15 Andre Vehreschild <vehre@gcc.gnu.org>
111
112 * trans-decl.c (gfc_build_builtin_function_decls): Fix the coarray fndecls.
113
b2698c21
GA
1142020-10-14 Tobias Burnus <tobias@codesourcery.com>
115
116 PR fortran/97390
117 * scanner.c (load_line): Fix line-truncation warning for !$acc
118 and !gcc$ in free-form source code.
119
1202020-10-14 Steven G. Kargl <kargl@gcc.gnu.org>
121 Mark Eggleston <markeggleston@gcc.gnu.org>
122
123 PR fortran/95614
124 * decl.c (gfc_get_common): Use gfc_match_common_name instead
125 of match_common_name.
126 * decl.c (gfc_bind_idents): Use gfc_match_common_name instead
127 of match_common_name.
128 * match.c : Rename match_common_name to gfc_match_common_name.
129 * match.c (gfc_match_common): Use gfc_match_common_name instead
130 of match_common_name.
131 * match.h : Rename match_common_name to gfc_match_common_name.
132 * resolve.c (resolve_common_vars): Check each symbol in a
133 common block has a global symbol. If there is a global symbol
134 issue an error if the symbol type is a module or a program.
135
8be127ca
GA
1362020-10-12 Mark Eggleston <markeggleston@gcc.gnu.org>
137
138 PR fortran/96099
139 * decl.c (gfc_match_implicit): Check for numeric and logical
140 types.
141
6caec77e
GA
1422020-10-07 Paul Thomas <pault@gcc.gnu.org>
143
144 PR fortran/47469
145 * trans-expr.c (arrayfunc_assign_needs_temporary): Tidy detection
146 of pointer and allocatable functions.
147
4347d36f
GA
1482020-10-04 Harald Anlauf <anlauf@gmx.de>
149
150 PR fortran/97272
151 * trans-intrinsic.c (strip_kind_from_actual): Helper function for
152 removal of KIND argument.
153 (gfc_conv_intrinsic_minmaxloc): Ignore KIND argument here, as it
154 is treated elsewhere.
155
b0b9b8f0
GA
1562020-10-02 Jan Hubicka <hubicka@ucw.cz>
157
158 * trans-decl.c (gfc_build_library_function_decl_with_spec): Verify
159 fnspec.
160 (gfc_build_intrinsic_function_decls): Update fnspecs.
161 (gfc_build_builtin_function_decls): Update fnspecs.
162 * trans-io.c (gfc_build_io_library_fndecls): Update fnspecs.
163 * trans-types.c (create_fn_spec): Update fnspecs.
164
660bfe61
GA
1652020-09-30 Jan Hubicka <jh@suse.cz>
166
167 * trans-decl.c (gfc_build_intrinsic_function_decls): Add traling dots
168 to spec strings so they match the number of parameters; do not use
169 R and W for non-pointer parameters. Drop pointless specifier on
170 caf_stop_numeric and caf_get_team.
171
1722020-09-30 Jan Hubicka <hubicka@ucw.cz>
173
174 * trans-io.c (gfc_build_io_library_fndecls): Add trailing dots so
175 length of spec string matches number of arguments.
176
1772020-09-30 Tobias Burnus <tobias@codesourcery.com>
178
179 PR fortran/97242
180 * expr.c (gfc_is_not_contiguous): Fix check.
181 (gfc_check_pointer_assign): Use it.
182
1832020-09-30 Paul Thomas <pault@gcc.gnu.org>
184
185 PR fortran/97045
186 * trans-array.c (gfc_conv_array_ref): Make sure that the class
187 decl is passed to build_array_ref in the case of unlimited
188 polymorphic entities.
189 * trans-expr.c (gfc_conv_derived_to_class): Ensure that array
190 refs do not preceed the _len component. Free the _len expr.
191 * trans-stmt.c (trans_associate_var): Reset 'need_len_assign'
192 for polymorphic scalars.
193 * trans.c (gfc_build_array_ref): When the vptr size is used for
194 span, multiply by the _len field of unlimited polymorphic
195 entities, when non-zero.
196
1972020-09-30 Tom de Vries <tdevries@suse.de>
198
199 * f95-lang.c (gfc_init_builtin_functions): Update
200 targetm.libc_has_function call.
201
e84761c6
GA
2022020-09-28 Mark Eggleston <markeggleston@gcc.gnu.org>
203
204 Revert:
205 2020-09-27 Steven G. Kargl <kargl@gcc.gnu.org>
206 Mark Eggleston <markeggleston@gcc.gnu.org>
207
208 PR fortran/95614
209 * decl.c (gfc_get_common): Use gfc_match_common_name instead
210 of match_common_name.
211 * decl.c (gfc_bind_idents): Use gfc_match_common_name instead
212 of match_common_name.
213 * match.c : Rename match_common_name to gfc_match_common_name.
214 * match.c (gfc_match_common): Use gfc_match_common_name instead
215 of match_common_name.
216 * match.h : Rename match_common_name to gfc_match_common_name.
217 * resolve.c (resolve_common_vars): Check each symbol in a
218 common block has a global symbol. If there is a global symbol
219 issue an error if the symbol type is known as is not a common
220 block name.
221
4383c595
GA
2222020-09-27 Steven G. Kargl <kargl@gcc.gnu.org>
223 Mark Eggleston <markeggleston@gcc.gnu.org>
224
225 PR fortran/95614
226 * decl.c (gfc_get_common): Use gfc_match_common_name instead
227 of match_common_name.
228 * decl.c (gfc_bind_idents): Use gfc_match_common_name instead
229 of match_common_name.
230 * match.c : Rename match_common_name to gfc_match_common_name.
231 * match.c (gfc_match_common): Use gfc_match_common_name instead
232 of match_common_name.
233 * match.h : Rename match_common_name to gfc_match_common_name.
234 * resolve.c (resolve_common_vars): Check each symbol in a
235 common block has a global symbol. If there is a global symbol
236 issue an error if the symbol type is known as is not a common
237 block name.
238
a2b7397b
GA
2392020-09-24 Paul Thomas <pault@gcc.gnu.org>
240
241 PR fortran/96495
242 * trans-expr.c (gfc_conv_procedure_call): Take the deallocation
243 of allocatable result components of a scalar result outside the
244 scalarization loop. Find and use the stored result.
245
44135373
GA
2462020-09-21 Harald Anlauf <anlauf@gmx.de>
247 Paul Thomas <pault@gcc.gnu.org>
248
249 * iresolve.c (gfc_resolve_mvbits): Remove unneeded conversion of
250 FROMPOS, LEN and TOPOS arguments to fit a C int.
251 * trans-intrinsic.c (gfc_conv_intrinsic_mvbits): Add inline
252 expansion of MVBITS intrinsic elemental subroutine and add code
253 for runtime argument checking.
254 (gfc_conv_intrinsic_subroutine): Recognise MVBITS intrinsic, but
255 defer handling to gfc_trans_call.
256 * trans-stmt.c (replace_ss):
257 (gfc_trans_call): Adjust to handle inline expansion, scalarization
258 of intrinsic subroutine MVBITS in gfc_conv_intrinsic_mvbits.
259 * trans.h (gfc_conv_intrinsic_mvbits): Add prototype for
260 gfc_conv_intrinsic_mvbits.
261
2fe5b7d1
GA
2622020-09-19 Sandra Loosemore <sandra@codesourcery.com>
263
264 * interface.c (gfc_compare_actual_formal): Add assertion after
265 main processing loop to silence maybe-uninitialized error.
266
2672020-09-19 Harald Anlauf <anlauf@gmx.de>
268
269 * symbol.c (gfc_check_conflict): Allow ELEMENTAL RECURSIVE
270 procedure prefix for -std=f2018.
271
2aad20c0
GA
2722020-09-17 Tobias Burnus <tobias@codesourcery.com>
273
274 PR fortran/96041
275 PR fortran/93423
276 * decl.c (gfc_match_submod_proc): Avoid later double-free
277 in the error case.
278
ecde1b0a
GA
2792020-09-16 Tobias Burnus <tobias@codesourcery.com>
280
281 PR fortran/97061
282 * trans-openmp.c (gfc_trans_omp_do): Handle simd with (last)private.
283
9f7ab8c5
GA
2842020-09-15 Tobias Burnus <tobias@codesourcery.com>
285
286 PR fortran/96668
287 * trans.h (gfc_omp_finish_clause): Add bool openacc arg.
288 * trans-openmp.c (gfc_omp_finish_clause): Ditto. Use
289 GOMP_MAP_ALWAYS_POINTER with PSET for pointers.
290 (gfc_trans_omp_clauses): Like the latter and also if the always
291 modifier is used.
292
80f86e78
GA
2932020-09-09 Tobias Burnus <tobias@codesourcery.com>
294
295 PR fortran/95109
296 PR fortran/94690
297 * resolve.c (gfc_resolve_code): Also call
298 gfc_resolve_omp_parallel_blocks for 'distribute parallel do (simd)'.
299 * openmp.c (gfc_resolve_omp_parallel_blocks): Handle it.
300 (gfc_resolve_do_iterator): Remove special code for SIMD, which is
301 not needed.
302 * trans-openmp.c (gfc_trans_omp_target): For TARGET_PARALLEL_DO_SIMD,
303 call simd not do processing function.
304
31a05046
GA
3052020-09-08 Thomas Koenig <tkoenig@gcc.gnu.org>
306
307 * intrinsic.texi: Fix description of FINDLOC result.
308
a995c40d
GA
3092020-09-07 Harald Anlauf <anlauf@gmx.de>
310
311 * trans-intrinsic.c (build_round_expr): Use temporary with
312 appropriate kind for conversion before rounding to nearest
313 integer when the result precision is 128 bits.
314
3152020-09-07 Tobias Burnus <tobias@codesourcery.com>
316
317 PR fortran/96896
318 * resolve.c (get_temp_from_expr): Also reset proc_pointer +
319 use_assoc attribute.
320 (resolve_ptr_fcn_assign): Use information from the LHS.
321
3222020-09-07 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
323
324 * trans-types.c (gfc_get_derived_type): Fix argument types.
325
3262020-09-07 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
327
328 * resolve.c (resolve_select_type): Provide a formal arg list.
329
0fd39e42
GA
3302020-09-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
331
332 * trans-types.c (gfc_get_ppc_type): Add comment.
333
3342020-09-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
335
336 * trans-types.c (gfc_get_ppc_type): Fix function arg types.
337
3382020-09-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
339
340 PR fortran/96947
341 * trans-stmt.c (gfc_trans_fail_image): caf_fail_image
342 expects no argument.
343
6a8f4e47
GA
3442020-09-02 Jakub Jelinek <jakub@redhat.com>
345
346 PR fortran/96859
347 * check.c (gfc_boz2real, gfc_boz2int): When clearing first two bits,
348 change also '2' to '0' and '3' to '1' rather than just handling '4'
349 through '7'.
350
e1a4a8a0
GA
3512020-09-01 Steven G. Kargl <kargl@gcc.gnu.org>
352 Mark Eggleston <markeggleston@gcc.gnu.org>
353
354 PR fortran/95398
355 * resolve.c (resolve_select_type): Add check for BT_CLASS
356 type before using the CLASS_DATA macro which will have a
357 NULL pointer to derive components if it isn't BT_CLASS.
358
cf2bc861
GA
3592020-08-30 José Rui Faustino de Sousa <jrfsousa@gmail.com>
360
361 PR fortran/96728
362 * module.c (module_peek_char): Peek ahead function.
363 (parse_integer): Add code for parsing signed integers.
364 (parse_atom): Add code to handle signed integers.
365 (peek_atom): Add code to handle signed integers.
366
3672020-08-30 José Rui Faustino de Sousa <jrfsousa@gmail.com>
368
369 PR fortran/96727
370 * expr.c (gfc_check_init_expr): Add default error message for the AS_ASSUMED_RANK case.
371
3722020-08-30 José Rui Faustino de Sousa <jrfsousa@gmail.com>
373
374 PR fortran/96726
375 * expr.c (check_references): Change different relational operator
376 to less-than operator to avoid infinite loop.
377
3782020-08-30 José Rui Faustino de Sousa <jrfsousa@gmail.com>
379
380 PR fortran/95352
381 * simplify.c (simplify_bound_dim): Add check for NULL pointer
382 before trying to access structure member.
383
3842020-08-30 José Rui Faustino de Sousa <jrfsousa@gmail.com>
385
386 PR fortran/94110
387 * interface.c (gfc_compare_actual_formal): Add code to also raise
388 the actual argument cannot be an assumed-size array error when the
389 dummy arguments are deferred-shape or assumed-rank pointer.
390
8f7ea26a
GA
3912020-08-28 Tobias Burnus <tobias@codesourcery.com>
392
393 PR fortran/94672
394 * trans-array.c (gfc_trans_g77_array): Check against the parm decl and
395 set the nonparm decl used for the is-present check to NULL if absent.
396
3972020-08-28 Paul Thomas <pault@gcc.gnu.org>
398
399 PR fortran/96624
400 * simplify.c (gfc_simplify_reshape): Detect zero shape and
401 clear index if found.
402
8b394f01
GA
4032020-08-27 Mark Eggleston <markeggleston@gcc.gnu.org>
404
405 PR fortran/95882
406 * decl.c (char_len_param_value): Check gfc_seen_div0 and
407 if it is set return MATCH_ERROR.
408
4092020-08-27 Martin Liska <mliska@suse.cz>
410
411 * trans-openmp.c (gfc_trans_omp_do): Set exact argument of a vector
412 growth function to true.
413
57ea0894
GA
4142020-08-26 Tobias Burnus <tobias@codesourcery.com>
415
416 * gfortran.h (enum gfc_omp_device_type): New.
417 (symbol_attribute, gfc_omp_clauses, gfc_common_head): Use it.
418 * module.c (enum ab_attribute): Add AB_OMP_DEVICE_TYPE_HOST,
419 AB_OMP_DEVICE_TYPE_NOHOST and AB_OMP_DEVICE_TYPE_ANY.
420 (attr_bits, mio_symbol_attribute): Handle it.
421 (load_commons, write_common_0): Handle omp_device_type flag.
422 * openmp.c (enum omp_mask1): Add OMP_CLAUSE_DEVICE_TYPE
423 (OMP_DECLARE_TARGET_CLAUSES): Likewise.
424 (gfc_match_omp_clauses): Match 'device_type'.
425 (gfc_match_omp_declare_target): Handle it.
426 * trans-common.c (build_common_decl): Write device-type clause.
427 * trans-decl.c (add_attributes_to_decl): Likewise.
428
baf917af
GA
4292020-08-23 Paul Thomas <pault@gcc.gnu.org>
430
431 PR fortran/96737
432 * trans-types.c (gfc_get_derived_type): Derived types that are
433 used in submodules are not compatible with TYPE_CANONICAL from
434 any of the global namespaces.
435
5b9a3d2a
GA
4362020-08-20 Paul Thomas <pault@gcc.gnu.org>
437
438 PR fortran/96100
439 PR fortran/96101
440 * trans-array.c (get_array_charlen): Tidy up the evaluation of
441 the string length for array constructors. Avoid trailing array
442 references. Ensure string lengths of deferred length components
443 are set. For parentheses operator apply string length to both
444 the primary expression and the enclosed expression.
445
4462020-08-20 Andre Vehreschild <vehre@gcc.gnu.org>
447
448 PR fortran/94958
449 * trans-array.c (gfc_bcast_alloc_comp): Use the correct variable.
450
4512020-08-20 Tobias Burnus <tobias@codesourcery.com>
452
453 * openmp.c (gfc_match_omp_clauses): Re-order 'if' clause pasing
454 to avoid creating spurious symbols.
455
5c265693
GA
4562020-08-18 Harald Anlauf <anlauf@gmx.de>
457
458 * check.c (check_rest): Reject MIN/MAX character arguments of
459 different kind.
460 * simplify.c (min_max_choose): The simplification result shall
461 have the highest kind value of the arguments.
462 * trans-intrinsic.c (gfc_conv_intrinsic_minmax): Choose type and
463 kind of intermediate by looking at all arguments, not the result.
464
deee2322
GA
4652020-08-17 Martin Liska <mliska@suse.cz>
466
467 * openmp.c (resolve_omp_clauses): Add static assert
468 for OMP_LIST_NUM and size of clause_names array.
469 Remove check that is always true.
470
4712020-08-17 Martin Liska <mliska@suse.cz>
472
473 * openmp.c (resolve_omp_clauses): Add NONTEMPORAL to clause
474 names.
475
b3cb5606
GA
4762020-08-13 Andre Vehreschild <vehre@gcc.gnu.org>
477
478 PR fortran/93671
479 * trans-array.c (structure_alloc_comps): Keep caf-mode when applying to
480 components; get the caf_token correctly for allocated scalar components.
481
4822020-08-13 Matthew Krupcale <mkrupcale@matthewkrupcale.com>
483
484 PR fortran/96595
485 * invoke.texi: Fix typos.
486
afdd220a
GA
4872020-08-12 Tobias Burnus <tobias@codesourcery.com>
488
489 * gfortran.h: Add OMP_LIST_NONTEMPORAL.
490 * dump-parse-tree.c (show_omp_clauses): Dump it
491 * openmp.c (enum omp_mask1): Add OMP_CLAUSE_NOTEMPORAL.
492 (OMP_SIMD_CLAUSES): Add it.
493 (gfc_match_omp_clauses): Match nontemporal clause.
494 * trans-openmp.c (gfc_trans_omp_clauses): Process
495 nontemporal clause.
496
84005b8a
GA
4972020-08-10 Thomas Koenig <tkoenig@gcc.gnu.org>
498
499 PR fortran/96556
500 * frontend-passes.c (doloop_contained_function_call):
501 Do not dereference a NULL pointer for value.function.esym.
502
5032020-08-10 Paul Thomas <pault@gcc.gnu.org>
504
505 PR fortran/96312
506 * trans-expr.c (fcncall_realloc_result): Only compare shapes if
507 lhs was allocated..
508
5092020-08-10 Paul Thomas <pault@gcc.gnu.org>
510
511 PR fortran/96102
512 * resolve.c (check_host_association): Replace the gcc_assert
513 with an error for internal procedures.
514
aa5ea20c
GA
5152020-08-05 Thomas Koenig <tkoenig@gcc.gnu.org>
516
517 PR fortran/96469
518 * frontend-passes.c (doloop_contained_function_call): New
519 function.
520 (doloop_contained_procedure_code): New function.
521 (CHECK_INQ): Macro for inquire checks.
522 (doloop_code): Invoke doloop_contained_procedure_code and
523 doloop_contained_function_call if appropriate.
524 (do_intent): Likewise.
525
abba2591
GA
5262020-08-04 Tobias Burnus <tobias@codesourcery.com>
527
528 * openmp.c (resolve_omp_do): Detect not perfectly
529 nested loop with innermost collapse.
530
5312020-08-04 Tobias Burnus <tobias@codesourcery.com>
532
533 * trans-openmp.c (gfc_trans_omp_do): Fix 'lastprivate(conditional:'.
534
6a1ad710
GA
5352020-08-03 Julian Brown <julian@codesourcery.com>
536 Thomas Schwinge <thomas@codesourcery.com>
537
538 * trans-openmp.c (gfc_trans_omp_clauses): Don't create present/release
539 mappings for array descriptors.
540
5412020-08-03 Martin Jambor <mjambor@suse.cz>
542
543 * f95-lang.c (gfc_init_builtin_functions): Remove processing of
544 hsa-builtins.def.
545
5462020-08-03 Tobias Burnus <tobias@codesourcery.com>
547
548 * gfc-internals.texi: Fix typos.
549 * gfortran.texi: Likewise.
550 * intrinsic.texi: Likewise.
551 * invoke.texi: Likewise.
552
7031087c
GA
5532020-08-02 Paul Thomas <pault@gcc.gnu.org>
554
555 PR target/96320
556 * interface.c (gfc_check_dummy_characteristics): If a module
557 procedure arrives with assumed shape in the interface and
558 deferred shape in the procedure itself, update the latter and
559 copy the lower bounds.
560
5612020-08-02 Paul Thomas <pault@gcc.gnu.org>
562
563 PR fortran/96325
564 * primary.c (gfc_match_varspec): In the case that a component
565 reference is added to an intrinsic type component, emit the
566 error message in this function.
567
bea7a391
GA
5682020-07-29 Tobias Burnus <tobias@codesourcery.com>
569
570 * dump-parse-tree.c (show_omp_clauses): Handle order(concurrent).
571 * gfortran.h (struct gfc_omp_clauses): Add order_concurrent.
572 * openmp.c (enum omp_mask1, OMP_DO_CLAUSES, OMP_SIMD_CLAUSES):
573 Add OMP_CLAUSE_ORDER.
574 * trans-openmp.c (gfc_trans_omp_clauses, gfc_split_omp_clauses):
575 Handle order(concurrent) clause.
576
5772020-07-29 Tobias Burnus <tobias@codesourcery.com>
578
579 * openmp.c (resolve_omp_clauses): Permit 'omp target data' without
580 map if use_device_{addr,ptr} is present.
581
5822020-07-29 Mark Eggleston <markeggleston@gcc.gnu.org>
583
584 PR fortran/96319
585 * intrinsic.c (gfc_convert_type_warn): Add check for
586 LOGICAL type so that warnings are not output.
587
5882020-07-29 Tobias Burnus <tobias@codesourcery.com>
589
590 * module.c (mio_symbol_attribute): Fix indent of previous
591 commit.
592
5932020-07-29 Mark Eggleston <markeggleston@gcc.gnu.org>
594
595 PR fortran/53298
596 * trans-array.c (gfc_walk_array_ref): If ref->ss.end is set
597 call gfc_get_scalar_ss.
598
5992020-07-29 Tobias Burnus <tobias@codesourcery.com>
600
601 * gfortran.h (enum gfc_statement): Add ST_OMP_REQUIRES.
602 (enum gfc_omp_requires_kind): New.
603 (enum gfc_omp_atomic_op): Add GFC_OMP_ATOMIC_ACQ_REL.
604 (struct gfc_namespace): Add omp_requires and omp_target_seen.
605 (gfc_omp_requires_add_clause,
606 (gfc_check_omp_requires): New.
607 * match.h (gfc_match_omp_requires): New.
608 * module.c (enum ab_attribute, attr_bits): Add omp requires clauses.
609 (mio_symbol_attribute): Read/write them.
610 * openmp.c (gfc_check_omp_requires, (gfc_omp_requires_add_clause,
611 gfc_match_omp_requires): New.
612 (gfc_match_omp_oacc_atomic): Use requires's default mem-order.
613 * parse.c (decode_omp_directive): Match requires, set omp_target_seen.
614 (gfc_ascii_statement): Handle ST_OMP_REQUIRES.
615 * trans-openmp.c (gfc_trans_omp_atomic): Handle GFC_OMP_ATOMIC_ACQ_REL.
616
e71dab87
GA
6172020-07-27 Tobias Burnus <tobias@codesourcery.com>
618
619 * openmp.c (gfc_resolve_omp_directive): Remove NULL check
620 for clauses in EXEC_OMP_CRITICAL as it no longer can be NULL.
621
9bb403dc
GA
6222020-07-23 Tobias Burnus <tobias@codesourcery.com>
623
624 * gfortran.h (gfc_omp_namelist): Add lastprivate_conditional.
625 * openmp.c (gfc_match_omp_clauses): Handle 'conditional:'
626 modifier of 'lastprivate'.
627 * trans-openmp.c (gfc_omp_clause_default_ctor): Don't assert
628 on OMP_CLAUSE__CONDTEMP_ and other OMP_*TEMP_.
629 (gfc_trans_omp_variable_list): Handle lastprivate_conditional.
630
6312020-07-23 Tobias Burnus <tobias@codesourcery.com>
632
633 * intrinsic.texi (OMP_LIB_KINDS): Add omp_depend_kind.
634
6352020-07-23 Tobias Burnus <tobias@codesourcery.com>
636
637 * gfortran.texi (Standards): Update URL; state that OpenMP 4.5
638 is supported and 5.0 is partially.
639 * intrinsic.texi (OpenMP Modules): Refer also to OpenMP 5.0;
640 (OMP_LIB): Add missing derived type and new named constants.
641
3ea9abca
GA
6422020-07-22 Tobias Burnus <tobias@codesourcery.com>
643
644 * gfortran.h (enum gfc_omp_if_kind): Add OMP_IF_CANCEL and OMP_IF_SIMD.
645 * openmp.c (OMP_SIMD_CLAUSES): Add OMP_CLAUSE_IF.
646 (gfc_match_omp_clauses, resolve_omp_clauses): Handle 'if (simd/cancel:'.
647 * dump-parse-tree.c (show_omp_clauses): Likewise.
648 * trans-openmp.c (gfc_trans_omp_clauses, gfc_trans_omp_cancel,
649 (gfc_split_omp_clauses): Likewise.
650
6512020-07-22 Tobias Burnus <tobias@codesourcery.com>
652
653 * openmp.c (gfc_match_omp_critical): Fix handling hints; permit
654 hint clause without named critical.
655 (resolve_omp_clauses): Require nonnegative constant integer
656 for the hint clause.
657 (gfc_resolve_omp_directive): Check for no name but
658 nonzero value for hint clause.
659 * parse.c (parse_omp_structured_block): Fix same-name check
660 for critical.
661 * trans-openmp.c (gfc_trans_omp_critical): Handle hint clause properly.
662
30430061
GA
6632020-07-21 Harald Anlauf <anlauf@gmx.de>
664
665 PR fortran/89574
666 * trans-decl.c (gfc_get_extern_function_decl): Check whether a
667 symbol belongs to a different module.
668
5154dab3
GA
6692020-07-19 Thomas Koenig <tkoenig@gcc.gnu.org>
670
671 PR fortran/96220
672 * dump-parse-tree.c (get_c_type_name): Always use the entries from
673 c_interop_kinds_table to find the correct C type.
674
6752020-07-19 Thomas Koenig <tkoenig@gcc.gnu.org>
676
677 PR fortran/96018
678 * frontend-passes.c (gfc_check_externals): Adjust formatting.
679 (implicit_pure_call): New function.
680 (implicit_pure_expr): New function.
681 (gfc_fix_implicit_pure): New function.
682 * gfortran.h (gfc_fix_implicit_pure): New prototype.
683 * parse.c (translate_all_program_units): Call gfc_fix_implicit_pure.
684
aeb34e15
GA
6852020-07-18 David Edelsohn <dje.gcc@gmail.com>
686
687 * check.c (gfc_invalid_boz): Mark hint for translation using _().
688
96686b3f
GA
6892020-07-16 Julian Brown <julian@codesourcery.com>
690 Thomas Schwinge <thomas@codesourcery.com>
691
692 * trans-openmp.c (gfc_trans_omp_clauses): Rework OpenACC
693 attach/detach handling for arrays with descriptors.
694
8ca07a30
GA
6952020-07-14 Steven G. Kargl <kargl@gcc.gnu.org>
696 Mark Eggleston <markeggleston@gcc.gnu.org>
697
698 PR fortran/95612
699 * expr.c (gfc_check_pointer_assigb): Output an error if
700 rvalue is a zero sized array or output an error if rvalue
701 doesn't have a symbol tree.
702
7032020-07-14 Tobias Burnus <tobias@codesourcery.com>
704
705 * openmp.c (gfc_match_omp_clauses): Match also derived-type
706 component refs in OMP_CLAUSE_MAP.
707 (resolve_omp_clauses): Resolve those.
708 * trans-openmp.c (gfc_trans_omp_array_section, gfc_trans_omp_clauses):
709 Handle OpenMP structure-element mapping.
710 (gfc_trans_oacc_construct, gfc_trans_oacc_executable_directive,
711 (gfc_trans_oacc_combined_directive, gfc_trans_oacc_declare): Update
712 add openacc=true in gfc_trans_omp_clauses call.
713
7142020-07-14 Tobias Burnus <tobias@codesourcery.com>
715
716 PR fortran/67311
717 * trans-openmp.c (gfc_has_alloc_comps): Return false also for
718 pointers to arrays.
719
7202020-07-14 Steven G. Kargl <kargl@gcc.gnu.org>
721 Mark Eggleston <markeggleston@gcc.gnu.org>
722
723 PR fortran/96038
724 * decl.c (add_init_expr_sym): For a symbol that is a
725 parameter accept an initialisation if it does not have a
726 value otherwise output a error and reject.
727
ea69fcf9
GA
7282020-07-13 Mark Eggleston <markeggleston@gcc.gnu.org>
729
730 PR fortran/45337
731 * resolve.c (resolve_fl_variable): Remove type and intent
732 checks from the check for dummy.
733
7342020-07-13 Steven G. Kargl <kargl@gcc.gnu.org>
735 Mark Eggleston <markeggleston@gcc.gnu.org>
736
737 PR fortran/95981
738 * check.c (dim_rank_check): Allow NULL references in call to
739 gfc_find_array_ref and return false if no reference is found.
740
42f19c38
GA
7412020-07-11 Thomas Koenig <tkoenig@gcc.gnu.org>
742
743 PR fortran/96073
744 * frontend-passes.c (check_externals_procedure): Add locus
745 information for new_sym.
746 * interface.c (gfc_check_dummy_characteristics): Do not warn
747 about INTENT for artificially generated variables.
748
86536295
GA
7492020-07-10 Harald Anlauf <anlauf@gmx.de>
750
751 PR fortran/95980
752 * class.c (gfc_add_component_ref, gfc_build_class_symbol):
753 Add checks for NULL pointer dereference.
754 * primary.c (gfc_variable_attr): Likewise.
755 * resolve.c (resolve_variable, resolve_assoc_var)
756 (resolve_fl_var_and_proc, resolve_fl_variable_derived)
757 (resolve_symbol): Likewise.
758
7592020-07-10 Harald Anlauf <anlauf@gmx.de>
760
761 PR fortran/96086
762 * match.c (gfc_match_select_rank): Catch NULL pointer
763 dereference.
764 * resolve.c (resolve_assoc_var): Catch NULL pointer dereference
765 that may occur after an illegal declaration.
766
3f8ca9cb
GA
7672020-07-09 Julian Brown <julian@codesourcery.com>
768
769 * trans-openmp.c (gfc_trans_omp_clauses): Use 'inner' not 'decl' for
770 derived type members which themselves have derived types.
771
50873cc5
GA
7722020-07-08 Harald Anlauf <anlauf@gmx.de>
773
774 PR fortran/96085
775 * resolve.c (gfc_resolve_code): Check whether assign target is a
776 parameter.
777
4077d74c
GA
7782020-07-06 Harald Anlauf <anlauf@gmx.de>
779
780 PR fortran/95980
781 * match.c (copy_ts_from_selector_to_associate, build_class_sym):
782 Distinguish between unlimited polymorphic and ordinary variables
783 to avoid NULL pointer dereference.
784 * resolve.c (resolve_select_type):
785 Distinguish between unlimited polymorphic and ordinary variables
786 to avoid NULL pointer dereference.
787
7882020-07-06 Harald Anlauf <anlauf@gmx.de>
789
790 PR fortran/95709
791 * resolve.c (gfc_resolve_code): Check for valid arguments to
792 assigned GOTO.
793
df66f280
GA
7942020-07-05 Thomas Koenig <tkoenig@gcc.gnu.org>
795
796 PR fortran/27318
797 * frontend-passes.c (check_against_globals): New function.
798 (gfc_check_externals): Split; also invoke check_against_globals
799 via gfc_traverse_ns.
800 (gfc_check_externals0): Recursive part formerly in
801 gfc_check_externals.
802 * resolve.c (resolve_global_procedure): Set sym->error on
803 interface mismatch.
804 * symbol.c (ambiguous_symbol): Check for, and set sym->error.
805
b5f24739
GA
8062020-07-02 Harald Anlauf <anlauf@gmx.de>
807
808 PR fortran/93423
809 * resolve.c (resolve_symbol): Avoid NULL pointer dereference.
810
8112020-07-02 Harald Anlauf <anlauf@gmx.de>
812
813 PR fortran/93337
814 * class.c (gfc_find_derived_vtab): Punt if name is not set.
815
8162020-07-02 Mark Eggleston <markeggleston@gcc.gnu.org>
817
818 PR fortran/52279
819 * check.c (gfc_invalid_boz): Change array declaration for
820 hint into a pointer.
821
8222020-07-02 Steven G. Kargl <kargl@gcc.gnu.org>
823 Mark Eggleston <markeggleston@gcc.gnu.org>
824
825 PR fortran/95584
826 * interface.c (generic_correspondence): Only use the pointer
827 to a symbol if exists.
828
64f761e4
GA
8292020-07-01 David Edelsohn <dje.gcc@gmail.com>
830
831 * check.c (gfc_invalid_boz): Fix bootstrap. Revert
832 Mark hint for translation using _().
833
8342020-07-01 Mark Eggleston <markeggleston@gcc.gnu.org>
835
836 PR fortran/52279
837 * arith.c (reduce_binary_aa): Mark for translation the string
838 parameter to gfc_check_conformance with G_().
839 * check.c (gfc_invalid_boz): Mark hint for translation using
840 _(). (gfc_check_achar): Mark for translation the message
841 parameter to gfc_invalid_boz using G_(). (gfc_check_char):
842 Mark for translation the message parameter to gfc_invalid_boz
843 using G_(). (gfc_check_complex): Mark for translation the
844 message parameter to gfc_invalid_boz using G_().
845 (gfc_check_float): Mark for translation the message
846 parameter to gfc_invalid_boz using G_(). (check_rest): Mark
847 for translation the string parameter to gfc_check_conformance
848 with _(). (gfc_check_minloc_maxloc): Mark for translation
849 the string parameter to gfc_check_conformance with _().
850 (gfc_check_findloc): Mark for translation the string parameter
851 to gfc_check_conformance with _(). (check_reduction): Mark
852 for translation the string parameter to gfc_check_conformance
853 with _(). (gfc_check_pack): Mark for translation the string
854 parameter to gfc_check_conformance with _().
855 * decl.c (match_old_style_init): Mark for translation the
856 message parameter to gfc_invalid_boz using G_().
857 * expr.c (gfc_check_assign): Mark for translation the string
858 parameter to gfc_check_conformance with _().
859 * intrinsic.c (check_specific): Mark for translation the string
860 parameter to gfc_check_conformance with _().
861 (gfc_check_intrinsic_standard): Mark symstd_msg strings for
862 translation using G_(). No need to mark symstd_msg for
863 translation in call to gfc_warning or when setting symstd.
864 * io.c (check_open_constraints): Mark strings for translation
865 using G_() in all calls to warn_or_error. (match_io_element):
866 Mark for translation the message parameter to gfc_invalid_boz
867 using G_().
868 * primary.c (match_boz_constant): Mark for translation the
869 message parameter to gfc_invalid_boz using G_().
870 * resolve.c (resolve_elemental_actual): Mark for translation
871 the string parameter to gfc_check_conformance with _().
872 (resolve_operator): Mark for translation the string parameter
873 to gfc_check_conformance with _(). Mark translation strings
874 assigned to msg using G_() for use in a call to cfg_warning.
875
8762020-07-01 Steven G. Kargl <kargl@gcc.gnu.org>
877 Mark Eggleston <markeggleston@gcc.gnu.org>
878
879 PR fortran/95446
880 * resolve.c (resolve_elemental_actual): Add code to check for
881 non-optional argument of the same rank. Revise warning message
882 to refer to the Fortran 2018 standard.
883
8842020-07-01 Steven G. Kargl <kargl@gcc.gnu.org>
885 Mark Eggleston <markeggleston@gcc.gnu.org>
886
887 PR fortran/95829
888 * decl.c (gfc_match_decl_type_spec): Compare with "* ) " instead
889 of "*)".
890
46fbb6c6
GA
8912020-06-30 Harald Anlauf <anlauf@gmx.de>
892
893 PR fortran/88379
894 * resolve.c (resolve_assoc_var): Avoid NULL pointer dereference.
895
8962020-06-30 Thomas Koenig <tkoenig@gcc.gnu.org>
897
898 PR fortran/95355
899 * gfortran.h (gfc_typename): Add optional argument for_hash.
900 * misc.c (gfc_typename): When for_hash is true, just retur
901 CHARACTER(kind).
902 * class.c (gfc_intrinsic_hash_value): Call gfc_typename with
903 for_hash = true.
904
458f12ed
GA
9052020-06-29 Harald Anlauf <anlauf@gmx.de>
906
907 PR fortran/95978
908 * decl.c (gfc_match_data): Avoid NULL pointer dereference.
909
9102020-06-29 Thomas Koenig <tkoenig@gcc.gnu.org>
911
912 PR fortran/95743
913 * trans-decl.c (gfc_generate_function_code): Do not generate
914 recursion check for compiler-generated procedures.
915
9162020-06-29 Harald Anlauf <anlauf@gmx.de>
917
918 PR fortran/71706
919 * trans-stmt.c (gfc_trans_sync): Do proper kind conversion in
920 bounds-checking code.
921
69273534
GA
9222020-06-28 Harald Anlauf <anlauf@gmx.de>
923
924 PR fortran/95340
925 * match.c (gfc_match_select_rank): Do not dereference NULL pointer.
926
9272020-06-28 Harald Anlauf <anlauf@gmx.de>
928
929 PR fortran/95880
930 * symbol.c (gfc_add_type): If sym->ns->proc_name is set, use it,
931 otherwise fall back to sym->name.
932
9a33c41f
GA
9332020-06-27 Harald Anlauf <anlauf@gmx.de>
934
935 PR fortran/95881
936 * resolve.c (resolve_symbol): Avoid NULL pointer dereference.
937
d61ffe12
GA
9382020-06-25 Harald Anlauf <anlauf@gmx.de>
939
940 PR fortran/95828
941 * match.c (select_rank_set_tmp): Enlarge internal buffer used in
942 generating a mangled name.
943 * resolve.c (resolve_select_rank): Likewise.
944
9452020-06-25 Harald Anlauf <anlauf@gmx.de>
946
947 PR fortran/95826
948 * decl.c (gfc_match_decl_type_spec): Replace a fixed size
949 buffer by a pointer and reallocate if necessary.
950
9512020-06-25 Tobias Burnus <tobias@codesourcery.com>
952
953 PR fortran/95837
954 * resolve.c (gfc_resolve_substring_charlen): Remove
955 bogus ts.kind setting for the expression.
956
9572020-06-25 Tobias Burnus <tobias@codesourcery.com>
958 Kwok Cheung Yeung <kcy@codesourery.com>
959
960 PR fortran/95869
961 * trans-openmp.c (gfc_trans_omp_target): Use correct scoping block.
962
9632020-06-25 Kwok Cheung Yeung <kcy@codesourcery.com>
964
965 * trans-openmp.c (gfc_split_omp_clauses): Add if clause
966 to target and simd sub-constructs.
967
2e546c26
GA
9682020-06-24 Harald Anlauf <anlauf@gmx.de>
969
970 PR fortran/95827
971 * iresolve.c (gfc_get_string): Enlarge internal buffer used in
972 generating the mangled name.
973
4543acc8
GA
9742020-06-23 Thomas Koenig <tkoenig@gcc.gnu.org>
975
976 PR fortran/95812
977 * dependency.c (ref_same_as_full_array): Handle case of AR_FULL
978 vs. AR_FULL.
979
9802020-06-23 Steven G. Kargl <kargl@gcc.gnu.org>
981 Mark Eggleston <markeggleston@gcc.gnu.org>
982
983 PR fortran/95586
984 * decl.c (gfc_match_implicit): Only perform else branch if
985 the type spect is not BT_DERIVED.
986
605a8f3b
GA
9872020-06-22 Steven G. Kargl <kargl@gcc.gnu.org>
988 Mark Eggleston <markeggleston@gcc.gnu.org>
989
990 PR fortran/95708
991 * intrinsic.c (add_functions): Replace CLASS_INQUIRY with
992 CLASS_TRANSFORMATIONAL for intrinsic num_images.
993 (make_generic): Replace ACTUAL_NO with ACTUAL_YES for
994 intrinsic team_number.
995 * resolve.c (resolve_fl_procedure): Check pointer ts.u.derived
996 exists before using it.
997
9982020-06-22 Steven G. Kargl <kargl@gcc.gnu.org>
999 Mark Eggleston <markeggleston@gcc.gnu.org>
1000
1001 PR fortran/95585
1002 * check.c (gfc_check_reshape): Add check for a value when
1003 the symbol has an attribute flavor FL_PARAMETER.
1004
10052020-06-22 Mark Eggleston <markeggleston@gcc.gnu.org>
1006
1007 PR fortran/42693
1008 * arith.c (gfc_arith_error): Enclose strings in G_() instead
1009 of _().
1010
bbac3886
GA
10112020-06-20 Harald Anlauf <anlauf@gmx.de>
1012
1013 PR fortran/95707
1014 * gfortran.h (gfc_common_head): Enlarge buffer.
1015 * trans-common.c (gfc_sym_mangled_common_id): Enlarge temporary
1016 buffers, and add check on length on mangled name to prevent
1017 overflow.
1018
10192020-06-20 Harald Anlauf <anlauf@gmx.de>
1020
1021 PR fortran/95688
1022 * iresolve.c (gfc_get_string): Enlarge static buffer size.
1023
10242020-06-20 Harald Anlauf <anlauf@gmx.de>
1025
1026 PR fortran/95687
1027 * class.c (get_unique_type_string): Return a string with dynamic
1028 length.
1029 (get_unique_hashed_string, gfc_hash_value): Use dynamic result
1030 from get_unique_type_string instead of static buffer.
1031
10322020-06-20 Harald Anlauf <anlauf@gmx.de>
1033
1034 PR fortran/95689
1035 * interface.c (check_sym_interfaces): Enlarge temporary buffer,
1036 and add check on length on mangled name to prevent overflow.
1037
10382020-06-20 Harald Anlauf <anlauf@gmx.de>
1039
1040 PR fortran/95587
1041 * match.c (gfc_match_equivalence): Check constraints on
1042 EQUIVALENCE objects also for CLASS variables.
1043
aae80e83
GA
10442020-06-18 Tobias Burnus <tobias@codesourcery.com>
1045
1046 * openmp.c (resolve_omp_clauses): Reject vars with
1047 allocatable components in OpenMP map clauses.
1048
56638b9b
GA
10492020-06-16 Tobias Burnus <tobias@codesourcery.com>
1050
1051 * parse.c (decode_oacc_directive): Permit 'acc routine' also
1052 inside pure procedures.
1053 * openmp.c (gfc_match_oacc_routine): Inside pure procedures
1054 do not permit gang, worker or vector clauses.
1055
10562020-06-16 Tobias Burnus <tobias@codesourcery.com>
1057
1058 * parse.c (decode_omp_directive): Remove "or ELEMENTAL"
1059 from "in PURE" error message also for -fopenmp-simd.
1060
10612020-06-16 Tobias Burnus <tobias@codesourcery.com>
1062
1063 * parse.c (decode_omp_directive): Remove "or ELEMENTAL"
1064 from "in PURE" error message.
1065
0dcb572c
GA
10662020-06-14 Thomas Koenig <tkoenig@gcc.gnu.org>
1067
1068 PR fortran/42122
1069 * dump-parse-tree.c (gfc_dump_global_symbols): If the symroot is
1070 empty, just output "empty".
1071
10722020-06-14 Harald Anlauf <anlauf@gmx.de>
1073
1074 PR fortran/95088
1075 * class.c (get_unique_type_string): Replace use of fixed size
1076 buffer by internally passing a pointer to strings.
1077
10782020-06-14 Thomas Koenig <tkoenig@gcc.gnu.org>
1079
1080 * check.c (gfc_check_random_seed): Always use locations
1081 from get and put arguments for error messages.
1082
10832020-06-14 Thomas Koenig <tkoenig@gcc.gnu.org>
1084
1085 PR fortran/94109
1086 * class.c (finalize_component): Return early if finalization has
1087 already happened for expression and component within namespace.
1088 * gfortran.h (gfc_was_finalized): New type.
1089 (gfc_namespace): Add member was_finalzed.
1090 (gfc_expr): Remove finalized.
1091 * symbol.c (gfc_free_namespace): Free was_finalized.
1092
e68e80c8
GA
10932020-06-11 Harald Anlauf <anlauf@gmx.de>
1094 Steven G. Kargl <kargl@gcc.gnu.org>
1095
1096 PR fortran/95611
1097 * decl.c (access_attr_decl): Use correct symbol in error message.
1098
10992020-06-11 Steven G. Kargl <kargl@gcc.gnu.org>
1100 Harald Anlauf <anlauf@gmx.de>
1101
1102 PR fortran/95544
1103 * check.c (invalid_null_arg): Rename to gfc_invalid_null_arg.
1104 (gfc_check_associated, gfc_check_kind, gfc_check_merge)
1105 (gfc_check_shape, gfc_check_size, gfc_check_spread)
1106 (gfc_check_transfer): Adjust.
1107 (gfc_check_len_lentrim, gfc_check_trim): Check for NULL() argument.
1108 * gfortran.h: Declare gfc_invalid_null_arg ().
1109 * intrinsic.c (check_arglist): Check for NULL() argument.
1110
11112020-06-11 Harald Anlauf <anlauf@gmx.de>
1112
1113 PR fortran/95503
1114 * expr.c (gfc_check_pointer_assign): Skip contiguity check of rhs
1115 of pointer assignment if lhs cannot be simply contiguous.
1116
11172020-06-11 José Rui Faustino de Sousa <jrfsousa@gmail.com>
1118
1119 PR fortran/95331
1120 * trans-array.c (gfc_conv_array_ref): For class array dummy
1121 arguments use the transformed descriptor in sym->backend_decl
1122 instead of the original descriptor.
1123
11242020-06-11 José Rui Faustino de Sousa <jrfsousa@gmail.com>
1125
1126 PR fortran/52351
1127 PR fortran/85868
1128 * trans-array.c (gfc_conv_expr_descriptor): Enable the
1129 creation of a new descriptor with the correct one based
1130 indexing for array sections. Rework array descriptor
1131 indexing offset calculation.
1132
11332020-06-11 José Rui Faustino de Sousa <jrfsousa@gmail.com>
1134
1135 PR fortran/94022
1136 * trans-expr.c (gfc_conv_procedure_call): In the case of
1137 assumed-size arrays ensure that the reference is to a full array.
1138
53d461e4
GA
11392020-06-07 Harald Anlauf <anlauf@gmx.de>
1140
1141 PR fortran/95091
1142 * class.c (gfc_hash_value): Add cast.
1143
11442020-06-07 Harald Anlauf <anlauf@gmx.de>
1145
1146 PR fortran/95091
1147 * class.c (get_unique_type_string, gfc_hash_value): Enlarge
1148 buffers, and check whether the strings returned by
1149 get_unique_type_string() fit.
1150
1a59f3db
GA
11512020-06-05 Harald Anlauf <anlauf@gmx.de>
1152
1153 PR fortran/95530
1154 PR fortran/95537
1155 * decl.c (gfc_match_decl_type_spec): Enlarge buffer, and enhance
1156 string copy to detect buffer overflow.
1157 * gfortran.h (gfc_common_head): Enlarge buffer.
1158 * trans-common.c (finish_equivalences): Enhance string copy to
1159 detect buffer overflow.
1160
11612020-06-05 Tom Tromey <tromey@adacore.com>
1162
1163 PR fortran/95509
1164 * misc.c (gfc_closest_fuzzy_match): Update cutoff value
1165 computation.
1166
3add3425
GA
11672020-06-04 Steven G. Kargl <kargl@gcc.gnu.org>
1168 Harald Anlauf <anlauf@gmx.de>
1169
1170 PR fortran/95500
1171 * trans-expr.c (gfc_conv_expr_reference): Do not dereference NULL
1172 pointer.
1173
9a5b7438
GA
11742020-06-03 José Rui Faustino de Sousa <jrfsousa@gmail.com>
1175
1176 PR fortran/95214
1177 PR fortran/66833
1178 PR fortran/67938
1179 * trans-expr.c (gfc_maybe_dereference_var): Add assumed-rank to
1180 character dummy arguments list of possible attributes.
1181
11822020-06-03 Tobias Burnus <tobias@codesourcery.com>
1183
1184 * f95-lang.c (LANG_HOOKS_OMP_PREDETERMINED_MAPPING): Redefine.
1185 * trans-openmp.c (gfc_omp_predetermined_mapping): New.
1186 * trans.h (gfc_omp_predetermined_mapping): Declare.
1187
e7340ed7
GA
11882020-05-31 Thomas Koenig <tkoenig@gcc.gnu.org>
1189
1190 PR fortran/94361
1191 * class.c (finalize_component): Use expr->finalized instead of
1192 comp->finalized.
1193 * gfortran.h (gfc_component): Remove finalized member.
1194 (gfc_expr): Add it here instead.
1195
945b53cc
GA
11962020-05-30 Harald Anlauf <anlauf@gmx.de>
1197
1198 PR fortran/95373
1199 * primary.c (is_inquiry_ref): Move validity check of inquiry
1200 references against selected Fortran standard from here...
1201 (gfc_match_varspec) ...to here.
1202
12032020-05-30 Harald Anlauf <anlauf@gmx.de>
1204
1205 PR fortran/95090
1206 * class.c (get_unique_type_string): Use buffer overrun check.
1207
885ef72f
GA
12082020-05-29 Harald Anlauf <anlauf@gmx.de>
1209
1210 PR fortran/95090
1211 * class.c (get_unique_type_string): Enlarge temporary for
1212 name-mangling. Use strncpy to prevent buffer overrun.
1213 (get_unique_hashed_string): Enlarge temporary.
1214 (gfc_hash_value): Enlarge temporary for name-mangling.
1215
53ffb43a
GA
12162020-05-28 Harald Anlauf <anlauf@gmx.de>
1217
1218 PR fortran/95373
1219 * primary.c (is_inquiry_ref): Check validity of inquiry
1220 references against selected Fortran standard.
1221
12222020-05-28 Steven G. Kargl <kargl@gcc.gnu.org>
1223 Mark Eggleston <markeggleston@gcc.gnu.org>
1224 Mark Eggleston <markeggleston@gcc.gnu.org>
1225
1226 PR fortran/94397
1227 * match.c (gfc_match_type_spec): New variable ok initialised
1228 to true. Set ok with the return value of gfc_reduce_init_expr
1229 called only if the expression is not EXPR_CONSTANT and is not
1230 EXPR_VARIABLE. Add !ok to the check for type not being integer
1231 or the rank being greater than zero.
1232
61f3b605
GA
12332020-05-27 Harald Anlauf <anlauf@gmx.de>
1234
1235 PR fortran/95090
1236 * iresolve.c (gfc_get_string): Enlarge temporary for
1237 name-mangling.
1238
12392020-05-27 Tobias Burnus <tobias@codesourcery.com>
1240 Mark Eggleston <markeggleston@gnu.gcc.org>
1241
1242 PR fortran/50392
1243 * trans-decl.c (gfc_get_symbol_decl): Remove unnecessary block
1244 delimiters. Add auxiliary variables if a label is assigned to
1245 a return variable. (gfc_gat_fake_result): If the symbol has an
1246 assign attribute set declaration from the symbol's backend
1247 declaration.
1248
c3a4169b
GA
12492020-05-26 Harald Anlauf <anlauf@gmx.de>
1250
1251 PR fortran/95089
1252 * trans-types.c (gfc_get_derived_type): Enlarge temporary to hold
1253 mangled name "_caf_symbol".
1254
12552020-05-26 Alexandre Oliva <oliva@adacore.com>
1256
1257 * options.c (gfc_get_option_string): Drop auxbase, add
1258 dumpbase_ext.
1259
d176184d
HA
12602020-05-24 Harald Anlauf <anlauf@gmx.de>
1261
1262 PR fortran/95106
1263 * trans-common.c (gfc_sym_mangled_common_id): Enlarge temporaries
1264 for name-mangling.
1265
8df7ee67
TK
12662020-05-23 Thomas Koenig <tkoenig@gcc.gnu.org>
1267
1268 PR libfortran/95191
1269 * libgfortran.h (libgfortran_error_codes): Add
1270 LIBERROR_BAD_WAIT_ID.
1271
eb069ae8
ME
12722020-05-20 Mark Eggleston <markeggleston@gcc.gnu.org>
1273
1274 PR fortran/39695
1275 * resolve.c (resolve_fl_procedure): Set name depending on
1276 whether the result attribute is set. For PROCEDURE/RESULT
1277 conflict use the name in sym->ns->proc_name->name.
1278 * symbol.c (gfc_add_type): Add check for function and result
1279 attributes use sym->ns->proc_name->name if both are set.
1280 Where the symbol cannot have a type use the name in
1281 sym->ns->proc_name->name.
1282
e5abd1cb
HA
12832020-05-18 Harald Anlauf <anlauf@gmx.de>
1284
1285 PR fortran/95053
1286 * arith.c (gfc_divide): Revert hunk introduced by patch for
1287 PR93499.
1288 * decl.c (variable_decl): Generate error for array shape not being
1289 an INTEGER constant.
1290 (gfc_get_pdt_instance): Generate error if KIND or LEN expressions
1291 in declaration of a PDT instance do not simplify to INTEGER
1292 constants.
1293
0ec52417
TB
12942020-05-15 Tobias Burnus <tobias@codesourcery.com>
1295
1296 PR fortran/94690
1297 * openmp.c (resolve_omp_do): Permit more clauses for SIMD
1298 iteration variables.
1299
49ddde69
JJ
13002020-05-14 Jakub Jelinek <jakub@redhat.com>
1301
1302 * trans-openmp.c: Include function.h.
1303 (gfc_trans_omp_target): Set cfun->has_omp_target.
1304
f9f98e59
ME
13052020-05-13 Steven G. Kargl <kargl@gcc.gnu.org>
1306
1307 PR fortran/93497
1308 * decl.c (char_len_param_value): Check whether character
1309 length expression is of type EXPR_OP and if so simplify it.
1310 * resolve.c (resolve_charlen): Reject length if it has a
1311 rank.
1312
f884bef2
TB
13132020-05-13 Tobias Burnus <tobias@codesourcery.com>
1314
1315 PR fortran/94690
1316 * openmp.c (OMP_DISTRIBUTE_CLAUSES): Add OMP_CLAUSE_LASTPRIVATE.
1317 (gfc_resolve_do_iterator): Skip the private handling for SIMD as
1318 that is handled by ME code.
1319 * trans-openmp.c (gfc_trans_omp_do): Don't add private/lastprivate
1320 for dovar_found == 0, unless !simple.
1321
1422c2e4
HA
13222020-05-11 Harald Anlauf <anlauf@gmx.de>
1323
1324 PR fortran/95053
1325 * arith.c (gfc_divide): Do not error out if operand 2 is
1326 non-numeric. Defer checks to later stage.
1327
892c7427
TB
13282020-05-11 Tobias Burnus <tobias@codesourcery.com>
1329
1330 PR fortran/94672
1331 * trans.h (gfc_conv_expr_present): Add use_saved_decl=false argument.
1332 * trans-expr.c (gfc_conv_expr_present): Likewise; use DECL directly
1333 and only if use_saved_decl is true, use the actual PARAM_DECL arg (saved
1334 descriptor).
1335 * trans-array.c (gfc_trans_dummy_array_bias): Set local 'arg.0'
1336 variable to NULL if 'arg' is not present.
1337 * trans-openmp.c (gfc_omp_check_optional_argument): Simplify by checking
1338 'arg.0' instead of the true PARM_DECL.
1339 (gfc_omp_finish_clause): Remove setting 'arg.0' to NULL.
1340
dbeaa7ab
ME
13412020-05-11 Janus Weil <janus@gcc.gnu.org>
1342 Dominique d'Humieres <dominiq@lps.ens.fr>
892c7427 1343
dbeaa7ab
ME
1344 PR fortran/59107
1345 * gfortran.h: Rename field resolved as resolve_symbol_called
1346 and assign two 2 bits instead of 1.
1347 * interface.c (check_dtio_interface1): Use new field name.
1348 (gfc_find_typebound_dtio_proc): Use new field name.
1349 * resolve.c (gfc_resolve_intrinsic): Replace check of the formal
1350 field with resolve_symbol_called is at least 2, if it is not
1351 set the field to 2. (resolve_typebound_procedure): Use new field
1352 name. (resolve_symbol): Use new field name and check whether it
1353 is at least 1, if it is not set the field to 1.
1354
92ed8236
HA
13552020-05-10 Harald Anlauf <anlauf@gmx.de>
1356
1357 PR fortran/93499
1358 * arith.c (gfc_divide): Catch division by zero.
1359 (eval_intrinsic_f3): Safeguard for NULL operands.
1360
5a26ea7e
HA
13612020-05-05 Steve Kargl <kargl@gcc.gnu.org>
1362 Harald Anlauf <anlauf@gmx.de>
1363
1364 PR fortran/93366
1365 * check.c (gfc_check_associated, invalid_null_arg): Factorize
1366 check for presence of invalid NULL() argument.
1367 (gfc_check_kind, gfc_check_merge, gfc_check_shape)
1368 (gfc_check_sizeof, gfc_check_spread, gfc_check_transfer): Use this
1369 check for presence of invalid NULL() arguments.
1370
27594524
SSF
13712020-04-29 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
1372
1373 PR fortran/94769
1374 * io.c (check_io_constraints): Initialize local variable num to
1375 -1 and assert that it receives a meaningful value by function
1376 compare_to_allowed_values.
1377
d8df7c40
TK
13782020-04-27 Thomas Koenig <tkoenig@gcc.gnu.org>
1379
1380 PR fortran/93956
1381 PR fortran/94788
1382 * expr.c (gfc_check_pointer_assign): Revert patch for PR 93956.
1383 * interface.c: Likewise.
1384
2bf7698e
TK
13852020-04-25 Thomas Koenig <tkoenig@gcc.gnu.org>
1386
1387 PR fortran/94578
1388 * trans-expr.c (arrayfunc_assign_needs_temporary): If the
1389 LHS is a subref pointer, we also need a temporary.
1390
06eca1ac
TK
13912020-04-23 Thomas Koenig <tkoenig@gcc.gnu.org>
1392
1393 PR fortran/93956
1394 * expr.c (gfc_check_pointer_assign): Also set subref_array_pointer
1395 when a function returns a pointer.
1396 * interface.c (gfc_set_subref_array_pointer_arg): New function.
1397 (gfc_procedure_use): Call it.
1398
e8eecc2a
FR
13992020-04-22 Fritz Reese <foreese@gcc.gnu.org>
1400
1401 * trigd_fe.inc: Use mpfr to compute cosd(30) rather than a host-
1402 precision floating point literal based on an invalid macro.
1403
808a6ead
JRFS
14042020-04-22 José Rui Faustino de Sousa <jrfsousa@gmail.com>
1405
1406 PR fortran/90350
1407 * simplify.c (simplify_bound): In the case of assumed-size arrays
1408 check if the reference is to a full array.
1409
4ea769a9
TB
14102020-04-22 Tobias Burnus <tobias@codesourcery.com>
1411
1412 PR fortran/94709
1413 * scanner.c (load_line): In fixed form, also treat 'C' as comment and
1414 'D'/'d' only with -fd-lines-as-comments. Treat '!$' with -fopenmp,
1415 '!$acc' with -fopenacc and '!GCC$' as non-comment to permit <tab>
1416 and truncation warnings.
1417
0fe12b02
TK
14182020-04-20 Thomas Koenig <tkoenig@gcc.gnu.org>
1419
1420 * dump-parse-tree.c (show_attr): Add numerous flags, some cleanup.
1421
aeb430aa
HA
14222020-04-20 Harald Anlauf <anlauf@gmx.de>
1423
1424 PR fortran/93364
1425 * array.c (gfc_set_array_spec): Check for sum of rank and corank
1426 not exceeding GFC_MAX_DIMENSIONS.
1427
38acc41d
SK
14282020-04-20 Steve Kargl <kargl@gcc.gnu.org>
1429 Thomas Koenig <tkoenig@gcc.gnu.org>
1430
1431 PR fortran/91800
1432 * decl.c (variable_decl): Reject Hollerith constants as type
1433 initializer.
1434
4dc64371
TK
14352020-04-19 Thomas Koenig <tkoenig@gcc.gnu.org>
1436
1437 PR fortran/93500
1438 * resolve.c (resolve_operator): If both operands are
1439 NULL, return false.
1440 * simplify.c (simplify_bound): If a division by zero
1441 was seen during bound simplification, free the
1442 corresponcing expression and return &gfc_bad_expr.
1443
2298af08
TK
14442020-04-17 Thomas Koenig <tkoenig@gcc.gnu.org>
1445
1446 PR fortran/94090
1447 * gfortran.dg (gfc_compare_interfaces): Add
1448 optional argument bad_result_characteristics.
1449 * interface.c (gfc_check_result_characteristics): Fix
1450 whitespace.
1451 (gfc_compare_interfaces): Handle new argument; return
1452 true if function return values are wrong.
1453 * resolve.c (resolve_global_procedure): Hard error if
1454 the return value of a function is wrong.
1455
49795733
FR
14562020-04-15 Fritz Reese <foreese@gcc.gnu.org>
1457 Linus Koenig <link@sig-st.de>
1458
1459 PR fortran/94192
1460 * simplify.c (simplify_bound): Simplify condition for error check.
1461
36c3edb1
TB
14622020-04-14 Tobias Burnus <tobias@codesourcery.com>
1463
1464 * module.c (gfc_match_use): Fix name-conflict check for use-associating
1465 the same symbol again in a submodule.
1466
efbf7392
LK
14672020-04-13 Linus Koenig <link@sig-st.de>
1468
1469 PR fortran/94192
1470 * resolve.c (resolve_fl_var_and_proc): Set flag "error" to 1 if
1471 pointer is found to not have an assumed rank or a deferred shape.
1472 * simplify.c (simplify_bound): If an error has been issued for a
1473 given pointer, one should not attempt to find its bounds.
1474
44facdb7
FR
14752020-04-09 Fritz Reese <foreese@gcc.gnu.org>
1476
1477 PR fortran/87923
1478 * gfortran.h (gfc_resolve_open, gfc_resolve_close): Add
1479 locus parameter.
1480 (gfc_resolve_dt): Add code parameter.
1481 * io.c (async_io_dt, check_char_variable, is_char_type): Removed.
1482 (resolve_tag_format): Add locus to error message regarding
1483 zero-sized array in FORMAT tag.
1484 (check_open_constraints, check_close_constraints): New functions
1485 called at resolution time.
1486 (gfc_match_open, gfc_match_close, match_io): Move checks which don't
1487 affect the match result to new functions check_open_constraints,
1488 check_close_constraints, check_io_constraints.
1489 (gfc_resolve_open, gfc_resolve_close): Call new functions
1490 check_open_constraints, check_close_constraints after all tags have
1491 been independently resolved. Remove duplicate constraints which are
1492 already verified by resolve_tag. Explicitly pass locus to all error
1493 reports.
1494 (compare_to_allowed_values): Add locus parameter and provide
1495 explicit locus all error reports.
1496 (match_open_element, match_close_element, match_file_element,
1497 match_dt_element, match_inquire_element): Remove redundant special
1498 cases for ASYNCHRONOUS and IOMSG tags.
1499 (gfc_resolve_dt): Remove redundant special case for format
1500 expression. Call check_io_constraints, forwarding an I/O list as
1501 the io_code parameter if present.
1502 (check_io_constraints): Change return type to bool. Pass explicit
1503 locus to error reports. Move generic checks after tag-specific
1504 checks, since errors are no longer buffered. Move simplification of
1505 format string to match_io. Remove redundant checks which are
1506 verified by resolve_tag. Remove usage of async_io_dt flag and
1507 explicitly mark symbols used in asynchronous I/O with the
1508 asynchronous attribute.
1509 * resolve.c (resolve_transfer, resolve_fl_namelist): Remove checks
1510 for async_io_dt flag. This is now done in io.c.
1511 (check_io_constraints).
1512 (gfc_resolve_code): Pass code locus to gfc_resolve_open,
1513 gfc_resolve_close, gfc_resolve_dt.
1514
57391dda
FR
15152020-04-07 Fritz Reese <foreese@gcc.gnu.org>
1516 Steven G. Kargl <kargl@gcc.gnu.org>
1517
1518 PR fortran/93871
1519 * gfortran.h (GFC_ISYM_ACOSD, GFC_ISYM_ASIND, GFC_ISYM_ATAN2D,
1520 GFC_ISYM_ATAND, GFC_ISYM_COSD, GFC_ISYM_COTAND, GFC_ISYM_SIND,
1521 GFC_ISYM_TAND): New.
1522 * intrinsic.c (add_functions): Remove check for flag_dec_math.
1523 Give degree trig functions simplification and name resolution
1524 functions (e.g, gfc_simplify_atrigd () and gfc_resolve_atrigd ()).
1525 (do_simplify): Remove special casing of degree trig functions.
1526 * intrinsic.h (gfc_simplify_acosd, gfc_simplify_asind,
1527 gfc_simplify_atand, gfc_simplify_cosd, gfc_simplify_cotand,
1528 gfc_simplify_sind, gfc_simplify_tand, gfc_resolve_trigd2): Add new
1529 prototypes.
1530 (gfc_simplify_atrigd, gfc_simplify_trigd, gfc_resolve_cotan,
1531 resolve_atrigd): Remove prototypes of deleted functions.
1532 * iresolve.c (is_trig_resolved, copy_replace_function_shallow,
1533 gfc_resolve_cotan, get_radians, get_degrees, resolve_trig_call,
1534 gfc_resolve_atrigd, gfc_resolve_atan2d): Delete functions.
1535 (gfc_resolve_trigd, gfc_resolve_trigd2): Resolve to library functions.
1536 * simplify.c (rad2deg, deg2rad, gfc_simplify_acosd, gfc_simplify_asind,
1537 gfc_simplify_atand, gfc_simplify_atan2d, gfc_simplify_cosd,
1538 gfc_simplify_sind, gfc_simplify_tand, gfc_simplify_cotand): New
1539 functions.
1540 (gfc_simplify_atan2): Fix error message.
1541 (simplify_trig_call, gfc_simplify_trigd, gfc_simplify_atrigd,
1542 radians_f): Delete functions.
1543 * trans-intrinsic.c: Add LIB_FUNCTION decls for sind, cosd, tand.
1544 (rad2deg, gfc_conv_intrinsic_atrigd, gfc_conv_intrinsic_cotan,
1545 gfc_conv_intrinsic_cotand, gfc_conv_intrinsic_atan2d): New functions.
1546 (gfc_conv_intrinsic_function): Handle ACOSD, ASIND, ATAND, COTAN,
1547 COTAND, ATAN2D.
1548 * trigd_fe.inc: New file. Included by simplify.c to implement
1549 simplify_sind, simplify_cosd, simplify_tand with code common to the
1550 libgfortran implementation.
1551
d42a2e46
FR
15522020-04-06 Steven G. Kargl <kargl@gcc.gnu.org>
1553
1554 PR fortran/93686
1555 * decl.c (gfc_match_data): Handle data matching for derived type
1556 pointers.
1557
3ab216a4
TB
15582020-04-02 Tobias Burnus <tobias@codesourcery.com>
1559
1560 * gfortran.h (gfc_resolve_formal_arglist): Add prototype.
1561 * interface.c (check_dtio_interface1): Call it.
1562 * resolve.c (gfc_resolve_formal_arglist): Renamed from
1563 resolve_formal_arglist, removed static.
1564 (find_arglists, resolve_types): Update calls.
1565
224efaf7
TB
15662020-04-02 Tobias Burnus <tobias@codesourcery.com>
1567
1568 PR fortran/93522
1569 * match.c (gfc_match_select_rank): Fix error cleanup.
1570
2c54eab5
ME
15712020-04-02 Steven G. Kargl <kargl@gcc.gnu.org>
1572
1573 PR fortran/93498
1574 * check.c (gfc_check_findloc): If the kinds of the arguments
1575 differ goto label "incompat".
1576
bf1f6d88
ME
15772020-04-02 Steven G. Kargl <kargl@gcc.gnu.org>
1578
1579 PR fortran/94030
1580 * resolve.c (resolve_equivalence): Correct formatting
1581 around the label "identical_types". Instead of using
1582 gfc_resolve_array_spec use is_non_constants_shape_array
1583 to determine whether the array can be used in a in an
1584 equivalence statement.
1585
0c9a8a8c
ME
15862020-04-01 Mark Eggleston <mark.eggleston@codethink.com>
1587
1588 PR fortran/94386
1589 expr.c (simplify_parameter_variable): Restore code deleted
1590 in PR94246.
1591
7d57570b
PT
15922020-03-28 Paul Thomas <pault@gcc.gnu.org>
1593
1594 PR fortran/94246
1595 * arith.c : Remove trailing white space.
1596 * expr.c (scalarize_intrinsic_call): Remove the error checking.
1597 Make a copy of the expression to be simplified and only replace
1598 the original if the simplification succeeds.
1599
3fb7f2fb
TB
16002020-03-28 Tobias Burnus <tobias@codesourcery.com>
1601
1602 PR fortran/94348
1603 * decl.c (gfc_match_submod_proc): Add result var to the
1604 proc's namespace.
1605
62ede14d
TB
16062020-03-27 Tobias Burnus <tobias@codesourcery.com>
1607
1608 PR fortran/93957
1609 * trans-array.c (gfc_alloc_allocatable_for_assignment): Accept
1610 nonallocatable, nonpointer deferred-rank arrays.
1611
a76ff304
TB
16122020-03-27 Tobias Burnus <tobias@codesourcery.com>
1613
1614 PR fortran/93363
1615 * resolve.c (resolve_assoc_var): Reject association to DT and
1616 function name.
1617
c38daa79
ME
16182020-03-25 Steven G. Kargl <kargl@gcc.gnu.org>
1619
1620 PR fortran/93484
1621 * match.c (gfc_match_type_spec): Replace gfc_match_init_expr with
1622 gfc_match_expr. Return m if m is MATCH_NO or MATCH_ERROR.
1623
b0d84ecc
ME
16242020-03-23 Mark Eggleston <mark.eggleston@codethink.com>
1625 Steven G. Kargl <kargl@gcc.gnu.org>
1626
1627 PR fortran/93600
1628 * expr.c (simplify_parameter_variable): Check whether the ref
1629 chain contains INQUIRY_LEN or INQUIRY_KIND and set inquiry
1630 boolean. When an empty array has been identified and a new
1631 new EXPR_ARRAY expression has been created only return that
1632 expression if inquiry is not set. This allows the new
1633 expression to drop through to be simplified into a
1634 EXPR_CONSTANT representing %kind or %len.
1635 * matc.c (gfc_match_assignment): If lvalue doesn't have a
1636 symtree free both lvalue and rvalue expressions and return
1637 an error.
1638 * resolv.c (gfc_resolve_ref): Ensure that code to handle
1639 INQUIRY_LEN is only performed for arrays with deferred types.
1640
d5029d45
JJ
16412020-03-18 Jakub Jelinek <jakub@redhat.com>
1642
1643 * class.c (generate_finalization_wrapper): Fix up duplicated word
1644 issue in a comment.
1645 * trans-types.c (gfc_get_nodesc_array_type): Likewise.
1646
700d4cb0
JJ
16472020-03-17 Jakub Jelinek <jakub@redhat.com>
1648
1649 * array.c (gfc_check_iter_variable): Fix up duplicated word issue
1650 in a comment.
1651 * arith.c (gfc_arith_concat): Likewise.
1652 * resolve.c (gfc_resolve_ref): Likewise.
1653 * frontend-passes.c (matmul_lhs_realloc): Likewise.
1654 * module.c (gfc_match_submodule, load_needed): Likewise.
1655 * trans-expr.c (gfc_init_se): Likewise.
1656
b408e010
LH
16572020-03-15 Lewis Hyatt <lhyatt@gmail.com>
1658
1659 * lang.opt: Avoid redundancy in the help text.
1660
98aeb1ef
TB
16612020-03-12 Tobias Burnus <tobias@codesourcery.com>
1662
1663 PR middle-end/94120
1664 * openmp.c (gfc_match_oacc_declare): Accept function-result
1665 variables; reject variables declared in a different scoping unit.
1666
9de42a8e
PT
16672020-03-08 Paul Thomas <pault@gcc.gnu.org>
1668
1669 PR fortran/93581
1670 * resolve.c (gfc_resolve_ref): Modify array refs to be elements
1671 if the ref chain ends in INQUIRY_LEN.
1672 * trans-array.c (gfc_get_dataptr_offset): Provide the offsets
1673 for INQUIRY_RE and INQUIRY_IM.
1674
a2ec7c4a
SK
16752020-03-05 Steven G. Kargl <kargl@gcc.gnu.org>
1676
1677 PR fortran/93792
1678 * decl.c (variable_decl): If param and initializer check
1679 for BOZ, if found, output an error, set m to MATCH_ERROR
1680 and goto cleanup.
1681
f3c276ae
AB
16822020-03-02 Andrew Benson <abensonca@gmail.com>
1683
1684 PR fortran/93486
1685 * module.c: Increase size of variables used to read module names
1686 when loading interfaces from module files to permit cases where
1687 the name is the concatenation of a module and submodule name.
1688 * gfortran.dg/pr93486.f90: New test.
1689
957a1b14
PT
16902020-03-01 Paul Thomas <pault@gcc.gnu.org>
1691
1692 PR fortran/92976
1693 * match.c (select_type_set_tmp): If the selector array spec has
1694 explicit bounds, make the temporary's bounds deferred.
1695
12caab4f
PT
16962020-03-01 Paul Thomas <pault@gcc.gnu.org>
1697
1698 PR fortran/92959
1699 * trans-intrinsic.c (gfc_conv_associated): Eliminate
1700 'nonzero_charlen' and move the chunk to evaluate zero character
1701 length until after the argument evaluation so that the string
1702 length can be used.
1703
7485ace8
PT
17042020-02-28 Paul Thomas <pault@gcc.gnu.org>
1705
1706 PR fortran/92785
1707 * trans-expr.c (gfc_conv_intrinsic_to_class): Renormalise non-
1708 variable expressions to be unity lbound based.
1709
fe86f537
SK
17102020-02-25 Steven G. Kargl <kargl@gcc.gnu.org>
1711
1712 * simplify.c (degrees_f): Remove unused code.
1713
71837f64
JJ
17142020-02-25 Jakub Jelinek <jakub@redhat.com>
1715
1716 PR translation/93864
1717 * intrinsic.texi (CO_BROADCAST): Fix typo, paramter -> parameter.
1718 * trans-array.c (gfc_allocate_pdt_comp, gfc_deallocate_pdt_comp,
1719 gfc_check_pdt_dummy): Fix comment typo paramter -> parameter.
1720
27bf39a8 17212020-02-24 Mark Eggleston <mark.eggleston@codethink.com>
71837f64 1722 Steven G. Kargl <kargl@gcc.gnu.org>
27bf39a8
ME
1723
1724 PR fortran/93835
1725 * decl.c (gfc_match_data) : Check whether the data expression
1726 is a derived type and is a constructor. If a BOZ constant
1727 is encountered in the constructor output an error and return
1728 MATCH_ERROR.
1729
c77b6f95
ME
17302020-02-24 Steven G. Kargl <kargl@gcc.gnu.org>
1731
1732 PR fortran/93604
1733 * decl.c (gfc_match_data) : Check whether the data expression
1734 is a derived type and is a constructor. If a BOZ constant
1735 is encountered in the constructor output an error and return
1736 MATCH_ERROR.
1737
2bd8c3ff
TB
17382020-02-24 Tobias Burnus <tobias@codesourcery.com>
1739
1740 PR fortran/93552
1741 * match.c (match_exit_cycle): With OpenACC, check the kernels loop
1742 directive and tile clause as well.
1743
92e8508e
TK
17442020-02-23 Thomas Koenig <tkoenig@gcc.gnu.org>
1745
1746 PR fortran/93889
1747 * interface.c (compare_parameter): Fix error message.
1748
7260547d
TK
17492020-02-23 Thomas Koenig <tkoenig@gcc.gnu.org>
1750
1751 PR fortran/93890
1752 * interface.c: Replace "can not" by "cannot" and remove trailing
1753 space.
1754
2c52b288
TB
17552020-02-20 Tobias Burnus <tobias@codesourcery.com>
1756
1757 PR fortran/93825
1758 * openmp.c (resolve_oacc_loop_blocks): Move call to
1759 resolve_oacc_nested_loops from here ...
1760 (resolve_oacc_loop): ... to here.
1761
06119d69
ME
17622020-02-18 Mark Eggleston <markeggleston@gcc.gnu.org>
1763
1764 PR fortran/93714
1765 * expr.c (gfc_check_pointer_assign): Move check for
1766 matching character length to after checking the lvalue
1767 attributes for target or pointer.
1768
23d3f25c
ME
17692020-02-18 Steven G. Kargl <kargl@gcc.gnu.org>
1770
1771 PR fortran/93601
1772 * match.c (gfc_match_assignment) : Reject assignment if
1773 the lhs stype is BT_CLASS and the rhs type is BT_BOZ.
1774
8f55a0ee
ME
17752020-02-18 Steven G. Kargl <kargl@gcc.gnu.org>
1776
1777 PR fortran/93603
1778 * match.c (gfc_match_associate) : If target expression
1779 has the type BT_BOZ output an error and goto
1780 assocListError.
1781
d4c10c9f
ME
17822020-02-18 Steven G. Kargl <kargl@gcc.gnu.org>
1783 Mark Eggleston <markeggleston@gcc.gnu.org>
1784
1785 PR fortran/93580
1786 * primary.c (gfc_match_varspec): If the symbol following %
1787 is re or im and the primary expression type is not BT_COMPLEX
1788 issue an error. If the symbol is len and the primary
1789 expression type is not BT_CHARACTER is an error.
1790
7848054c
AB
17912020-02-10 Andrew Benson <abensonca@gmail.com>
1792
2c52b288
TB
1793 PR fortran/83113
1794 * array.c: Do not attempt to set the array spec for a submodule
1795 function symbol (as it has already been set in the corresponding
1796 module procedure interface).
1797 * symbol.c: Do not reject duplicate POINTER, ALLOCATABLE, or
1798 DIMENSION attributes in declarations of a submodule function.
1799 * gfortran.h: Add a macro that tests for a module procedure in a
1800 submodule.
1801 * gfortran.dg/pr83113.f90: New test.
7848054c 1802
e464fc90
TB
18032020-02-03 Julian Brown <julian@codesourcery.com>
1804 Tobias Burnus <tobias@codesourcery.com>
1805
1806 * cpp.c (cpp_define_builtins): Update _OPENACC define to 201711.
1807 * intrinsic.texi: Update mentions of OpenACC version to 2.6.
1808 * gfortran.texi: Likewise. Remove experimental disclamer for OpenACC.
1809 * invoke.texi: Remove experimental disclamer for OpenACC.
1810
7c8e1f92
TB
18112020-02-03 Tobias Burnus <tobias@codesourcery.com>
1812
1813 PR fortran/93541
1814 * intrinisic.texi (OpenMP Modules OMP_LIB and OMP_LIB_KINDS):
1815 Add undocumented parameters from omp_lib.f90.in.
1816
ae86ede8
TB
18172020-02-03 Tobias Burnus <tobias@codesourcery.com>
1818
1819 PR fortran/93427
1820 * resolve.c (resolve_assoc_var): Remove too strict check.
1821 * gfortran.dg/associate_51.f90: Update test case.
1822
add31061
JJ
18232020-02-01 Jakub Jelinek <jakub@redhat.com>
1824
1825 PR fortran/92305
1826 * trans-types.c (gfc_get_function_type): Also push boolean_type_node
1827 types for non-character scalar VALUE optional dummy arguments.
1828 * trans-decl.c (create_function_arglist): Skip those in
1829 hidden_typelist. Formatting fix.
1830
6a97d9ea
TB
18312020-01-31 Tobias Burnus <tobias@codesourcery.com>
1832
1833 PR fortran/93462
1834 * frontend-passes.c (gfc_code_walker): For EXEC_OACC_ATOMIC, set
1835 in_omp_atomic to true prevent front-end optimization.
1836
004ac7b7
AB
18372020-01-30 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
1838
1839 PR fortran/87103
1840 * expr.c (gfc_check_conformance): Check vsnprintf for truncation.
1841 * iresolve.c (gfc_get_string): Likewise.
1842 * symbol.c (gfc_new_symbol): Remove check for maximum symbol
1843 name length. Remove redundant 0 setting of new calloc()ed
1844 gfc_symbol.
1845
2595f25c
JJ
18462020-01-30 Paul Thomas  <pault@gcc.gnu.org>
1847 Jakub Jelinek <jakub@redhat.com>
1848
1849 PR fortran/92123
1850 * trans-decl.c (gfc_get_symbol_decl): Call gfc_defer_symbol_init for
1851 CFI descs.
1852 (gfc_build_builtin_function_decls): Use ".w." instead of ".ww" or ".wR"
1853 for gfor_fndecl_{cfi_to_gfc,gfc_to_cfi}.
1854 (convert_CFI_desc): Handle references to CFI descriptors.
1855
aa1b5696
JJ
18562020-01-29 Jakub Jelinek <jakub@redhat.com>
1857
1858 PR fortran/93463
1859 * openmp.c (oacc_code_to_statement): Handle
1860 EXEC_OACC_{ROUTINE,UPDATE,WAIT,CACHE,{ENTER,EXIT}_DATA,DECLARE}.
1861
ad690d79
AB
18622020-01-28 Andrew Benson <abensonca@gmail.com>
1863
6a97d9ea
TB
1864 PR fortran/93461
1865 * trans.h: Increase GFC_MAX_MANGLED_SYMBOL_LEN to
1866 GFC_MAX_SYMBOL_LEN*3+5 to allow for inclusion of submodule name,
1867 plus the "." between module and submodule names.
1868 * gfortran.dg/pr93461.f90: New test.
ad690d79 1869
a83b5cc5
AB
18702020-01-28 Andrew Benson <abensonca@gmail.com>
1871
1872 PR fortran/93473
1873 * parse.c: Increase length of char variables to allow them to hold
1874 a concatenated module + submodule name.
1875 * gfortran.dg/pr93473.f90: New test.
1876
a5ed4958
JB
18772020-01-28 Julian Brown <julian@codesourcery.com>
1878
1879 PR fortran/93025
1880 * openmp.c (resolve_omp_clauses): Check array references for contiguity.
1881
278c3214
JB
18822020-01-28 Julian Brown <julian@codesourcery.com>
1883
1884 * gfortran.h (gfc_symbol): Add comp_mark bitfield.
1885 * openmp.c (resolve_omp_clauses): Disallow mixed component and
1886 full-derived-type accesses to the same variable within a single
1887 directive.
1888
627d59b6
TB
18892020-01-28 Tobias Burnus <tobias@codesourcery.com>
1890
1891 PR fortran/93464
1892 * openmp.c (gfc_omp_check_optional_argument): Avoid ICE when
1893 DECL_LANG_SPECIFIC and GFC_DESCRIPTOR_TYPE_P but not
1894 GFC_DECL_SAVED_DESCRIPTOR as for local allocatable character vars.
1895
4593f605
TB
18962020-01-28 Tobias Burnus <tobias@codesourcery.com>
1897
1898 * gfortran.texi (Runtime): Remove tailing '.' in @menu.
1899
86075aa5
TB
19002020-01-27 Tobias Burnus <tobias@codesourcery.com>
1901
1902 PR fortran/85781
1903 * trans-expr.c (gfc_conv_substring): Handle non-ARRAY_TYPE strings
1904 of Bind(C) procedures.
1905
a38979d9
JJ
19062020-01-22 Jakub Jelinek <jakub@redhat.com>
1907
44a9d801
JJ
1908 * parse.c (parse_omp_structured_block): Handle ST_OMP_TARGET_PARALLEL.
1909 * trans-openmp.c (gfc_trans_omp_target)
1910 <case EXEC_OMP_TARGET_PARALLEL>: Call pushlevel first.
1911
a38979d9
JJ
1912 PR fortran/93329
1913 * openmp.c (omp_code_to_statement): Handle remaining EXEC_OMP_*
1914 cases.
1915
b31f8023
TB
19162020-01-21 Tobias Burnus <tobias@codesourcery.com>
1917
1918 PR fortran/93309
1919 * interface.c (gfc_procedure_use): Also check parent namespace for
1920 'implict none (external)'.
1921 * symbol.c (gfc_get_namespace): Don't set has_implicit_none_export
e464fc90 1922 to parent namespace's setting.
b31f8023 1923
52354dad
TK
19242020-01-19 Thomas König <tkoenig@gcc.gnu.org>
1925
1926 PR fortran/44960
1927 * primary.c (gfc_match_rvalue): Break after setting MATCH_ERROR.
1928 * resolve.c (resolve_function): Issue error when a
1929 function call contains a reference.
1930
e4a5f734
ME
19312020-01-17 Mark Eggleston <mark.eggleston@codethink.com>
1932
1933 PR fortran/93236
1934 * resolve.c (resolve_types): Declare boolean recursive and set with the
1935 value of the recursive attribute of namespace proc_name symbol
1936 structure if it exists. Call gfc_save_all if both flag_automatic and
1937 recursive are false or ns->save_all is true.
1938
c35a3046
TB
19392020-01-16 Tobias Burnus <tobias@codesourcery.com>
1940
1941 PR fortran/93253
1942 * check.c (gfc_invalid_boz): Mention -fallow-invalid-boz
1943 in the error message.
1944 * gfortran.texi (BOZ literal constants): List another missing
1945 extension and refer to -fallow-invalid-boz.
1946 * lang.opt (fallow-invalid-boz): Also mention 'X' in the help text
1947 as it is not covered by the previous wording.
1948 * primary.c (match_boz_constant): Tweak wording such that it is
1949 clear how to fix the nonstandard use.
1950
d6360178
TK
19512020-01-09 Thomas Koenig <tkoenig@gcc.gnu.org>
1952
1953 PR fortran/65428
1954 * array.c (empty_constructor): New variable.
1955 (empty_ts): New variable.
1956 (expand_constructor): Save typespec in empty_ts.
1957 Unset empty_constructor if there is an element.
1958 (gfc_expand_constructor): Initialize empty_constructor
1959 and empty_ts. If there was no explicit constructor
1960 type and the constructor is empty, take the type from
1961 empty_ts.
1962
15df0040
TB
19632020-01-09 Tobias Burnus <tobias@codesourcery.com>
1964
1965 PR fortran/84135
1966 * array.c (gfc_set_array_spec): Fix shifting of codimensions
1967 when adding a dimension.
1968 * decl.c (merge_array_spec): Ditto. Fix using correct codimensions.
1969
851817d8
JJ
19702020-01-07 Jakub Jelinek <jakub@redhat.com>
1971
1972 PR fortran/93162
1973 * trans-openmp.c (gfc_trans_omp_clauses): Check for REF_ARRAY type
1974 before testing u.ar.type == AR_FULL.
1975
9b962319
TB
19762020-01-04 Tobias Burnus <tobias@codesourcery.com>
1977
1978 PR fortran/91640
1979 * trans-expr.c (gfc_conv_procedure_call): Avoid copy-out for nonvariable
1980 arguments to contiguous dummy args. Avoid re-checking whether fsym is
1981 NULL.
1982
f760c0c7
TB
19832020-01-03 Tobias Burnus <tobias@codesourcery.com>
1984
1985 * trans-openmp.c (gfc_omp_check_optional_argument): Always return a
1986 Boolean expression; handle unallocated/disassociated actual arguments
1987 as absent if passed to nonallocatable/nonpointer dummy array arguments.
1988 (gfc_build_cond_assign): Change to assume a Boolean expr not a pointer.
1989 (gfc_omp_finish_clause, gfc_trans_omp_clauses): Assign NULL to generated
1990 array-data variable if the argument is absent. Simplify code as
1991 'present' is now a Boolean expression.
1992
4d124378
TB
19932020-01-03 Tobias Burnus <tobias@codesourcery.com>
1994
1995 PR fortran/92994
1996 * primary.c (gfc_match_rvalue): Add some flavor checks
1997 gfc_matching_procptr_assignment.
1998 * resolve.c (resolve_assoc_var): Add more checks for invalid targets.
1999
48e76d2f
TB
20002020-01-02 Tobias Burnus <tobias@codesourcery.com>
2001
2002 PR fortran/68020
2003 * array.c (gfc_match_array_spec): Fix implied-type matching
2004 for rank > 2.
2005
ba4c5da7
TK
20062020-01-01 Thomas Koenig <tkoenig@gcc.gnu.org>
2007
2008 PR fortran/93113
2009 * dependency.c (gfc_dep_resolver): Handle REF_INQUIRY in switch
2010 for ref types.
2011
7e7065b9 20122020-01-01 Jakub Jelinek <jakub@redhat.com>
a5544970 2013
8d9254fc
JJ
2014 Update copyright years.
2015
65e6aea3
JJ
2016 * gfortranspec.c (lang_specific_driver): Update copyright notice
2017 dates.
2018 * gfc-internals.texi: Bump @copying's copyright year.
2019 * gfortran.texi: Ditto.
2020 * intrinsic.texi: Ditto.
2021 * invoke.texi: Ditto.
21fa2a29 2022\f
7e7065b9 2023Copyright (C) 2020 Free Software Foundation, Inc.
ad41bd84
JM
2024
2025Copying and distribution of this file, with or without modification,
2026are permitted in any medium without royalty provided the copyright
2027notice and this notice are preserved.