]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/fortran/ChangeLog
Daily bump.
[thirdparty/gcc.git] / gcc / fortran / ChangeLog
1 2020-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
7 2020-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
13 2020-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
37 2020-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
42 2020-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
47 2020-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
64 2020-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
86 2020-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
94 2020-10-21 Tobias Burnus <tobias@codesourcery.com>
95
96 PR fortran/45516
97 * class.c: Add _deallocate to the vtable documentation
98 comment.
99
100 2020-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
110 2020-10-15 Andre Vehreschild <vehre@gcc.gnu.org>
111
112 * trans-decl.c (gfc_build_builtin_function_decls): Fix the coarray fndecls.
113
114 2020-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
120 2020-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
136 2020-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
142 2020-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
148 2020-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
156 2020-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
165 2020-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
172 2020-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
177 2020-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
183 2020-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
197 2020-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
202 2020-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
222 2020-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
239 2020-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
246 2020-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
262 2020-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
267 2020-09-19 Harald Anlauf <anlauf@gmx.de>
268
269 * symbol.c (gfc_check_conflict): Allow ELEMENTAL RECURSIVE
270 procedure prefix for -std=f2018.
271
272 2020-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
279 2020-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
284 2020-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
293 2020-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
305 2020-09-08 Thomas Koenig <tkoenig@gcc.gnu.org>
306
307 * intrinsic.texi: Fix description of FINDLOC result.
308
309 2020-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
315 2020-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
322 2020-09-07 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
323
324 * trans-types.c (gfc_get_derived_type): Fix argument types.
325
326 2020-09-07 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
327
328 * resolve.c (resolve_select_type): Provide a formal arg list.
329
330 2020-09-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
331
332 * trans-types.c (gfc_get_ppc_type): Add comment.
333
334 2020-09-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
335
336 * trans-types.c (gfc_get_ppc_type): Fix function arg types.
337
338 2020-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
344 2020-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
351 2020-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
359 2020-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
367 2020-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
372 2020-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
378 2020-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
384 2020-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
391 2020-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
397 2020-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
403 2020-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
409 2020-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
414 2020-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
429 2020-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
436 2020-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
446 2020-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
451 2020-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
456 2020-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
465 2020-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
471 2020-08-17 Martin Liska <mliska@suse.cz>
472
473 * openmp.c (resolve_omp_clauses): Add NONTEMPORAL to clause
474 names.
475
476 2020-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
482 2020-08-13 Matthew Krupcale <mkrupcale@matthewkrupcale.com>
483
484 PR fortran/96595
485 * invoke.texi: Fix typos.
486
487 2020-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
497 2020-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
503 2020-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
509 2020-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
515 2020-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
526 2020-08-04 Tobias Burnus <tobias@codesourcery.com>
527
528 * openmp.c (resolve_omp_do): Detect not perfectly
529 nested loop with innermost collapse.
530
531 2020-08-04 Tobias Burnus <tobias@codesourcery.com>
532
533 * trans-openmp.c (gfc_trans_omp_do): Fix 'lastprivate(conditional:'.
534
535 2020-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
541 2020-08-03 Martin Jambor <mjambor@suse.cz>
542
543 * f95-lang.c (gfc_init_builtin_functions): Remove processing of
544 hsa-builtins.def.
545
546 2020-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
553 2020-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
561 2020-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
568 2020-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
577 2020-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
582 2020-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
588 2020-07-29 Tobias Burnus <tobias@codesourcery.com>
589
590 * module.c (mio_symbol_attribute): Fix indent of previous
591 commit.
592
593 2020-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
599 2020-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
617 2020-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
622 2020-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
631 2020-07-23 Tobias Burnus <tobias@codesourcery.com>
632
633 * intrinsic.texi (OMP_LIB_KINDS): Add omp_depend_kind.
634
635 2020-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
642 2020-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
651 2020-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
663 2020-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
669 2020-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
675 2020-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
685 2020-07-18 David Edelsohn <dje.gcc@gmail.com>
686
687 * check.c (gfc_invalid_boz): Mark hint for translation using _().
688
689 2020-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
695 2020-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
703 2020-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
714 2020-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
720 2020-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
728 2020-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
734 2020-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
741 2020-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
749 2020-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
759 2020-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
767 2020-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
772 2020-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
778 2020-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
788 2020-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
794 2020-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
806 2020-07-02 Harald Anlauf <anlauf@gmx.de>
807
808 PR fortran/93423
809 * resolve.c (resolve_symbol): Avoid NULL pointer dereference.
810
811 2020-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
816 2020-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
822 2020-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
829 2020-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
834 2020-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
876 2020-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
884 2020-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
891 2020-06-30 Harald Anlauf <anlauf@gmx.de>
892
893 PR fortran/88379
894 * resolve.c (resolve_assoc_var): Avoid NULL pointer dereference.
895
896 2020-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
905 2020-06-29 Harald Anlauf <anlauf@gmx.de>
906
907 PR fortran/95978
908 * decl.c (gfc_match_data): Avoid NULL pointer dereference.
909
910 2020-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
916 2020-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
922 2020-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
927 2020-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
933 2020-06-27 Harald Anlauf <anlauf@gmx.de>
934
935 PR fortran/95881
936 * resolve.c (resolve_symbol): Avoid NULL pointer dereference.
937
938 2020-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
945 2020-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
951 2020-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
957 2020-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
963 2020-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
968 2020-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
974 2020-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
980 2020-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
987 2020-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
998 2020-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
1005 2020-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
1011 2020-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
1019 2020-06-20 Harald Anlauf <anlauf@gmx.de>
1020
1021 PR fortran/95688
1022 * iresolve.c (gfc_get_string): Enlarge static buffer size.
1023
1024 2020-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
1032 2020-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
1038 2020-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
1044 2020-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
1049 2020-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
1056 2020-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
1061 2020-06-16 Tobias Burnus <tobias@codesourcery.com>
1062
1063 * parse.c (decode_omp_directive): Remove "or ELEMENTAL"
1064 from "in PURE" error message.
1065
1066 2020-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
1072 2020-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
1078 2020-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
1083 2020-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
1093 2020-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
1099 2020-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
1111 2020-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
1117 2020-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
1124 2020-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
1133 2020-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
1139 2020-06-07 Harald Anlauf <anlauf@gmx.de>
1140
1141 PR fortran/95091
1142 * class.c (gfc_hash_value): Add cast.
1143
1144 2020-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
1151 2020-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
1161 2020-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
1167 2020-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
1174 2020-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
1182 2020-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
1188 2020-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
1196 2020-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
1203 2020-05-30 Harald Anlauf <anlauf@gmx.de>
1204
1205 PR fortran/95090
1206 * class.c (get_unique_type_string): Use buffer overrun check.
1207
1208 2020-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
1216 2020-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
1222 2020-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
1233 2020-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
1239 2020-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
1249 2020-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
1255 2020-05-26 Alexandre Oliva <oliva@adacore.com>
1256
1257 * options.c (gfc_get_option_string): Drop auxbase, add
1258 dumpbase_ext.
1259
1260 2020-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
1266 2020-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
1272 2020-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
1283 2020-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
1294 2020-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
1300 2020-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
1305 2020-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
1313 2020-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
1322 2020-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
1328 2020-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
1341 2020-05-11 Janus Weil <janus@gcc.gnu.org>
1342 Dominique d'Humieres <dominiq@lps.ens.fr>
1343
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
1355 2020-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
1361 2020-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
1371 2020-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
1378 2020-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
1385 2020-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
1391 2020-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
1399 2020-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
1404 2020-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
1410 2020-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
1418 2020-04-20 Thomas Koenig <tkoenig@gcc.gnu.org>
1419
1420 * dump-parse-tree.c (show_attr): Add numerous flags, some cleanup.
1421
1422 2020-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
1428 2020-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
1435 2020-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
1444 2020-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
1456 2020-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
1462 2020-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
1467 2020-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
1475 2020-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
1515 2020-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
1552 2020-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
1558 2020-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
1566 2020-04-02 Tobias Burnus <tobias@codesourcery.com>
1567
1568 PR fortran/93522
1569 * match.c (gfc_match_select_rank): Fix error cleanup.
1570
1571 2020-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
1577 2020-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
1586 2020-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
1592 2020-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
1600 2020-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
1606 2020-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
1612 2020-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
1618 2020-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
1624 2020-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
1641 2020-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
1647 2020-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
1657 2020-03-15 Lewis Hyatt <lhyatt@gmail.com>
1658
1659 * lang.opt: Avoid redundancy in the help text.
1660
1661 2020-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
1667 2020-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
1675 2020-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
1682 2020-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
1690 2020-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
1696 2020-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
1704 2020-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
1710 2020-02-25 Steven G. Kargl <kargl@gcc.gnu.org>
1711
1712 * simplify.c (degrees_f): Remove unused code.
1713
1714 2020-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
1721 2020-02-24 Mark Eggleston <mark.eggleston@codethink.com>
1722 Steven G. Kargl <kargl@gcc.gnu.org>
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
1730 2020-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
1738 2020-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
1744 2020-02-23 Thomas Koenig <tkoenig@gcc.gnu.org>
1745
1746 PR fortran/93889
1747 * interface.c (compare_parameter): Fix error message.
1748
1749 2020-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
1755 2020-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
1762 2020-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
1769 2020-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
1775 2020-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
1782 2020-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
1791 2020-02-10 Andrew Benson <abensonca@gmail.com>
1792
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.
1802
1803 2020-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
1811 2020-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
1817 2020-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
1823 2020-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
1831 2020-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
1837 2020-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
1846 2020-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
1856 2020-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
1862 2020-01-28 Andrew Benson <abensonca@gmail.com>
1863
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.
1869
1870 2020-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
1877 2020-01-28 Julian Brown <julian@codesourcery.com>
1878
1879 PR fortran/93025
1880 * openmp.c (resolve_omp_clauses): Check array references for contiguity.
1881
1882 2020-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
1889 2020-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
1896 2020-01-28 Tobias Burnus <tobias@codesourcery.com>
1897
1898 * gfortran.texi (Runtime): Remove tailing '.' in @menu.
1899
1900 2020-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
1906 2020-01-22 Jakub Jelinek <jakub@redhat.com>
1907
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
1912 PR fortran/93329
1913 * openmp.c (omp_code_to_statement): Handle remaining EXEC_OMP_*
1914 cases.
1915
1916 2020-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
1922 to parent namespace's setting.
1923
1924 2020-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
1931 2020-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
1939 2020-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
1951 2020-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
1963 2020-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
1970 2020-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
1976 2020-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
1983 2020-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
1993 2020-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
2000 2020-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
2006 2020-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
2012 2020-01-01 Jakub Jelinek <jakub@redhat.com>
2013
2014 Update copyright years.
2015
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.
2022 \f
2023 Copyright (C) 2020 Free Software Foundation, Inc.
2024
2025 Copying and distribution of this file, with or without modification,
2026 are permitted in any medium without royalty provided the copyright
2027 notice and this notice are preserved.