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