Daily bump.
[gcc.git] / gcc / fortran / ChangeLog
1 2020-12-17 Tobias Burnus <tobias@codesourcery.com>
2
3 PR fortran/92587
4 * match.c (gfc_match_assignment): Move gfc_find_vtab call from here ...
5 * resolve.c (gfc_resolve_code): ... to here.
6
7 2020-12-17 Harald Anlauf <anlauf@gmx.de>
8
9 PR fortran/98307
10 * trans-stmt.c (check_forall_dependencies): Extend dependency
11 check to allocatable components of derived types.
12
13 2020-12-16 Harald Anlauf <anlauf@gmx.de>
14
15 PR fortran/98284
16 * resolve.c (check_data_variable): Reject DATA elements with the
17 ALLOCATABLE attribute.
18
19 2020-12-15 Thomas Koenig <tkoenig@gcc.gnu.org>
20
21 PR fortran/90207
22 * invoke.texi: Document -fdebug-aux-vars.
23 * lang.opt: Add -fdebug-aux-vars.
24 * trans.c (MAX_PREFIX_LEN): New macro.
25 (create_var_debug_raw): New function.
26 (gfc_create_var_np): Call create_var_debug_raw if
27 flag_debug_aux_vars is set.
28
29 2020-12-13 Thomas Koenig <tkoenig@gcc.gnu.org>
30
31 * dump-parse-tree.c (show_array_ref): Also show coarrays.
32 (debug): Implement for array reference.
33
34 2020-12-12 Paul Thomas <pault@gcc.gnu.org>
35
36 PR fortran/98022
37 * data.c (gfc_assign_data_value): Handle inquiry references in
38 the data statement object list.
39
40 2020-12-08 Tobias Burnus <tobias@codesourcery.com>
41
42 * dump-parse-tree.c (show_omp_clauses, show_omp_node,
43 show_code_node): Handle OMP SCAN.
44 * gfortran.h (enum gfc_statement): Add ST_OMP_SCAN.
45 (enum): Add OMP_LIST_SCAN_IN and OMP_LIST_SCAN_EX.
46 (enum gfc_exec_op): Add EXEC_OMP_SCAN.
47 * match.h (gfc_match_omp_scan): New prototype.
48 * openmp.c (gfc_match_omp_scan): New.
49 (gfc_match_omp_taskgroup): Cleanup.
50 (resolve_omp_clauses, gfc_resolve_omp_do_blocks,
51 omp_code_to_statement, gfc_resolve_omp_directive): Handle 'omp scan'.
52 * parse.c (decode_omp_directive, next_statement,
53 gfc_ascii_statement): Likewise.
54 * resolve.c (gfc_resolve_code): Handle EXEC_OMP_SCAN.
55 * st.c (gfc_free_statement): Likewise.
56 * trans-openmp.c (gfc_trans_omp_clauses, gfc_trans_omp_do,
57 gfc_split_omp_clauses): Handle 'omp scan'.
58
59 2020-12-05 Paul Thomas <pault@gcc.gnu.org>
60
61 PR fortran/98016
62 * resolve.c (resolve_symbol): Set formal_arg_flag before
63 resolving an array spec and restore value afterwards.
64
65 2020-12-03 Harald Anlauf <anlauf@gmx.de>
66
67 PR fortran/95342
68 * decl.c (gfc_match_function_decl): Avoid NULL pointer dereference.
69 (gfc_match_subroutine): Likewise.
70
71 2020-11-30 Tobias Burnus <tobias@codesourcery.com>
72
73 PR fortran/98011
74 * scanner.c (skip_free_comments, skip_fixed_comments): If only
75 -fopenacc but not -fopenmp is used, ignore OpenMP's conditional
76 compilation sentinels. Fix indentation, use 'else if' for readability.
77
78 2020-11-30 Tobias Burnus <tobias@codesourcery.com>
79
80 PR fortran/98010
81 PR fortran/98013
82 * options.c (gfc_post_options): Also imply recursive with
83 -fopenacc.
84 * trans-decl.c (gfc_generate_function_code): Simplify condition.
85
86 2020-11-30 Tobias Burnus <tobias@codesourcery.com>
87
88 * dump-parse-tree.c (show_expr): Use '==' not '=' for '.eq.'.
89
90 2020-11-29 Harald Anlauf <anlauf@gmx.de>
91
92 * expr.c (simplify_parameter_variable): Fix up character length
93 after copying an array-valued expression.
94
95 2020-11-28 Thomas Koenig <tkoenig@gcc.gnu.org>
96
97 PR fortran/97454
98 * trans-decl.c (gfc_get_extern_function_decl): Add argument
99 fnspec.
100 * trans-intrinsic.c (MAX_SPEC_ARG): Define.
101 (intrinsic_fnspec): New function.
102 (ADD_CHAR): Define.
103 (specific_intrinsic_symbol): Adjust comment. Pass
104 fn spec to gfc_get_extern_function_decl.
105 (gfc_conv_intrinsic_funcall): Add ANY, ALL, NORM2, PRODUCT
106 and SUM intrnisic. Add FIXME for cshift et al.
107 * trans-types.c (gfc_get_function_type): Add fnspec argument,
108 handle it.
109 * trans-types.h (gfc_get_function_type): Add optinal fnspec
110 argument.
111 * trans.h (gfc_get_extern_function_decl): Likewise.
112
113 2020-11-25 Harald Anlauf <anlauf@gmx.de>
114
115 PR fortran/85796
116 * resolve.c (traverse_data_list): Fix copy&paste errors; catch
117 step=0 in implied do loop.
118
119 2020-11-20 Jakub Jelinek <jakub@redhat.com>
120
121 PR other/97911
122 * Make-lang.in (fortran.serial): Change from goal to a variable.
123 (.PHONY): Drop fortran.serial and fortran.prev.
124 (f951$(exeext)): Depend on $(fortran.serial) rather than
125 fortran.serial.
126
127 2020-11-18 Jakub Jelinek <jakub@redhat.com>
128
129 * Make-lang.in (fortran.serial): New goal.
130 (.PHONY): Add fortran.serial fortran.prev.
131 (f951$(exeext)): Depend on fortran.prev. Call LINK_PROGRESS.
132
133 2020-11-17 Harald Anlauf <anlauf@gmx.de>
134
135 * gfortran.texi: Fix description of GFC_RTCHECK_* to match actual
136 code.
137
138 2020-11-16 Harald Anlauf <anlauf@gmx.de>
139
140 * trans-intrinsic.c (gfc_conv_intrinsic_size): Generate runtime
141 checking code for status of argument.
142
143 2020-11-13 Gergö Barany <gergo@codesourcery.com>
144 Thomas Schwinge <thomas@codesourcery.com>
145
146 * lang.opt (fopenacc-kernels): Add.
147
148 2020-11-12 Jakub Jelinek <jakub@redhat.com>
149
150 * f95-lang.c (ATTR_ALLOC_WARN_UNUSED_RESULT_SIZE_2_NOTHROW_LIST):
151 Define.
152 (gfc_init_builtin_functions): Add alloc_size and warn_unused_result
153 attributes to __builtin_GOMP_alloc.
154 * types.def (BT_PTRMODE): New primitive type.
155 (BT_FN_VOID_PTR_PTRMODE, BT_FN_PTR_SIZE_SIZE_PTRMODE): New function
156 types.
157
158 2020-11-12 Tobias Burnus <tobias@codesourcery.com>
159
160 PR fortran/97782
161 * trans-openmp.c (gfc_trans_oacc_construct, gfc_trans_omp_parallel_do,
162 gfc_trans_omp_parallel_do_simd, gfc_trans_omp_parallel_sections,
163 gfc_trans_omp_parallel_workshare, gfc_trans_omp_sections
164 gfc_trans_omp_single, gfc_trans_omp_task, gfc_trans_omp_teams
165 gfc_trans_omp_target, gfc_trans_omp_target_data,
166 gfc_trans_omp_workshare): Use code->loc instead of input_location
167 when building the OMP_/OACC_ construct.
168
169 2020-11-11 Jakub Jelinek <jakub@redhat.com>
170
171 PR fortran/97768
172 * misc.c (gfc_typename): Use ex->value.character.length only if
173 ex->expr_type == EXPR_CONSTANT. If ex->ts.deferred, print : instead
174 of length. If ex->ts.u.cl && ex->ts.u.cl->length == NULL, print *
175 instead of length. Otherwise if character length is non-constant,
176 print just CHARACTER or CHARACTER(KIND=N).
177
178 2020-11-10 Tobias Burnus <tobias@codesourcery.com>
179
180 * dump-parse-tree.c (show_omp_clauses): Handle new reduction enums.
181 * gfortran.h (OMP_LIST_REDUCTION_INSCAN, OMP_LIST_REDUCTION_TASK,
182 OMP_LIST_IN_REDUCTION, OMP_LIST_TASK_REDUCTION): Add enums.
183 * openmp.c (enum omp_mask1): Add OMP_CLAUSE_IN_REDUCTION
184 and OMP_CLAUSE_TASK_REDUCTION.
185 (gfc_match_omp_clause_reduction): Extend reduction handling;
186 moved from ...
187 (gfc_match_omp_clauses): ... here. Add calls to it.
188 (OMP_TASK_CLAUSES, OMP_TARGET_CLAUSES, OMP_TASKLOOP_CLAUSES):
189 Add OMP_CLAUSE_IN_REDUCTION.
190 (gfc_match_omp_taskgroup): Add task_reduction matching.
191 (resolve_omp_clauses): Update for new reduction clause changes;
192 remove removed nonmonotonic-schedule restrictions.
193 (gfc_resolve_omp_parallel_blocks): Add new enums to switch.
194 * trans-openmp.c (gfc_omp_clause_default_ctor,
195 gfc_trans_omp_reduction_list, gfc_trans_omp_clauses,
196 gfc_split_omp_clauses): Handle updated reduction clause.
197
198 2020-11-10 Tobias Burnus <tobias@codesourcery.com>
199
200 PR fortran/95847
201 * trans-decl.c (gfc_get_symbol_decl): Do not (re)set the location
202 of an external procedure.
203 (build_entry_thunks, generate_coarray_init, create_main_function,
204 gfc_generate_function_code): Use fndecl's location in BIND_EXPR.
205
206 2020-11-09 Tobias Burnus <tobias@codesourcery.com>
207
208 PR fortran/90111
209 * parse.c (case_decl): Move ST_OACC_ROUTINE and ST_OACC_DECLARE to ...
210 (case_omp_decl): ... here.
211 (verify_st_order): Update comment.
212
213 2020-11-06 Thomas Schwinge <thomas@codesourcery.com>
214
215 * openmp.c (oacc_is_parallel, resolve_oacc_params_in_parallel):
216 Remove.
217 (resolve_oacc_loop_blocks): Don't call the former.
218
219 2020-11-06 Tobias Burnus <tobias@codesourcery.com>
220
221 * openmp.c (gfc_match_oacc_atomic): No longer accept 'update capture'.
222
223 2020-11-06 Tobias Burnus <tobias@codesourcery.com>
224
225 PR fortran/97652
226 * module.c (mio_symbol): Fix symbol name for pdt_type.
227
228 2020-11-03 Nathan Sidwell <nathan@acm.org>
229
230 * cpp.c (gfc_cpp_add_dep): Only add dependency if we're recording
231 them.
232 (gfc_cpp_init): Likewise for target.
233
234 2020-11-03 Tobias Burnus <tobias@codesourcery.com>
235
236 * decl.c (ext_attr_list): Add EXT_ATTR_DEPRECATED.
237 * gfortran.h (ext_attr_id_t): Ditto.
238 * gfortran.texi (GCC$ ATTRIBUTES): Document it.
239 * resolve.c (resolve_variable, resolve_function,
240 resolve_call, resolve_values): Show -Wdeprecated-declarations warning.
241 * trans-decl.c (add_attributes_to_decl): Skip those
242 with no middle_end_name.
243
244 2020-11-03 Thomas Schwinge <thomas@codesourcery.com>
245
246 PR fortran/92793
247 * trans-openmp.c (gfc_trans_omp_clauses): More precise location
248 information for OpenACC 'gang', 'worker', 'vector' clauses with
249 argument.
250
251 2020-11-02 Thomas Schwinge <thomas@codesourcery.com>
252
253 PR fortran/92793
254 * trans.c (gfc_set_backend_locus): Use 'gfc_get_location'.
255 (gfc_restore_backend_locus): Adjust.
256
257 2020-11-02 Tobias Burnus <tobias@codesourcery.com>
258
259 PR fortran/97655
260 * openmp.c (gfc_match_omp_atomic): Fix mem-order handling;
261 reject specifying update + capture together.
262
263 2020-10-30 Tobias Burnus <tobias@codesourcery.com>
264
265 * dump-parse-tree.c (show_omp_clauses): Handle atomic clauses.
266 (show_omp_node): Call it for atomic.
267 * gfortran.h (enum gfc_omp_atomic_op): Add GFC_OMP_ATOMIC_UNSET,
268 remove GFC_OMP_ATOMIC_SEQ_CST and GFC_OMP_ATOMIC_ACQ_REL.
269 (enum gfc_omp_memorder): Replace OMP_MEMORDER_LAST by
270 OMP_MEMORDER_UNSET, add OMP_MEMORDER_SEQ_CST/OMP_MEMORDER_RELAXED.
271 (gfc_omp_clauses): Add capture and atomic_op.
272 (gfc_code): remove omp_atomic.
273 * openmp.c (enum omp_mask1): Add atomic, capture, memorder clauses.
274 (gfc_match_omp_clauses): Match them.
275 (OMP_ATOMIC_CLAUSES): Add.
276 (gfc_match_omp_flush): Update for 'last' to 'unset' change.
277 (gfc_match_omp_oacc_atomic): Removed and placed content ..
278 (gfc_match_omp_atomic): ... here. Update for OpenMP 5 clauses.
279 (gfc_match_oacc_atomic): Match directly here.
280 (resolve_omp_atomic, gfc_resolve_omp_directive): Update.
281 * parse.c (parse_omp_oacc_atomic): Update for struct gfc_code changes.
282 * resolve.c (gfc_resolve_blocks): Update assert.
283 * st.c (gfc_free_statement): Also call for EXEC_O{ACC,MP}_ATOMIC.
284 * trans-openmp.c (gfc_trans_omp_atomic): Update.
285 (gfc_trans_omp_flush): Update for 'last' to 'unset' change.
286
287 2020-10-30 Jan Hubicka <jh@suse.cz>
288
289 * trans-types.c: Include alias.h
290 (gfc_get_array_type_bounds): Set typeless storage.
291
292 2020-10-27 Harald Anlauf <anlauf@gmx.de>
293
294 * resolve.c (gfc_impure_variable): A dummy argument with the VALUE
295 attribute may be redefined without making a procedure impure.
296
297 2020-10-27 Richard Biener <rguenther@suse.de>
298
299 * trans-array.c (gfc_get_descriptor_field): New helper.
300 (gfc_conv_descriptor_data_get): Use it - drop strange
301 REFERENCE_TYPE handling and make sure we don't trigger it.
302 (gfc_conv_descriptor_data_addr): Use gfc_get_descriptor_field.
303 (gfc_conv_descriptor_data_set): Likewise.
304 (gfc_conv_descriptor_offset): Likewise.
305 (gfc_conv_descriptor_dtype): Likewise.
306 (gfc_conv_descriptor_span): Likewise.
307 (gfc_get_descriptor_dimension): Likewise.
308 (gfc_conv_descriptor_token): Likewise.
309 (gfc_conv_descriptor_subfield): New helper.
310 (gfc_conv_descriptor_stride): Use it.
311 (gfc_conv_descriptor_lbound): Likewise.
312 (gfc_conv_descriptor_ubound): Likewise.
313
314 2020-10-25 Thomas Koenig <tkoenig@gcc.gnu.org>
315
316 PR fortran/97454
317 * gfortran.h (gfc_symbol): Add pass_as_value flag.
318 (gfc_copy_formal_args_intr): Add optional argument
319 copy_type.
320 (gfc_get_intrinsic_function_symbol): Add prototype.
321 (gfc_find_intrinsic_symbol): Add prototype.
322 * intrinsic.c (gfc_get_intrinsic_function_symbol): New function.
323 (gfc_find_intrinsic_symbol): New function.
324 * symbol.c (gfc_copy_formal_args_intr): Add argument. Handle case
325 where the type needs to be copied from the actual argument.
326 * trans-intrinsic.c (remove_empty_actual_arguments): New function.
327 (specific_intrinsic_symbol): New function.
328 (gfc_conv_intrinsic_funcall): Use it.
329 (strip_kind_from_actual): Adjust so that the expression pointer
330 is set to NULL.
331 (gfc_conv_intrinsic_minmaxloc): Likewise.
332 (gfc_conv_intrinsic_minmaxval): Adjust removal of dim.
333 * trans-types.c (gfc_sym_type): If sym->pass_as_value is set, do
334 not pass by reference.
335
336 2020-10-22 Tobias Burnus <tobias@codesourcery.com>
337
338 * gfortran.h (enum gfc_omp_memorder): Add.
339 (gfc_omp_clauses): Use it.
340 * openmp.c (gfc_match_omp_flush): Match memorder clauses.
341 * trans-openmp.c (gfc_trans_omp_flush): Handle them.
342 (gfc_trans_omp_directive): Update call.
343
344 2020-10-21 Tobias Burnus <tobias@codesourcery.com>
345
346 PR fortran/45516
347 * class.c: Add _deallocate to the vtable documentation
348 comment.
349
350 2020-10-16 Harald Anlauf <anlauf@gmx.de>
351
352 PR fortran/95979
353 * expr.c (gfc_check_init_expr): Fix check of return code from
354 gfc_intrinsic_func_interface.
355 * intrinsic.c (gfc_intrinsic_func_interface): Add further attempt
356 of simplification of elemental intrinsics with array arguments.
357 * iresolve.c (gfc_resolve_index_func): Keep optional KIND argument
358 for simplification of elemental use of INDEX.
359
360 2020-10-15 Andre Vehreschild <vehre@gcc.gnu.org>
361
362 * trans-decl.c (gfc_build_builtin_function_decls): Fix the coarray fndecls.
363
364 2020-10-14 Tobias Burnus <tobias@codesourcery.com>
365
366 PR fortran/97390
367 * scanner.c (load_line): Fix line-truncation warning for !$acc
368 and !gcc$ in free-form source code.
369
370 2020-10-14 Steven G. Kargl <kargl@gcc.gnu.org>
371 Mark Eggleston <markeggleston@gcc.gnu.org>
372
373 PR fortran/95614
374 * decl.c (gfc_get_common): Use gfc_match_common_name instead
375 of match_common_name.
376 * decl.c (gfc_bind_idents): Use gfc_match_common_name instead
377 of match_common_name.
378 * match.c : Rename match_common_name to gfc_match_common_name.
379 * match.c (gfc_match_common): Use gfc_match_common_name instead
380 of match_common_name.
381 * match.h : Rename match_common_name to gfc_match_common_name.
382 * resolve.c (resolve_common_vars): Check each symbol in a
383 common block has a global symbol. If there is a global symbol
384 issue an error if the symbol type is a module or a program.
385
386 2020-10-12 Mark Eggleston <markeggleston@gcc.gnu.org>
387
388 PR fortran/96099
389 * decl.c (gfc_match_implicit): Check for numeric and logical
390 types.
391
392 2020-10-07 Paul Thomas <pault@gcc.gnu.org>
393
394 PR fortran/47469
395 * trans-expr.c (arrayfunc_assign_needs_temporary): Tidy detection
396 of pointer and allocatable functions.
397
398 2020-10-04 Harald Anlauf <anlauf@gmx.de>
399
400 PR fortran/97272
401 * trans-intrinsic.c (strip_kind_from_actual): Helper function for
402 removal of KIND argument.
403 (gfc_conv_intrinsic_minmaxloc): Ignore KIND argument here, as it
404 is treated elsewhere.
405
406 2020-10-02 Jan Hubicka <hubicka@ucw.cz>
407
408 * trans-decl.c (gfc_build_library_function_decl_with_spec): Verify
409 fnspec.
410 (gfc_build_intrinsic_function_decls): Update fnspecs.
411 (gfc_build_builtin_function_decls): Update fnspecs.
412 * trans-io.c (gfc_build_io_library_fndecls): Update fnspecs.
413 * trans-types.c (create_fn_spec): Update fnspecs.
414
415 2020-09-30 Jan Hubicka <jh@suse.cz>
416
417 * trans-decl.c (gfc_build_intrinsic_function_decls): Add traling dots
418 to spec strings so they match the number of parameters; do not use
419 R and W for non-pointer parameters. Drop pointless specifier on
420 caf_stop_numeric and caf_get_team.
421
422 2020-09-30 Jan Hubicka <hubicka@ucw.cz>
423
424 * trans-io.c (gfc_build_io_library_fndecls): Add trailing dots so
425 length of spec string matches number of arguments.
426
427 2020-09-30 Tobias Burnus <tobias@codesourcery.com>
428
429 PR fortran/97242
430 * expr.c (gfc_is_not_contiguous): Fix check.
431 (gfc_check_pointer_assign): Use it.
432
433 2020-09-30 Paul Thomas <pault@gcc.gnu.org>
434
435 PR fortran/97045
436 * trans-array.c (gfc_conv_array_ref): Make sure that the class
437 decl is passed to build_array_ref in the case of unlimited
438 polymorphic entities.
439 * trans-expr.c (gfc_conv_derived_to_class): Ensure that array
440 refs do not preceed the _len component. Free the _len expr.
441 * trans-stmt.c (trans_associate_var): Reset 'need_len_assign'
442 for polymorphic scalars.
443 * trans.c (gfc_build_array_ref): When the vptr size is used for
444 span, multiply by the _len field of unlimited polymorphic
445 entities, when non-zero.
446
447 2020-09-30 Tom de Vries <tdevries@suse.de>
448
449 * f95-lang.c (gfc_init_builtin_functions): Update
450 targetm.libc_has_function call.
451
452 2020-09-28 Mark Eggleston <markeggleston@gcc.gnu.org>
453
454 Revert:
455 2020-09-27 Steven G. Kargl <kargl@gcc.gnu.org>
456 Mark Eggleston <markeggleston@gcc.gnu.org>
457
458 PR fortran/95614
459 * decl.c (gfc_get_common): Use gfc_match_common_name instead
460 of match_common_name.
461 * decl.c (gfc_bind_idents): Use gfc_match_common_name instead
462 of match_common_name.
463 * match.c : Rename match_common_name to gfc_match_common_name.
464 * match.c (gfc_match_common): Use gfc_match_common_name instead
465 of match_common_name.
466 * match.h : Rename match_common_name to gfc_match_common_name.
467 * resolve.c (resolve_common_vars): Check each symbol in a
468 common block has a global symbol. If there is a global symbol
469 issue an error if the symbol type is known as is not a common
470 block name.
471
472 2020-09-27 Steven G. Kargl <kargl@gcc.gnu.org>
473 Mark Eggleston <markeggleston@gcc.gnu.org>
474
475 PR fortran/95614
476 * decl.c (gfc_get_common): Use gfc_match_common_name instead
477 of match_common_name.
478 * decl.c (gfc_bind_idents): Use gfc_match_common_name instead
479 of match_common_name.
480 * match.c : Rename match_common_name to gfc_match_common_name.
481 * match.c (gfc_match_common): Use gfc_match_common_name instead
482 of match_common_name.
483 * match.h : Rename match_common_name to gfc_match_common_name.
484 * resolve.c (resolve_common_vars): Check each symbol in a
485 common block has a global symbol. If there is a global symbol
486 issue an error if the symbol type is known as is not a common
487 block name.
488
489 2020-09-24 Paul Thomas <pault@gcc.gnu.org>
490
491 PR fortran/96495
492 * trans-expr.c (gfc_conv_procedure_call): Take the deallocation
493 of allocatable result components of a scalar result outside the
494 scalarization loop. Find and use the stored result.
495
496 2020-09-21 Harald Anlauf <anlauf@gmx.de>
497 Paul Thomas <pault@gcc.gnu.org>
498
499 * iresolve.c (gfc_resolve_mvbits): Remove unneeded conversion of
500 FROMPOS, LEN and TOPOS arguments to fit a C int.
501 * trans-intrinsic.c (gfc_conv_intrinsic_mvbits): Add inline
502 expansion of MVBITS intrinsic elemental subroutine and add code
503 for runtime argument checking.
504 (gfc_conv_intrinsic_subroutine): Recognise MVBITS intrinsic, but
505 defer handling to gfc_trans_call.
506 * trans-stmt.c (replace_ss):
507 (gfc_trans_call): Adjust to handle inline expansion, scalarization
508 of intrinsic subroutine MVBITS in gfc_conv_intrinsic_mvbits.
509 * trans.h (gfc_conv_intrinsic_mvbits): Add prototype for
510 gfc_conv_intrinsic_mvbits.
511
512 2020-09-19 Sandra Loosemore <sandra@codesourcery.com>
513
514 * interface.c (gfc_compare_actual_formal): Add assertion after
515 main processing loop to silence maybe-uninitialized error.
516
517 2020-09-19 Harald Anlauf <anlauf@gmx.de>
518
519 * symbol.c (gfc_check_conflict): Allow ELEMENTAL RECURSIVE
520 procedure prefix for -std=f2018.
521
522 2020-09-17 Tobias Burnus <tobias@codesourcery.com>
523
524 PR fortran/96041
525 PR fortran/93423
526 * decl.c (gfc_match_submod_proc): Avoid later double-free
527 in the error case.
528
529 2020-09-16 Tobias Burnus <tobias@codesourcery.com>
530
531 PR fortran/97061
532 * trans-openmp.c (gfc_trans_omp_do): Handle simd with (last)private.
533
534 2020-09-15 Tobias Burnus <tobias@codesourcery.com>
535
536 PR fortran/96668
537 * trans.h (gfc_omp_finish_clause): Add bool openacc arg.
538 * trans-openmp.c (gfc_omp_finish_clause): Ditto. Use
539 GOMP_MAP_ALWAYS_POINTER with PSET for pointers.
540 (gfc_trans_omp_clauses): Like the latter and also if the always
541 modifier is used.
542
543 2020-09-09 Tobias Burnus <tobias@codesourcery.com>
544
545 PR fortran/95109
546 PR fortran/94690
547 * resolve.c (gfc_resolve_code): Also call
548 gfc_resolve_omp_parallel_blocks for 'distribute parallel do (simd)'.
549 * openmp.c (gfc_resolve_omp_parallel_blocks): Handle it.
550 (gfc_resolve_do_iterator): Remove special code for SIMD, which is
551 not needed.
552 * trans-openmp.c (gfc_trans_omp_target): For TARGET_PARALLEL_DO_SIMD,
553 call simd not do processing function.
554
555 2020-09-08 Thomas Koenig <tkoenig@gcc.gnu.org>
556
557 * intrinsic.texi: Fix description of FINDLOC result.
558
559 2020-09-07 Harald Anlauf <anlauf@gmx.de>
560
561 * trans-intrinsic.c (build_round_expr): Use temporary with
562 appropriate kind for conversion before rounding to nearest
563 integer when the result precision is 128 bits.
564
565 2020-09-07 Tobias Burnus <tobias@codesourcery.com>
566
567 PR fortran/96896
568 * resolve.c (get_temp_from_expr): Also reset proc_pointer +
569 use_assoc attribute.
570 (resolve_ptr_fcn_assign): Use information from the LHS.
571
572 2020-09-07 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
573
574 * trans-types.c (gfc_get_derived_type): Fix argument types.
575
576 2020-09-07 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
577
578 * resolve.c (resolve_select_type): Provide a formal arg list.
579
580 2020-09-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
581
582 * trans-types.c (gfc_get_ppc_type): Add comment.
583
584 2020-09-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
585
586 * trans-types.c (gfc_get_ppc_type): Fix function arg types.
587
588 2020-09-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
589
590 PR fortran/96947
591 * trans-stmt.c (gfc_trans_fail_image): caf_fail_image
592 expects no argument.
593
594 2020-09-02 Jakub Jelinek <jakub@redhat.com>
595
596 PR fortran/96859
597 * check.c (gfc_boz2real, gfc_boz2int): When clearing first two bits,
598 change also '2' to '0' and '3' to '1' rather than just handling '4'
599 through '7'.
600
601 2020-09-01 Steven G. Kargl <kargl@gcc.gnu.org>
602 Mark Eggleston <markeggleston@gcc.gnu.org>
603
604 PR fortran/95398
605 * resolve.c (resolve_select_type): Add check for BT_CLASS
606 type before using the CLASS_DATA macro which will have a
607 NULL pointer to derive components if it isn't BT_CLASS.
608
609 2020-08-30 José Rui Faustino de Sousa <jrfsousa@gmail.com>
610
611 PR fortran/96728
612 * module.c (module_peek_char): Peek ahead function.
613 (parse_integer): Add code for parsing signed integers.
614 (parse_atom): Add code to handle signed integers.
615 (peek_atom): Add code to handle signed integers.
616
617 2020-08-30 José Rui Faustino de Sousa <jrfsousa@gmail.com>
618
619 PR fortran/96727
620 * expr.c (gfc_check_init_expr): Add default error message for the AS_ASSUMED_RANK case.
621
622 2020-08-30 José Rui Faustino de Sousa <jrfsousa@gmail.com>
623
624 PR fortran/96726
625 * expr.c (check_references): Change different relational operator
626 to less-than operator to avoid infinite loop.
627
628 2020-08-30 José Rui Faustino de Sousa <jrfsousa@gmail.com>
629
630 PR fortran/95352
631 * simplify.c (simplify_bound_dim): Add check for NULL pointer
632 before trying to access structure member.
633
634 2020-08-30 José Rui Faustino de Sousa <jrfsousa@gmail.com>
635
636 PR fortran/94110
637 * interface.c (gfc_compare_actual_formal): Add code to also raise
638 the actual argument cannot be an assumed-size array error when the
639 dummy arguments are deferred-shape or assumed-rank pointer.
640
641 2020-08-28 Tobias Burnus <tobias@codesourcery.com>
642
643 PR fortran/94672
644 * trans-array.c (gfc_trans_g77_array): Check against the parm decl and
645 set the nonparm decl used for the is-present check to NULL if absent.
646
647 2020-08-28 Paul Thomas <pault@gcc.gnu.org>
648
649 PR fortran/96624
650 * simplify.c (gfc_simplify_reshape): Detect zero shape and
651 clear index if found.
652
653 2020-08-27 Mark Eggleston <markeggleston@gcc.gnu.org>
654
655 PR fortran/95882
656 * decl.c (char_len_param_value): Check gfc_seen_div0 and
657 if it is set return MATCH_ERROR.
658
659 2020-08-27 Martin Liska <mliska@suse.cz>
660
661 * trans-openmp.c (gfc_trans_omp_do): Set exact argument of a vector
662 growth function to true.
663
664 2020-08-26 Tobias Burnus <tobias@codesourcery.com>
665
666 * gfortran.h (enum gfc_omp_device_type): New.
667 (symbol_attribute, gfc_omp_clauses, gfc_common_head): Use it.
668 * module.c (enum ab_attribute): Add AB_OMP_DEVICE_TYPE_HOST,
669 AB_OMP_DEVICE_TYPE_NOHOST and AB_OMP_DEVICE_TYPE_ANY.
670 (attr_bits, mio_symbol_attribute): Handle it.
671 (load_commons, write_common_0): Handle omp_device_type flag.
672 * openmp.c (enum omp_mask1): Add OMP_CLAUSE_DEVICE_TYPE
673 (OMP_DECLARE_TARGET_CLAUSES): Likewise.
674 (gfc_match_omp_clauses): Match 'device_type'.
675 (gfc_match_omp_declare_target): Handle it.
676 * trans-common.c (build_common_decl): Write device-type clause.
677 * trans-decl.c (add_attributes_to_decl): Likewise.
678
679 2020-08-23 Paul Thomas <pault@gcc.gnu.org>
680
681 PR fortran/96737
682 * trans-types.c (gfc_get_derived_type): Derived types that are
683 used in submodules are not compatible with TYPE_CANONICAL from
684 any of the global namespaces.
685
686 2020-08-20 Paul Thomas <pault@gcc.gnu.org>
687
688 PR fortran/96100
689 PR fortran/96101
690 * trans-array.c (get_array_charlen): Tidy up the evaluation of
691 the string length for array constructors. Avoid trailing array
692 references. Ensure string lengths of deferred length components
693 are set. For parentheses operator apply string length to both
694 the primary expression and the enclosed expression.
695
696 2020-08-20 Andre Vehreschild <vehre@gcc.gnu.org>
697
698 PR fortran/94958
699 * trans-array.c (gfc_bcast_alloc_comp): Use the correct variable.
700
701 2020-08-20 Tobias Burnus <tobias@codesourcery.com>
702
703 * openmp.c (gfc_match_omp_clauses): Re-order 'if' clause pasing
704 to avoid creating spurious symbols.
705
706 2020-08-18 Harald Anlauf <anlauf@gmx.de>
707
708 * check.c (check_rest): Reject MIN/MAX character arguments of
709 different kind.
710 * simplify.c (min_max_choose): The simplification result shall
711 have the highest kind value of the arguments.
712 * trans-intrinsic.c (gfc_conv_intrinsic_minmax): Choose type and
713 kind of intermediate by looking at all arguments, not the result.
714
715 2020-08-17 Martin Liska <mliska@suse.cz>
716
717 * openmp.c (resolve_omp_clauses): Add static assert
718 for OMP_LIST_NUM and size of clause_names array.
719 Remove check that is always true.
720
721 2020-08-17 Martin Liska <mliska@suse.cz>
722
723 * openmp.c (resolve_omp_clauses): Add NONTEMPORAL to clause
724 names.
725
726 2020-08-13 Andre Vehreschild <vehre@gcc.gnu.org>
727
728 PR fortran/93671
729 * trans-array.c (structure_alloc_comps): Keep caf-mode when applying to
730 components; get the caf_token correctly for allocated scalar components.
731
732 2020-08-13 Matthew Krupcale <mkrupcale@matthewkrupcale.com>
733
734 PR fortran/96595
735 * invoke.texi: Fix typos.
736
737 2020-08-12 Tobias Burnus <tobias@codesourcery.com>
738
739 * gfortran.h: Add OMP_LIST_NONTEMPORAL.
740 * dump-parse-tree.c (show_omp_clauses): Dump it
741 * openmp.c (enum omp_mask1): Add OMP_CLAUSE_NOTEMPORAL.
742 (OMP_SIMD_CLAUSES): Add it.
743 (gfc_match_omp_clauses): Match nontemporal clause.
744 * trans-openmp.c (gfc_trans_omp_clauses): Process
745 nontemporal clause.
746
747 2020-08-10 Thomas Koenig <tkoenig@gcc.gnu.org>
748
749 PR fortran/96556
750 * frontend-passes.c (doloop_contained_function_call):
751 Do not dereference a NULL pointer for value.function.esym.
752
753 2020-08-10 Paul Thomas <pault@gcc.gnu.org>
754
755 PR fortran/96312
756 * trans-expr.c (fcncall_realloc_result): Only compare shapes if
757 lhs was allocated..
758
759 2020-08-10 Paul Thomas <pault@gcc.gnu.org>
760
761 PR fortran/96102
762 * resolve.c (check_host_association): Replace the gcc_assert
763 with an error for internal procedures.
764
765 2020-08-05 Thomas Koenig <tkoenig@gcc.gnu.org>
766
767 PR fortran/96469
768 * frontend-passes.c (doloop_contained_function_call): New
769 function.
770 (doloop_contained_procedure_code): New function.
771 (CHECK_INQ): Macro for inquire checks.
772 (doloop_code): Invoke doloop_contained_procedure_code and
773 doloop_contained_function_call if appropriate.
774 (do_intent): Likewise.
775
776 2020-08-04 Tobias Burnus <tobias@codesourcery.com>
777
778 * openmp.c (resolve_omp_do): Detect not perfectly
779 nested loop with innermost collapse.
780
781 2020-08-04 Tobias Burnus <tobias@codesourcery.com>
782
783 * trans-openmp.c (gfc_trans_omp_do): Fix 'lastprivate(conditional:'.
784
785 2020-08-03 Julian Brown <julian@codesourcery.com>
786 Thomas Schwinge <thomas@codesourcery.com>
787
788 * trans-openmp.c (gfc_trans_omp_clauses): Don't create present/release
789 mappings for array descriptors.
790
791 2020-08-03 Martin Jambor <mjambor@suse.cz>
792
793 * f95-lang.c (gfc_init_builtin_functions): Remove processing of
794 hsa-builtins.def.
795
796 2020-08-03 Tobias Burnus <tobias@codesourcery.com>
797
798 * gfc-internals.texi: Fix typos.
799 * gfortran.texi: Likewise.
800 * intrinsic.texi: Likewise.
801 * invoke.texi: Likewise.
802
803 2020-08-02 Paul Thomas <pault@gcc.gnu.org>
804
805 PR target/96320
806 * interface.c (gfc_check_dummy_characteristics): If a module
807 procedure arrives with assumed shape in the interface and
808 deferred shape in the procedure itself, update the latter and
809 copy the lower bounds.
810
811 2020-08-02 Paul Thomas <pault@gcc.gnu.org>
812
813 PR fortran/96325
814 * primary.c (gfc_match_varspec): In the case that a component
815 reference is added to an intrinsic type component, emit the
816 error message in this function.
817
818 2020-07-29 Tobias Burnus <tobias@codesourcery.com>
819
820 * dump-parse-tree.c (show_omp_clauses): Handle order(concurrent).
821 * gfortran.h (struct gfc_omp_clauses): Add order_concurrent.
822 * openmp.c (enum omp_mask1, OMP_DO_CLAUSES, OMP_SIMD_CLAUSES):
823 Add OMP_CLAUSE_ORDER.
824 * trans-openmp.c (gfc_trans_omp_clauses, gfc_split_omp_clauses):
825 Handle order(concurrent) clause.
826
827 2020-07-29 Tobias Burnus <tobias@codesourcery.com>
828
829 * openmp.c (resolve_omp_clauses): Permit 'omp target data' without
830 map if use_device_{addr,ptr} is present.
831
832 2020-07-29 Mark Eggleston <markeggleston@gcc.gnu.org>
833
834 PR fortran/96319
835 * intrinsic.c (gfc_convert_type_warn): Add check for
836 LOGICAL type so that warnings are not output.
837
838 2020-07-29 Tobias Burnus <tobias@codesourcery.com>
839
840 * module.c (mio_symbol_attribute): Fix indent of previous
841 commit.
842
843 2020-07-29 Mark Eggleston <markeggleston@gcc.gnu.org>
844
845 PR fortran/53298
846 * trans-array.c (gfc_walk_array_ref): If ref->ss.end is set
847 call gfc_get_scalar_ss.
848
849 2020-07-29 Tobias Burnus <tobias@codesourcery.com>
850
851 * gfortran.h (enum gfc_statement): Add ST_OMP_REQUIRES.
852 (enum gfc_omp_requires_kind): New.
853 (enum gfc_omp_atomic_op): Add GFC_OMP_ATOMIC_ACQ_REL.
854 (struct gfc_namespace): Add omp_requires and omp_target_seen.
855 (gfc_omp_requires_add_clause,
856 (gfc_check_omp_requires): New.
857 * match.h (gfc_match_omp_requires): New.
858 * module.c (enum ab_attribute, attr_bits): Add omp requires clauses.
859 (mio_symbol_attribute): Read/write them.
860 * openmp.c (gfc_check_omp_requires, (gfc_omp_requires_add_clause,
861 gfc_match_omp_requires): New.
862 (gfc_match_omp_oacc_atomic): Use requires's default mem-order.
863 * parse.c (decode_omp_directive): Match requires, set omp_target_seen.
864 (gfc_ascii_statement): Handle ST_OMP_REQUIRES.
865 * trans-openmp.c (gfc_trans_omp_atomic): Handle GFC_OMP_ATOMIC_ACQ_REL.
866
867 2020-07-27 Tobias Burnus <tobias@codesourcery.com>
868
869 * openmp.c (gfc_resolve_omp_directive): Remove NULL check
870 for clauses in EXEC_OMP_CRITICAL as it no longer can be NULL.
871
872 2020-07-23 Tobias Burnus <tobias@codesourcery.com>
873
874 * gfortran.h (gfc_omp_namelist): Add lastprivate_conditional.
875 * openmp.c (gfc_match_omp_clauses): Handle 'conditional:'
876 modifier of 'lastprivate'.
877 * trans-openmp.c (gfc_omp_clause_default_ctor): Don't assert
878 on OMP_CLAUSE__CONDTEMP_ and other OMP_*TEMP_.
879 (gfc_trans_omp_variable_list): Handle lastprivate_conditional.
880
881 2020-07-23 Tobias Burnus <tobias@codesourcery.com>
882
883 * intrinsic.texi (OMP_LIB_KINDS): Add omp_depend_kind.
884
885 2020-07-23 Tobias Burnus <tobias@codesourcery.com>
886
887 * gfortran.texi (Standards): Update URL; state that OpenMP 4.5
888 is supported and 5.0 is partially.
889 * intrinsic.texi (OpenMP Modules): Refer also to OpenMP 5.0;
890 (OMP_LIB): Add missing derived type and new named constants.
891
892 2020-07-22 Tobias Burnus <tobias@codesourcery.com>
893
894 * gfortran.h (enum gfc_omp_if_kind): Add OMP_IF_CANCEL and OMP_IF_SIMD.
895 * openmp.c (OMP_SIMD_CLAUSES): Add OMP_CLAUSE_IF.
896 (gfc_match_omp_clauses, resolve_omp_clauses): Handle 'if (simd/cancel:'.
897 * dump-parse-tree.c (show_omp_clauses): Likewise.
898 * trans-openmp.c (gfc_trans_omp_clauses, gfc_trans_omp_cancel,
899 (gfc_split_omp_clauses): Likewise.
900
901 2020-07-22 Tobias Burnus <tobias@codesourcery.com>
902
903 * openmp.c (gfc_match_omp_critical): Fix handling hints; permit
904 hint clause without named critical.
905 (resolve_omp_clauses): Require nonnegative constant integer
906 for the hint clause.
907 (gfc_resolve_omp_directive): Check for no name but
908 nonzero value for hint clause.
909 * parse.c (parse_omp_structured_block): Fix same-name check
910 for critical.
911 * trans-openmp.c (gfc_trans_omp_critical): Handle hint clause properly.
912
913 2020-07-21 Harald Anlauf <anlauf@gmx.de>
914
915 PR fortran/89574
916 * trans-decl.c (gfc_get_extern_function_decl): Check whether a
917 symbol belongs to a different module.
918
919 2020-07-19 Thomas Koenig <tkoenig@gcc.gnu.org>
920
921 PR fortran/96220
922 * dump-parse-tree.c (get_c_type_name): Always use the entries from
923 c_interop_kinds_table to find the correct C type.
924
925 2020-07-19 Thomas Koenig <tkoenig@gcc.gnu.org>
926
927 PR fortran/96018
928 * frontend-passes.c (gfc_check_externals): Adjust formatting.
929 (implicit_pure_call): New function.
930 (implicit_pure_expr): New function.
931 (gfc_fix_implicit_pure): New function.
932 * gfortran.h (gfc_fix_implicit_pure): New prototype.
933 * parse.c (translate_all_program_units): Call gfc_fix_implicit_pure.
934
935 2020-07-18 David Edelsohn <dje.gcc@gmail.com>
936
937 * check.c (gfc_invalid_boz): Mark hint for translation using _().
938
939 2020-07-16 Julian Brown <julian@codesourcery.com>
940 Thomas Schwinge <thomas@codesourcery.com>
941
942 * trans-openmp.c (gfc_trans_omp_clauses): Rework OpenACC
943 attach/detach handling for arrays with descriptors.
944
945 2020-07-14 Steven G. Kargl <kargl@gcc.gnu.org>
946 Mark Eggleston <markeggleston@gcc.gnu.org>
947
948 PR fortran/95612
949 * expr.c (gfc_check_pointer_assigb): Output an error if
950 rvalue is a zero sized array or output an error if rvalue
951 doesn't have a symbol tree.
952
953 2020-07-14 Tobias Burnus <tobias@codesourcery.com>
954
955 * openmp.c (gfc_match_omp_clauses): Match also derived-type
956 component refs in OMP_CLAUSE_MAP.
957 (resolve_omp_clauses): Resolve those.
958 * trans-openmp.c (gfc_trans_omp_array_section, gfc_trans_omp_clauses):
959 Handle OpenMP structure-element mapping.
960 (gfc_trans_oacc_construct, gfc_trans_oacc_executable_directive,
961 (gfc_trans_oacc_combined_directive, gfc_trans_oacc_declare): Update
962 add openacc=true in gfc_trans_omp_clauses call.
963
964 2020-07-14 Tobias Burnus <tobias@codesourcery.com>
965
966 PR fortran/67311
967 * trans-openmp.c (gfc_has_alloc_comps): Return false also for
968 pointers to arrays.
969
970 2020-07-14 Steven G. Kargl <kargl@gcc.gnu.org>
971 Mark Eggleston <markeggleston@gcc.gnu.org>
972
973 PR fortran/96038
974 * decl.c (add_init_expr_sym): For a symbol that is a
975 parameter accept an initialisation if it does not have a
976 value otherwise output a error and reject.
977
978 2020-07-13 Mark Eggleston <markeggleston@gcc.gnu.org>
979
980 PR fortran/45337
981 * resolve.c (resolve_fl_variable): Remove type and intent
982 checks from the check for dummy.
983
984 2020-07-13 Steven G. Kargl <kargl@gcc.gnu.org>
985 Mark Eggleston <markeggleston@gcc.gnu.org>
986
987 PR fortran/95981
988 * check.c (dim_rank_check): Allow NULL references in call to
989 gfc_find_array_ref and return false if no reference is found.
990
991 2020-07-11 Thomas Koenig <tkoenig@gcc.gnu.org>
992
993 PR fortran/96073
994 * frontend-passes.c (check_externals_procedure): Add locus
995 information for new_sym.
996 * interface.c (gfc_check_dummy_characteristics): Do not warn
997 about INTENT for artificially generated variables.
998
999 2020-07-10 Harald Anlauf <anlauf@gmx.de>
1000
1001 PR fortran/95980
1002 * class.c (gfc_add_component_ref, gfc_build_class_symbol):
1003 Add checks for NULL pointer dereference.
1004 * primary.c (gfc_variable_attr): Likewise.
1005 * resolve.c (resolve_variable, resolve_assoc_var)
1006 (resolve_fl_var_and_proc, resolve_fl_variable_derived)
1007 (resolve_symbol): Likewise.
1008
1009 2020-07-10 Harald Anlauf <anlauf@gmx.de>
1010
1011 PR fortran/96086
1012 * match.c (gfc_match_select_rank): Catch NULL pointer
1013 dereference.
1014 * resolve.c (resolve_assoc_var): Catch NULL pointer dereference
1015 that may occur after an illegal declaration.
1016
1017 2020-07-09 Julian Brown <julian@codesourcery.com>
1018
1019 * trans-openmp.c (gfc_trans_omp_clauses): Use 'inner' not 'decl' for
1020 derived type members which themselves have derived types.
1021
1022 2020-07-08 Harald Anlauf <anlauf@gmx.de>
1023
1024 PR fortran/96085
1025 * resolve.c (gfc_resolve_code): Check whether assign target is a
1026 parameter.
1027
1028 2020-07-06 Harald Anlauf <anlauf@gmx.de>
1029
1030 PR fortran/95980
1031 * match.c (copy_ts_from_selector_to_associate, build_class_sym):
1032 Distinguish between unlimited polymorphic and ordinary variables
1033 to avoid NULL pointer dereference.
1034 * resolve.c (resolve_select_type):
1035 Distinguish between unlimited polymorphic and ordinary variables
1036 to avoid NULL pointer dereference.
1037
1038 2020-07-06 Harald Anlauf <anlauf@gmx.de>
1039
1040 PR fortran/95709
1041 * resolve.c (gfc_resolve_code): Check for valid arguments to
1042 assigned GOTO.
1043
1044 2020-07-05 Thomas Koenig <tkoenig@gcc.gnu.org>
1045
1046 PR fortran/27318
1047 * frontend-passes.c (check_against_globals): New function.
1048 (gfc_check_externals): Split; also invoke check_against_globals
1049 via gfc_traverse_ns.
1050 (gfc_check_externals0): Recursive part formerly in
1051 gfc_check_externals.
1052 * resolve.c (resolve_global_procedure): Set sym->error on
1053 interface mismatch.
1054 * symbol.c (ambiguous_symbol): Check for, and set sym->error.
1055
1056 2020-07-02 Harald Anlauf <anlauf@gmx.de>
1057
1058 PR fortran/93423
1059 * resolve.c (resolve_symbol): Avoid NULL pointer dereference.
1060
1061 2020-07-02 Harald Anlauf <anlauf@gmx.de>
1062
1063 PR fortran/93337
1064 * class.c (gfc_find_derived_vtab): Punt if name is not set.
1065
1066 2020-07-02 Mark Eggleston <markeggleston@gcc.gnu.org>
1067
1068 PR fortran/52279
1069 * check.c (gfc_invalid_boz): Change array declaration for
1070 hint into a pointer.
1071
1072 2020-07-02 Steven G. Kargl <kargl@gcc.gnu.org>
1073 Mark Eggleston <markeggleston@gcc.gnu.org>
1074
1075 PR fortran/95584
1076 * interface.c (generic_correspondence): Only use the pointer
1077 to a symbol if exists.
1078
1079 2020-07-01 David Edelsohn <dje.gcc@gmail.com>
1080
1081 * check.c (gfc_invalid_boz): Fix bootstrap. Revert
1082 Mark hint for translation using _().
1083
1084 2020-07-01 Mark Eggleston <markeggleston@gcc.gnu.org>
1085
1086 PR fortran/52279
1087 * arith.c (reduce_binary_aa): Mark for translation the string
1088 parameter to gfc_check_conformance with G_().
1089 * check.c (gfc_invalid_boz): Mark hint for translation using
1090 _(). (gfc_check_achar): Mark for translation the message
1091 parameter to gfc_invalid_boz using G_(). (gfc_check_char):
1092 Mark for translation the message parameter to gfc_invalid_boz
1093 using G_(). (gfc_check_complex): Mark for translation the
1094 message parameter to gfc_invalid_boz using G_().
1095 (gfc_check_float): Mark for translation the message
1096 parameter to gfc_invalid_boz using G_(). (check_rest): Mark
1097 for translation the string parameter to gfc_check_conformance
1098 with _(). (gfc_check_minloc_maxloc): Mark for translation
1099 the string parameter to gfc_check_conformance with _().
1100 (gfc_check_findloc): Mark for translation the string parameter
1101 to gfc_check_conformance with _(). (check_reduction): Mark
1102 for translation the string parameter to gfc_check_conformance
1103 with _(). (gfc_check_pack): Mark for translation the string
1104 parameter to gfc_check_conformance with _().
1105 * decl.c (match_old_style_init): Mark for translation the
1106 message parameter to gfc_invalid_boz using G_().
1107 * expr.c (gfc_check_assign): Mark for translation the string
1108 parameter to gfc_check_conformance with _().
1109 * intrinsic.c (check_specific): Mark for translation the string
1110 parameter to gfc_check_conformance with _().
1111 (gfc_check_intrinsic_standard): Mark symstd_msg strings for
1112 translation using G_(). No need to mark symstd_msg for
1113 translation in call to gfc_warning or when setting symstd.
1114 * io.c (check_open_constraints): Mark strings for translation
1115 using G_() in all calls to warn_or_error. (match_io_element):
1116 Mark for translation the message parameter to gfc_invalid_boz
1117 using G_().
1118 * primary.c (match_boz_constant): Mark for translation the
1119 message parameter to gfc_invalid_boz using G_().
1120 * resolve.c (resolve_elemental_actual): Mark for translation
1121 the string parameter to gfc_check_conformance with _().
1122 (resolve_operator): Mark for translation the string parameter
1123 to gfc_check_conformance with _(). Mark translation strings
1124 assigned to msg using G_() for use in a call to cfg_warning.
1125
1126 2020-07-01 Steven G. Kargl <kargl@gcc.gnu.org>
1127 Mark Eggleston <markeggleston@gcc.gnu.org>
1128
1129 PR fortran/95446
1130 * resolve.c (resolve_elemental_actual): Add code to check for
1131 non-optional argument of the same rank. Revise warning message
1132 to refer to the Fortran 2018 standard.
1133
1134 2020-07-01 Steven G. Kargl <kargl@gcc.gnu.org>
1135 Mark Eggleston <markeggleston@gcc.gnu.org>
1136
1137 PR fortran/95829
1138 * decl.c (gfc_match_decl_type_spec): Compare with "* ) " instead
1139 of "*)".
1140
1141 2020-06-30 Harald Anlauf <anlauf@gmx.de>
1142
1143 PR fortran/88379
1144 * resolve.c (resolve_assoc_var): Avoid NULL pointer dereference.
1145
1146 2020-06-30 Thomas Koenig <tkoenig@gcc.gnu.org>
1147
1148 PR fortran/95355
1149 * gfortran.h (gfc_typename): Add optional argument for_hash.
1150 * misc.c (gfc_typename): When for_hash is true, just retur
1151 CHARACTER(kind).
1152 * class.c (gfc_intrinsic_hash_value): Call gfc_typename with
1153 for_hash = true.
1154
1155 2020-06-29 Harald Anlauf <anlauf@gmx.de>
1156
1157 PR fortran/95978
1158 * decl.c (gfc_match_data): Avoid NULL pointer dereference.
1159
1160 2020-06-29 Thomas Koenig <tkoenig@gcc.gnu.org>
1161
1162 PR fortran/95743
1163 * trans-decl.c (gfc_generate_function_code): Do not generate
1164 recursion check for compiler-generated procedures.
1165
1166 2020-06-29 Harald Anlauf <anlauf@gmx.de>
1167
1168 PR fortran/71706
1169 * trans-stmt.c (gfc_trans_sync): Do proper kind conversion in
1170 bounds-checking code.
1171
1172 2020-06-28 Harald Anlauf <anlauf@gmx.de>
1173
1174 PR fortran/95340
1175 * match.c (gfc_match_select_rank): Do not dereference NULL pointer.
1176
1177 2020-06-28 Harald Anlauf <anlauf@gmx.de>
1178
1179 PR fortran/95880
1180 * symbol.c (gfc_add_type): If sym->ns->proc_name is set, use it,
1181 otherwise fall back to sym->name.
1182
1183 2020-06-27 Harald Anlauf <anlauf@gmx.de>
1184
1185 PR fortran/95881
1186 * resolve.c (resolve_symbol): Avoid NULL pointer dereference.
1187
1188 2020-06-25 Harald Anlauf <anlauf@gmx.de>
1189
1190 PR fortran/95828
1191 * match.c (select_rank_set_tmp): Enlarge internal buffer used in
1192 generating a mangled name.
1193 * resolve.c (resolve_select_rank): Likewise.
1194
1195 2020-06-25 Harald Anlauf <anlauf@gmx.de>
1196
1197 PR fortran/95826
1198 * decl.c (gfc_match_decl_type_spec): Replace a fixed size
1199 buffer by a pointer and reallocate if necessary.
1200
1201 2020-06-25 Tobias Burnus <tobias@codesourcery.com>
1202
1203 PR fortran/95837
1204 * resolve.c (gfc_resolve_substring_charlen): Remove
1205 bogus ts.kind setting for the expression.
1206
1207 2020-06-25 Tobias Burnus <tobias@codesourcery.com>
1208 Kwok Cheung Yeung <kcy@codesourery.com>
1209
1210 PR fortran/95869
1211 * trans-openmp.c (gfc_trans_omp_target): Use correct scoping block.
1212
1213 2020-06-25 Kwok Cheung Yeung <kcy@codesourcery.com>
1214
1215 * trans-openmp.c (gfc_split_omp_clauses): Add if clause
1216 to target and simd sub-constructs.
1217
1218 2020-06-24 Harald Anlauf <anlauf@gmx.de>
1219
1220 PR fortran/95827
1221 * iresolve.c (gfc_get_string): Enlarge internal buffer used in
1222 generating the mangled name.
1223
1224 2020-06-23 Thomas Koenig <tkoenig@gcc.gnu.org>
1225
1226 PR fortran/95812
1227 * dependency.c (ref_same_as_full_array): Handle case of AR_FULL
1228 vs. AR_FULL.
1229
1230 2020-06-23 Steven G. Kargl <kargl@gcc.gnu.org>
1231 Mark Eggleston <markeggleston@gcc.gnu.org>
1232
1233 PR fortran/95586
1234 * decl.c (gfc_match_implicit): Only perform else branch if
1235 the type spect is not BT_DERIVED.
1236
1237 2020-06-22 Steven G. Kargl <kargl@gcc.gnu.org>
1238 Mark Eggleston <markeggleston@gcc.gnu.org>
1239
1240 PR fortran/95708
1241 * intrinsic.c (add_functions): Replace CLASS_INQUIRY with
1242 CLASS_TRANSFORMATIONAL for intrinsic num_images.
1243 (make_generic): Replace ACTUAL_NO with ACTUAL_YES for
1244 intrinsic team_number.
1245 * resolve.c (resolve_fl_procedure): Check pointer ts.u.derived
1246 exists before using it.
1247
1248 2020-06-22 Steven G. Kargl <kargl@gcc.gnu.org>
1249 Mark Eggleston <markeggleston@gcc.gnu.org>
1250
1251 PR fortran/95585
1252 * check.c (gfc_check_reshape): Add check for a value when
1253 the symbol has an attribute flavor FL_PARAMETER.
1254
1255 2020-06-22 Mark Eggleston <markeggleston@gcc.gnu.org>
1256
1257 PR fortran/42693
1258 * arith.c (gfc_arith_error): Enclose strings in G_() instead
1259 of _().
1260
1261 2020-06-20 Harald Anlauf <anlauf@gmx.de>
1262
1263 PR fortran/95707
1264 * gfortran.h (gfc_common_head): Enlarge buffer.
1265 * trans-common.c (gfc_sym_mangled_common_id): Enlarge temporary
1266 buffers, and add check on length on mangled name to prevent
1267 overflow.
1268
1269 2020-06-20 Harald Anlauf <anlauf@gmx.de>
1270
1271 PR fortran/95688
1272 * iresolve.c (gfc_get_string): Enlarge static buffer size.
1273
1274 2020-06-20 Harald Anlauf <anlauf@gmx.de>
1275
1276 PR fortran/95687
1277 * class.c (get_unique_type_string): Return a string with dynamic
1278 length.
1279 (get_unique_hashed_string, gfc_hash_value): Use dynamic result
1280 from get_unique_type_string instead of static buffer.
1281
1282 2020-06-20 Harald Anlauf <anlauf@gmx.de>
1283
1284 PR fortran/95689
1285 * interface.c (check_sym_interfaces): Enlarge temporary buffer,
1286 and add check on length on mangled name to prevent overflow.
1287
1288 2020-06-20 Harald Anlauf <anlauf@gmx.de>
1289
1290 PR fortran/95587
1291 * match.c (gfc_match_equivalence): Check constraints on
1292 EQUIVALENCE objects also for CLASS variables.
1293
1294 2020-06-18 Tobias Burnus <tobias@codesourcery.com>
1295
1296 * openmp.c (resolve_omp_clauses): Reject vars with
1297 allocatable components in OpenMP map clauses.
1298
1299 2020-06-16 Tobias Burnus <tobias@codesourcery.com>
1300
1301 * parse.c (decode_oacc_directive): Permit 'acc routine' also
1302 inside pure procedures.
1303 * openmp.c (gfc_match_oacc_routine): Inside pure procedures
1304 do not permit gang, worker or vector clauses.
1305
1306 2020-06-16 Tobias Burnus <tobias@codesourcery.com>
1307
1308 * parse.c (decode_omp_directive): Remove "or ELEMENTAL"
1309 from "in PURE" error message also for -fopenmp-simd.
1310
1311 2020-06-16 Tobias Burnus <tobias@codesourcery.com>
1312
1313 * parse.c (decode_omp_directive): Remove "or ELEMENTAL"
1314 from "in PURE" error message.
1315
1316 2020-06-14 Thomas Koenig <tkoenig@gcc.gnu.org>
1317
1318 PR fortran/42122
1319 * dump-parse-tree.c (gfc_dump_global_symbols): If the symroot is
1320 empty, just output "empty".
1321
1322 2020-06-14 Harald Anlauf <anlauf@gmx.de>
1323
1324 PR fortran/95088
1325 * class.c (get_unique_type_string): Replace use of fixed size
1326 buffer by internally passing a pointer to strings.
1327
1328 2020-06-14 Thomas Koenig <tkoenig@gcc.gnu.org>
1329
1330 * check.c (gfc_check_random_seed): Always use locations
1331 from get and put arguments for error messages.
1332
1333 2020-06-14 Thomas Koenig <tkoenig@gcc.gnu.org>
1334
1335 PR fortran/94109
1336 * class.c (finalize_component): Return early if finalization has
1337 already happened for expression and component within namespace.
1338 * gfortran.h (gfc_was_finalized): New type.
1339 (gfc_namespace): Add member was_finalzed.
1340 (gfc_expr): Remove finalized.
1341 * symbol.c (gfc_free_namespace): Free was_finalized.
1342
1343 2020-06-11 Harald Anlauf <anlauf@gmx.de>
1344 Steven G. Kargl <kargl@gcc.gnu.org>
1345
1346 PR fortran/95611
1347 * decl.c (access_attr_decl): Use correct symbol in error message.
1348
1349 2020-06-11 Steven G. Kargl <kargl@gcc.gnu.org>
1350 Harald Anlauf <anlauf@gmx.de>
1351
1352 PR fortran/95544
1353 * check.c (invalid_null_arg): Rename to gfc_invalid_null_arg.
1354 (gfc_check_associated, gfc_check_kind, gfc_check_merge)
1355 (gfc_check_shape, gfc_check_size, gfc_check_spread)
1356 (gfc_check_transfer): Adjust.
1357 (gfc_check_len_lentrim, gfc_check_trim): Check for NULL() argument.
1358 * gfortran.h: Declare gfc_invalid_null_arg ().
1359 * intrinsic.c (check_arglist): Check for NULL() argument.
1360
1361 2020-06-11 Harald Anlauf <anlauf@gmx.de>
1362
1363 PR fortran/95503
1364 * expr.c (gfc_check_pointer_assign): Skip contiguity check of rhs
1365 of pointer assignment if lhs cannot be simply contiguous.
1366
1367 2020-06-11 José Rui Faustino de Sousa <jrfsousa@gmail.com>
1368
1369 PR fortran/95331
1370 * trans-array.c (gfc_conv_array_ref): For class array dummy
1371 arguments use the transformed descriptor in sym->backend_decl
1372 instead of the original descriptor.
1373
1374 2020-06-11 José Rui Faustino de Sousa <jrfsousa@gmail.com>
1375
1376 PR fortran/52351
1377 PR fortran/85868
1378 * trans-array.c (gfc_conv_expr_descriptor): Enable the
1379 creation of a new descriptor with the correct one based
1380 indexing for array sections. Rework array descriptor
1381 indexing offset calculation.
1382
1383 2020-06-11 José Rui Faustino de Sousa <jrfsousa@gmail.com>
1384
1385 PR fortran/94022
1386 * trans-expr.c (gfc_conv_procedure_call): In the case of
1387 assumed-size arrays ensure that the reference is to a full array.
1388
1389 2020-06-07 Harald Anlauf <anlauf@gmx.de>
1390
1391 PR fortran/95091
1392 * class.c (gfc_hash_value): Add cast.
1393
1394 2020-06-07 Harald Anlauf <anlauf@gmx.de>
1395
1396 PR fortran/95091
1397 * class.c (get_unique_type_string, gfc_hash_value): Enlarge
1398 buffers, and check whether the strings returned by
1399 get_unique_type_string() fit.
1400
1401 2020-06-05 Harald Anlauf <anlauf@gmx.de>
1402
1403 PR fortran/95530
1404 PR fortran/95537
1405 * decl.c (gfc_match_decl_type_spec): Enlarge buffer, and enhance
1406 string copy to detect buffer overflow.
1407 * gfortran.h (gfc_common_head): Enlarge buffer.
1408 * trans-common.c (finish_equivalences): Enhance string copy to
1409 detect buffer overflow.
1410
1411 2020-06-05 Tom Tromey <tromey@adacore.com>
1412
1413 PR fortran/95509
1414 * misc.c (gfc_closest_fuzzy_match): Update cutoff value
1415 computation.
1416
1417 2020-06-04 Steven G. Kargl <kargl@gcc.gnu.org>
1418 Harald Anlauf <anlauf@gmx.de>
1419
1420 PR fortran/95500
1421 * trans-expr.c (gfc_conv_expr_reference): Do not dereference NULL
1422 pointer.
1423
1424 2020-06-03 José Rui Faustino de Sousa <jrfsousa@gmail.com>
1425
1426 PR fortran/95214
1427 PR fortran/66833
1428 PR fortran/67938
1429 * trans-expr.c (gfc_maybe_dereference_var): Add assumed-rank to
1430 character dummy arguments list of possible attributes.
1431
1432 2020-06-03 Tobias Burnus <tobias@codesourcery.com>
1433
1434 * f95-lang.c (LANG_HOOKS_OMP_PREDETERMINED_MAPPING): Redefine.
1435 * trans-openmp.c (gfc_omp_predetermined_mapping): New.
1436 * trans.h (gfc_omp_predetermined_mapping): Declare.
1437
1438 2020-05-31 Thomas Koenig <tkoenig@gcc.gnu.org>
1439
1440 PR fortran/94361
1441 * class.c (finalize_component): Use expr->finalized instead of
1442 comp->finalized.
1443 * gfortran.h (gfc_component): Remove finalized member.
1444 (gfc_expr): Add it here instead.
1445
1446 2020-05-30 Harald Anlauf <anlauf@gmx.de>
1447
1448 PR fortran/95373
1449 * primary.c (is_inquiry_ref): Move validity check of inquiry
1450 references against selected Fortran standard from here...
1451 (gfc_match_varspec) ...to here.
1452
1453 2020-05-30 Harald Anlauf <anlauf@gmx.de>
1454
1455 PR fortran/95090
1456 * class.c (get_unique_type_string): Use buffer overrun check.
1457
1458 2020-05-29 Harald Anlauf <anlauf@gmx.de>
1459
1460 PR fortran/95090
1461 * class.c (get_unique_type_string): Enlarge temporary for
1462 name-mangling. Use strncpy to prevent buffer overrun.
1463 (get_unique_hashed_string): Enlarge temporary.
1464 (gfc_hash_value): Enlarge temporary for name-mangling.
1465
1466 2020-05-28 Harald Anlauf <anlauf@gmx.de>
1467
1468 PR fortran/95373
1469 * primary.c (is_inquiry_ref): Check validity of inquiry
1470 references against selected Fortran standard.
1471
1472 2020-05-28 Steven G. Kargl <kargl@gcc.gnu.org>
1473 Mark Eggleston <markeggleston@gcc.gnu.org>
1474 Mark Eggleston <markeggleston@gcc.gnu.org>
1475
1476 PR fortran/94397
1477 * match.c (gfc_match_type_spec): New variable ok initialised
1478 to true. Set ok with the return value of gfc_reduce_init_expr
1479 called only if the expression is not EXPR_CONSTANT and is not
1480 EXPR_VARIABLE. Add !ok to the check for type not being integer
1481 or the rank being greater than zero.
1482
1483 2020-05-27 Harald Anlauf <anlauf@gmx.de>
1484
1485 PR fortran/95090
1486 * iresolve.c (gfc_get_string): Enlarge temporary for
1487 name-mangling.
1488
1489 2020-05-27 Tobias Burnus <tobias@codesourcery.com>
1490 Mark Eggleston <markeggleston@gnu.gcc.org>
1491
1492 PR fortran/50392
1493 * trans-decl.c (gfc_get_symbol_decl): Remove unnecessary block
1494 delimiters. Add auxiliary variables if a label is assigned to
1495 a return variable. (gfc_gat_fake_result): If the symbol has an
1496 assign attribute set declaration from the symbol's backend
1497 declaration.
1498
1499 2020-05-26 Harald Anlauf <anlauf@gmx.de>
1500
1501 PR fortran/95089
1502 * trans-types.c (gfc_get_derived_type): Enlarge temporary to hold
1503 mangled name "_caf_symbol".
1504
1505 2020-05-26 Alexandre Oliva <oliva@adacore.com>
1506
1507 * options.c (gfc_get_option_string): Drop auxbase, add
1508 dumpbase_ext.
1509
1510 2020-05-24 Harald Anlauf <anlauf@gmx.de>
1511
1512 PR fortran/95106
1513 * trans-common.c (gfc_sym_mangled_common_id): Enlarge temporaries
1514 for name-mangling.
1515
1516 2020-05-23 Thomas Koenig <tkoenig@gcc.gnu.org>
1517
1518 PR libfortran/95191
1519 * libgfortran.h (libgfortran_error_codes): Add
1520 LIBERROR_BAD_WAIT_ID.
1521
1522 2020-05-20 Mark Eggleston <markeggleston@gcc.gnu.org>
1523
1524 PR fortran/39695
1525 * resolve.c (resolve_fl_procedure): Set name depending on
1526 whether the result attribute is set. For PROCEDURE/RESULT
1527 conflict use the name in sym->ns->proc_name->name.
1528 * symbol.c (gfc_add_type): Add check for function and result
1529 attributes use sym->ns->proc_name->name if both are set.
1530 Where the symbol cannot have a type use the name in
1531 sym->ns->proc_name->name.
1532
1533 2020-05-18 Harald Anlauf <anlauf@gmx.de>
1534
1535 PR fortran/95053
1536 * arith.c (gfc_divide): Revert hunk introduced by patch for
1537 PR93499.
1538 * decl.c (variable_decl): Generate error for array shape not being
1539 an INTEGER constant.
1540 (gfc_get_pdt_instance): Generate error if KIND or LEN expressions
1541 in declaration of a PDT instance do not simplify to INTEGER
1542 constants.
1543
1544 2020-05-15 Tobias Burnus <tobias@codesourcery.com>
1545
1546 PR fortran/94690
1547 * openmp.c (resolve_omp_do): Permit more clauses for SIMD
1548 iteration variables.
1549
1550 2020-05-14 Jakub Jelinek <jakub@redhat.com>
1551
1552 * trans-openmp.c: Include function.h.
1553 (gfc_trans_omp_target): Set cfun->has_omp_target.
1554
1555 2020-05-13 Steven G. Kargl <kargl@gcc.gnu.org>
1556
1557 PR fortran/93497
1558 * decl.c (char_len_param_value): Check whether character
1559 length expression is of type EXPR_OP and if so simplify it.
1560 * resolve.c (resolve_charlen): Reject length if it has a
1561 rank.
1562
1563 2020-05-13 Tobias Burnus <tobias@codesourcery.com>
1564
1565 PR fortran/94690
1566 * openmp.c (OMP_DISTRIBUTE_CLAUSES): Add OMP_CLAUSE_LASTPRIVATE.
1567 (gfc_resolve_do_iterator): Skip the private handling for SIMD as
1568 that is handled by ME code.
1569 * trans-openmp.c (gfc_trans_omp_do): Don't add private/lastprivate
1570 for dovar_found == 0, unless !simple.
1571
1572 2020-05-11 Harald Anlauf <anlauf@gmx.de>
1573
1574 PR fortran/95053
1575 * arith.c (gfc_divide): Do not error out if operand 2 is
1576 non-numeric. Defer checks to later stage.
1577
1578 2020-05-11 Tobias Burnus <tobias@codesourcery.com>
1579
1580 PR fortran/94672
1581 * trans.h (gfc_conv_expr_present): Add use_saved_decl=false argument.
1582 * trans-expr.c (gfc_conv_expr_present): Likewise; use DECL directly
1583 and only if use_saved_decl is true, use the actual PARAM_DECL arg (saved
1584 descriptor).
1585 * trans-array.c (gfc_trans_dummy_array_bias): Set local 'arg.0'
1586 variable to NULL if 'arg' is not present.
1587 * trans-openmp.c (gfc_omp_check_optional_argument): Simplify by checking
1588 'arg.0' instead of the true PARM_DECL.
1589 (gfc_omp_finish_clause): Remove setting 'arg.0' to NULL.
1590
1591 2020-05-11 Janus Weil <janus@gcc.gnu.org>
1592 Dominique d'Humieres <dominiq@lps.ens.fr>
1593
1594 PR fortran/59107
1595 * gfortran.h: Rename field resolved as resolve_symbol_called
1596 and assign two 2 bits instead of 1.
1597 * interface.c (check_dtio_interface1): Use new field name.
1598 (gfc_find_typebound_dtio_proc): Use new field name.
1599 * resolve.c (gfc_resolve_intrinsic): Replace check of the formal
1600 field with resolve_symbol_called is at least 2, if it is not
1601 set the field to 2. (resolve_typebound_procedure): Use new field
1602 name. (resolve_symbol): Use new field name and check whether it
1603 is at least 1, if it is not set the field to 1.
1604
1605 2020-05-10 Harald Anlauf <anlauf@gmx.de>
1606
1607 PR fortran/93499
1608 * arith.c (gfc_divide): Catch division by zero.
1609 (eval_intrinsic_f3): Safeguard for NULL operands.
1610
1611 2020-05-05 Steve Kargl <kargl@gcc.gnu.org>
1612 Harald Anlauf <anlauf@gmx.de>
1613
1614 PR fortran/93366
1615 * check.c (gfc_check_associated, invalid_null_arg): Factorize
1616 check for presence of invalid NULL() argument.
1617 (gfc_check_kind, gfc_check_merge, gfc_check_shape)
1618 (gfc_check_sizeof, gfc_check_spread, gfc_check_transfer): Use this
1619 check for presence of invalid NULL() arguments.
1620
1621 2020-04-29 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
1622
1623 PR fortran/94769
1624 * io.c (check_io_constraints): Initialize local variable num to
1625 -1 and assert that it receives a meaningful value by function
1626 compare_to_allowed_values.
1627
1628 2020-04-27 Thomas Koenig <tkoenig@gcc.gnu.org>
1629
1630 PR fortran/93956
1631 PR fortran/94788
1632 * expr.c (gfc_check_pointer_assign): Revert patch for PR 93956.
1633 * interface.c: Likewise.
1634
1635 2020-04-25 Thomas Koenig <tkoenig@gcc.gnu.org>
1636
1637 PR fortran/94578
1638 * trans-expr.c (arrayfunc_assign_needs_temporary): If the
1639 LHS is a subref pointer, we also need a temporary.
1640
1641 2020-04-23 Thomas Koenig <tkoenig@gcc.gnu.org>
1642
1643 PR fortran/93956
1644 * expr.c (gfc_check_pointer_assign): Also set subref_array_pointer
1645 when a function returns a pointer.
1646 * interface.c (gfc_set_subref_array_pointer_arg): New function.
1647 (gfc_procedure_use): Call it.
1648
1649 2020-04-22 Fritz Reese <foreese@gcc.gnu.org>
1650
1651 * trigd_fe.inc: Use mpfr to compute cosd(30) rather than a host-
1652 precision floating point literal based on an invalid macro.
1653
1654 2020-04-22 José Rui Faustino de Sousa <jrfsousa@gmail.com>
1655
1656 PR fortran/90350
1657 * simplify.c (simplify_bound): In the case of assumed-size arrays
1658 check if the reference is to a full array.
1659
1660 2020-04-22 Tobias Burnus <tobias@codesourcery.com>
1661
1662 PR fortran/94709
1663 * scanner.c (load_line): In fixed form, also treat 'C' as comment and
1664 'D'/'d' only with -fd-lines-as-comments. Treat '!$' with -fopenmp,
1665 '!$acc' with -fopenacc and '!GCC$' as non-comment to permit <tab>
1666 and truncation warnings.
1667
1668 2020-04-20 Thomas Koenig <tkoenig@gcc.gnu.org>
1669
1670 * dump-parse-tree.c (show_attr): Add numerous flags, some cleanup.
1671
1672 2020-04-20 Harald Anlauf <anlauf@gmx.de>
1673
1674 PR fortran/93364
1675 * array.c (gfc_set_array_spec): Check for sum of rank and corank
1676 not exceeding GFC_MAX_DIMENSIONS.
1677
1678 2020-04-20 Steve Kargl <kargl@gcc.gnu.org>
1679 Thomas Koenig <tkoenig@gcc.gnu.org>
1680
1681 PR fortran/91800
1682 * decl.c (variable_decl): Reject Hollerith constants as type
1683 initializer.
1684
1685 2020-04-19 Thomas Koenig <tkoenig@gcc.gnu.org>
1686
1687 PR fortran/93500
1688 * resolve.c (resolve_operator): If both operands are
1689 NULL, return false.
1690 * simplify.c (simplify_bound): If a division by zero
1691 was seen during bound simplification, free the
1692 corresponcing expression and return &gfc_bad_expr.
1693
1694 2020-04-17 Thomas Koenig <tkoenig@gcc.gnu.org>
1695
1696 PR fortran/94090
1697 * gfortran.dg (gfc_compare_interfaces): Add
1698 optional argument bad_result_characteristics.
1699 * interface.c (gfc_check_result_characteristics): Fix
1700 whitespace.
1701 (gfc_compare_interfaces): Handle new argument; return
1702 true if function return values are wrong.
1703 * resolve.c (resolve_global_procedure): Hard error if
1704 the return value of a function is wrong.
1705
1706 2020-04-15 Fritz Reese <foreese@gcc.gnu.org>
1707 Linus Koenig <link@sig-st.de>
1708
1709 PR fortran/94192
1710 * simplify.c (simplify_bound): Simplify condition for error check.
1711
1712 2020-04-14 Tobias Burnus <tobias@codesourcery.com>
1713
1714 * module.c (gfc_match_use): Fix name-conflict check for use-associating
1715 the same symbol again in a submodule.
1716
1717 2020-04-13 Linus Koenig <link@sig-st.de>
1718
1719 PR fortran/94192
1720 * resolve.c (resolve_fl_var_and_proc): Set flag "error" to 1 if
1721 pointer is found to not have an assumed rank or a deferred shape.
1722 * simplify.c (simplify_bound): If an error has been issued for a
1723 given pointer, one should not attempt to find its bounds.
1724
1725 2020-04-09 Fritz Reese <foreese@gcc.gnu.org>
1726
1727 PR fortran/87923
1728 * gfortran.h (gfc_resolve_open, gfc_resolve_close): Add
1729 locus parameter.
1730 (gfc_resolve_dt): Add code parameter.
1731 * io.c (async_io_dt, check_char_variable, is_char_type): Removed.
1732 (resolve_tag_format): Add locus to error message regarding
1733 zero-sized array in FORMAT tag.
1734 (check_open_constraints, check_close_constraints): New functions
1735 called at resolution time.
1736 (gfc_match_open, gfc_match_close, match_io): Move checks which don't
1737 affect the match result to new functions check_open_constraints,
1738 check_close_constraints, check_io_constraints.
1739 (gfc_resolve_open, gfc_resolve_close): Call new functions
1740 check_open_constraints, check_close_constraints after all tags have
1741 been independently resolved. Remove duplicate constraints which are
1742 already verified by resolve_tag. Explicitly pass locus to all error
1743 reports.
1744 (compare_to_allowed_values): Add locus parameter and provide
1745 explicit locus all error reports.
1746 (match_open_element, match_close_element, match_file_element,
1747 match_dt_element, match_inquire_element): Remove redundant special
1748 cases for ASYNCHRONOUS and IOMSG tags.
1749 (gfc_resolve_dt): Remove redundant special case for format
1750 expression. Call check_io_constraints, forwarding an I/O list as
1751 the io_code parameter if present.
1752 (check_io_constraints): Change return type to bool. Pass explicit
1753 locus to error reports. Move generic checks after tag-specific
1754 checks, since errors are no longer buffered. Move simplification of
1755 format string to match_io. Remove redundant checks which are
1756 verified by resolve_tag. Remove usage of async_io_dt flag and
1757 explicitly mark symbols used in asynchronous I/O with the
1758 asynchronous attribute.
1759 * resolve.c (resolve_transfer, resolve_fl_namelist): Remove checks
1760 for async_io_dt flag. This is now done in io.c.
1761 (check_io_constraints).
1762 (gfc_resolve_code): Pass code locus to gfc_resolve_open,
1763 gfc_resolve_close, gfc_resolve_dt.
1764
1765 2020-04-07 Fritz Reese <foreese@gcc.gnu.org>
1766 Steven G. Kargl <kargl@gcc.gnu.org>
1767
1768 PR fortran/93871
1769 * gfortran.h (GFC_ISYM_ACOSD, GFC_ISYM_ASIND, GFC_ISYM_ATAN2D,
1770 GFC_ISYM_ATAND, GFC_ISYM_COSD, GFC_ISYM_COTAND, GFC_ISYM_SIND,
1771 GFC_ISYM_TAND): New.
1772 * intrinsic.c (add_functions): Remove check for flag_dec_math.
1773 Give degree trig functions simplification and name resolution
1774 functions (e.g, gfc_simplify_atrigd () and gfc_resolve_atrigd ()).
1775 (do_simplify): Remove special casing of degree trig functions.
1776 * intrinsic.h (gfc_simplify_acosd, gfc_simplify_asind,
1777 gfc_simplify_atand, gfc_simplify_cosd, gfc_simplify_cotand,
1778 gfc_simplify_sind, gfc_simplify_tand, gfc_resolve_trigd2): Add new
1779 prototypes.
1780 (gfc_simplify_atrigd, gfc_simplify_trigd, gfc_resolve_cotan,
1781 resolve_atrigd): Remove prototypes of deleted functions.
1782 * iresolve.c (is_trig_resolved, copy_replace_function_shallow,
1783 gfc_resolve_cotan, get_radians, get_degrees, resolve_trig_call,
1784 gfc_resolve_atrigd, gfc_resolve_atan2d): Delete functions.
1785 (gfc_resolve_trigd, gfc_resolve_trigd2): Resolve to library functions.
1786 * simplify.c (rad2deg, deg2rad, gfc_simplify_acosd, gfc_simplify_asind,
1787 gfc_simplify_atand, gfc_simplify_atan2d, gfc_simplify_cosd,
1788 gfc_simplify_sind, gfc_simplify_tand, gfc_simplify_cotand): New
1789 functions.
1790 (gfc_simplify_atan2): Fix error message.
1791 (simplify_trig_call, gfc_simplify_trigd, gfc_simplify_atrigd,
1792 radians_f): Delete functions.
1793 * trans-intrinsic.c: Add LIB_FUNCTION decls for sind, cosd, tand.
1794 (rad2deg, gfc_conv_intrinsic_atrigd, gfc_conv_intrinsic_cotan,
1795 gfc_conv_intrinsic_cotand, gfc_conv_intrinsic_atan2d): New functions.
1796 (gfc_conv_intrinsic_function): Handle ACOSD, ASIND, ATAND, COTAN,
1797 COTAND, ATAN2D.
1798 * trigd_fe.inc: New file. Included by simplify.c to implement
1799 simplify_sind, simplify_cosd, simplify_tand with code common to the
1800 libgfortran implementation.
1801
1802 2020-04-06 Steven G. Kargl <kargl@gcc.gnu.org>
1803
1804 PR fortran/93686
1805 * decl.c (gfc_match_data): Handle data matching for derived type
1806 pointers.
1807
1808 2020-04-02 Tobias Burnus <tobias@codesourcery.com>
1809
1810 * gfortran.h (gfc_resolve_formal_arglist): Add prototype.
1811 * interface.c (check_dtio_interface1): Call it.
1812 * resolve.c (gfc_resolve_formal_arglist): Renamed from
1813 resolve_formal_arglist, removed static.
1814 (find_arglists, resolve_types): Update calls.
1815
1816 2020-04-02 Tobias Burnus <tobias@codesourcery.com>
1817
1818 PR fortran/93522
1819 * match.c (gfc_match_select_rank): Fix error cleanup.
1820
1821 2020-04-02 Steven G. Kargl <kargl@gcc.gnu.org>
1822
1823 PR fortran/93498
1824 * check.c (gfc_check_findloc): If the kinds of the arguments
1825 differ goto label "incompat".
1826
1827 2020-04-02 Steven G. Kargl <kargl@gcc.gnu.org>
1828
1829 PR fortran/94030
1830 * resolve.c (resolve_equivalence): Correct formatting
1831 around the label "identical_types". Instead of using
1832 gfc_resolve_array_spec use is_non_constants_shape_array
1833 to determine whether the array can be used in a in an
1834 equivalence statement.
1835
1836 2020-04-01 Mark Eggleston <mark.eggleston@codethink.com>
1837
1838 PR fortran/94386
1839 expr.c (simplify_parameter_variable): Restore code deleted
1840 in PR94246.
1841
1842 2020-03-28 Paul Thomas <pault@gcc.gnu.org>
1843
1844 PR fortran/94246
1845 * arith.c : Remove trailing white space.
1846 * expr.c (scalarize_intrinsic_call): Remove the error checking.
1847 Make a copy of the expression to be simplified and only replace
1848 the original if the simplification succeeds.
1849
1850 2020-03-28 Tobias Burnus <tobias@codesourcery.com>
1851
1852 PR fortran/94348
1853 * decl.c (gfc_match_submod_proc): Add result var to the
1854 proc's namespace.
1855
1856 2020-03-27 Tobias Burnus <tobias@codesourcery.com>
1857
1858 PR fortran/93957
1859 * trans-array.c (gfc_alloc_allocatable_for_assignment): Accept
1860 nonallocatable, nonpointer deferred-rank arrays.
1861
1862 2020-03-27 Tobias Burnus <tobias@codesourcery.com>
1863
1864 PR fortran/93363
1865 * resolve.c (resolve_assoc_var): Reject association to DT and
1866 function name.
1867
1868 2020-03-25 Steven G. Kargl <kargl@gcc.gnu.org>
1869
1870 PR fortran/93484
1871 * match.c (gfc_match_type_spec): Replace gfc_match_init_expr with
1872 gfc_match_expr. Return m if m is MATCH_NO or MATCH_ERROR.
1873
1874 2020-03-23 Mark Eggleston <mark.eggleston@codethink.com>
1875 Steven G. Kargl <kargl@gcc.gnu.org>
1876
1877 PR fortran/93600
1878 * expr.c (simplify_parameter_variable): Check whether the ref
1879 chain contains INQUIRY_LEN or INQUIRY_KIND and set inquiry
1880 boolean. When an empty array has been identified and a new
1881 new EXPR_ARRAY expression has been created only return that
1882 expression if inquiry is not set. This allows the new
1883 expression to drop through to be simplified into a
1884 EXPR_CONSTANT representing %kind or %len.
1885 * matc.c (gfc_match_assignment): If lvalue doesn't have a
1886 symtree free both lvalue and rvalue expressions and return
1887 an error.
1888 * resolv.c (gfc_resolve_ref): Ensure that code to handle
1889 INQUIRY_LEN is only performed for arrays with deferred types.
1890
1891 2020-03-18 Jakub Jelinek <jakub@redhat.com>
1892
1893 * class.c (generate_finalization_wrapper): Fix up duplicated word
1894 issue in a comment.
1895 * trans-types.c (gfc_get_nodesc_array_type): Likewise.
1896
1897 2020-03-17 Jakub Jelinek <jakub@redhat.com>
1898
1899 * array.c (gfc_check_iter_variable): Fix up duplicated word issue
1900 in a comment.
1901 * arith.c (gfc_arith_concat): Likewise.
1902 * resolve.c (gfc_resolve_ref): Likewise.
1903 * frontend-passes.c (matmul_lhs_realloc): Likewise.
1904 * module.c (gfc_match_submodule, load_needed): Likewise.
1905 * trans-expr.c (gfc_init_se): Likewise.
1906
1907 2020-03-15 Lewis Hyatt <lhyatt@gmail.com>
1908
1909 * lang.opt: Avoid redundancy in the help text.
1910
1911 2020-03-12 Tobias Burnus <tobias@codesourcery.com>
1912
1913 PR middle-end/94120
1914 * openmp.c (gfc_match_oacc_declare): Accept function-result
1915 variables; reject variables declared in a different scoping unit.
1916
1917 2020-03-08 Paul Thomas <pault@gcc.gnu.org>
1918
1919 PR fortran/93581
1920 * resolve.c (gfc_resolve_ref): Modify array refs to be elements
1921 if the ref chain ends in INQUIRY_LEN.
1922 * trans-array.c (gfc_get_dataptr_offset): Provide the offsets
1923 for INQUIRY_RE and INQUIRY_IM.
1924
1925 2020-03-05 Steven G. Kargl <kargl@gcc.gnu.org>
1926
1927 PR fortran/93792
1928 * decl.c (variable_decl): If param and initializer check
1929 for BOZ, if found, output an error, set m to MATCH_ERROR
1930 and goto cleanup.
1931
1932 2020-03-02 Andrew Benson <abensonca@gmail.com>
1933
1934 PR fortran/93486
1935 * module.c: Increase size of variables used to read module names
1936 when loading interfaces from module files to permit cases where
1937 the name is the concatenation of a module and submodule name.
1938 * gfortran.dg/pr93486.f90: New test.
1939
1940 2020-03-01 Paul Thomas <pault@gcc.gnu.org>
1941
1942 PR fortran/92976
1943 * match.c (select_type_set_tmp): If the selector array spec has
1944 explicit bounds, make the temporary's bounds deferred.
1945
1946 2020-03-01 Paul Thomas <pault@gcc.gnu.org>
1947
1948 PR fortran/92959
1949 * trans-intrinsic.c (gfc_conv_associated): Eliminate
1950 'nonzero_charlen' and move the chunk to evaluate zero character
1951 length until after the argument evaluation so that the string
1952 length can be used.
1953
1954 2020-02-28 Paul Thomas <pault@gcc.gnu.org>
1955
1956 PR fortran/92785
1957 * trans-expr.c (gfc_conv_intrinsic_to_class): Renormalise non-
1958 variable expressions to be unity lbound based.
1959
1960 2020-02-25 Steven G. Kargl <kargl@gcc.gnu.org>
1961
1962 * simplify.c (degrees_f): Remove unused code.
1963
1964 2020-02-25 Jakub Jelinek <jakub@redhat.com>
1965
1966 PR translation/93864
1967 * intrinsic.texi (CO_BROADCAST): Fix typo, paramter -> parameter.
1968 * trans-array.c (gfc_allocate_pdt_comp, gfc_deallocate_pdt_comp,
1969 gfc_check_pdt_dummy): Fix comment typo paramter -> parameter.
1970
1971 2020-02-24 Mark Eggleston <mark.eggleston@codethink.com>
1972 Steven G. Kargl <kargl@gcc.gnu.org>
1973
1974 PR fortran/93835
1975 * decl.c (gfc_match_data) : Check whether the data expression
1976 is a derived type and is a constructor. If a BOZ constant
1977 is encountered in the constructor output an error and return
1978 MATCH_ERROR.
1979
1980 2020-02-24 Steven G. Kargl <kargl@gcc.gnu.org>
1981
1982 PR fortran/93604
1983 * decl.c (gfc_match_data) : Check whether the data expression
1984 is a derived type and is a constructor. If a BOZ constant
1985 is encountered in the constructor output an error and return
1986 MATCH_ERROR.
1987
1988 2020-02-24 Tobias Burnus <tobias@codesourcery.com>
1989
1990 PR fortran/93552
1991 * match.c (match_exit_cycle): With OpenACC, check the kernels loop
1992 directive and tile clause as well.
1993
1994 2020-02-23 Thomas Koenig <tkoenig@gcc.gnu.org>
1995
1996 PR fortran/93889
1997 * interface.c (compare_parameter): Fix error message.
1998
1999 2020-02-23 Thomas Koenig <tkoenig@gcc.gnu.org>
2000
2001 PR fortran/93890
2002 * interface.c: Replace "can not" by "cannot" and remove trailing
2003 space.
2004
2005 2020-02-20 Tobias Burnus <tobias@codesourcery.com>
2006
2007 PR fortran/93825
2008 * openmp.c (resolve_oacc_loop_blocks): Move call to
2009 resolve_oacc_nested_loops from here ...
2010 (resolve_oacc_loop): ... to here.
2011
2012 2020-02-18 Mark Eggleston <markeggleston@gcc.gnu.org>
2013
2014 PR fortran/93714
2015 * expr.c (gfc_check_pointer_assign): Move check for
2016 matching character length to after checking the lvalue
2017 attributes for target or pointer.
2018
2019 2020-02-18 Steven G. Kargl <kargl@gcc.gnu.org>
2020
2021 PR fortran/93601
2022 * match.c (gfc_match_assignment) : Reject assignment if
2023 the lhs stype is BT_CLASS and the rhs type is BT_BOZ.
2024
2025 2020-02-18 Steven G. Kargl <kargl@gcc.gnu.org>
2026
2027 PR fortran/93603
2028 * match.c (gfc_match_associate) : If target expression
2029 has the type BT_BOZ output an error and goto
2030 assocListError.
2031
2032 2020-02-18 Steven G. Kargl <kargl@gcc.gnu.org>
2033 Mark Eggleston <markeggleston@gcc.gnu.org>
2034
2035 PR fortran/93580
2036 * primary.c (gfc_match_varspec): If the symbol following %
2037 is re or im and the primary expression type is not BT_COMPLEX
2038 issue an error. If the symbol is len and the primary
2039 expression type is not BT_CHARACTER is an error.
2040
2041 2020-02-10 Andrew Benson <abensonca@gmail.com>
2042
2043 PR fortran/83113
2044 * array.c: Do not attempt to set the array spec for a submodule
2045 function symbol (as it has already been set in the corresponding
2046 module procedure interface).
2047 * symbol.c: Do not reject duplicate POINTER, ALLOCATABLE, or
2048 DIMENSION attributes in declarations of a submodule function.
2049 * gfortran.h: Add a macro that tests for a module procedure in a
2050 submodule.
2051 * gfortran.dg/pr83113.f90: New test.
2052
2053 2020-02-03 Julian Brown <julian@codesourcery.com>
2054 Tobias Burnus <tobias@codesourcery.com>
2055
2056 * cpp.c (cpp_define_builtins): Update _OPENACC define to 201711.
2057 * intrinsic.texi: Update mentions of OpenACC version to 2.6.
2058 * gfortran.texi: Likewise. Remove experimental disclamer for OpenACC.
2059 * invoke.texi: Remove experimental disclamer for OpenACC.
2060
2061 2020-02-03 Tobias Burnus <tobias@codesourcery.com>
2062
2063 PR fortran/93541
2064 * intrinisic.texi (OpenMP Modules OMP_LIB and OMP_LIB_KINDS):
2065 Add undocumented parameters from omp_lib.f90.in.
2066
2067 2020-02-03 Tobias Burnus <tobias@codesourcery.com>
2068
2069 PR fortran/93427
2070 * resolve.c (resolve_assoc_var): Remove too strict check.
2071 * gfortran.dg/associate_51.f90: Update test case.
2072
2073 2020-02-01 Jakub Jelinek <jakub@redhat.com>
2074
2075 PR fortran/92305
2076 * trans-types.c (gfc_get_function_type): Also push boolean_type_node
2077 types for non-character scalar VALUE optional dummy arguments.
2078 * trans-decl.c (create_function_arglist): Skip those in
2079 hidden_typelist. Formatting fix.
2080
2081 2020-01-31 Tobias Burnus <tobias@codesourcery.com>
2082
2083 PR fortran/93462
2084 * frontend-passes.c (gfc_code_walker): For EXEC_OACC_ATOMIC, set
2085 in_omp_atomic to true prevent front-end optimization.
2086
2087 2020-01-30 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
2088
2089 PR fortran/87103
2090 * expr.c (gfc_check_conformance): Check vsnprintf for truncation.
2091 * iresolve.c (gfc_get_string): Likewise.
2092 * symbol.c (gfc_new_symbol): Remove check for maximum symbol
2093 name length. Remove redundant 0 setting of new calloc()ed
2094 gfc_symbol.
2095
2096 2020-01-30 Paul Thomas  <pault@gcc.gnu.org>
2097 Jakub Jelinek <jakub@redhat.com>
2098
2099 PR fortran/92123
2100 * trans-decl.c (gfc_get_symbol_decl): Call gfc_defer_symbol_init for
2101 CFI descs.
2102 (gfc_build_builtin_function_decls): Use ".w." instead of ".ww" or ".wR"
2103 for gfor_fndecl_{cfi_to_gfc,gfc_to_cfi}.
2104 (convert_CFI_desc): Handle references to CFI descriptors.
2105
2106 2020-01-29 Jakub Jelinek <jakub@redhat.com>
2107
2108 PR fortran/93463
2109 * openmp.c (oacc_code_to_statement): Handle
2110 EXEC_OACC_{ROUTINE,UPDATE,WAIT,CACHE,{ENTER,EXIT}_DATA,DECLARE}.
2111
2112 2020-01-28 Andrew Benson <abensonca@gmail.com>
2113
2114 PR fortran/93461
2115 * trans.h: Increase GFC_MAX_MANGLED_SYMBOL_LEN to
2116 GFC_MAX_SYMBOL_LEN*3+5 to allow for inclusion of submodule name,
2117 plus the "." between module and submodule names.
2118 * gfortran.dg/pr93461.f90: New test.
2119
2120 2020-01-28 Andrew Benson <abensonca@gmail.com>
2121
2122 PR fortran/93473
2123 * parse.c: Increase length of char variables to allow them to hold
2124 a concatenated module + submodule name.
2125 * gfortran.dg/pr93473.f90: New test.
2126
2127 2020-01-28 Julian Brown <julian@codesourcery.com>
2128
2129 PR fortran/93025
2130 * openmp.c (resolve_omp_clauses): Check array references for contiguity.
2131
2132 2020-01-28 Julian Brown <julian@codesourcery.com>
2133
2134 * gfortran.h (gfc_symbol): Add comp_mark bitfield.
2135 * openmp.c (resolve_omp_clauses): Disallow mixed component and
2136 full-derived-type accesses to the same variable within a single
2137 directive.
2138
2139 2020-01-28 Tobias Burnus <tobias@codesourcery.com>
2140
2141 PR fortran/93464
2142 * openmp.c (gfc_omp_check_optional_argument): Avoid ICE when
2143 DECL_LANG_SPECIFIC and GFC_DESCRIPTOR_TYPE_P but not
2144 GFC_DECL_SAVED_DESCRIPTOR as for local allocatable character vars.
2145
2146 2020-01-28 Tobias Burnus <tobias@codesourcery.com>
2147
2148 * gfortran.texi (Runtime): Remove tailing '.' in @menu.
2149
2150 2020-01-27 Tobias Burnus <tobias@codesourcery.com>
2151
2152 PR fortran/85781
2153 * trans-expr.c (gfc_conv_substring): Handle non-ARRAY_TYPE strings
2154 of Bind(C) procedures.
2155
2156 2020-01-22 Jakub Jelinek <jakub@redhat.com>
2157
2158 * parse.c (parse_omp_structured_block): Handle ST_OMP_TARGET_PARALLEL.
2159 * trans-openmp.c (gfc_trans_omp_target)
2160 <case EXEC_OMP_TARGET_PARALLEL>: Call pushlevel first.
2161
2162 PR fortran/93329
2163 * openmp.c (omp_code_to_statement): Handle remaining EXEC_OMP_*
2164 cases.
2165
2166 2020-01-21 Tobias Burnus <tobias@codesourcery.com>
2167
2168 PR fortran/93309
2169 * interface.c (gfc_procedure_use): Also check parent namespace for
2170 'implict none (external)'.
2171 * symbol.c (gfc_get_namespace): Don't set has_implicit_none_export
2172 to parent namespace's setting.
2173
2174 2020-01-19 Thomas König <tkoenig@gcc.gnu.org>
2175
2176 PR fortran/44960
2177 * primary.c (gfc_match_rvalue): Break after setting MATCH_ERROR.
2178 * resolve.c (resolve_function): Issue error when a
2179 function call contains a reference.
2180
2181 2020-01-17 Mark Eggleston <mark.eggleston@codethink.com>
2182
2183 PR fortran/93236
2184 * resolve.c (resolve_types): Declare boolean recursive and set with the
2185 value of the recursive attribute of namespace proc_name symbol
2186 structure if it exists. Call gfc_save_all if both flag_automatic and
2187 recursive are false or ns->save_all is true.
2188
2189 2020-01-16 Tobias Burnus <tobias@codesourcery.com>
2190
2191 PR fortran/93253
2192 * check.c (gfc_invalid_boz): Mention -fallow-invalid-boz
2193 in the error message.
2194 * gfortran.texi (BOZ literal constants): List another missing
2195 extension and refer to -fallow-invalid-boz.
2196 * lang.opt (fallow-invalid-boz): Also mention 'X' in the help text
2197 as it is not covered by the previous wording.
2198 * primary.c (match_boz_constant): Tweak wording such that it is
2199 clear how to fix the nonstandard use.
2200
2201 2020-01-09 Thomas Koenig <tkoenig@gcc.gnu.org>
2202
2203 PR fortran/65428
2204 * array.c (empty_constructor): New variable.
2205 (empty_ts): New variable.
2206 (expand_constructor): Save typespec in empty_ts.
2207 Unset empty_constructor if there is an element.
2208 (gfc_expand_constructor): Initialize empty_constructor
2209 and empty_ts. If there was no explicit constructor
2210 type and the constructor is empty, take the type from
2211 empty_ts.
2212
2213 2020-01-09 Tobias Burnus <tobias@codesourcery.com>
2214
2215 PR fortran/84135
2216 * array.c (gfc_set_array_spec): Fix shifting of codimensions
2217 when adding a dimension.
2218 * decl.c (merge_array_spec): Ditto. Fix using correct codimensions.
2219
2220 2020-01-07 Jakub Jelinek <jakub@redhat.com>
2221
2222 PR fortran/93162
2223 * trans-openmp.c (gfc_trans_omp_clauses): Check for REF_ARRAY type
2224 before testing u.ar.type == AR_FULL.
2225
2226 2020-01-04 Tobias Burnus <tobias@codesourcery.com>
2227
2228 PR fortran/91640
2229 * trans-expr.c (gfc_conv_procedure_call): Avoid copy-out for nonvariable
2230 arguments to contiguous dummy args. Avoid re-checking whether fsym is
2231 NULL.
2232
2233 2020-01-03 Tobias Burnus <tobias@codesourcery.com>
2234
2235 * trans-openmp.c (gfc_omp_check_optional_argument): Always return a
2236 Boolean expression; handle unallocated/disassociated actual arguments
2237 as absent if passed to nonallocatable/nonpointer dummy array arguments.
2238 (gfc_build_cond_assign): Change to assume a Boolean expr not a pointer.
2239 (gfc_omp_finish_clause, gfc_trans_omp_clauses): Assign NULL to generated
2240 array-data variable if the argument is absent. Simplify code as
2241 'present' is now a Boolean expression.
2242
2243 2020-01-03 Tobias Burnus <tobias@codesourcery.com>
2244
2245 PR fortran/92994
2246 * primary.c (gfc_match_rvalue): Add some flavor checks
2247 gfc_matching_procptr_assignment.
2248 * resolve.c (resolve_assoc_var): Add more checks for invalid targets.
2249
2250 2020-01-02 Tobias Burnus <tobias@codesourcery.com>
2251
2252 PR fortran/68020
2253 * array.c (gfc_match_array_spec): Fix implied-type matching
2254 for rank > 2.
2255
2256 2020-01-01 Thomas Koenig <tkoenig@gcc.gnu.org>
2257
2258 PR fortran/93113
2259 * dependency.c (gfc_dep_resolver): Handle REF_INQUIRY in switch
2260 for ref types.
2261
2262 2020-01-01 Jakub Jelinek <jakub@redhat.com>
2263
2264 Update copyright years.
2265
2266 * gfortranspec.c (lang_specific_driver): Update copyright notice
2267 dates.
2268 * gfc-internals.texi: Bump @copying's copyright year.
2269 * gfortran.texi: Ditto.
2270 * intrinsic.texi: Ditto.
2271 * invoke.texi: Ditto.
2272 \f
2273 Copyright (C) 2020 Free Software Foundation, Inc.
2274
2275 Copying and distribution of this file, with or without modification,
2276 are permitted in any medium without royalty provided the copyright
2277 notice and this notice are preserved.