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