gcc/
[official-gcc.git] / gcc / fortran / ChangeLog
blobff72ba45ee94681c8e3919011f39a3357fde7e0f
1 2017-07-18  Nathan Sidwell  <nathan@acm.org>
3         * trans.c (gfc_build_array_ref): Use TYPE_MAX_VALUE.
5 2017-07-09  Dominique d'Humieres  <dominiq@lps.ens.fr>
7         PR fortran/81341
8         * class.c (class_array_ref_detected): Remove a redundant
9         condition.
11 2017-07-06  Harald Anlauf  <anlauf@gmx.de>
13         PR fortran/70071
14         * array.c (gfc_ref_dimen_size): Handle bad subscript triplets.
16 2017-07-03  Dominique d'Humieres  <dominiq@lps.ens.fr>
18         PR fortran/79866
19         * resolve.c (resolve_symbol): Fix typo.
21 2017-07-03  Dominique d'Humieres  <dominiq@lps.ens.fr>
23         PR fortran/79843
24         * symbol.c (check_conflict): Add missing "conflicts".
26 2017-06-29  Cesar Philippidis  <cesar@codesourcery.com>
28         PR fortran/77765
29         * openmp.c (gfc_match_oacc_routine): Check if proc_name exist before
30         comparing the routine name against it.
32 2017-06-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
34         PR fortran/80164
35         * trans-stmt.c (gfc_trans_call): If no code expr, use code->loc
36         as warning/error locus.
38 2017-06-24  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
40         PR fortran/81160
41         * arith.c (wprecision_int_real): Set return value before
42         mpz_clear and then return after it.
44 2017-06-15  Janus Weil  <janus@gcc.gnu.org>
46         PR fortran/80983
47         * trans-expr.c (gfc_conv_procedure_call): Deallocate the result of
48         scalar allocatable procedure-pointer components.
50 2017-06-10  Thomas Koenig  <tkoenig@gcc.gnu.org>
52         PR fortran/80988
53         * frontend-passes.c (traverse_io_block):  Also
54         check for variables occurring as indices multiple
55         time in a single implied DO loop.
57 2017-06-05  Janus Weil  <janus@gcc.gnu.org>
59         PR fortran/70601
60         * trans-expr.c (gfc_conv_procedure_call): Fix detection of allocatable
61         function results.
63 2017-06-05  Nicolas Koenig  <koenigni@student.ethz.ch>
65         PR fortran/35339
66         * frontend-passes.c (traverse_io_block): New function.
67         (simplify_io_impl_do): New function.
68         (optimize_namespace): Invoke gfc_code_walker with
69         simplify_io_impl_do.
71 2017-06-02  Jakub Jelinek  <jakub@redhat.com>
73         PR fortran/80918
74         * openmp.c (resolve_omp_clauses): Fix a typo.
76 2017-05-30  David Malcolm  <dmalcolm@redhat.com>
78         * error.c (gfc_format_decoder): Update for new bool and
79         const char ** params.
81 2017-05-29  Thomas Koenig  <tkoenig@gcc.gnu.org>
83         PR fortran/37131
84         * frontend-passes.c (check_conjg_transpose_variable):
85         Add prototype.
86         (has_dimen_vector_ref):  Likewise
87         (matmul_temp_args):  New function. Add prototype.
88         (optimize_namespace):  Call matmul_temp_args.
90 2017-05-28  Thomas Koenig  <tkoenig@gcc.gnu.org>
92         * frontend-passes.c (matmul_lhs_realloc):  Correct
93         allocation size for case A1B2.
95 2017-05-25  Thomas Koenig  <tkoenig@gcc.gnu.org>
97         * dump-parse-tree.c (show_expr):  Also replace
98         with dumpfile for showing values for forgotten
99         case.
101 2017-05-24  Thomas Koenig  <tkoenig@gcc.gnu.org>
103         * dump-parse-tree.c (show_expr):  Replace stdout
104         with dumpfile for showing values.
106 2017-05-24  Thomas Koenig  <tkoenig@gcc.gnu.org>
108         PR fortran/66094
109         * frontend-passes.c (matrix_case):  Add A2TB2.
110         (inline_limit_check):  Handle MATMUL(TRANSPOSE(A),B)
111         (inline_matmul_assign):  Likewise.
113 2017-05-23  Thomas Schwinge  <thomas@codesourcery.com>
115         * openmp.c (OACC_KERNELS_CLAUSES): Add "OMP_CLAUSE_NUM_GANGS",
116         "OMP_CLAUSE_NUM_WORKERS", "OMP_CLAUSE_VECTOR_LENGTH".
118 2017-05-22  Janus Weil  <janus@gcc.gnu.org>
120         PR fortran/80766
121         * resolve.c (resolve_fl_derived): Make sure that vtype symbols are
122         properly resolved.
124 2017-05-19  Paul Thomas  <pault@gcc.gnu.org>
126         PR fortran/80333
127         * trans-io.c (nml_get_addr_expr): If we are dealing with class
128         type data set tmp tree to get that address.
129         (transfer_namelist_element): Set the array spec to point to the
130         the class data.
132 2017-05-19  David Malcolm  <dmalcolm@redhat.com>
134         PR fortran/79852
135         * bbt.c (insert): Remove trailing exclamation mark from message.
136         * decl.c (gfc_match_final_decl): Likewise.
137         * dump-parse-tree.c (show_expr): Likewise.
138         * module.c (gfc_use_module): Likewise.
139         * primary.c (build_actual_constructor): Likewise.
140         (gfc_convert_to_structure_constructor): Likewise.
142 2017-05-19  Thomas Schwinge  <thomas@codesourcery.com>
144         * gfortran.h (enum gfc_omp_default_sharing): Add
145         "OMP_DEFAULT_PRESENT".
146         * dump-parse-tree.c (show_omp_clauses): Handle it.
147         * openmp.c (gfc_match_omp_clauses): Likewise.
148         * trans-openmp.c (gfc_trans_omp_clauses): Likewise.
150 2017-05-18  Fritz Reese <fritzoreese@gmail.com>
152         PR fortran/79968
153         * decl.c (match_attr_spec, gfc_match_automatic,
154         gfc_match_static, gfc_match_structure_decl): Unify diagnostic
155         errors regarding -fdec options.
156         * io.c (match_dec_etag, match_dec_vtag, match_dec_ftag): Ditto.
158 2017-05-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
160         PR fortran/80741
161         * trans-io.c (transfer_namelist_element): Change check from
162         NULL_TREE to null_pointer_node.
164 2017-05-17  Fritz Reese <fritzoreese@gmail.com>
166         PR fortran/80668
167         * expr.c (component_initializer): Don't generate initializers for
168         pointer components.
169         * invoke.texi (-finit-derived): Document.
171 2017-05-16  Paul Thomas  <pault@gcc.gnu.org>
173         PR fortran/80554
174         * decl.c (build_sym): In a submodule allow overriding of host
175         associated symbols from the ancestor module with a new
176         declaration.
178 2017-05-15  Steven G. Kargl  <kargl@gcc.gnu.org>
180         PR fortran/80674
181         * trans-stmt.c (gfc_trans_integer_select): Remove redundant condition.
183 2017-05-15  Steven G. Kargl  <kargl@gcc.gnu.org>
185         PR fortran/80752
186         * expr.c (gfc_generate_initializer):  If type conversion fails,
187         check for error and return NULL.
189 2017-05-14  Nicolas Koenig  <koenigni@student.ethz.ch>
191         PR fortran/80442
192         * array.c (gfc_ref_dimen_size): Simplify stride
193         expression
194         * data.c (gfc_advance_section): Simplify start,
195         end and stride expressions
196         (gfc_advance_section): Simplify start and end
197         expressions
198         (gfc_get_section_index): Simplify start expression
200 2017-05-13  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
202         * io.c (gfc_resolve_dt): Fix returns to bool type.
204 2017-05-11  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
206         PR fortran/78659
207         * io.c (dtio_procs_present): Add new function to check for DTIO
208         procedures relative to I/O statement READ or WRITE.
209         (gfc_resolve_dt): Add namelist checks using the new function.
210         * resolve.c (dtio_procs_present): Remove function and related
211         namelist checks. (resolve_fl_namelist): Add check specific to
212         Fortran 95 restriction on namelist objects.
214 2017-05-11  Nathan Sidwell  <nathan@acm.org>
216         * trans-decl.c: Include dumpfile.h not tree-dump.h,
218 2017-05-09  Janus Weil  <janus@gcc.gnu.org>
220         PR fortran/79311
221         * resolve.c (gfc_resolve_finalizers): Ensure that derived-type
222         components have a their finalizers resolved, also if the superordinate
223         type itself has a finalizer.
225 2017-05-08  Thomas Koenig  <tkoenig@gcc.gnu.org>
227         PR fortran/79930
228         * frontend-passes.c (matmul_to_var_expr): New function,
229         add prototype.
230         (matmul_to_var_code):  Likewise.
231         (optimize_namespace):  Use them from gfc_code_walker.
233 2017-05-05  David Malcolm  <dmalcolm@redhat.com>
235         * cpp.c (cb_cpp_error): Replace report_diagnostic
236         with diagnostic_report_diagnostic.
237         * error.c (gfc_warning): Likewise.
238         (gfc_warning_now_at): Likewise.
239         (gfc_warning_now): Likewise.
240         (gfc_warning_internal): Likewise.
241         (gfc_error_now): Likewise.
242         (gfc_fatal_error): Likewise.
243         (gfc_error_opt): Likewise.
244         (gfc_internal_error): Likewise.
246 2017-05-01  Thomas Koenig  <tkoenig@gcc.gnu.org>
248         PR fortran/37131
249         * frontend-passes.c (inline_matmul_assign): Also check bounds
250         for allocatable lhs and matrix-vector-multiplication.
252 2017-04-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
254         PR fortran/80484
255         * io.c (format_lex): Check for '/' and set token to FMT_SLASH.
256         (check_format): Move FMT_DT checking code to data_desc section.
257         * module.c (gfc_match_use): Include the case of INTERFACE_DTIO.
259 2017-04-22  Janus Weil  <janus@gcc.gnu.org>
261         PR fortran/80121
262         * trans-types.c (gfc_conv_procedure_call): Deallocate the components
263         of allocatable intent(out) arguments.
265 2017-04-21  Janus Weil  <janus@gcc.gnu.org>
267         PR fortran/80392
268         * trans-types.c (gfc_get_derived_type): Prevent an infinite loop when
269         building a derived type that includes a procedure pointer component
270         with a polymorphic result.
272 2017-04-17  Paul Thomas  <pault@gcc.gnu.org>
274         PR fortran/80440
275         * module.c (find_symtree_for_symbol): Delete.
276         (read_module): Remove the call to the above.
278 2017-04-14  Janus Weil  <janus@gcc.gnu.org>
280         PR fortran/80361
281         * class.c (generate_finalization_wrapper): Give the finalization wrapper
282         the recursive attribute.
284 2017-04-10  Nicolas Koenig  <koenigni@student.ethz.ch>
285             Paul Thomas  <pault@gcc.gnu.org>
287         PR fortran/69498
288         * module.c (gfc_match_submodule): Add error
289         if function is called in the wrong state.
291 2017-04-10  Janus Weil  <janus@gcc.gnu.org>
293         PR fortran/80046
294         * expr.c (gfc_check_pointer_assign): Check if procedure pointer
295         components in a pointer assignment need an explicit interface.
297 2017-03-18  Nicolas Koenig  <koenigni@student.ethz.ch>
299         PR fortran/69498
300         * symbol.c (gfc_delete_symtree): If there is a period in the name, ignore
301         everything before it.
303 2017-03-28  Janus Weil  <janus@gcc.gnu.org>
305         PR fortran/78661
306         * trans-io.c (transfer_namelist_element): Perform a polymorphic call
307         to a DTIO procedure if necessary.
309 2017-03-25  Paul Thomas  <pault@gcc.gnu.org>
311         PR fortran/80156
312         PR fortran/79382
313         * decl.c (access_attr_decl): Remove the error for an absent
314         generic DTIO interface and ensure that symbol has the flavor
315         FL_PROCEDURE.
317 2017-03-22  Dominique d'Humieres  <dominiq@lps.ens.fr>
319         PR fortran/79838
320         * module.c: Remove trailing period.
322 2017-03-22  Dominique d'Humieres  <dominiq@lps.ens.fr>
324         PR fortran/79602
325         * decl.c: Replace '%s' with %qs.
326         * expr.c: Likewise.
327         * interface.c: Likewise.
328         * match.c: Likewise.
329         * primary.c: Likewise.
330         * resolve.c: Likewise.
332         PR fortran/79844
333         PR fortran/80011
334         * io.c: Remove trailing spaces.
335         * match.c: Likewise.
336         * openmp.c: Likewise.
337         * resolve.c: Likewise.
338         * trans-intrinsic.c: Likewise.
340         PR fortran/79853
341         * expr.c: Remove a double spaces.
343         PR fortran/79859
344         * primary.c: Remove spurious quotes around %qs.
346 2017-03-22  Thomas Koenig  <tkoenig@gcc.gnu.org>
348         PR fortran/80142
349         * frontend-passes.c (combine_array_constructor): Take
350         location of new expression from constructor expression instead
351         of constructor.
353 2017-03-20  Nicolas Koenig  <koenigni@student.ethz.ch>
355         PR fortran/39239
356         * symbol.c (check_conflict): Report an error if an EQUIVALENCE
357         object is BIND(C)
359 2017-03-18  Nicolas Koenig  <koenigni@student.ethz.ch>
361         PR fortran/69498
362         * decl.c (add_hidden_procptr_result): Fixed Refs count of the
363         created "ppr@" symbol.
365 2017-03-18  Paul Thomas  <pault@gcc.gnu.org>
367         PR fortran/79676
368         * module.c (mio_symbol_attribute): Remove reset of the flag
369         'no_module_procedures'.
370         (check_for_module_procedures): New function. Move declaration
371         of 'no_module_procedures' to above it.
372         (gfc_dump_module): Traverse namespace calling new function.
374 2017-03-18  Paul Thomas  <pault@gcc.gnu.org>
376         PR fortran/71838
377         * symbol.c (check_conflict): A dummy procedure in a submodule,
378         module procedure is not an error.
379         (gfc_add_flavor): Ditto.
381 2017-03-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
383         PR fortran/79841
384         * openmp.c (check_symbol_not_pointer): Adjust diagnostics.
386 2017-03-16  Jakub Jelinek  <jakub@redhat.com>
388         PR fortran/80010
389         * parse.c (gfc_ascii_statement): Use !$ACC for ST_OACC_ATOMIC
390         and ST_OACC_END_ATOMIC, instead of !ACC.
391         * trans-decl.c (finish_oacc_declare): Use !$ACC instead of $!ACC.
392         * openmp.c (gfc_match_oacc_declare, gfc_match_oacc_wait,
393         gfc_resolve_oacc_declare): Likewise.
395         PR fortran/79886
396         * error.c (gfc_format_decoder): Rename plus argument to set_locus,
397         remove ATTRIBUTE_UNUSED from all arguments, call default_tree_printer
398         if not a Fortran specific spec.
399         * trans-io.c: Include options.h.
400         (gfc_build_st_parameter): Temporarily disable -Wpadded around layout
401         of artificial IO data structures.
403 2017-03-15  David Malcolm  <dmalcolm@redhat.com>
405         PR fortran/79860
406         * resolve.c (resolve_contained_fntype): Make error messages more
407         amenable to translation.
409 2017-03-06  Richard Biener  <rguenther@suse.de>
411         PR fortran/79894
412         * trans.c (gfc_add_modify_loc): Weaken assert.
414 2017-03-05  Andre Vehreschild  <vehre@gcc.gnu.org>,
415             Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>
417         * check.c (positive_check): Add new function checking constant for
418         being greater then zero.
419         (gfc_check_image_status): Add checking of image_status arguments.
420         (gfc_check_failed_or_stopped_images): Same but for failed_- and
421         stopped_images function.
422         * dump-parse-tree.c (show_code_node): Added output of FAIL IMAGE.
423         * gfortran.h (enum gfc_statement): Added FAIL_IMAGE_ST.
424         (enum gfc_isym_id): Added new intrinsic symbols.
425         (enum gfc_exec_op): Added EXEC_FAIL_IMAGE.
426         * gfortran.texi: Added description for the new API functions. Updated
427         coverage of gfortran of TS18508.
428         * intrinsic.c (add_functions): Added symbols to resolve new intrinsic
429         functions.
430         * intrinsic.h: Added prototypes.
431         * iresolve.c (gfc_resolve_failed_images): Resolve the failed_images
432         intrinsic.
433         (gfc_resolve_image_status): Same for image_status.
434         (gfc_resolve_stopped_images): Same for stopped_images.
435         * libgfortran.h: Added prototypes.
436         * match.c (gfc_match_if): Added matching of FAIL IMAGE statement.
437         (gfc_match_fail_image): Match a FAIL IMAGE statement.
438         * match.h: Added prototype.
439         * parse.c (decode_statement): Added matching for FAIL IMAGE.
440         (next_statement): Same.
441         (gfc_ascii_statement): Same.
442         * resolve.c: Same.
443         * simplify.c (gfc_simplify_failed_or_stopped_images): For COARRAY=
444         single a constant result can be returne.d
445         (gfc_simplify_image_status): For COARRAY=single the result is constant.
446         * st.c (gfc_free_statement): Added FAIL_IMAGE handling.
447         * trans-decl.c (gfc_build_builtin_function_decls): Added decls of the
448         new intrinsics.
449         * trans-expr.c (gfc_conv_procedure_call): This is first time all
450         arguments of a function are optional, which is now handled here
451         correctly.
452         * trans-intrinsic.c (conv_intrinsic_image_status): Translate
453         image_status.
454         (gfc_conv_intrinsic_function): Add support for image_status.
455         (gfc_is_intrinsic_libcall): Add support for the remaining new
456         intrinsics.
457         * trans-stmt.c (gfc_trans_fail_image): Trans a fail image.
458         * trans-stmt.h: Add the prototype for the above.
459         * trans.c (trans_code): Dispatch for fail_image.
460         * trans.h: Add the trees for the new intrinsics.
462 2017-03-03  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
464         PR fortran/79841
465         * openmp.c (check_symbol_not_pointer): Adjust diagnostic.
467 2017-02-28  Paul Thomas  <pault@gcc.gnu.org>
469         PR fortran/79739
470         * resolve.c (resolve_fl_procedure): Deal with the case where
471         'submodule_name' is NULL so that gfc_error does not ICE.
472         Reformat the error message to make it more consistent.
474 2017-02-28  Jakub Jelinek  <jakub@redhat.com>
476         * parse.c (parse_critical_block): Use cond ? G_("...") : G_("...")
477         instead of just cond ? "..." : "...".
478         * scanner.c (gfc_next_char_literal): Likewise.
479         * match.c (match_exit_cycle): Likewise.
481 2017-02-26  Thomas Koenig  <tkoenig@gcc.gnu.org>
483         PR fortran/51119
484         * options.c (gfc_post_options): Set default limit for matmul
485         inlining to 30.
486         * invoke.texi: Document change.
488 2017-02-25  Dominique d'Humieres  <dominiq@lps.ens.fr>
490         PR fortran/79601
491         * interface.c (check_dtio_arg_TKR_intent): Change 'intent'
492         to 'INTENT'.
494 2017-02-25  Dominique d'Humieres  <dominiq@lps.ens.fr>
496         PR fortran/79597
497         * interface.c (gfc_match_end_interface): Remove spurious comma
498         and space, replace 'got %s' with 'got %qs'.
500 2017-02-20  Paul Thomas  <pault@gcc.gnu.org>
502         PR fortran/79599
503         * interface.c (check_dtio_arg_TKR_intent): Supply 'must'
504         missing from error message.
506 2017-02-20  Paul Thomas  <pault@gcc.gnu.org>
508         PR fortran/79523
509         * interface.c (gfc_find_typebound_dtio_proc): Guard test for
510         flavor attribute by checking that symbol is resolved.
512 2017-02-16  Paul Thomas  <pault@gcc.gnu.org>
514         PR fortran/79382
515         * decl.c (access_attr_decl): Test for presence of generic DTIO
516         interface and emit error if not present.
518 2017-02-20  Paul Thomas  <pault@gcc.gnu.org>
520         PR fortran/79434
521         * parse.c (check_component, parse_union): Whitespace.
522         (set_syms_host_assoc): For a derived type, check if the module
523         in which it was declared is one of the submodule ancestors. If
524         it is, make the components public. Otherwise, reset attribute
525         'host_assoc' and set 'use-assoc' so that encapsulation is
526         preserved.
528 2017-02-19  Paul Thomas  <pault@gcc.gnu.org>
530         PR fortran/79447
531         * decl.c (gfc_set_constant_character_len): Whitespace.
532         (gfc_match_end): Catch case where a procedure is contained in
533         a module procedure and ensure that 'end procedure' is the
534         correct termination.
536 2017-02-19  Paul Thomas  <pault@gcc.gnu.org>
538         PR fortran/79402
539         * resolve.c (fixup_unique_dummy): New function.
540         (gfc_resolve_expr): Call it for dummy variables with a unique
541         symtree name.
543 2017-02-19  Andre Vehreschild  <vehre@gcc.gnu.org>
545         PR fortran/79229
546         * trans-expr.c (gfc_trans_assignment_1): Deref indirect refs when
547         compiling with -fcheck=mem to check the pointer and not the data.
549 2017-02-19  Andre Vehreschild  <vehre@gcc.gnu.org>
551         PR fortran/79335
552         * trans-array.c (duplicate_allocatable_coarray): Ensure attributes
553         passed are properly initialized.
554         (structure_alloc_comps): Same.
555         * trans-expr.c (gfc_trans_structure_assign): Same.
557 2017-02-13  Jakub Jelinek  <jakub@redhat.com>
559         * trans-expr.c (gfc_conv_substring): Add missing space in diagnostics.
561 2017-02-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
563         PR fortran/65542
564         * intrinsic.c (gfc_intrinsic_func_interface):  Return an error
565         for -std=f95 for disallowed transformational functions in
566         initialization expressions.
568 2017-02-09  Cesar Philippidis  <cesar@codesourcery.com>
569             Joseph Myers  <joseph@codesourcery.com>
571         * openmp.c (resolve_omp_clauses): Error on directives
572         containing both tile and collapse clauses.
573         (resolve_oacc_loop_blocks): Represent '*' tile arguments as zero.
574         * trans-openmp.c (gfc_trans_omp_do): Lower tiled loops like
575         collapsed loops.
577 2017-02-07  Steven G. Kargl  <kargl@gcc.gnu.org>
579         * trans-types.c (gfc_get_int_kind_from_width_isofortranen):  Choose
580         REAL type with the widest precision if two (or more) have the same
581         storage size.
583 2017-02-05  Andre Vehreschild  <vehre@gcc.gnu.org>
585         PR fortran/79344
586         * trans-stmt.c (gfc_trans_allocate): Only deallocate the components of
587         the temporary, when a new object was created for the temporary.  Not
588         when it is just an alias to an existing object.
590 2017-02-05  Andre Vehreschild  <vehre@gcc.gnu.org>
592         PR fortran/79335
593         * trans-decl.c (generate_coarray_sym_init): Retrieve the symbol's
594         attributes before using them.
596 2017-02-05  Andre Vehreschild  <vehre@gcc.gnu.org>
598         PR fortran/78958
599         * trans-stmt.c (gfc_trans_allocate): Add the multiplying the _len
600         component of unlimited polymorphic objects when source-allocating.
602 2017-02-05  Andre Vehreschild  <vehre@gcc.gnu.org>
604         PR fortran/79230
605         * trans-array.c (structure_alloc_comps): Ignore pointer components when
606         freeing structures.
608 2017-01-25  Maxim Ostapenko  <m.ostapenko@samsung.com>
610         PR lto/79061
611         * f95-lang.c (gfc_create_decls): Include stringpool.h.
612         Pass main_input_filename to build_translation_unit_decl.
614 2017-01-23  Thomas Koenig  <tkoenig@netcologne.de>
616         * arith.c (arith_power):  If simplifying integer power expression
617         to zero, warn if -Winteger-division is given.
619 2017-01-22  Jakub Jelinek  <jakub@redhat.com>
621         PR fortran/79154
622         * parse.c (matchs, matcho, matchds, matchdo): Replace return st;
623         with { ret = st; goto finish; }.
624         (decode_omp_directive): Allow declare simd, declare target and
625         simd directives in PURE/ELEMENTAL procedures.  Only call
626         gfc_unset_implicit_pure on successful match of other procedures.
628 2017-01-21  Gerald Pfeifer  <gerald@pfeifer.com>
630         * gfc-internals.texi (Symbol Versioning): Change references
631         to www.akkadia.org to https.
633 2017-01-21  Jakub Jelinek  <jakub@redhat.com>
635         * gfortran.h (gfc_extract_int): Change return type to bool.  Add
636         int argument with = 0.
637         * decl.c (gfc_match_kind_spec): Adjust gfc_extract_int caller, pass
638         1 as new last argument to it, don't emit gfc_error.
639         (match_char_kind): Likewise.
640         (gfc_match_decl_type_spec): Use gfc_get_string ("%s", x) instead of
641         gfc_get_string (x).
642         (gfc_match_derived_decl, match_binding_attributes): Likewise.
643         (gfc_match_structure_decl): Don't sprintf back to name, call
644         get_struct_decl directly with gfc_dt_upper_string (name) result.
645         * trans-stmt.c (gfc_trans_allocate): Use gfc_get_string ("%s", x)
646         instead of gfc_get_string (x).
647         * module.c (gfc_dt_lower_string, gfc_dt_upper_string,
648         gfc_match_use, gfc_match_submodule, find_true_name, mio_pool_string,
649         mio_symtree_ref, mio_expr, mio_omp_udr_expr, load_generic_interfaces,
650         load_omp_udrs, load_needed, read_module, dump_module,
651         create_intrinsic_function, import_iso_c_binding_module,
652         create_int_parameter, create_int_parameter_array, create_derived_type,
653         use_iso_fortran_env_module): Likewise.
654         * error.c (gfc_diagnostic_starter, gfc_diagnostic_start_span): Use
655         pp_verbatim (context->printer, "%s", x) instead of
656         pp_verbatim (context->printer, x).
657         * match.c (gfc_match_small_int): Adjust gfc_extract_int caller, pass
658         1 as new last argument to it, don't emit gfc_error.
659         (gfc_match_small_int_expr): Likewise.
660         * iresolve.c (gfc_get_string): Optimize format "%s" case.
661         (resolve_bound): Use gfc_get_string ("%s", x) instead of
662         gfc_get_string (x).
663         (resolve_transformational): Formatting fix.
664         (gfc_resolve_char_achar): Change name argument to bool is_achar,
665         use a single format string and if is_achar add "a" before "char".
666         (gfc_resolve_achar, gfc_resolve_char): Adjust callers.
667         * expr.c (gfc_extract_int): Change return type to bool, return true
668         if some error occurred.  Add REPORT_ERROR argument, if non-zero
669         call either gfc_error or gfc_error_now depending on its sign.
670         * arith.c (arith_power): Adjust gfc_extract_int caller.
671         * symbol.c (gfc_add_component): Use gfc_get_string ("%s", x) instead
672         of gfc_get_string (x).
673         (gfc_new_symtree, gfc_delete_symtree, gfc_get_uop, gfc_new_symbol,
674         gfc_get_gsymbol, generate_isocbinding_symbol): Likewise.
675         * openmp.c (gfc_match_omp_clauses): Adjust gfc_extract_int caller, pass
676         -1 as new last argument to it, don't emit gfc_error_now.
677         (gfc_match_omp_declare_reduction): Use gfc_get_string ("%s", x)
678         instead of gfc_get_string (x).
679         * check.c (kind_check): Adjust gfc_extract_int caller.
680         * intrinsic.c (add_sym, find_sym, make_alias): Use
681         gfc_get_string ("%s", x) instead of gfc_get_string (x).
682         * simplify.c (get_kind, gfc_simplify_btest, gfc_simplify_maskr,
683         gfc_simplify_maskl, gfc_simplify_poppar, gfc_simplify_repeat,
684         gfc_simplify_selected_int_kind, gfc_simplify_selected_real_kind):
685         Adjust gfc_extract_int callers.
686         * trans-decl.c (gfc_find_module): Use gfc_get_string ("%s", x)
687         instead of gfc_get_string (x).
688         * matchexp.c (expression_syntax): Add const.
689         * primary.c (match_kind_param, match_hollerith_constant,
690         match_string_constant): Adjust gfc_extract_int callers.
691         (match_keyword_arg): Use gfc_get_string ("%s", x) instead of
692         gfc_get_string (x).
693         * frontend-passes.c (optimize_minmaxloc): Likewise.
695 2017-01-19  Andre Vehreschild  <vehre@gcc.gnu.org>
697         PR fortran/70696
698         * trans-decl.c (gfc_build_qualified_array): Add static decl to parent
699         function only, when the decl-context is not the translation unit.
701 2017-01-18  Louis Krupp  <louis.krupp@zoho.com>
703         PR fortran/50069
704         PR fortran/55086
705         * trans-expr.c (gfc_conv_variable): Don't treat temporary variables
706         as function arguments.
707         * trans-stmt.c (forall_make_variable_temp,
708         generate_loop_for_temp_to_lhs, gfc_trans_assign_need_temp,
709         gfc_trans_forall_1): Don't adjust offset of forall temporary
710         for array sections, make forall temporaries work for substring
711         expressions, improve test coverage by adding -ftest-forall-temp
712         option to request usage of temporary array in forall code.
713         * lang.opt: Add -ftest-forall-temp option.
714         * invoke.texi: Add -ftest-forall-temp option.
716 2017-01-18  Andre Vehreschild  <vehre@gcc.gnu.org>
718         * primary.c (caf_variable_attr): Improve figuring whether the current
719         component is the last one refed.
720         * trans-stmt.c (gfc_trans_allocate): Do not generate sync_all calls
721         when allocating pointer or allocatable components.
723 2017-01-18  Andre Vehreschild  <vehre@gcc.gnu.org>
725         * gfortran.texi: Add missing parameters to caf-API functions.  Correct
726         typos and clarify some descriptions.
728 2017-01-18  Andre Vehreschild  <vehre@gcc.gnu.org>
730         PR fortran/70696
731         Missed some cases, here they are:
732         * trans-decl.c (gfc_build_qualified_array): Add static tokens to the
733         parent function's scope.
734         * trans-expr.c (gfc_get_tree_for_caf_expr): Shorten code.  Remove
735         unnecessary assert.
737 2017-01-13  Andre Vehreschild  <vehre@gcc.gnu.org>
739         PR fortran/70697
740         * resolve.c (resolve_lock_unlock_event): Resolve the expression for
741         event's until_count.
743 2017-01-13  Andre Vehreschild  <vehre@gcc.gnu.org>
745         PR fortran/70696
746         * trans-expr.c (gfc_get_tree_for_caf_expr): Ensure the backend_decl
747         is valid before accessing it.
749 2017-01-09  Jakub Jelinek  <jakub@redhat.com>
751         PR translation/79019
752         PR translation/79020
753         * decl.c (attr_decl1): Fix spelling in translatable string.
754         * intrinsic.texi: Fix spelling - invokation -> invocation.
755         * lang.opt (faggressive-function-elimination, gfc_convert): Fix
756         typos in descriptions.
757         * openmp.c (resolve_omp_clauses): Add missing whitespace to
758         translatable strings.
760 2017-01-08  Martin Sebor  <msebor@redhat.com>
762         PR tree-optimization/78913
763         PR middle-end/77708
764         * trans-common.c (build_equiv_decl): Increase buffer size to avoid
765         truncation for any argument.
766         * trans-types.c (gfc_build_logical_type): Same.
768 2017-01-07  Andre Vehreschild  <vehre@gcc.gnu.org>
770         PR fortran/78781
771         PR fortran/78935
772         * expr.c (gfc_check_pointer_assign): Return the same error message for
773         rewritten coarray pointer assignments like for plain ones.
774         * gfortran.h: Change prototype.
775         * primary.c (caf_variable_attr): Set attributes used ones only only
776         ones.  Add setting of pointer_comp attribute.
777         (gfc_caf_attr): Add setting of pointer_comp attribute.
778         * trans-array.c (gfc_array_allocate): Add flag that the component to
779         allocate is not an ultimate coarray component.  Add allocation of
780         pointer arrays.
781         (structure_alloc_comps): Extend nullify to treat pointer components in
782         coarrays correctly.  Restructure nullify to remove redundant code.
783         (gfc_nullify_alloc_comp): Allow setting caf_mode flags.
784         * trans-array.h: Change prototype of gfc_nullify_alloc_comp ().
785         * trans-decl.c (generate_coarray_sym_init): Call nullify_alloc_comp for
786         derived type coarrays with pointer components.
787         * trans-expr.c (gfc_trans_structure_assign): Also treat pointer
788         components.
789         (trans_caf_token_assign): Handle assignment of token of scalar pointer
790         components.
791         (gfc_trans_pointer_assignment): Call above routine.
792         * trans-intrinsic.c (conv_expr_ref_to_caf_ref): Add treating pointer
793         components.
794         (gfc_conv_intrinsic_caf_get): Likewise.
795         (conv_caf_send): Likewise.
796         * trans-stmt.c (gfc_trans_allocate): After allocating a derived type in
797         a coarray pre-register the tokens.
798         (gfc_trans_deallocate): Simply determining the coarray type (scalar or
799         array) and deregistering it correctly.
800         * trans-types.c (gfc_typenode_for_spec): Replace in_coarray flag by the
801         actual codim to allow lookup of array types in the cache.
802         (gfc_build_array_type): Likewise.
803         (gfc_get_array_descriptor_base): Likewise.
804         (gfc_get_array_type_bounds): Likewise.
805         (gfc_get_derived_type): Likewise.
806         * trans-types.h: Likewise.
807         * trans.c (gfc_deallocate_with_status): Enable deregistering of all kind
808         of coarray components.
809         (gfc_deallocate_scalar_with_status): Use free() in fcoarray_single mode
810         instead of caf_deregister.
812 2017-01-06  Jakub Jelinek  <jakub@redhat.com>
814         * simplify.c (simplify_transformation_to_array): Use
815         GCC_DIAGNOSTIC_PUSH_IGNORED and GCC_DIAGNOSTIC_POP instead of
816         #pragma GCC diagnostic {push,ignored,pop}.
818 2017-01-06  Alexandre Oliva <aoliva@redhat.com>
820         * simplify.c (simplify_transformation_to_array): Silence
821         array bounds warning.  Fix whitespace.
823 2017-01-04  Alexandre Oliva <aoliva@redhat.com>
825         * module.c (load_omp_udrs): Initialize name.
827 2017-01-02  Janne Blomqvist  <jb@gcc.gnu.org>
829         PR fortran/78534
830         * trans-expr.c (gfc_trans_string_copy): Rework string copy
831         algorithm to avoid -Wstringop-overflow warning.
833 2017-01-01  Jakub Jelinek  <jakub@redhat.com>
835         Update copyright years.
837         * gfortranspec.c (lang_specific_driver): Update copyright notice
838         dates.
839         * gfc-internals.texi: Bump @copying's copyright year.
840         * gfortran.texi: Ditto.
841         * intrinsic.texi: Ditto.
842         * invoke.texi: Ditto.
844 Copyright (C) 2017 Free Software Foundation, Inc.
846 Copying and distribution of this file, with or without modification,
847 are permitted in any medium without royalty provided the copyright
848 notice and this notice are preserved.