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