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