Daily bump.
[platform/upstream/gcc.git] / gcc / fortran / ChangeLog
1 2020-07-11  Thomas Koenig  <tkoenig@gcc.gnu.org>
2
3         PR fortran/96073
4         * frontend-passes.c (check_externals_procedure):  Add locus
5         information for new_sym.
6         * interface.c (gfc_check_dummy_characteristics): Do not warn
7         about INTENT for artificially generated variables.
8
9 2020-07-10  Harald Anlauf  <anlauf@gmx.de>
10
11         PR fortran/95980
12         * class.c (gfc_add_component_ref, gfc_build_class_symbol):
13         Add checks for NULL pointer dereference.
14         * primary.c (gfc_variable_attr): Likewise.
15         * resolve.c (resolve_variable, resolve_assoc_var)
16         (resolve_fl_var_and_proc, resolve_fl_variable_derived)
17         (resolve_symbol): Likewise.
18
19 2020-07-10  Harald Anlauf  <anlauf@gmx.de>
20
21         PR fortran/96086
22         * match.c (gfc_match_select_rank): Catch NULL pointer
23         dereference.
24         * resolve.c (resolve_assoc_var): Catch NULL pointer dereference
25         that may occur after an illegal declaration.
26
27 2020-07-09  Julian Brown  <julian@codesourcery.com>
28
29         * trans-openmp.c (gfc_trans_omp_clauses): Use 'inner' not 'decl' for
30         derived type members which themselves have derived types.
31
32 2020-07-08  Harald Anlauf  <anlauf@gmx.de>
33
34         PR fortran/96085
35         * resolve.c (gfc_resolve_code): Check whether assign target is a
36         parameter.
37
38 2020-07-06  Harald Anlauf  <anlauf@gmx.de>
39
40         PR fortran/95980
41         * match.c (copy_ts_from_selector_to_associate, build_class_sym):
42         Distinguish between unlimited polymorphic and ordinary variables
43         to avoid NULL pointer dereference.
44         * resolve.c (resolve_select_type):
45         Distinguish between unlimited polymorphic and ordinary variables
46         to avoid NULL pointer dereference.
47
48 2020-07-06  Harald Anlauf  <anlauf@gmx.de>
49
50         PR fortran/95709
51         * resolve.c (gfc_resolve_code): Check for valid arguments to
52         assigned GOTO.
53
54 2020-07-05  Thomas Koenig  <tkoenig@gcc.gnu.org>
55
56         PR fortran/27318
57         * frontend-passes.c (check_against_globals): New function.
58         (gfc_check_externals): Split; also invoke check_against_globals
59         via gfc_traverse_ns.
60         (gfc_check_externals0): Recursive part formerly in
61         gfc_check_externals.
62         * resolve.c (resolve_global_procedure): Set sym->error on
63         interface mismatch.
64         * symbol.c (ambiguous_symbol): Check for, and set sym->error.
65
66 2020-07-02  Harald Anlauf  <anlauf@gmx.de>
67
68         PR fortran/93423
69         * resolve.c (resolve_symbol): Avoid NULL pointer dereference.
70
71 2020-07-02  Harald Anlauf  <anlauf@gmx.de>
72
73         PR fortran/93337
74         * class.c (gfc_find_derived_vtab): Punt if name is not set.
75
76 2020-07-02  Mark Eggleston  <markeggleston@gcc.gnu.org>
77
78         PR fortran/52279
79         * check.c (gfc_invalid_boz):  Change array declaration for
80         hint into a pointer.
81
82 2020-07-02  Steven G. Kargl  <kargl@gcc.gnu.org>
83             Mark Eggleston  <markeggleston@gcc.gnu.org>
84
85         PR fortran/95584
86         * interface.c (generic_correspondence): Only use the pointer
87         to a symbol if exists.
88
89 2020-07-01  David Edelsohn  <dje.gcc@gmail.com>
90
91         * check.c (gfc_invalid_boz): Fix bootstrap. Revert
92         Mark hint for translation using _().
93
94 2020-07-01  Mark Eggleston  <markeggleston@gcc.gnu.org>
95
96         PR fortran/52279
97         * arith.c (reduce_binary_aa): Mark for translation the string
98         parameter to gfc_check_conformance with G_().
99         * check.c (gfc_invalid_boz): Mark hint for translation using
100         _().  (gfc_check_achar): Mark for translation the message
101         parameter to gfc_invalid_boz using G_().  (gfc_check_char):
102         Mark for translation the message parameter to gfc_invalid_boz
103         using G_().  (gfc_check_complex): Mark for translation the
104         message parameter to gfc_invalid_boz using G_().
105         (gfc_check_float): Mark for translation the message
106         parameter to gfc_invalid_boz using G_().  (check_rest): Mark
107         for translation the string parameter to gfc_check_conformance
108         with _().  (gfc_check_minloc_maxloc): Mark for translation
109         the string parameter to gfc_check_conformance with _().
110         (gfc_check_findloc): Mark for translation the string parameter
111         to gfc_check_conformance with _().  (check_reduction): Mark
112         for translation the string parameter to gfc_check_conformance
113         with _().  (gfc_check_pack): Mark for translation the string
114         parameter to gfc_check_conformance with _().
115         * decl.c (match_old_style_init): Mark for translation the
116         message parameter to gfc_invalid_boz using G_().
117         * expr.c (gfc_check_assign): Mark for translation the string
118         parameter to gfc_check_conformance with _().
119         * intrinsic.c (check_specific): Mark for translation the string
120         parameter to gfc_check_conformance with _().
121         (gfc_check_intrinsic_standard): Mark symstd_msg strings for
122         translation using G_(). No need to mark symstd_msg for
123         translation in call to gfc_warning or when setting symstd.
124         * io.c (check_open_constraints):  Mark strings for translation
125         using G_() in all calls to warn_or_error.  (match_io_element):
126         Mark for translation the message parameter to gfc_invalid_boz
127         using G_().
128         * primary.c (match_boz_constant): Mark for translation the
129         message parameter to gfc_invalid_boz using G_().
130         * resolve.c (resolve_elemental_actual):  Mark for translation
131         the string parameter to gfc_check_conformance with _().
132         (resolve_operator):  Mark for translation the string parameter
133         to gfc_check_conformance with _().  Mark translation strings
134         assigned to msg using G_() for use in a call to cfg_warning.
135
136 2020-07-01  Steven G. Kargl  <kargl@gcc.gnu.org>
137             Mark Eggleston  <markeggleston@gcc.gnu.org>
138
139         PR fortran/95446
140         * resolve.c (resolve_elemental_actual): Add code to check for
141         non-optional argument of the same rank.  Revise warning message
142         to refer to the Fortran 2018 standard.
143
144 2020-07-01  Steven G. Kargl  <kargl@gcc.gnu.org>
145             Mark Eggleston  <markeggleston@gcc.gnu.org>
146
147         PR fortran/95829
148         * decl.c (gfc_match_decl_type_spec): Compare with "* ) " instead
149         of "*)".
150
151 2020-06-30  Harald Anlauf  <anlauf@gmx.de>
152
153         PR fortran/88379
154         * resolve.c (resolve_assoc_var): Avoid NULL pointer dereference.
155
156 2020-06-30  Thomas Koenig  <tkoenig@gcc.gnu.org>
157
158         PR fortran/95355
159         * gfortran.h (gfc_typename): Add optional argument for_hash.
160         * misc.c (gfc_typename): When for_hash is true, just retur
161           CHARACTER(kind).
162         * class.c (gfc_intrinsic_hash_value): Call gfc_typename with
163           for_hash = true.
164
165 2020-06-29  Harald Anlauf  <anlauf@gmx.de>
166
167         PR fortran/95978
168         * decl.c (gfc_match_data): Avoid NULL pointer dereference.
169
170 2020-06-29  Thomas Koenig  <tkoenig@gcc.gnu.org>
171
172         PR fortran/95743
173         * trans-decl.c (gfc_generate_function_code): Do not generate
174         recursion check for compiler-generated procedures.
175
176 2020-06-29  Harald Anlauf  <anlauf@gmx.de>
177
178         PR fortran/71706
179         * trans-stmt.c (gfc_trans_sync): Do proper kind conversion in
180         bounds-checking code.
181
182 2020-06-28  Harald Anlauf  <anlauf@gmx.de>
183
184         PR fortran/95340
185         * match.c (gfc_match_select_rank): Do not dereference NULL pointer.
186
187 2020-06-28  Harald Anlauf  <anlauf@gmx.de>
188
189         PR fortran/95880
190         * symbol.c (gfc_add_type): If sym->ns->proc_name is set, use it,
191         otherwise fall back to sym->name.
192
193 2020-06-27  Harald Anlauf  <anlauf@gmx.de>
194
195         PR fortran/95881
196         * resolve.c (resolve_symbol): Avoid NULL pointer dereference.
197
198 2020-06-25  Harald Anlauf  <anlauf@gmx.de>
199
200         PR fortran/95828
201         * match.c (select_rank_set_tmp): Enlarge internal buffer used in
202         generating a mangled name.
203         * resolve.c (resolve_select_rank): Likewise.
204
205 2020-06-25  Harald Anlauf  <anlauf@gmx.de>
206
207         PR fortran/95826
208         * decl.c (gfc_match_decl_type_spec): Replace a fixed size
209         buffer by a pointer and reallocate if necessary.
210
211 2020-06-25  Tobias Burnus  <tobias@codesourcery.com>
212
213         PR fortran/95837
214         * resolve.c (gfc_resolve_substring_charlen): Remove
215         bogus ts.kind setting for the expression.
216
217 2020-06-25  Tobias Burnus  <tobias@codesourcery.com>
218             Kwok Cheung Yeung  <kcy@codesourery.com>
219
220         PR fortran/95869
221         * trans-openmp.c (gfc_trans_omp_target): Use correct scoping block.
222
223 2020-06-25  Kwok Cheung Yeung  <kcy@codesourcery.com>
224
225         * trans-openmp.c (gfc_split_omp_clauses): Add if clause
226         to target and simd sub-constructs.
227
228 2020-06-24  Harald Anlauf  <anlauf@gmx.de>
229
230         PR fortran/95827
231         * iresolve.c (gfc_get_string): Enlarge internal buffer used in
232         generating the mangled name.
233
234 2020-06-23  Thomas Koenig  <tkoenig@gcc.gnu.org>
235
236         PR fortran/95812
237         * dependency.c (ref_same_as_full_array): Handle case of AR_FULL
238         vs. AR_FULL.
239
240 2020-06-23  Steven G. Kargl  <kargl@gcc.gnu.org>
241             Mark Eggleston  <markeggleston@gcc.gnu.org>
242
243         PR fortran/95586
244         * decl.c (gfc_match_implicit): Only perform else branch if
245         the type spect is not BT_DERIVED.
246
247 2020-06-22  Steven G. Kargl  <kargl@gcc.gnu.org>
248             Mark Eggleston  <markeggleston@gcc.gnu.org>
249
250         PR fortran/95708
251         * intrinsic.c (add_functions): Replace CLASS_INQUIRY with
252         CLASS_TRANSFORMATIONAL for intrinsic num_images.
253         (make_generic): Replace ACTUAL_NO with ACTUAL_YES for
254         intrinsic team_number.
255         * resolve.c (resolve_fl_procedure): Check pointer ts.u.derived
256         exists before using it.
257
258 2020-06-22  Steven G. Kargl  <kargl@gcc.gnu.org>
259             Mark Eggleston  <markeggleston@gcc.gnu.org>
260
261         PR fortran/95585
262         * check.c (gfc_check_reshape): Add check for a value when
263         the symbol has an attribute flavor FL_PARAMETER.
264
265 2020-06-22  Mark Eggleston  <markeggleston@gcc.gnu.org>
266
267         PR fortran/42693
268         * arith.c (gfc_arith_error): Enclose strings in G_() instead
269         of _().
270
271 2020-06-20  Harald Anlauf  <anlauf@gmx.de>
272
273         PR fortran/95707
274         * gfortran.h (gfc_common_head): Enlarge buffer.
275         * trans-common.c (gfc_sym_mangled_common_id): Enlarge temporary
276         buffers, and add check on length on mangled name to prevent
277         overflow.
278
279 2020-06-20  Harald Anlauf  <anlauf@gmx.de>
280
281         PR fortran/95688
282         * iresolve.c (gfc_get_string): Enlarge static buffer size.
283
284 2020-06-20  Harald Anlauf  <anlauf@gmx.de>
285
286         PR fortran/95687
287         * class.c (get_unique_type_string): Return a string with dynamic
288         length.
289         (get_unique_hashed_string, gfc_hash_value): Use dynamic result
290         from get_unique_type_string instead of static buffer.
291
292 2020-06-20  Harald Anlauf  <anlauf@gmx.de>
293
294         PR fortran/95689
295         * interface.c (check_sym_interfaces): Enlarge temporary buffer,
296         and add check on length on mangled name to prevent overflow.
297
298 2020-06-20  Harald Anlauf  <anlauf@gmx.de>
299
300         PR fortran/95587
301         * match.c (gfc_match_equivalence): Check constraints on
302         EQUIVALENCE objects also for CLASS variables.
303
304 2020-06-18  Tobias Burnus  <tobias@codesourcery.com>
305
306         * openmp.c (resolve_omp_clauses): Reject vars with
307         allocatable components in OpenMP map clauses.
308
309 2020-06-16  Tobias Burnus  <tobias@codesourcery.com>
310
311         * parse.c (decode_oacc_directive): Permit 'acc routine' also
312         inside pure procedures.
313         * openmp.c (gfc_match_oacc_routine): Inside pure procedures
314         do not permit gang, worker or vector clauses.
315
316 2020-06-16  Tobias Burnus  <tobias@codesourcery.com>
317
318         * parse.c (decode_omp_directive): Remove "or ELEMENTAL"
319         from "in PURE" error message also for -fopenmp-simd.
320
321 2020-06-16  Tobias Burnus  <tobias@codesourcery.com>
322
323         * parse.c (decode_omp_directive): Remove "or ELEMENTAL"
324         from "in PURE" error message.
325
326 2020-06-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
327
328         PR fortran/42122
329         * dump-parse-tree.c (gfc_dump_global_symbols):  If the symroot is
330         empty, just output "empty".
331
332 2020-06-14  Harald Anlauf  <anlauf@gmx.de>
333
334         PR fortran/95088
335         * class.c (get_unique_type_string): Replace use of fixed size
336         buffer by internally passing a pointer to strings.
337
338 2020-06-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
339
340         * check.c (gfc_check_random_seed): Always use locations
341         from get and put arguments for error messages.
342
343 2020-06-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
344
345         PR fortran/94109
346         * class.c (finalize_component): Return early if finalization has
347         already happened for expression and component within namespace.
348         * gfortran.h (gfc_was_finalized): New type.
349         (gfc_namespace): Add member was_finalzed.
350         (gfc_expr): Remove finalized.
351         * symbol.c (gfc_free_namespace): Free was_finalized.
352
353 2020-06-11  Harald Anlauf  <anlauf@gmx.de>
354             Steven G. Kargl   <kargl@gcc.gnu.org>
355
356         PR fortran/95611
357         * decl.c (access_attr_decl): Use correct symbol in error message.
358
359 2020-06-11  Steven G. Kargl  <kargl@gcc.gnu.org>
360             Harald Anlauf  <anlauf@gmx.de>
361
362         PR fortran/95544
363         * check.c (invalid_null_arg): Rename to gfc_invalid_null_arg.
364         (gfc_check_associated, gfc_check_kind, gfc_check_merge)
365         (gfc_check_shape, gfc_check_size, gfc_check_spread)
366         (gfc_check_transfer): Adjust.
367         (gfc_check_len_lentrim, gfc_check_trim): Check for NULL() argument.
368         * gfortran.h: Declare gfc_invalid_null_arg ().
369         * intrinsic.c (check_arglist): Check for NULL() argument.
370
371 2020-06-11  Harald Anlauf  <anlauf@gmx.de>
372
373         PR fortran/95503
374         * expr.c (gfc_check_pointer_assign): Skip contiguity check of rhs
375         of pointer assignment if lhs cannot be simply contiguous.
376
377 2020-06-11  José Rui Faustino de Sousa  <jrfsousa@gmail.com>
378
379         PR fortran/95331
380         * trans-array.c (gfc_conv_array_ref): For class array dummy
381         arguments use the transformed descriptor in sym->backend_decl
382         instead of the original descriptor.
383
384 2020-06-11  José Rui Faustino de Sousa  <jrfsousa@gmail.com>
385
386         PR fortran/52351
387         PR fortran/85868
388         * trans-array.c (gfc_conv_expr_descriptor): Enable the
389         creation of a new descriptor with the correct one based
390         indexing for array sections.  Rework array descriptor
391         indexing offset calculation.
392
393 2020-06-11  José Rui Faustino de Sousa  <jrfsousa@gmail.com>
394
395         PR fortran/94022
396         * trans-expr.c (gfc_conv_procedure_call): In the case of
397         assumed-size arrays ensure that the reference is to a full array.
398
399 2020-06-07  Harald Anlauf  <anlauf@gmx.de>
400
401         PR fortran/95091
402         * class.c (gfc_hash_value): Add cast.
403
404 2020-06-07  Harald Anlauf  <anlauf@gmx.de>
405
406         PR fortran/95091
407         * class.c (get_unique_type_string, gfc_hash_value): Enlarge
408         buffers, and check whether the strings returned by
409         get_unique_type_string() fit.
410
411 2020-06-05  Harald Anlauf  <anlauf@gmx.de>
412
413         PR fortran/95530
414         PR fortran/95537
415         * decl.c (gfc_match_decl_type_spec): Enlarge buffer, and enhance
416         string copy to detect buffer overflow.
417         * gfortran.h (gfc_common_head): Enlarge buffer.
418         * trans-common.c (finish_equivalences): Enhance string copy to
419         detect buffer overflow.
420
421 2020-06-05  Tom Tromey  <tromey@adacore.com>
422
423         PR fortran/95509
424         * misc.c (gfc_closest_fuzzy_match): Update cutoff value
425         computation.
426
427 2020-06-04  Steven G. Kargl  <kargl@gcc.gnu.org>
428             Harald Anlauf  <anlauf@gmx.de>
429
430         PR fortran/95500
431         * trans-expr.c (gfc_conv_expr_reference): Do not dereference NULL
432         pointer.
433
434 2020-06-03  José Rui Faustino de Sousa  <jrfsousa@gmail.com>
435
436         PR fortran/95214
437         PR fortran/66833
438         PR fortran/67938
439         * trans-expr.c (gfc_maybe_dereference_var): Add assumed-rank to
440         character dummy arguments list of possible attributes.
441
442 2020-06-03  Tobias Burnus  <tobias@codesourcery.com>
443
444         * f95-lang.c (LANG_HOOKS_OMP_PREDETERMINED_MAPPING): Redefine.
445         * trans-openmp.c (gfc_omp_predetermined_mapping): New.
446         * trans.h (gfc_omp_predetermined_mapping): Declare.
447
448 2020-05-31  Thomas Koenig  <tkoenig@gcc.gnu.org>
449
450         PR fortran/94361
451         * class.c (finalize_component): Use expr->finalized instead of
452         comp->finalized.
453         * gfortran.h (gfc_component): Remove finalized member.
454         (gfc_expr): Add it here instead.
455
456 2020-05-30  Harald Anlauf  <anlauf@gmx.de>
457
458         PR fortran/95373
459         * primary.c (is_inquiry_ref): Move validity check of inquiry
460         references against selected Fortran standard from here...
461         (gfc_match_varspec) ...to here.
462
463 2020-05-30  Harald Anlauf  <anlauf@gmx.de>
464
465         PR fortran/95090
466         * class.c (get_unique_type_string): Use buffer overrun check.
467
468 2020-05-29  Harald Anlauf  <anlauf@gmx.de>
469
470         PR fortran/95090
471         * class.c (get_unique_type_string): Enlarge temporary for
472         name-mangling.  Use strncpy to prevent buffer overrun.
473         (get_unique_hashed_string): Enlarge temporary.
474         (gfc_hash_value): Enlarge temporary for name-mangling.
475
476 2020-05-28  Harald Anlauf  <anlauf@gmx.de>
477
478         PR fortran/95373
479         * primary.c (is_inquiry_ref): Check validity of inquiry
480         references against selected Fortran standard.
481
482 2020-05-28  Steven G. Kargl  <kargl@gcc.gnu.org>
483             Mark Eggleston  <markeggleston@gcc.gnu.org>
484             Mark Eggleston  <markeggleston@gcc.gnu.org>
485
486         PR fortran/94397
487         * match.c (gfc_match_type_spec): New variable ok initialised
488         to true. Set ok with the return value of gfc_reduce_init_expr
489         called only if the expression is not EXPR_CONSTANT and is not
490         EXPR_VARIABLE. Add !ok to the check for type not being integer
491         or the rank being greater than zero.
492
493 2020-05-27  Harald Anlauf  <anlauf@gmx.de>
494
495         PR fortran/95090
496         * iresolve.c (gfc_get_string): Enlarge temporary for
497         name-mangling.
498
499 2020-05-27  Tobias Burnus  <tobias@codesourcery.com>
500             Mark Eggleston  <markeggleston@gnu.gcc.org>
501
502         PR fortran/50392
503         * trans-decl.c (gfc_get_symbol_decl): Remove unnecessary block
504         delimiters.  Add auxiliary variables if a label is assigned to
505         a return variable. (gfc_gat_fake_result): If the symbol has an
506         assign attribute set declaration from the symbol's backend
507         declaration.
508
509 2020-05-26  Harald Anlauf  <anlauf@gmx.de>
510
511         PR fortran/95089
512         * trans-types.c (gfc_get_derived_type): Enlarge temporary to hold
513         mangled name "_caf_symbol".
514
515 2020-05-26  Alexandre Oliva  <oliva@adacore.com>
516
517         * options.c (gfc_get_option_string): Drop auxbase, add
518         dumpbase_ext.
519
520 2020-05-24  Harald Anlauf  <anlauf@gmx.de>
521
522         PR fortran/95106
523         * trans-common.c (gfc_sym_mangled_common_id): Enlarge temporaries
524         for name-mangling.
525
526 2020-05-23  Thomas Koenig  <tkoenig@gcc.gnu.org>
527
528         PR libfortran/95191
529         * libgfortran.h (libgfortran_error_codes): Add
530         LIBERROR_BAD_WAIT_ID.
531
532 2020-05-20  Mark Eggleston  <markeggleston@gcc.gnu.org>
533
534         PR fortran/39695
535         * resolve.c (resolve_fl_procedure): Set name depending on
536         whether the result attribute is set.  For PROCEDURE/RESULT
537         conflict use the name in sym->ns->proc_name->name.
538         * symbol.c (gfc_add_type): Add check for function and result
539         attributes use sym->ns->proc_name->name if both are set.
540         Where the symbol cannot have a type use the name in
541         sym->ns->proc_name->name.
542
543 2020-05-18  Harald Anlauf  <anlauf@gmx.de>
544
545         PR fortran/95053
546         * arith.c (gfc_divide): Revert hunk introduced by patch for
547         PR93499.
548         * decl.c (variable_decl): Generate error for array shape not being
549         an INTEGER constant.
550         (gfc_get_pdt_instance): Generate error if KIND or LEN expressions
551         in declaration of a PDT instance do not simplify to INTEGER
552         constants.
553
554 2020-05-15  Tobias Burnus  <tobias@codesourcery.com>
555
556         PR fortran/94690
557         * openmp.c (resolve_omp_do): Permit more clauses for SIMD
558         iteration variables.
559
560 2020-05-14  Jakub Jelinek  <jakub@redhat.com>
561
562         * trans-openmp.c: Include function.h.
563         (gfc_trans_omp_target): Set cfun->has_omp_target.
564
565 2020-05-13  Steven G. Kargl  <kargl@gcc.gnu.org>
566
567         PR fortran/93497
568         * decl.c (char_len_param_value): Check whether character
569         length expression is of type EXPR_OP and if so simplify it.
570         * resolve.c (resolve_charlen): Reject length if it has a
571         rank.
572
573 2020-05-13  Tobias Burnus  <tobias@codesourcery.com>
574
575         PR fortran/94690
576         * openmp.c (OMP_DISTRIBUTE_CLAUSES): Add OMP_CLAUSE_LASTPRIVATE.
577         (gfc_resolve_do_iterator): Skip the private handling for SIMD as
578         that is handled by ME code.
579         * trans-openmp.c (gfc_trans_omp_do): Don't add private/lastprivate
580         for dovar_found == 0, unless !simple.
581
582 2020-05-11  Harald Anlauf  <anlauf@gmx.de>
583
584         PR fortran/95053
585         * arith.c (gfc_divide): Do not error out if operand 2 is
586         non-numeric.  Defer checks to later stage.
587
588 2020-05-11  Tobias Burnus  <tobias@codesourcery.com>
589
590         PR fortran/94672
591         * trans.h (gfc_conv_expr_present): Add use_saved_decl=false argument.
592         * trans-expr.c (gfc_conv_expr_present): Likewise; use DECL directly
593         and only if use_saved_decl is true, use the actual PARAM_DECL arg (saved
594         descriptor).
595         * trans-array.c (gfc_trans_dummy_array_bias): Set local 'arg.0'
596         variable to NULL if 'arg' is not present.
597         * trans-openmp.c (gfc_omp_check_optional_argument): Simplify by checking
598         'arg.0' instead of the true PARM_DECL.
599         (gfc_omp_finish_clause): Remove setting 'arg.0' to NULL.
600
601 2020-05-11  Janus Weil  <janus@gcc.gnu.org>
602             Dominique d'Humieres  <dominiq@lps.ens.fr>
603
604         PR fortran/59107
605         * gfortran.h: Rename field resolved as resolve_symbol_called
606         and assign two 2 bits instead of 1.
607         * interface.c (check_dtio_interface1): Use new field name.
608         (gfc_find_typebound_dtio_proc): Use new field name.
609         * resolve.c (gfc_resolve_intrinsic): Replace check of the formal
610         field with resolve_symbol_called is at least 2, if it is not
611         set the field to 2.  (resolve_typebound_procedure): Use new field
612         name.  (resolve_symbol): Use new field name and check whether it
613         is at least 1, if it is not set the field to 1.
614
615 2020-05-10  Harald Anlauf  <anlauf@gmx.de>
616
617         PR fortran/93499
618         * arith.c (gfc_divide): Catch division by zero.
619         (eval_intrinsic_f3): Safeguard for NULL operands.
620
621 2020-05-05  Steve Kargl  <kargl@gcc.gnu.org>
622         Harald Anlauf  <anlauf@gmx.de>
623
624         PR fortran/93366
625         * check.c (gfc_check_associated, invalid_null_arg): Factorize
626         check for presence of invalid NULL() argument.
627         (gfc_check_kind, gfc_check_merge, gfc_check_shape)
628         (gfc_check_sizeof, gfc_check_spread, gfc_check_transfer): Use this
629         check for presence of invalid NULL() arguments.
630
631 2020-04-29  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
632
633         PR fortran/94769
634         * io.c (check_io_constraints): Initialize local variable num to
635         -1 and assert that it receives a meaningful value by function
636         compare_to_allowed_values.
637
638 2020-04-27  Thomas Koenig  <tkoenig@gcc.gnu.org>
639
640         PR fortran/93956
641         PR fortran/94788
642         * expr.c (gfc_check_pointer_assign): Revert patch for PR 93956.
643         * interface.c: Likewise.
644
645 2020-04-25  Thomas Koenig  <tkoenig@gcc.gnu.org>
646
647         PR fortran/94578
648         * trans-expr.c (arrayfunc_assign_needs_temporary): If the
649         LHS is a subref pointer, we also need a temporary.
650
651 2020-04-23  Thomas Koenig  <tkoenig@gcc.gnu.org>
652
653         PR fortran/93956
654         * expr.c (gfc_check_pointer_assign): Also set subref_array_pointer
655         when a function returns a pointer.
656         * interface.c (gfc_set_subref_array_pointer_arg): New function.
657         (gfc_procedure_use): Call it.
658
659 2020-04-22  Fritz Reese  <foreese@gcc.gnu.org>
660
661         * trigd_fe.inc: Use mpfr to compute cosd(30) rather than a host-
662         precision floating point literal based on an invalid macro.
663
664 2020-04-22  José Rui Faustino de Sousa  <jrfsousa@gmail.com>
665
666         PR fortran/90350
667         * simplify.c (simplify_bound): In the case of assumed-size arrays
668         check if the reference is to a full array.
669
670 2020-04-22  Tobias Burnus  <tobias@codesourcery.com>
671
672         PR fortran/94709
673         * scanner.c (load_line): In fixed form, also treat 'C' as comment and
674         'D'/'d' only with -fd-lines-as-comments. Treat '!$' with -fopenmp,
675         '!$acc' with -fopenacc and '!GCC$' as non-comment to permit <tab>
676         and truncation warnings.
677
678 2020-04-20  Thomas Koenig  <tkoenig@gcc.gnu.org>
679
680         * dump-parse-tree.c (show_attr): Add numerous flags, some cleanup.
681
682 2020-04-20  Harald Anlauf  <anlauf@gmx.de>
683
684         PR fortran/93364
685         * array.c (gfc_set_array_spec): Check for sum of rank and corank
686         not exceeding GFC_MAX_DIMENSIONS.
687
688 2020-04-20  Steve Kargl  <kargl@gcc.gnu.org>
689         Thomas Koenig  <tkoenig@gcc.gnu.org>
690
691         PR fortran/91800
692         * decl.c (variable_decl): Reject Hollerith constants as type
693         initializer.
694
695 2020-04-19  Thomas Koenig  <tkoenig@gcc.gnu.org>
696
697         PR fortran/93500
698         * resolve.c (resolve_operator): If both operands are
699         NULL, return false.
700         * simplify.c (simplify_bound): If a division by zero
701         was seen during bound simplification, free the
702         corresponcing expression and return &gfc_bad_expr.
703
704 2020-04-17  Thomas Koenig  <tkoenig@gcc.gnu.org>
705
706         PR fortran/94090
707         * gfortran.dg (gfc_compare_interfaces): Add
708         optional argument bad_result_characteristics.
709         * interface.c (gfc_check_result_characteristics): Fix
710         whitespace.
711         (gfc_compare_interfaces): Handle new argument; return
712         true if function return values are wrong.
713         * resolve.c (resolve_global_procedure): Hard error if
714         the return value of a function is wrong.
715
716 2020-04-15  Fritz Reese  <foreese@gcc.gnu.org>
717         Linus Koenig <link@sig-st.de>
718
719         PR fortran/94192
720         * simplify.c (simplify_bound): Simplify condition for error check.
721
722 2020-04-14  Tobias Burnus  <tobias@codesourcery.com>
723
724         * module.c (gfc_match_use): Fix name-conflict check for use-associating
725         the same symbol again in a submodule.
726
727 2020-04-13  Linus Koenig <link@sig-st.de>
728
729         PR fortran/94192
730         * resolve.c (resolve_fl_var_and_proc): Set flag "error" to 1 if
731         pointer is found to not have an assumed rank or a deferred shape.
732         * simplify.c (simplify_bound): If an error has been issued for a
733         given pointer, one should not attempt to find its bounds.
734
735 2020-04-09  Fritz Reese  <foreese@gcc.gnu.org>
736
737         PR fortran/87923
738         * gfortran.h (gfc_resolve_open, gfc_resolve_close): Add
739         locus parameter.
740         (gfc_resolve_dt): Add code parameter.
741         * io.c (async_io_dt, check_char_variable, is_char_type): Removed.
742         (resolve_tag_format): Add locus to error message regarding
743         zero-sized array in FORMAT tag.
744         (check_open_constraints, check_close_constraints): New functions
745         called at resolution time.
746         (gfc_match_open, gfc_match_close, match_io): Move checks which don't
747         affect the match result to new functions check_open_constraints,
748         check_close_constraints, check_io_constraints.
749         (gfc_resolve_open, gfc_resolve_close): Call new functions
750         check_open_constraints, check_close_constraints after all tags have
751         been independently resolved.  Remove duplicate constraints which are
752         already verified by resolve_tag.  Explicitly pass locus to all error
753         reports.
754         (compare_to_allowed_values): Add locus parameter and provide
755         explicit locus all error reports.
756         (match_open_element, match_close_element, match_file_element,
757         match_dt_element, match_inquire_element): Remove redundant special
758         cases for ASYNCHRONOUS and IOMSG tags.
759         (gfc_resolve_dt): Remove redundant special case for format
760         expression.  Call check_io_constraints, forwarding an I/O list as
761         the io_code parameter if present.
762         (check_io_constraints): Change return type to bool.  Pass explicit
763         locus to error reports.  Move generic checks after tag-specific
764         checks, since errors are no longer buffered.  Move simplification of
765         format string to match_io.  Remove redundant checks which are
766         verified by resolve_tag.  Remove usage of async_io_dt flag and
767         explicitly mark symbols used in asynchronous I/O with the
768         asynchronous attribute.
769         * resolve.c (resolve_transfer, resolve_fl_namelist): Remove checks
770         for async_io_dt flag.  This is now done in io.c.
771         (check_io_constraints).
772         (gfc_resolve_code): Pass code locus to gfc_resolve_open,
773         gfc_resolve_close, gfc_resolve_dt.
774
775 2020-04-07  Fritz Reese  <foreese@gcc.gnu.org>
776             Steven G. Kargl  <kargl@gcc.gnu.org>
777
778         PR fortran/93871
779         * gfortran.h (GFC_ISYM_ACOSD, GFC_ISYM_ASIND, GFC_ISYM_ATAN2D,
780         GFC_ISYM_ATAND, GFC_ISYM_COSD, GFC_ISYM_COTAND, GFC_ISYM_SIND,
781         GFC_ISYM_TAND): New.
782         * intrinsic.c (add_functions): Remove check for flag_dec_math.
783         Give degree trig functions simplification and name resolution
784         functions (e.g, gfc_simplify_atrigd () and gfc_resolve_atrigd ()).
785         (do_simplify): Remove special casing of degree trig functions.
786         * intrinsic.h (gfc_simplify_acosd, gfc_simplify_asind,
787         gfc_simplify_atand, gfc_simplify_cosd, gfc_simplify_cotand,
788         gfc_simplify_sind, gfc_simplify_tand, gfc_resolve_trigd2): Add new
789         prototypes.
790         (gfc_simplify_atrigd, gfc_simplify_trigd, gfc_resolve_cotan,
791         resolve_atrigd): Remove prototypes of deleted functions.
792         * iresolve.c (is_trig_resolved, copy_replace_function_shallow,
793         gfc_resolve_cotan, get_radians, get_degrees, resolve_trig_call,
794         gfc_resolve_atrigd, gfc_resolve_atan2d): Delete functions.
795         (gfc_resolve_trigd, gfc_resolve_trigd2): Resolve to library functions.
796         * simplify.c (rad2deg, deg2rad, gfc_simplify_acosd, gfc_simplify_asind,
797         gfc_simplify_atand, gfc_simplify_atan2d, gfc_simplify_cosd,
798         gfc_simplify_sind, gfc_simplify_tand, gfc_simplify_cotand): New
799         functions.
800         (gfc_simplify_atan2): Fix error message.
801         (simplify_trig_call, gfc_simplify_trigd, gfc_simplify_atrigd,
802         radians_f): Delete functions.
803         * trans-intrinsic.c: Add LIB_FUNCTION decls for sind, cosd, tand.
804         (rad2deg, gfc_conv_intrinsic_atrigd, gfc_conv_intrinsic_cotan,
805         gfc_conv_intrinsic_cotand, gfc_conv_intrinsic_atan2d): New functions.
806         (gfc_conv_intrinsic_function): Handle ACOSD, ASIND, ATAND, COTAN,
807         COTAND, ATAN2D.
808         * trigd_fe.inc: New file. Included by simplify.c to implement
809         simplify_sind, simplify_cosd, simplify_tand with code common to the
810         libgfortran implementation.
811
812 2020-04-06  Steven G. Kargl  <kargl@gcc.gnu.org>
813
814         PR fortran/93686
815         * decl.c (gfc_match_data): Handle data matching for derived type
816         pointers.
817
818 2020-04-02  Tobias Burnus  <tobias@codesourcery.com>
819
820         * gfortran.h (gfc_resolve_formal_arglist): Add prototype.
821         * interface.c (check_dtio_interface1): Call it.
822         * resolve.c (gfc_resolve_formal_arglist): Renamed from
823         resolve_formal_arglist, removed static.
824         (find_arglists, resolve_types): Update calls.
825
826 2020-04-02  Tobias Burnus  <tobias@codesourcery.com>
827
828         PR fortran/93522
829         * match.c (gfc_match_select_rank): Fix error cleanup.
830
831 2020-04-02  Steven G. Kargl  <kargl@gcc.gnu.org>
832
833         PR fortran/93498
834         * check.c (gfc_check_findloc):  If the kinds of the arguments
835         differ goto label "incompat".
836
837 2020-04-02 Steven G. Kargl  <kargl@gcc.gnu.org>
838
839         PR fortran/94030
840         * resolve.c (resolve_equivalence): Correct formatting
841         around the label "identical_types".  Instead of using
842         gfc_resolve_array_spec use is_non_constants_shape_array
843         to determine whether the array can be used in a in an
844         equivalence statement.
845
846 2020-04-01  Mark Eggleston  <mark.eggleston@codethink.com>
847
848         PR fortran/94386
849         expr.c (simplify_parameter_variable): Restore code deleted
850         in PR94246.
851
852 2020-03-28  Paul Thomas  <pault@gcc.gnu.org>
853
854         PR fortran/94246
855         * arith.c : Remove trailing white space.
856         * expr.c (scalarize_intrinsic_call): Remove the error checking.
857         Make a copy of the expression to be simplified and only replace
858         the original if the simplification succeeds.
859
860 2020-03-28  Tobias Burnus  <tobias@codesourcery.com>
861
862         PR fortran/94348
863         * decl.c (gfc_match_submod_proc): Add result var to the
864         proc's namespace.
865
866 2020-03-27  Tobias Burnus  <tobias@codesourcery.com>
867
868         PR fortran/93957
869         * trans-array.c (gfc_alloc_allocatable_for_assignment): Accept
870         nonallocatable, nonpointer deferred-rank arrays.
871
872 2020-03-27  Tobias Burnus  <tobias@codesourcery.com>
873
874         PR fortran/93363
875         * resolve.c (resolve_assoc_var): Reject association to DT and
876         function name.
877
878 2020-03-25  Steven G. Kargl  <kargl@gcc.gnu.org>
879
880         PR fortran/93484
881         * match.c (gfc_match_type_spec): Replace gfc_match_init_expr with
882         gfc_match_expr. Return m if m is MATCH_NO or MATCH_ERROR.
883
884 2020-03-23  Mark Eggleston  <mark.eggleston@codethink.com>
885         Steven G. Kargl  <kargl@gcc.gnu.org>
886
887         PR fortran/93600
888         * expr.c (simplify_parameter_variable): Check whether the ref
889         chain contains INQUIRY_LEN or INQUIRY_KIND and set inquiry
890         boolean. When an empty array has been identified and a new
891         new EXPR_ARRAY expression has been created only return that
892         expression if inquiry is not set. This allows the new
893         expression to drop through to be simplified into a
894         EXPR_CONSTANT representing %kind or %len.
895         * matc.c (gfc_match_assignment): If lvalue doesn't have a
896         symtree free both lvalue and rvalue expressions and return
897         an error.
898         * resolv.c (gfc_resolve_ref): Ensure that code to handle
899         INQUIRY_LEN is only performed for arrays with deferred types.
900
901 2020-03-18  Jakub Jelinek  <jakub@redhat.com>
902
903         * class.c (generate_finalization_wrapper): Fix up duplicated word
904         issue in a comment.
905         * trans-types.c (gfc_get_nodesc_array_type): Likewise.
906
907 2020-03-17  Jakub Jelinek  <jakub@redhat.com>
908
909         * array.c (gfc_check_iter_variable): Fix up duplicated word issue
910         in a comment.
911         * arith.c (gfc_arith_concat): Likewise.
912         * resolve.c (gfc_resolve_ref): Likewise.
913         * frontend-passes.c (matmul_lhs_realloc): Likewise.
914         * module.c (gfc_match_submodule, load_needed): Likewise.
915         * trans-expr.c (gfc_init_se): Likewise.
916
917 2020-03-15  Lewis Hyatt  <lhyatt@gmail.com>
918
919         * lang.opt: Avoid redundancy in the help text.
920
921 2020-03-12  Tobias Burnus  <tobias@codesourcery.com>
922
923         PR middle-end/94120
924         * openmp.c (gfc_match_oacc_declare): Accept function-result
925         variables; reject variables declared in a different scoping unit.
926
927 2020-03-08  Paul Thomas  <pault@gcc.gnu.org>
928
929         PR fortran/93581
930         * resolve.c (gfc_resolve_ref): Modify array refs to be elements
931         if the ref chain ends in INQUIRY_LEN.
932         * trans-array.c (gfc_get_dataptr_offset): Provide the offsets
933         for INQUIRY_RE and INQUIRY_IM.
934
935 2020-03-05 Steven G. Kargl  <kargl@gcc.gnu.org>
936
937         PR fortran/93792
938         * decl.c (variable_decl): If param and initializer check
939         for BOZ, if found,  output an error, set m to MATCH_ERROR
940         and goto cleanup.
941
942 2020-03-02  Andrew Benson  <abensonca@gmail.com>
943
944         PR fortran/93486
945         * module.c: Increase size of variables used to read module names
946         when loading interfaces from module files to permit cases where
947         the name is the concatenation of a module and submodule name.
948         * gfortran.dg/pr93486.f90: New test.
949
950 2020-03-01  Paul Thomas  <pault@gcc.gnu.org>
951
952         PR fortran/92976
953         * match.c (select_type_set_tmp): If the selector array spec has
954         explicit bounds, make the temporary's bounds deferred.
955
956 2020-03-01  Paul Thomas  <pault@gcc.gnu.org>
957
958         PR fortran/92959
959         * trans-intrinsic.c (gfc_conv_associated): Eliminate
960         'nonzero_charlen' and move the chunk to evaluate zero character
961         length until after the argument evaluation so that the string
962         length can be used.
963
964 2020-02-28  Paul Thomas  <pault@gcc.gnu.org>
965
966         PR fortran/92785
967         * trans-expr.c (gfc_conv_intrinsic_to_class): Renormalise non-
968         variable expressions to be unity lbound based.
969
970 2020-02-25  Steven G. Kargl  <kargl@gcc.gnu.org>
971
972         * simplify.c (degrees_f): Remove unused code.
973
974 2020-02-25  Jakub Jelinek  <jakub@redhat.com>
975
976         PR translation/93864
977         * intrinsic.texi (CO_BROADCAST): Fix typo, paramter -> parameter.
978         * trans-array.c (gfc_allocate_pdt_comp, gfc_deallocate_pdt_comp,
979         gfc_check_pdt_dummy): Fix comment typo paramter -> parameter.
980
981 2020-02-24  Mark Eggleston  <mark.eggleston@codethink.com>
982             Steven G. Kargl  <kargl@gcc.gnu.org>
983
984         PR fortran/93835
985         * decl.c (gfc_match_data) : Check whether the data expression
986         is a derived type and is a constructor. If a BOZ constant
987         is encountered in the constructor output an error and return
988         MATCH_ERROR.
989
990 2020-02-24  Steven G. Kargl  <kargl@gcc.gnu.org>
991
992         PR fortran/93604
993         * decl.c (gfc_match_data) : Check whether the data expression
994         is a derived type and is a constructor. If a BOZ constant
995         is encountered in the constructor output an error and return
996         MATCH_ERROR.
997
998 2020-02-24  Tobias Burnus  <tobias@codesourcery.com>
999
1000         PR fortran/93552
1001         * match.c (match_exit_cycle): With OpenACC, check the kernels loop
1002         directive and tile clause as well.
1003
1004 2020-02-23  Thomas Koenig  <tkoenig@gcc.gnu.org>
1005
1006         PR fortran/93889
1007         * interface.c (compare_parameter): Fix error message.
1008
1009 2020-02-23  Thomas Koenig  <tkoenig@gcc.gnu.org>
1010
1011         PR fortran/93890
1012         * interface.c: Replace "can not" by "cannot" and remove trailing
1013         space.
1014
1015 2020-02-20  Tobias Burnus  <tobias@codesourcery.com>
1016
1017         PR fortran/93825
1018         * openmp.c (resolve_oacc_loop_blocks): Move call to
1019         resolve_oacc_nested_loops from here ...
1020         (resolve_oacc_loop): ... to here.
1021
1022 2020-02-18  Mark Eggleston  <markeggleston@gcc.gnu.org>
1023
1024         PR fortran/93714
1025         * expr.c (gfc_check_pointer_assign): Move check for
1026         matching character length to after checking the lvalue
1027         attributes for target or pointer.
1028
1029 2020-02-18  Steven G. Kargl  <kargl@gcc.gnu.org>
1030
1031         PR fortran/93601
1032         * match.c (gfc_match_assignment) : Reject assignment if
1033         the lhs stype is BT_CLASS and the rhs type is BT_BOZ.
1034
1035 2020-02-18  Steven G. Kargl  <kargl@gcc.gnu.org>
1036
1037         PR fortran/93603
1038         * match.c (gfc_match_associate) : If target expression
1039         has the type BT_BOZ output an error and goto
1040         assocListError.
1041
1042 2020-02-18  Steven G. Kargl  <kargl@gcc.gnu.org>
1043             Mark Eggleston  <markeggleston@gcc.gnu.org>
1044
1045         PR fortran/93580
1046         * primary.c (gfc_match_varspec): If the symbol following %
1047         is re or im and the primary expression type is not BT_COMPLEX
1048         issue an error. If the symbol is len and the primary
1049         expression type is not BT_CHARACTER is an error.
1050
1051 2020-02-10  Andrew Benson  <abensonca@gmail.com>
1052
1053         PR fortran/83113
1054         * array.c: Do not attempt to set the array spec for a submodule
1055         function symbol (as it has already been set in the corresponding
1056         module procedure interface).
1057         * symbol.c: Do not reject duplicate POINTER, ALLOCATABLE, or
1058         DIMENSION attributes in declarations of a submodule function.
1059         * gfortran.h: Add a macro that tests for a module procedure in a
1060         submodule.
1061         * gfortran.dg/pr83113.f90: New test.
1062
1063 2020-02-03  Julian Brown  <julian@codesourcery.com>
1064             Tobias Burnus  <tobias@codesourcery.com>
1065
1066         * cpp.c (cpp_define_builtins): Update _OPENACC define to 201711.
1067         * intrinsic.texi: Update mentions of OpenACC version to 2.6.
1068         * gfortran.texi: Likewise. Remove experimental disclamer for OpenACC.
1069         * invoke.texi: Remove experimental disclamer for OpenACC.
1070
1071 2020-02-03  Tobias Burnus  <tobias@codesourcery.com>
1072
1073         PR fortran/93541
1074         * intrinisic.texi (OpenMP Modules OMP_LIB and OMP_LIB_KINDS):
1075         Add undocumented parameters from omp_lib.f90.in.
1076
1077 2020-02-03  Tobias Burnus  <tobias@codesourcery.com>
1078
1079         PR fortran/93427
1080         * resolve.c (resolve_assoc_var): Remove too strict check.
1081         * gfortran.dg/associate_51.f90: Update test case.
1082
1083 2020-02-01  Jakub Jelinek  <jakub@redhat.com>
1084
1085         PR fortran/92305
1086         * trans-types.c (gfc_get_function_type): Also push boolean_type_node
1087         types for non-character scalar VALUE optional dummy arguments.
1088         * trans-decl.c (create_function_arglist): Skip those in
1089         hidden_typelist.  Formatting fix.
1090
1091 2020-01-31  Tobias Burnus  <tobias@codesourcery.com>
1092
1093         PR fortran/93462
1094         * frontend-passes.c (gfc_code_walker): For EXEC_OACC_ATOMIC, set
1095         in_omp_atomic to true prevent front-end optimization.
1096
1097 2020-01-30  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
1098
1099         PR fortran/87103
1100         * expr.c (gfc_check_conformance): Check vsnprintf for truncation.
1101         * iresolve.c (gfc_get_string): Likewise.
1102         * symbol.c (gfc_new_symbol): Remove check for maximum symbol
1103         name length.  Remove redundant 0 setting of new calloc()ed
1104         gfc_symbol.
1105
1106 2020-01-30  Paul Thomas  <pault@gcc.gnu.org>
1107             Jakub Jelinek  <jakub@redhat.com>
1108
1109         PR fortran/92123
1110         * trans-decl.c (gfc_get_symbol_decl): Call gfc_defer_symbol_init for
1111         CFI descs.
1112         (gfc_build_builtin_function_decls): Use ".w." instead of ".ww" or ".wR"
1113         for gfor_fndecl_{cfi_to_gfc,gfc_to_cfi}.
1114         (convert_CFI_desc): Handle references to CFI descriptors.
1115
1116 2020-01-29  Jakub Jelinek  <jakub@redhat.com>
1117
1118         PR fortran/93463
1119         * openmp.c (oacc_code_to_statement): Handle
1120         EXEC_OACC_{ROUTINE,UPDATE,WAIT,CACHE,{ENTER,EXIT}_DATA,DECLARE}.
1121
1122 2020-01-28  Andrew Benson  <abensonca@gmail.com>
1123
1124         PR fortran/93461
1125         * trans.h: Increase GFC_MAX_MANGLED_SYMBOL_LEN to
1126         GFC_MAX_SYMBOL_LEN*3+5 to allow for inclusion of submodule name,
1127         plus the "." between module and submodule names.
1128         * gfortran.dg/pr93461.f90: New test.
1129
1130 2020-01-28  Andrew Benson  <abensonca@gmail.com>
1131
1132         PR fortran/93473
1133         * parse.c: Increase length of char variables to allow them to hold
1134         a concatenated module + submodule name.
1135         * gfortran.dg/pr93473.f90: New test.
1136
1137 2020-01-28  Julian Brown  <julian@codesourcery.com>
1138
1139         PR fortran/93025
1140         * openmp.c (resolve_omp_clauses): Check array references for contiguity.
1141
1142 2020-01-28  Julian Brown  <julian@codesourcery.com>
1143
1144         * gfortran.h (gfc_symbol): Add comp_mark bitfield.
1145         * openmp.c (resolve_omp_clauses): Disallow mixed component and
1146         full-derived-type accesses to the same variable within a single
1147         directive.
1148
1149 2020-01-28  Tobias Burnus  <tobias@codesourcery.com>
1150
1151         PR fortran/93464
1152         * openmp.c (gfc_omp_check_optional_argument): Avoid ICE when
1153         DECL_LANG_SPECIFIC and GFC_DESCRIPTOR_TYPE_P but not
1154         GFC_DECL_SAVED_DESCRIPTOR as for local allocatable character vars.
1155
1156 2020-01-28  Tobias Burnus  <tobias@codesourcery.com>
1157
1158         * gfortran.texi (Runtime): Remove tailing '.' in @menu.
1159
1160 2020-01-27  Tobias Burnus  <tobias@codesourcery.com>
1161
1162         PR fortran/85781
1163         * trans-expr.c (gfc_conv_substring): Handle non-ARRAY_TYPE strings
1164         of Bind(C) procedures.
1165
1166 2020-01-22  Jakub Jelinek  <jakub@redhat.com>
1167
1168         * parse.c (parse_omp_structured_block): Handle ST_OMP_TARGET_PARALLEL.
1169         * trans-openmp.c (gfc_trans_omp_target)
1170         <case EXEC_OMP_TARGET_PARALLEL>: Call pushlevel first.
1171
1172         PR fortran/93329
1173         * openmp.c (omp_code_to_statement): Handle remaining EXEC_OMP_*
1174         cases.
1175
1176 2020-01-21  Tobias Burnus  <tobias@codesourcery.com>
1177
1178         PR fortran/93309
1179         * interface.c (gfc_procedure_use): Also check parent namespace for
1180         'implict none (external)'.
1181         * symbol.c (gfc_get_namespace): Don't set has_implicit_none_export
1182         to parent namespace's setting.
1183
1184 2020-01-19  Thomas König  <tkoenig@gcc.gnu.org>
1185
1186         PR fortran/44960
1187         * primary.c (gfc_match_rvalue): Break after setting MATCH_ERROR.
1188         * resolve.c (resolve_function): Issue error when a
1189         function call contains a reference.
1190
1191 2020-01-17  Mark Eggleston  <mark.eggleston@codethink.com>
1192
1193         PR fortran/93236
1194         * resolve.c (resolve_types): Declare boolean recursive and set with the
1195         value of the recursive attribute of namespace proc_name symbol
1196         structure if it exists.  Call gfc_save_all if both flag_automatic and
1197         recursive are false or ns->save_all is true.
1198
1199 2020-01-16  Tobias Burnus  <tobias@codesourcery.com>
1200
1201         PR fortran/93253
1202         * check.c (gfc_invalid_boz): Mention -fallow-invalid-boz
1203         in the error message.
1204         * gfortran.texi (BOZ literal constants): List another missing
1205         extension and refer to -fallow-invalid-boz.
1206         * lang.opt (fallow-invalid-boz): Also mention 'X' in the help text
1207         as it is not covered by the previous wording.
1208         * primary.c (match_boz_constant): Tweak wording such that it is
1209         clear how to fix the nonstandard use.
1210
1211 2020-01-09  Thomas Koenig  <tkoenig@gcc.gnu.org>
1212
1213         PR fortran/65428
1214         * array.c (empty_constructor): New variable.
1215         (empty_ts): New variable.
1216         (expand_constructor): Save typespec in empty_ts.
1217         Unset empty_constructor if there is an element.
1218         (gfc_expand_constructor): Initialize empty_constructor
1219         and empty_ts.  If there was no explicit constructor
1220         type and the constructor is empty, take the type from
1221         empty_ts.
1222
1223 2020-01-09  Tobias Burnus  <tobias@codesourcery.com>
1224
1225         PR fortran/84135
1226         * array.c (gfc_set_array_spec): Fix shifting of codimensions
1227         when adding a dimension.
1228         * decl.c (merge_array_spec): Ditto. Fix using correct codimensions.
1229
1230 2020-01-07  Jakub Jelinek  <jakub@redhat.com>
1231
1232         PR fortran/93162
1233         * trans-openmp.c (gfc_trans_omp_clauses): Check for REF_ARRAY type
1234         before testing u.ar.type == AR_FULL.
1235
1236 2020-01-04  Tobias Burnus  <tobias@codesourcery.com>
1237
1238         PR fortran/91640
1239         * trans-expr.c (gfc_conv_procedure_call): Avoid copy-out for nonvariable
1240         arguments to contiguous dummy args.  Avoid re-checking whether fsym is
1241         NULL.
1242
1243 2020-01-03  Tobias Burnus  <tobias@codesourcery.com>
1244
1245         * trans-openmp.c (gfc_omp_check_optional_argument): Always return a
1246         Boolean expression; handle unallocated/disassociated actual arguments
1247         as absent if passed to nonallocatable/nonpointer dummy array arguments.
1248         (gfc_build_cond_assign): Change to assume a Boolean expr not a pointer.
1249         (gfc_omp_finish_clause, gfc_trans_omp_clauses): Assign NULL to generated
1250         array-data variable if the argument is absent. Simplify code as
1251         'present' is now a Boolean expression.
1252
1253 2020-01-03  Tobias Burnus  <tobias@codesourcery.com>
1254
1255         PR fortran/92994
1256         * primary.c (gfc_match_rvalue): Add some flavor checks
1257         gfc_matching_procptr_assignment.
1258         * resolve.c (resolve_assoc_var): Add more checks for invalid targets.
1259
1260 2020-01-02  Tobias Burnus  <tobias@codesourcery.com>
1261
1262         PR fortran/68020
1263         * array.c (gfc_match_array_spec): Fix implied-type matching
1264         for rank > 2.
1265
1266 2020-01-01  Thomas Koenig  <tkoenig@gcc.gnu.org>
1267
1268         PR fortran/93113
1269         * dependency.c (gfc_dep_resolver): Handle REF_INQUIRY in switch
1270         for ref types.
1271
1272 2020-01-01  Jakub Jelinek  <jakub@redhat.com>
1273
1274         Update copyright years.
1275
1276         * gfortranspec.c (lang_specific_driver): Update copyright notice
1277         dates.
1278         * gfc-internals.texi: Bump @copying's copyright year.
1279         * gfortran.texi: Ditto.
1280         * intrinsic.texi: Ditto.
1281         * invoke.texi: Ditto.
1282 \f
1283 Copyright (C) 2020 Free Software Foundation, Inc.
1284
1285 Copying and distribution of this file, with or without modification,
1286 are permitted in any medium without royalty provided the copyright
1287 notice and this notice are preserved.