Update ChangeLog and version files for release
[official-gcc.git] / gcc / fortran / ChangeLog
blobfb36d2c343897b145e952b50e36be0447cfe8f26
1 2017-08-14  Release Manager
3         * GCC 7.2.0 released.
5 2017-06-09  Janus Weil  <janus@gcc.gnu.org>
7         Backport from trunk
8         PR fortran/70601
9         * trans-expr.c (gfc_conv_procedure_call): Fix detection of allocatable
10         function results.
12 2017-06-05  Janus Weil  <janus@gcc.gnu.org>
14         Backport from trunk
15         PR fortran/80766
16         * resolve.c (resolve_fl_derived): Make sure that vtype symbols are
17         properly resolved.
19 2017-06-02  Thomas Koenig  <tkoenig@gcc.gnu.org>
21         PR fortran/80904
22         * frontend-passes.c (matmul_lhs_realloc):  Correct
23         allocation size for case A1B2.
25 2017-06-02  Jakub Jelinek  <jakub@redhat.com>
27         PR fortran/80918
28         * openmp.c (resolve_omp_clauses): Fix a typo.
30 2017-05-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
32         Backport from trunk
33         PR fortran/80741
34         * trans-io.c (transfer_namelist_element): Change check from
35         NULL_TREE to null_pointer_node.
37 2017-05-23  Paul Thomas  <pault@gcc.gnu.org>
39         Backport from trunk
40         PR fortran/80333
41         * trans-io.c (nml_get_addr_expr): If we are dealing with class
42         type data set tmp tree to get that address.
43         (transfer_namelist_element): Set the array spec to point to the
44         the class data.
46 2017-05-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
48         Backport from trunk
49         PR fortran/78659
50         * io.c (dtio_procs_present): Add new function to check for DTIO
51         procedures relative to I/O statement READ or WRITE.
52         (gfc_resolve_dt): Add namelist checks using the new function.
53         * resolve.c (dtio_procs_present): Remove function and related
54         namelist checks. (resolve_fl_namelist): Add check specific to
55         Fortran 95 restriction on namelist objects.
57 2017-05-15  Steven G. Kargl  <kargl@gcc.gnu.org>
59         Backport from trunk
60         PR fortran/80752
61         * expr.c (gfc_generate_initializer):  If type conversion fails,
62         check for error and return NULL.
64 2017-05-05  Janus Weil  <janus@gcc.gnu.org>
66         Backport from trunk
67         PR fortran/80121
68         * trans-expr.c (gfc_conv_procedure_call): Deallocate the components
69         of allocatable intent(out) arguments.
71 2017-05-05  Janus Weil  <janus@gcc.gnu.org>
73         Backport from trunk
74         PR fortran/80392
75         * trans-types.c (gfc_get_derived_type): Prevent an infinite loop when
76         building a derived type that includes a procedure pointer component
77         with a polymorphic result.
79 2017-05-04  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
81         Backport from trunk.
82         PR fortran/80484
83         * io.c (format_lex): Check for '/' and set token to FMT_SLASH.
84         (check_format): Move FMT_DT checking code to data_desc section.
85         * module.c (gfc_match_use): Include the case of INTERFACE_DTIO.
87 2017-05-02  Release Manager
89         * GCC 7.1.0 released.
91 2017-04-17  Paul Thomas  <pault@gcc.gnu.org>
93         PR fortran/80440
94         * module.c (find_symtree_for_symbol): Delete.
95         (read_module): Remove the call to the above.
97 2017-04-14  Janus Weil  <janus@gcc.gnu.org>
99         PR fortran/80361
100         * class.c (generate_finalization_wrapper): Give the finalization wrapper
101         the recursive attribute.
103 2017-04-10  Nicolas Koenig  <koenigni@student.ethz.ch>
104             Paul Thomas  <pault@gcc.gnu.org>
106         PR fortran/69498
107         * module.c (gfc_match_submodule): Add error
108         if function is called in the wrong state.
110 2017-04-10  Janus Weil  <janus@gcc.gnu.org>
112         PR fortran/80046
113         * expr.c (gfc_check_pointer_assign): Check if procedure pointer
114         components in a pointer assignment need an explicit interface.
116 2017-03-18  Nicolas Koenig  <koenigni@student.ethz.ch>
118         PR fortran/69498
119         * symbol.c (gfc_delete_symtree): If there is a period in the name, ignore
120         everything before it.
122 2017-03-28  Janus Weil  <janus@gcc.gnu.org>
124         PR fortran/78661
125         * trans-io.c (transfer_namelist_element): Perform a polymorphic call
126         to a DTIO procedure if necessary.
128 2017-03-25  Paul Thomas  <pault@gcc.gnu.org>
130         PR fortran/80156
131         PR fortran/79382
132         * decl.c (access_attr_decl): Remove the error for an absent
133         generic DTIO interface and ensure that symbol has the flavor
134         FL_PROCEDURE.
136 2017-03-22  Dominique d'Humieres  <dominiq@lps.ens.fr>
138         PR fortran/79838
139         * module.c: Remove trailing period.
141 2017-03-22  Dominique d'Humieres  <dominiq@lps.ens.fr>
143         PR fortran/79602
144         * decl.c: Replace '%s' with %qs.
145         * expr.c: Likewise.
146         * interface.c: Likewise.
147         * match.c: Likewise.
148         * primary.c: Likewise.
149         * resolve.c: Likewise.
151         PR fortran/79844
152         PR fortran/80011
153         * io.c: Remove trailing spaces.
154         * match.c: Likewise.
155         * openmp.c: Likewise.
156         * resolve.c: Likewise.
157         * trans-intrinsic.c: Likewise.
159         PR fortran/79853
160         * expr.c: Remove a double spaces.
162         PR fortran/79859
163         * primary.c: Remove spurious quotes around %qs.
165 2017-03-22  Thomas Koenig  <tkoenig@gcc.gnu.org>
167         PR fortran/80142
168         * frontend-passes.c (combine_array_constructor): Take
169         location of new expression from constructor expression instead
170         of constructor.
172 2017-03-20  Nicolas Koenig  <koenigni@student.ethz.ch>
174         PR fortran/39239
175         * symbol.c (check_conflict): Report an error if an EQUIVALENCE
176         object is BIND(C)
178 2017-03-18  Nicolas Koenig  <koenigni@student.ethz.ch>
180         PR fortran/69498
181         * decl.c (add_hidden_procptr_result): Fixed Refs count of the
182         created "ppr@" symbol.
184 2017-03-18  Paul Thomas  <pault@gcc.gnu.org>
186         PR fortran/79676
187         * module.c (mio_symbol_attribute): Remove reset of the flag
188         'no_module_procedures'.
189         (check_for_module_procedures): New function. Move declaration
190         of 'no_module_procedures' to above it.
191         (gfc_dump_module): Traverse namespace calling new function.
193 2017-03-18  Paul Thomas  <pault@gcc.gnu.org>
195         PR fortran/71838
196         * symbol.c (check_conflict): A dummy procedure in a submodule,
197         module procedure is not an error.
198         (gfc_add_flavor): Ditto.
200 2017-03-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
202         PR fortran/79841
203         * openmp.c (check_symbol_not_pointer): Adjust diagnostics.
205 2017-03-16  Jakub Jelinek  <jakub@redhat.com>
207         PR fortran/80010
208         * parse.c (gfc_ascii_statement): Use !$ACC for ST_OACC_ATOMIC
209         and ST_OACC_END_ATOMIC, instead of !ACC.
210         * trans-decl.c (finish_oacc_declare): Use !$ACC instead of $!ACC.
211         * openmp.c (gfc_match_oacc_declare, gfc_match_oacc_wait,
212         gfc_resolve_oacc_declare): Likewise.
214         PR fortran/79886
215         * error.c (gfc_format_decoder): Rename plus argument to set_locus,
216         remove ATTRIBUTE_UNUSED from all arguments, call default_tree_printer
217         if not a Fortran specific spec.
218         * trans-io.c: Include options.h.
219         (gfc_build_st_parameter): Temporarily disable -Wpadded around layout
220         of artificial IO data structures.
222 2017-03-15  David Malcolm  <dmalcolm@redhat.com>
224         PR fortran/79860
225         * resolve.c (resolve_contained_fntype): Make error messages more
226         amenable to translation.
228 2017-03-06  Richard Biener  <rguenther@suse.de>
230         PR fortran/79894
231         * trans.c (gfc_add_modify_loc): Weaken assert.
233 2017-03-05  Andre Vehreschild  <vehre@gcc.gnu.org>,
234             Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>
236         * check.c (positive_check): Add new function checking constant for
237         being greater then zero.
238         (gfc_check_image_status): Add checking of image_status arguments.
239         (gfc_check_failed_or_stopped_images): Same but for failed_- and
240         stopped_images function.
241         * dump-parse-tree.c (show_code_node): Added output of FAIL IMAGE.
242         * gfortran.h (enum gfc_statement): Added FAIL_IMAGE_ST.
243         (enum gfc_isym_id): Added new intrinsic symbols.
244         (enum gfc_exec_op): Added EXEC_FAIL_IMAGE.
245         * gfortran.texi: Added description for the new API functions. Updated
246         coverage of gfortran of TS18508.
247         * intrinsic.c (add_functions): Added symbols to resolve new intrinsic
248         functions.
249         * intrinsic.h: Added prototypes.
250         * iresolve.c (gfc_resolve_failed_images): Resolve the failed_images
251         intrinsic.
252         (gfc_resolve_image_status): Same for image_status.
253         (gfc_resolve_stopped_images): Same for stopped_images.
254         * libgfortran.h: Added prototypes.
255         * match.c (gfc_match_if): Added matching of FAIL IMAGE statement.
256         (gfc_match_fail_image): Match a FAIL IMAGE statement.
257         * match.h: Added prototype.
258         * parse.c (decode_statement): Added matching for FAIL IMAGE.
259         (next_statement): Same.
260         (gfc_ascii_statement): Same.
261         * resolve.c: Same.
262         * simplify.c (gfc_simplify_failed_or_stopped_images): For COARRAY=
263         single a constant result can be returne.d
264         (gfc_simplify_image_status): For COARRAY=single the result is constant.
265         * st.c (gfc_free_statement): Added FAIL_IMAGE handling.
266         * trans-decl.c (gfc_build_builtin_function_decls): Added decls of the
267         new intrinsics.
268         * trans-expr.c (gfc_conv_procedure_call): This is first time all
269         arguments of a function are optional, which is now handled here
270         correctly.
271         * trans-intrinsic.c (conv_intrinsic_image_status): Translate
272         image_status.
273         (gfc_conv_intrinsic_function): Add support for image_status.
274         (gfc_is_intrinsic_libcall): Add support for the remaining new
275         intrinsics.
276         * trans-stmt.c (gfc_trans_fail_image): Trans a fail image.
277         * trans-stmt.h: Add the prototype for the above.
278         * trans.c (trans_code): Dispatch for fail_image.
279         * trans.h: Add the trees for the new intrinsics.
281 2017-03-03  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
283         PR fortran/79841
284         * openmp.c (check_symbol_not_pointer): Adjust diagnostic.
286 2017-02-28  Paul Thomas  <pault@gcc.gnu.org>
288         PR fortran/79739
289         * resolve.c (resolve_fl_procedure): Deal with the case where
290         'submodule_name' is NULL so that gfc_error does not ICE.
291         Reformat the error message to make it more consistent.
293 2017-02-28  Jakub Jelinek  <jakub@redhat.com>
295         * parse.c (parse_critical_block): Use cond ? G_("...") : G_("...")
296         instead of just cond ? "..." : "...".
297         * scanner.c (gfc_next_char_literal): Likewise.
298         * match.c (match_exit_cycle): Likewise.
300 2017-02-26  Thomas Koenig  <tkoenig@gcc.gnu.org>
302         PR fortran/51119
303         * options.c (gfc_post_options): Set default limit for matmul
304         inlining to 30.
305         * invoke.texi: Document change.
307 2017-02-25  Dominique d'Humieres  <dominiq@lps.ens.fr>
309         PR fortran/79601
310         * interface.c (check_dtio_arg_TKR_intent): Change 'intent'
311         to 'INTENT'.
313 2017-02-25  Dominique d'Humieres  <dominiq@lps.ens.fr>
315         PR fortran/79597
316         * interface.c (gfc_match_end_interface): Remove spurious comma
317         and space, replace 'got %s' with 'got %qs'.
319 2017-02-20  Paul Thomas  <pault@gcc.gnu.org>
321         PR fortran/79599
322         * interface.c (check_dtio_arg_TKR_intent): Supply 'must'
323         missing from error message.
325 2017-02-20  Paul Thomas  <pault@gcc.gnu.org>
327         PR fortran/79523
328         * interface.c (gfc_find_typebound_dtio_proc): Guard test for
329         flavor attribute by checking that symbol is resolved.
331 2017-02-16  Paul Thomas  <pault@gcc.gnu.org>
333         PR fortran/79382
334         * decl.c (access_attr_decl): Test for presence of generic DTIO
335         interface and emit error if not present.
337 2017-02-20  Paul Thomas  <pault@gcc.gnu.org>
339         PR fortran/79434
340         * parse.c (check_component, parse_union): Whitespace.
341         (set_syms_host_assoc): For a derived type, check if the module
342         in which it was declared is one of the submodule ancestors. If
343         it is, make the components public. Otherwise, reset attribute
344         'host_assoc' and set 'use-assoc' so that encapsulation is
345         preserved.
347 2017-02-19  Paul Thomas  <pault@gcc.gnu.org>
349         PR fortran/79447
350         * decl.c (gfc_set_constant_character_len): Whitespace.
351         (gfc_match_end): Catch case where a procedure is contained in
352         a module procedure and ensure that 'end procedure' is the
353         correct termination.
355 2017-02-19  Paul Thomas  <pault@gcc.gnu.org>
357         PR fortran/79402
358         * resolve.c (fixup_unique_dummy): New function.
359         (gfc_resolve_expr): Call it for dummy variables with a unique
360         symtree name.
362 2017-02-19  Andre Vehreschild  <vehre@gcc.gnu.org>
364         PR fortran/79229
365         * trans-expr.c (gfc_trans_assignment_1): Deref indirect refs when
366         compiling with -fcheck=mem to check the pointer and not the data.
368 2017-02-19  Andre Vehreschild  <vehre@gcc.gnu.org>
370         PR fortran/79335
371         * trans-array.c (duplicate_allocatable_coarray): Ensure attributes
372         passed are properly initialized.
373         (structure_alloc_comps): Same.
374         * trans-expr.c (gfc_trans_structure_assign): Same.
376 2017-02-13  Jakub Jelinek  <jakub@redhat.com>
378         * trans-expr.c (gfc_conv_substring): Add missing space in diagnostics.
380 2017-02-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
382         PR fortran/65542
383         * intrinsic.c (gfc_intrinsic_func_interface):  Return an error
384         for -std=f95 for disallowed transformational functions in
385         initialization expressions.
387 2017-02-09  Cesar Philippidis  <cesar@codesourcery.com>
388             Joseph Myers  <joseph@codesourcery.com>
390         * openmp.c (resolve_omp_clauses): Error on directives
391         containing both tile and collapse clauses.
392         (resolve_oacc_loop_blocks): Represent '*' tile arguments as zero.
393         * trans-openmp.c (gfc_trans_omp_do): Lower tiled loops like
394         collapsed loops.
396 2017-02-07  Steven G. Kargl  <kargl@gcc.gnu.org>
398         * trans-types.c (gfc_get_int_kind_from_width_isofortranen):  Choose
399         REAL type with the widest precision if two (or more) have the same
400         storage size.
402 2017-02-05  Andre Vehreschild  <vehre@gcc.gnu.org>
404         PR fortran/79344
405         * trans-stmt.c (gfc_trans_allocate): Only deallocate the components of
406         the temporary, when a new object was created for the temporary.  Not
407         when it is just an alias to an existing object.
409 2017-02-05  Andre Vehreschild  <vehre@gcc.gnu.org>
411         PR fortran/79335
412         * trans-decl.c (generate_coarray_sym_init): Retrieve the symbol's
413         attributes before using them.
415 2017-02-05  Andre Vehreschild  <vehre@gcc.gnu.org>
417         PR fortran/78958
418         * trans-stmt.c (gfc_trans_allocate): Add the multiplying the _len
419         component of unlimited polymorphic objects when source-allocating.
421 2017-02-05  Andre Vehreschild  <vehre@gcc.gnu.org>
423         PR fortran/79230
424         * trans-array.c (structure_alloc_comps): Ignore pointer components when
425         freeing structures.
427 2017-01-25  Maxim Ostapenko  <m.ostapenko@samsung.com>
429         PR lto/79061
430         * f95-lang.c (gfc_create_decls): Include stringpool.h.
431         Pass main_input_filename to build_translation_unit_decl.
433 2017-01-23  Thomas Koenig  <tkoenig@netcologne.de>
435         * arith.c (arith_power):  If simplifying integer power expression
436         to zero, warn if -Winteger-division is given.
438 2017-01-22  Jakub Jelinek  <jakub@redhat.com>
440         PR fortran/79154
441         * parse.c (matchs, matcho, matchds, matchdo): Replace return st;
442         with { ret = st; goto finish; }.
443         (decode_omp_directive): Allow declare simd, declare target and
444         simd directives in PURE/ELEMENTAL procedures.  Only call
445         gfc_unset_implicit_pure on successful match of other procedures.
447 2017-01-21  Gerald Pfeifer  <gerald@pfeifer.com>
449         * gfc-internals.texi (Symbol Versioning): Change references
450         to www.akkadia.org to https.
452 2017-01-21  Jakub Jelinek  <jakub@redhat.com>
454         * gfortran.h (gfc_extract_int): Change return type to bool.  Add
455         int argument with = 0.
456         * decl.c (gfc_match_kind_spec): Adjust gfc_extract_int caller, pass
457         1 as new last argument to it, don't emit gfc_error.
458         (match_char_kind): Likewise.
459         (gfc_match_decl_type_spec): Use gfc_get_string ("%s", x) instead of
460         gfc_get_string (x).
461         (gfc_match_derived_decl, match_binding_attributes): Likewise.
462         (gfc_match_structure_decl): Don't sprintf back to name, call
463         get_struct_decl directly with gfc_dt_upper_string (name) result.
464         * trans-stmt.c (gfc_trans_allocate): Use gfc_get_string ("%s", x)
465         instead of gfc_get_string (x).
466         * module.c (gfc_dt_lower_string, gfc_dt_upper_string,
467         gfc_match_use, gfc_match_submodule, find_true_name, mio_pool_string,
468         mio_symtree_ref, mio_expr, mio_omp_udr_expr, load_generic_interfaces,
469         load_omp_udrs, load_needed, read_module, dump_module,
470         create_intrinsic_function, import_iso_c_binding_module,
471         create_int_parameter, create_int_parameter_array, create_derived_type,
472         use_iso_fortran_env_module): Likewise.
473         * error.c (gfc_diagnostic_starter, gfc_diagnostic_start_span): Use
474         pp_verbatim (context->printer, "%s", x) instead of
475         pp_verbatim (context->printer, x).
476         * match.c (gfc_match_small_int): Adjust gfc_extract_int caller, pass
477         1 as new last argument to it, don't emit gfc_error.
478         (gfc_match_small_int_expr): Likewise.
479         * iresolve.c (gfc_get_string): Optimize format "%s" case.
480         (resolve_bound): Use gfc_get_string ("%s", x) instead of
481         gfc_get_string (x).
482         (resolve_transformational): Formatting fix.
483         (gfc_resolve_char_achar): Change name argument to bool is_achar,
484         use a single format string and if is_achar add "a" before "char".
485         (gfc_resolve_achar, gfc_resolve_char): Adjust callers.
486         * expr.c (gfc_extract_int): Change return type to bool, return true
487         if some error occurred.  Add REPORT_ERROR argument, if non-zero
488         call either gfc_error or gfc_error_now depending on its sign.
489         * arith.c (arith_power): Adjust gfc_extract_int caller.
490         * symbol.c (gfc_add_component): Use gfc_get_string ("%s", x) instead
491         of gfc_get_string (x).
492         (gfc_new_symtree, gfc_delete_symtree, gfc_get_uop, gfc_new_symbol,
493         gfc_get_gsymbol, generate_isocbinding_symbol): Likewise.
494         * openmp.c (gfc_match_omp_clauses): Adjust gfc_extract_int caller, pass
495         -1 as new last argument to it, don't emit gfc_error_now.
496         (gfc_match_omp_declare_reduction): Use gfc_get_string ("%s", x)
497         instead of gfc_get_string (x).
498         * check.c (kind_check): Adjust gfc_extract_int caller.
499         * intrinsic.c (add_sym, find_sym, make_alias): Use
500         gfc_get_string ("%s", x) instead of gfc_get_string (x).
501         * simplify.c (get_kind, gfc_simplify_btest, gfc_simplify_maskr,
502         gfc_simplify_maskl, gfc_simplify_poppar, gfc_simplify_repeat,
503         gfc_simplify_selected_int_kind, gfc_simplify_selected_real_kind):
504         Adjust gfc_extract_int callers.
505         * trans-decl.c (gfc_find_module): Use gfc_get_string ("%s", x)
506         instead of gfc_get_string (x).
507         * matchexp.c (expression_syntax): Add const.
508         * primary.c (match_kind_param, match_hollerith_constant,
509         match_string_constant): Adjust gfc_extract_int callers.
510         (match_keyword_arg): Use gfc_get_string ("%s", x) instead of
511         gfc_get_string (x).
512         * frontend-passes.c (optimize_minmaxloc): Likewise.
514 2017-01-19  Andre Vehreschild  <vehre@gcc.gnu.org>
516         PR fortran/70696
517         * trans-decl.c (gfc_build_qualified_array): Add static decl to parent
518         function only, when the decl-context is not the translation unit.
520 2017-01-18  Louis Krupp  <louis.krupp@zoho.com>
522         PR fortran/50069
523         PR fortran/55086
524         * trans-expr.c (gfc_conv_variable): Don't treat temporary variables
525         as function arguments.
526         * trans-stmt.c (forall_make_variable_temp,
527         generate_loop_for_temp_to_lhs, gfc_trans_assign_need_temp,
528         gfc_trans_forall_1): Don't adjust offset of forall temporary
529         for array sections, make forall temporaries work for substring
530         expressions, improve test coverage by adding -ftest-forall-temp
531         option to request usage of temporary array in forall code.
532         * lang.opt: Add -ftest-forall-temp option.
533         * invoke.texi: Add -ftest-forall-temp option.
535 2017-01-18  Andre Vehreschild  <vehre@gcc.gnu.org>
537         * primary.c (caf_variable_attr): Improve figuring whether the current
538         component is the last one refed.
539         * trans-stmt.c (gfc_trans_allocate): Do not generate sync_all calls
540         when allocating pointer or allocatable components.
542 2017-01-18  Andre Vehreschild  <vehre@gcc.gnu.org>
544         * gfortran.texi: Add missing parameters to caf-API functions.  Correct
545         typos and clarify some descriptions.
547 2017-01-18  Andre Vehreschild  <vehre@gcc.gnu.org>
549         PR fortran/70696
550         Missed some cases, here they are:
551         * trans-decl.c (gfc_build_qualified_array): Add static tokens to the
552         parent function's scope.
553         * trans-expr.c (gfc_get_tree_for_caf_expr): Shorten code.  Remove
554         unnecessary assert.
556 2017-01-13  Andre Vehreschild  <vehre@gcc.gnu.org>
558         PR fortran/70697
559         * resolve.c (resolve_lock_unlock_event): Resolve the expression for
560         event's until_count.
562 2017-01-13  Andre Vehreschild  <vehre@gcc.gnu.org>
564         PR fortran/70696
565         * trans-expr.c (gfc_get_tree_for_caf_expr): Ensure the backend_decl
566         is valid before accessing it.
568 2017-01-09  Jakub Jelinek  <jakub@redhat.com>
570         PR translation/79019
571         PR translation/79020
572         * decl.c (attr_decl1): Fix spelling in translatable string.
573         * intrinsic.texi: Fix spelling - invokation -> invocation.
574         * lang.opt (faggressive-function-elimination, gfc_convert): Fix
575         typos in descriptions.
576         * openmp.c (resolve_omp_clauses): Add missing whitespace to
577         translatable strings.
579 2017-01-08  Martin Sebor  <msebor@redhat.com>
581         PR tree-optimization/78913
582         PR middle-end/77708
583         * trans-common.c (build_equiv_decl): Increase buffer size to avoid
584         truncation for any argument.
585         * trans-types.c (gfc_build_logical_type): Same.
587 2017-01-07  Andre Vehreschild  <vehre@gcc.gnu.org>
589         PR fortran/78781
590         PR fortran/78935
591         * expr.c (gfc_check_pointer_assign): Return the same error message for
592         rewritten coarray pointer assignments like for plain ones.
593         * gfortran.h: Change prototype.
594         * primary.c (caf_variable_attr): Set attributes used ones only only
595         ones.  Add setting of pointer_comp attribute.
596         (gfc_caf_attr): Add setting of pointer_comp attribute.
597         * trans-array.c (gfc_array_allocate): Add flag that the component to
598         allocate is not an ultimate coarray component.  Add allocation of
599         pointer arrays.
600         (structure_alloc_comps): Extend nullify to treat pointer components in
601         coarrays correctly.  Restructure nullify to remove redundant code.
602         (gfc_nullify_alloc_comp): Allow setting caf_mode flags.
603         * trans-array.h: Change prototype of gfc_nullify_alloc_comp ().
604         * trans-decl.c (generate_coarray_sym_init): Call nullify_alloc_comp for
605         derived type coarrays with pointer components.
606         * trans-expr.c (gfc_trans_structure_assign): Also treat pointer
607         components.
608         (trans_caf_token_assign): Handle assignment of token of scalar pointer
609         components.
610         (gfc_trans_pointer_assignment): Call above routine.
611         * trans-intrinsic.c (conv_expr_ref_to_caf_ref): Add treating pointer
612         components.
613         (gfc_conv_intrinsic_caf_get): Likewise.
614         (conv_caf_send): Likewise.
615         * trans-stmt.c (gfc_trans_allocate): After allocating a derived type in
616         a coarray pre-register the tokens.
617         (gfc_trans_deallocate): Simply determining the coarray type (scalar or
618         array) and deregistering it correctly.
619         * trans-types.c (gfc_typenode_for_spec): Replace in_coarray flag by the
620         actual codim to allow lookup of array types in the cache.
621         (gfc_build_array_type): Likewise.
622         (gfc_get_array_descriptor_base): Likewise.
623         (gfc_get_array_type_bounds): Likewise.
624         (gfc_get_derived_type): Likewise.
625         * trans-types.h: Likewise.
626         * trans.c (gfc_deallocate_with_status): Enable deregistering of all kind
627         of coarray components.
628         (gfc_deallocate_scalar_with_status): Use free() in fcoarray_single mode
629         instead of caf_deregister.
631 2017-01-06  Jakub Jelinek  <jakub@redhat.com>
633         * simplify.c (simplify_transformation_to_array): Use
634         GCC_DIAGNOSTIC_PUSH_IGNORED and GCC_DIAGNOSTIC_POP instead of
635         #pragma GCC diagnostic {push,ignored,pop}.
637 2017-01-06  Alexandre Oliva <aoliva@redhat.com>
639         * simplify.c (simplify_transformation_to_array): Silence
640         array bounds warning.  Fix whitespace.
642 2017-01-04  Alexandre Oliva <aoliva@redhat.com>
644         * module.c (load_omp_udrs): Initialize name.
646 2017-01-02  Janne Blomqvist  <jb@gcc.gnu.org>
648         PR fortran/78534
649         * trans-expr.c (gfc_trans_string_copy): Rework string copy
650         algorithm to avoid -Wstringop-overflow warning.
652 2017-01-01  Jakub Jelinek  <jakub@redhat.com>
654         Update copyright years.
656         * gfortranspec.c (lang_specific_driver): Update copyright notice
657         dates.
658         * gfc-internals.texi: Bump @copying's copyright year.
659         * gfortran.texi: Ditto.
660         * intrinsic.texi: Ditto.
661         * invoke.texi: Ditto.
663 Copyright (C) 2017 Free Software Foundation, Inc.
665 Copying and distribution of this file, with or without modification,
666 are permitted in any medium without royalty provided the copyright
667 notice and this notice are preserved.