Update ChangeLog and version files for release
[official-gcc.git] / gcc / fortran / ChangeLog
blob36cd2fe993f284e02d48595ba64c90741b28fb92
1 2018-01-25  Release Manager
3         * GCC 7.3.0 released.
5 2018-01-20  Steven G. Kargl  <kargl@gcc.gnu.org>
7         PR fortran/83900
8     * simplify.c (gfc_simplify_matmul): Set return type correctly.
10 2018-01019  Steven G. Kargl  <kargl@gcc.gnu.org>
12         PR fortran/83900
13         * simplify.c (gfc_simplify_matmul): Delete bogus assertion.
15 2018-01-19  Steven G. Kargl  <kargl@gcc.gnu.org>
17         Backport of r250734 from mainline
18         PR fortran/80768
19         * check.c (gfc_check_num_images): Fix typo.
21 2018-01-18  Harald Anlauf  <anlauf@gmx.de>
23         Backport from mainline
24         PR fortran/83864
25         * expr.c (gfc_apply_init): Do not dereference NULL pointer.
27 2018-01-17  Harald Anlauf  <anlauf@gmx.de>
29         Backport from mainline
30         PR fortran/83874
31         * decl.c (add_init_expr_to_sym): Do not dereference NULL pointer.
33 2018-01-13  Steven G. Kargl  <kargl@gcc.gnu.org>
35         Backport from mainline
36         PR fortran/78814
37         * interface.c (symbol_rank): Check for NULL pointer.
39 2018-01-10  Steven G. Kargl  <kargl@gcc.gnu.org>
41         Backport from trunk
42         PR fortran/82367
43         * resolve.c (resolve_allocate_expr): Check for NULL pointer.
45 2018-01-10 Steven G. Kargl  <kargl@gcc.gnu.org>
47         Backport from trunk
48         PR fortran/83093
49         * resolve.c (resolve_charlen): Check the type of cl->length
50         after resolution.
52 2018-01-10  Steven G. Kargl  <kargl@kgcc.gnu.org>
54         Backport r254555 from trunk
55         PR Fortran/82841
56         * simplify.c(gfc_simplify_transfer): Do not dereference a NULL pointer.
57         Unwrap a short line.
59 2018-01-04  Steven G. Kargl  <kargl@gcc.gnu.org>
61         PR Fortran/83679
62         * simplify.c (gfc_simplify_cshift): Restore early return for zero-sized
63         array.  Update Copyright year while here.
65 2018-01-02  Thomas Koenig  <tkoenig@gcc.gnu.org>
67         PR fortran/83650
68         * simplify.c (gfc_simplify_cshift): Correct contition for
69         negative shifts.
71 2017-12-28  Steven G. Kargl  <kargl@gcc.gnu.org>
73         PR Fortran/83548
74         * match.c (gfc_match_type_spec): Check for LOGICAL conflict in
75         type-spec versus LOGICAL intrinsic subprogram.
77 2017-12-15  Jakub Jelinek  <jakub@redhat.com>
79         Backported from mainline
80         2017-11-24  Jakub Jelinek  <jakub@redhat.com>
82         PR fortran/81304
83         * trans-openmp.c (gfc_trans_omp_array_reduction_or_udr): Set
84         attr.implicit_type in intrinsic_sym to avoid undesirable warning.
86         2017-11-23  Dirk Broemmel  <d.broemmel@fz-juelich.de>
87                     Jakub Jelinek  <jakub@redhat.com>
89         PR fortran/81841
90         * parse.c (parse_spec): Allow ST_OMP_THREADPRIVATE inside of
91         BLOCK DATA.
93 2017-11-28  Paul Thomas  <pault@gcc.gnu.org>
95         PR fortran/83021
96         * resolve.c (resolve_component): Only escape for use assciated
97         vtypes if the current namespace has no proc_name and is most
98         particularly block data.
100 2017-11-23  Paul Thomas  <pault@gcc.gnu.org>
102         Backported from trunk
103         PR fortran/79072
104         * trans-expr.c (trans_class_vptr_len_assignment): Set from_len
105         if the temporary is unlimited polymorphic.
106         * trans-stmt.c (trans_associate_var): Use the fake result decl
107         to obtain the 'len' field from an explicit function result when
108         in that function scope.
110 2017-11-21  Paul Thomas  <pault@gcc.gnu.org>
112         Backported from trunk fix for PR82586
113         PR fortran/78686
114         * resolve.c (resolve_generic_f): Check usage of derived type by
115         calling gfc_use_derived.
117 2017-11-13  Paul Thomas  <pault@gcc.gnu.org>
119         Backport from trunk
120         PR fortran/82934
121         * trans-stmt.c (gfc_trans_allocate): Remove the gcc_assert on
122         null string length for assumed length typespec and set
123         expr3_esize to NULL_TREE;
125 2017-11-13  Paul Thomas  <pault@gcc.gnu.org>
127         Backport from trunk
128         PR fortran/78619
129         * check.c (same_type_check): Introduce a new argument 'assoc'
130         with default value false. If this is true, use the symbol type
131         spec of BT_PROCEDURE expressions.
132         (gfc_check_associated): Set 'assoc' true in the call to
133         'same_type_check'.
135 2017-11-13  Janne Blomqvist  <jb@gcc.gnu.org>
137         PR 82869
138         * convert.c (truthvalue_conversion): Use logical_type_node.
139         * trans-array.c (gfc_trans_allocate_array_storage): Likewise.
140         (gfc_trans_create_temp_array): Likewise.
141         (gfc_trans_array_ctor_element): Likewise.
142         (gfc_trans_array_constructor_value): Likewise.
143         (trans_array_constructor): Likewise.
144         (trans_array_bound_check): Likewise.
145         (gfc_conv_array_ref): Likewise.
146         (gfc_trans_scalarized_loop_end): Likewise.
147         (gfc_conv_array_extent_dim): Likewise.
148         (gfc_array_init_size): Likewise.
149         (gfc_array_allocate): Likewise.
150         (gfc_trans_array_bounds): Likewise.
151         (gfc_trans_dummy_array_bias): Likewise.
152         (gfc_conv_array_parameter): Likewise.
153         (duplicate_allocatable): Likewise.
154         (duplicate_allocatable_coarray): Likewise.
155         (structure_alloc_comps): Likewise
156         (get_std_lbound): Likewise
157         (gfc_alloc_allocatable_for_assignment): Likewise
158         * trans-decl.c (add_argument_checking): Likewise
159         (gfc_generate_function_code): Likewise
160         * trans-expr.c (gfc_copy_class_to_class): Likewise
161         (gfc_trans_class_array_init_assign): Likewise
162         (gfc_trans_class_init_assign): Likewise
163         (gfc_conv_expr_present): Likewise
164         (gfc_conv_substring): Likewise
165         (gfc_conv_cst_int_power): Likewise
166         (gfc_conv_expr_op): Likewise
167         (gfc_conv_procedure_call): Likewise
168         (fill_with_spaces): Likewise
169         (gfc_trans_string_copy): Likewise
170         (gfc_trans_alloc_subarray_assign): Likewise
171         (gfc_trans_pointer_assignment): Likewise
172         (gfc_trans_scalar_assign): Likewise
173         (fcncall_realloc_result): Likewise
174         (alloc_scalar_allocatable_for_assignment): Likewise
175         (trans_class_assignment): Likewise
176         (gfc_trans_assignment_1): Likewise
177         * trans-intrinsic.c (build_fixbound_expr): Likewise
178         (gfc_conv_intrinsic_aint): Likewise
179         (gfc_trans_same_strlen_check): Likewise
180         (conv_caf_send): Likewise
181         (trans_this_image): Likewise
182         (conv_intrinsic_image_status): Likewise
183         (trans_image_index): Likewise
184         (gfc_conv_intrinsic_bound): Likewise
185         (conv_intrinsic_cobound): Likewise
186         (gfc_conv_intrinsic_mod): Likewise
187         (gfc_conv_intrinsic_dshift): Likewise
188         (gfc_conv_intrinsic_dim): Likewise
189         (gfc_conv_intrinsic_sign): Likewise
190         (gfc_conv_intrinsic_ctime): Likewise
191         (gfc_conv_intrinsic_fdate): Likewise
192         (gfc_conv_intrinsic_ttynam): Likewise
193         (gfc_conv_intrinsic_minmax): Likewise
194         (gfc_conv_intrinsic_minmax_char): Likewise
195         (gfc_conv_intrinsic_anyall): Likewise
196         (gfc_conv_intrinsic_arith): Likewise
197         (gfc_conv_intrinsic_minmaxloc): Likewise
198         (gfc_conv_intrinsic_minmaxval): Likewise
199         (gfc_conv_intrinsic_btest): Likewise
200         (gfc_conv_intrinsic_bitcomp): Likewise
201         (gfc_conv_intrinsic_shift): Likewise
202         (gfc_conv_intrinsic_ishft): Likewise
203         (gfc_conv_intrinsic_ishftc): Likewise
204         (gfc_conv_intrinsic_leadz): Likewise
205         (gfc_conv_intrinsic_trailz): Likewise
206         (gfc_conv_intrinsic_mask): Likewise
207         (gfc_conv_intrinsic_spacing): Likewise
208         (gfc_conv_intrinsic_rrspacing): Likewise
209         (gfc_conv_intrinsic_size): Likewise
210         (gfc_conv_intrinsic_sizeof): Likewise
211         (gfc_conv_intrinsic_transfer): Likewise
212         (gfc_conv_allocated): Likewise
213         (gfc_conv_associated): Likewise
214         (gfc_conv_same_type_as): Likewise
215         (gfc_conv_intrinsic_trim): Likewise
216         (gfc_conv_intrinsic_repeat): Likewise
217         (conv_isocbinding_function): Likewise
218         (conv_intrinsic_ieee_is_normal): Likewise
219         (conv_intrinsic_ieee_is_negative): Likewise
220         (conv_intrinsic_ieee_copy_sign): Likewise
221         (conv_intrinsic_move_alloc): Likewise
222         * trans-io.c (set_parameter_value_chk): Likewise
223         (set_parameter_value_inquire): Likewise
224         (set_string): Likewise
225         * trans-openmp.c (gfc_walk_alloc_comps): Likewise
226         (gfc_omp_clause_default_ctor): Likewise
227         (gfc_omp_clause_copy_ctor): Likewise
228         (gfc_omp_clause_assign_op): Likewise
229         (gfc_omp_clause_dtor): Likewise
230         (gfc_omp_finish_clause): Likewise
231         (gfc_trans_omp_clauses): Likewise
232         (gfc_trans_omp_do): Likewise
233         * trans-stmt.c (gfc_trans_goto): Likewise
234         (gfc_trans_sync): Likewise
235         (gfc_trans_arithmetic_if): Likewise
236         (gfc_trans_simple_do): Likewise
237         (gfc_trans_do): Likewise
238         (gfc_trans_forall_loop): Likewise
239         (gfc_trans_where_2): Likewise
240         (gfc_trans_allocate): Likewise
241         (gfc_trans_deallocate): Likewise
242         * trans-types.c (gfc_init_types): Initialize logical_type_node and
243         their true/false trees.
244         (gfc_get_array_descr_info): Use logical_type_node.
245         * trans-types.h (logical_type_node): New tree.
246         (logical_true_node): Likewise.
247         (logical_false_node): Likewise.
248         * trans.c (gfc_trans_runtime_check): Use logical_type_node.
249         (gfc_call_malloc): Likewise
250         (gfc_allocate_using_malloc): Likewise
251         (gfc_allocate_allocatable): Likewise
252         (gfc_add_comp_finalizer_call): Likewise
253         (gfc_add_finalizer_call): Likewise
254         (gfc_deallocate_with_status): Likewise
255         (gfc_deallocate_scalar_with_status): Likewise
256         (gfc_call_realloc): Likewise
258 2017-11-06  Paul Thomas  <pault@gcc.gnu.org>
260         Backported from trunk
261         PR fortran/78641
262         * resolve.c (resolve_ordinary_assign): Do not add the _data
263         component for class valued array constructors being assigned
264         to derived type arrays.
265         * trans-array.c (gfc_trans_array_ctor_element): Take the _data
266         of class valued elements for assignment to derived type arrays.
268 2017-11-06  Paul Thomas  <pault@gcc.gnu.org>
270         Backported from trunk
271         PR fortran/69739
272         * trans-expr.c (gfc_map_intrinsic_function): Return false for
273         bounds without the DIM argument instead of ICEing.
275 2017-11-04  Steven G. Kargl  <kargl@gcc.gnu.org>
277         PR fortran/82796
278         * resolve.c (resolve_equivalence): An entity in a common block within
279         a module cannot appear in an equivalence statement if the entity is
280         with a pure procedure.
282 2017-11-04  Andre Vehreschild  <vehre@gcc.gnu.org>
284         * trans-expr.c (gfc_trans_assignment_1): Character kind conversion may
285         create a loop variant temporary, too.
286         * trans-intrinsic.c (conv_caf_send): Treat char arrays as arrays and
287         not as scalars.
288         * trans.c (get_array_span): Take the character kind into account when
289         doing pointer arithmetic.
291 2017-11-03  Paul Thomas  <pault@gcc.gnu.org>
293         PR fortran/81735
294         * trans-decl.c (gfc_trans_deferred_vars): Correct case where
295         'tmp' can be used unititialized.
297 2017-11-01  Paul Thomas  <pault@gcc.gnu.org>
299         Backported from trunk
300         PR fortran/80554
301         * decl.c (build_sym): In a submodule allow overriding of host
302         associated symbols from the ancestor module with a new
303         declaration.
305 2017-11-01  Paul Thomas  <pault@gcc.gnu.org>
307         Backport from trunk
308         PR fortran/80850
309         * trans_expr.c (gfc_conv_procedure_call): When passing a class
310         argument to an unlimited polymorphic dummy, it is wrong to cast
311         the passed expression as unlimited, unless it is unlimited. The
312         correct way is to assign to each of the fields and set the _len
313         field to zero.
315 2017-10-28  Andre Vehreschild  <vehre@gcc.gnu.org>
317         * check.c (gfc_check_co_reduce): Clarify error message.
319 2017-10-28  Paul Thomas  <pault@gcc.gnu.org>
321         Backported from trunk
322         PR fortran/81758
323         * trans-expr.c (trans_class_vptr_len_assignment): 'vptr_expr'
324         must only be set if the right hand side expression is of type
325         class.
327 2017-10-21  Paul Thomas  <pault@gcc.gnu.org>
329         Backport from trunk
330         PR fortran/82312
331         * resolve.c (gfc_resolve_code): Simplify condition for class
332         pointer assignments becoming regular assignments by asserting
333         that only class valued targets are permitted.
334         * trans-expr.c (trans_class_pointer_fcn): New function using a
335         block of code from gfc_trans_pointer_assignment.
336         (gfc_trans_pointer_assignment): Call the new function. Tidy up
337         a minor whitespace issue.
339 2017-10-20  Thomas Koenig  <tkoenig@gcc.gnu.org>
341         Backport from trunk
342         PR fortran/79795
343         * resolve.c (resovle_symbol): Change gcc_assert to
344         sensible error message.
346 2017-10-16  Paul Thomas  <pault@gcc.gnu.org>
348         PR fortran/52832
349         * match.c (gfc_match_associate): Before failing the association
350         try again, allowing a proc pointer selector.
352         PR fortran/80120
353         PR fortran/81903
354         PR fortran/82121
355         * primary.c (gfc_match_varspec): Introduce 'tgt_expr', which
356         points to the associate selector, if any. Go through selector
357         references, after resolution for variables, to catch any full
358         or section array references. If a class associate name does
359         not have the same declared type as the selector, resolve the
360         selector and copy the declared type to the associate name.
361         Before throwing a no implicit type error, resolve all allowed
362         selector expressions, and copy the resulting typespec.
364         PR fortran/67543
365         * resolve.c (resolve_assoc_var): Selector must cannot be the
366         NULL expression and it must have a type.
368         PR fortran/78152
369         * resolve.c (resolve_symbol): Allow associate names to be
370         coarrays.
372 2017-10-16  Paul Thomas  <pault@gcc.gnu.org>
374         Backport from trunk
375         PR fortran/81048
376         * resolve.c (resolve_symbol): Ensure that derived type array
377         results get default initialization.
379 2017-10-03  Thomas Koenig  <tkoenig@gcc.gnu.org>
380             Steven G. Kargl  <kargl@gcc.gnu.org>
382         Backport from trunk
383         PR fortran/80118
384         * expr.c (gfc_get_full_arrayspec_from_expr): If there is
385         no symtree, set array spec to NULL.
387 2017-09-02  Janus Weil  <janus@gcc.gnu.org>
389         Backport from trunk
390         PR fortran/81770
391         * expr.c (gfc_check_pointer_assign): Improve the check whether pointer
392         may outlive pointer target.
394 2017-08-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
396         Backport from trunk
397         PR fortran/81296
398         * trans-io.c (get_dtio_proc): Add check for format label and set
399         formatted flag accordingly. Reorganize the code a little.
401 2017-08-18  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
403         Backport from trunk
404         PR fortran/80164
405         * trans-stmt.c (gfc_trans_call): If no code expr, use code->loc
406         as warning/error locus.
408 2017-08-14  Release Manager
410         * GCC 7.2.0 released.
412 2017-06-09  Janus Weil  <janus@gcc.gnu.org>
414         Backport from trunk
415         PR fortran/70601
416         * trans-expr.c (gfc_conv_procedure_call): Fix detection of allocatable
417         function results.
419 2017-06-05  Janus Weil  <janus@gcc.gnu.org>
421         Backport from trunk
422         PR fortran/80766
423         * resolve.c (resolve_fl_derived): Make sure that vtype symbols are
424         properly resolved.
426 2017-06-02  Thomas Koenig  <tkoenig@gcc.gnu.org>
428         PR fortran/80904
429         * frontend-passes.c (matmul_lhs_realloc):  Correct
430         allocation size for case A1B2.
432 2017-06-02  Jakub Jelinek  <jakub@redhat.com>
434         PR fortran/80918
435         * openmp.c (resolve_omp_clauses): Fix a typo.
437 2017-05-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
439         Backport from trunk
440         PR fortran/80741
441         * trans-io.c (transfer_namelist_element): Change check from
442         NULL_TREE to null_pointer_node.
444 2017-05-23  Paul Thomas  <pault@gcc.gnu.org>
446         Backport from trunk
447         PR fortran/80333
448         * trans-io.c (nml_get_addr_expr): If we are dealing with class
449         type data set tmp tree to get that address.
450         (transfer_namelist_element): Set the array spec to point to the
451         the class data.
453 2017-05-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
455         Backport from trunk
456         PR fortran/78659
457         * io.c (dtio_procs_present): Add new function to check for DTIO
458         procedures relative to I/O statement READ or WRITE.
459         (gfc_resolve_dt): Add namelist checks using the new function.
460         * resolve.c (dtio_procs_present): Remove function and related
461         namelist checks. (resolve_fl_namelist): Add check specific to
462         Fortran 95 restriction on namelist objects.
464 2017-05-15  Steven G. Kargl  <kargl@gcc.gnu.org>
466         Backport from trunk
467         PR fortran/80752
468         * expr.c (gfc_generate_initializer):  If type conversion fails,
469         check for error and return NULL.
471 2017-05-05  Janus Weil  <janus@gcc.gnu.org>
473         Backport from trunk
474         PR fortran/80121
475         * trans-expr.c (gfc_conv_procedure_call): Deallocate the components
476         of allocatable intent(out) arguments.
478 2017-05-05  Janus Weil  <janus@gcc.gnu.org>
480         Backport from trunk
481         PR fortran/80392
482         * trans-types.c (gfc_get_derived_type): Prevent an infinite loop when
483         building a derived type that includes a procedure pointer component
484         with a polymorphic result.
486 2017-05-04  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
488         Backport from trunk.
489         PR fortran/80484
490         * io.c (format_lex): Check for '/' and set token to FMT_SLASH.
491         (check_format): Move FMT_DT checking code to data_desc section.
492         * module.c (gfc_match_use): Include the case of INTERFACE_DTIO.
494 2017-05-02  Release Manager
496         * GCC 7.1.0 released.
498 2017-04-17  Paul Thomas  <pault@gcc.gnu.org>
500         PR fortran/80440
501         * module.c (find_symtree_for_symbol): Delete.
502         (read_module): Remove the call to the above.
504 2017-04-14  Janus Weil  <janus@gcc.gnu.org>
506         PR fortran/80361
507         * class.c (generate_finalization_wrapper): Give the finalization wrapper
508         the recursive attribute.
510 2017-04-10  Nicolas Koenig  <koenigni@student.ethz.ch>
511             Paul Thomas  <pault@gcc.gnu.org>
513         PR fortran/69498
514         * module.c (gfc_match_submodule): Add error
515         if function is called in the wrong state.
517 2017-04-10  Janus Weil  <janus@gcc.gnu.org>
519         PR fortran/80046
520         * expr.c (gfc_check_pointer_assign): Check if procedure pointer
521         components in a pointer assignment need an explicit interface.
523 2017-03-18  Nicolas Koenig  <koenigni@student.ethz.ch>
525         PR fortran/69498
526         * symbol.c (gfc_delete_symtree): If there is a period in the name, ignore
527         everything before it.
529 2017-03-28  Janus Weil  <janus@gcc.gnu.org>
531         PR fortran/78661
532         * trans-io.c (transfer_namelist_element): Perform a polymorphic call
533         to a DTIO procedure if necessary.
535 2017-03-25  Paul Thomas  <pault@gcc.gnu.org>
537         PR fortran/80156
538         PR fortran/79382
539         * decl.c (access_attr_decl): Remove the error for an absent
540         generic DTIO interface and ensure that symbol has the flavor
541         FL_PROCEDURE.
543 2017-03-22  Dominique d'Humieres  <dominiq@lps.ens.fr>
545         PR fortran/79838
546         * module.c: Remove trailing period.
548 2017-03-22  Dominique d'Humieres  <dominiq@lps.ens.fr>
550         PR fortran/79602
551         * decl.c: Replace '%s' with %qs.
552         * expr.c: Likewise.
553         * interface.c: Likewise.
554         * match.c: Likewise.
555         * primary.c: Likewise.
556         * resolve.c: Likewise.
558         PR fortran/79844
559         PR fortran/80011
560         * io.c: Remove trailing spaces.
561         * match.c: Likewise.
562         * openmp.c: Likewise.
563         * resolve.c: Likewise.
564         * trans-intrinsic.c: Likewise.
566         PR fortran/79853
567         * expr.c: Remove a double spaces.
569         PR fortran/79859
570         * primary.c: Remove spurious quotes around %qs.
572 2017-03-22  Thomas Koenig  <tkoenig@gcc.gnu.org>
574         PR fortran/80142
575         * frontend-passes.c (combine_array_constructor): Take
576         location of new expression from constructor expression instead
577         of constructor.
579 2017-03-20  Nicolas Koenig  <koenigni@student.ethz.ch>
581         PR fortran/39239
582         * symbol.c (check_conflict): Report an error if an EQUIVALENCE
583         object is BIND(C)
585 2017-03-18  Nicolas Koenig  <koenigni@student.ethz.ch>
587         PR fortran/69498
588         * decl.c (add_hidden_procptr_result): Fixed Refs count of the
589         created "ppr@" symbol.
591 2017-03-18  Paul Thomas  <pault@gcc.gnu.org>
593         PR fortran/79676
594         * module.c (mio_symbol_attribute): Remove reset of the flag
595         'no_module_procedures'.
596         (check_for_module_procedures): New function. Move declaration
597         of 'no_module_procedures' to above it.
598         (gfc_dump_module): Traverse namespace calling new function.
600 2017-03-18  Paul Thomas  <pault@gcc.gnu.org>
602         PR fortran/71838
603         * symbol.c (check_conflict): A dummy procedure in a submodule,
604         module procedure is not an error.
605         (gfc_add_flavor): Ditto.
607 2017-03-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
609         PR fortran/79841
610         * openmp.c (check_symbol_not_pointer): Adjust diagnostics.
612 2017-03-16  Jakub Jelinek  <jakub@redhat.com>
614         PR fortran/80010
615         * parse.c (gfc_ascii_statement): Use !$ACC for ST_OACC_ATOMIC
616         and ST_OACC_END_ATOMIC, instead of !ACC.
617         * trans-decl.c (finish_oacc_declare): Use !$ACC instead of $!ACC.
618         * openmp.c (gfc_match_oacc_declare, gfc_match_oacc_wait,
619         gfc_resolve_oacc_declare): Likewise.
621         PR fortran/79886
622         * error.c (gfc_format_decoder): Rename plus argument to set_locus,
623         remove ATTRIBUTE_UNUSED from all arguments, call default_tree_printer
624         if not a Fortran specific spec.
625         * trans-io.c: Include options.h.
626         (gfc_build_st_parameter): Temporarily disable -Wpadded around layout
627         of artificial IO data structures.
629 2017-03-15  David Malcolm  <dmalcolm@redhat.com>
631         PR fortran/79860
632         * resolve.c (resolve_contained_fntype): Make error messages more
633         amenable to translation.
635 2017-03-06  Richard Biener  <rguenther@suse.de>
637         PR fortran/79894
638         * trans.c (gfc_add_modify_loc): Weaken assert.
640 2017-03-05  Andre Vehreschild  <vehre@gcc.gnu.org>,
641             Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>
643         * check.c (positive_check): Add new function checking constant for
644         being greater then zero.
645         (gfc_check_image_status): Add checking of image_status arguments.
646         (gfc_check_failed_or_stopped_images): Same but for failed_- and
647         stopped_images function.
648         * dump-parse-tree.c (show_code_node): Added output of FAIL IMAGE.
649         * gfortran.h (enum gfc_statement): Added FAIL_IMAGE_ST.
650         (enum gfc_isym_id): Added new intrinsic symbols.
651         (enum gfc_exec_op): Added EXEC_FAIL_IMAGE.
652         * gfortran.texi: Added description for the new API functions. Updated
653         coverage of gfortran of TS18508.
654         * intrinsic.c (add_functions): Added symbols to resolve new intrinsic
655         functions.
656         * intrinsic.h: Added prototypes.
657         * iresolve.c (gfc_resolve_failed_images): Resolve the failed_images
658         intrinsic.
659         (gfc_resolve_image_status): Same for image_status.
660         (gfc_resolve_stopped_images): Same for stopped_images.
661         * libgfortran.h: Added prototypes.
662         * match.c (gfc_match_if): Added matching of FAIL IMAGE statement.
663         (gfc_match_fail_image): Match a FAIL IMAGE statement.
664         * match.h: Added prototype.
665         * parse.c (decode_statement): Added matching for FAIL IMAGE.
666         (next_statement): Same.
667         (gfc_ascii_statement): Same.
668         * resolve.c: Same.
669         * simplify.c (gfc_simplify_failed_or_stopped_images): For COARRAY=
670         single a constant result can be returne.d
671         (gfc_simplify_image_status): For COARRAY=single the result is constant.
672         * st.c (gfc_free_statement): Added FAIL_IMAGE handling.
673         * trans-decl.c (gfc_build_builtin_function_decls): Added decls of the
674         new intrinsics.
675         * trans-expr.c (gfc_conv_procedure_call): This is first time all
676         arguments of a function are optional, which is now handled here
677         correctly.
678         * trans-intrinsic.c (conv_intrinsic_image_status): Translate
679         image_status.
680         (gfc_conv_intrinsic_function): Add support for image_status.
681         (gfc_is_intrinsic_libcall): Add support for the remaining new
682         intrinsics.
683         * trans-stmt.c (gfc_trans_fail_image): Trans a fail image.
684         * trans-stmt.h: Add the prototype for the above.
685         * trans.c (trans_code): Dispatch for fail_image.
686         * trans.h: Add the trees for the new intrinsics.
688 2017-03-03  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
690         PR fortran/79841
691         * openmp.c (check_symbol_not_pointer): Adjust diagnostic.
693 2017-02-28  Paul Thomas  <pault@gcc.gnu.org>
695         PR fortran/79739
696         * resolve.c (resolve_fl_procedure): Deal with the case where
697         'submodule_name' is NULL so that gfc_error does not ICE.
698         Reformat the error message to make it more consistent.
700 2017-02-28  Jakub Jelinek  <jakub@redhat.com>
702         * parse.c (parse_critical_block): Use cond ? G_("...") : G_("...")
703         instead of just cond ? "..." : "...".
704         * scanner.c (gfc_next_char_literal): Likewise.
705         * match.c (match_exit_cycle): Likewise.
707 2017-02-26  Thomas Koenig  <tkoenig@gcc.gnu.org>
709         PR fortran/51119
710         * options.c (gfc_post_options): Set default limit for matmul
711         inlining to 30.
712         * invoke.texi: Document change.
714 2017-02-25  Dominique d'Humieres  <dominiq@lps.ens.fr>
716         PR fortran/79601
717         * interface.c (check_dtio_arg_TKR_intent): Change 'intent'
718         to 'INTENT'.
720 2017-02-25  Dominique d'Humieres  <dominiq@lps.ens.fr>
722         PR fortran/79597
723         * interface.c (gfc_match_end_interface): Remove spurious comma
724         and space, replace 'got %s' with 'got %qs'.
726 2017-02-20  Paul Thomas  <pault@gcc.gnu.org>
728         PR fortran/79599
729         * interface.c (check_dtio_arg_TKR_intent): Supply 'must'
730         missing from error message.
732 2017-02-20  Paul Thomas  <pault@gcc.gnu.org>
734         PR fortran/79523
735         * interface.c (gfc_find_typebound_dtio_proc): Guard test for
736         flavor attribute by checking that symbol is resolved.
738 2017-02-16  Paul Thomas  <pault@gcc.gnu.org>
740         PR fortran/79382
741         * decl.c (access_attr_decl): Test for presence of generic DTIO
742         interface and emit error if not present.
744 2017-02-20  Paul Thomas  <pault@gcc.gnu.org>
746         PR fortran/79434
747         * parse.c (check_component, parse_union): Whitespace.
748         (set_syms_host_assoc): For a derived type, check if the module
749         in which it was declared is one of the submodule ancestors. If
750         it is, make the components public. Otherwise, reset attribute
751         'host_assoc' and set 'use-assoc' so that encapsulation is
752         preserved.
754 2017-02-19  Paul Thomas  <pault@gcc.gnu.org>
756         PR fortran/79447
757         * decl.c (gfc_set_constant_character_len): Whitespace.
758         (gfc_match_end): Catch case where a procedure is contained in
759         a module procedure and ensure that 'end procedure' is the
760         correct termination.
762 2017-02-19  Paul Thomas  <pault@gcc.gnu.org>
764         PR fortran/79402
765         * resolve.c (fixup_unique_dummy): New function.
766         (gfc_resolve_expr): Call it for dummy variables with a unique
767         symtree name.
769 2017-02-19  Andre Vehreschild  <vehre@gcc.gnu.org>
771         PR fortran/79229
772         * trans-expr.c (gfc_trans_assignment_1): Deref indirect refs when
773         compiling with -fcheck=mem to check the pointer and not the data.
775 2017-02-19  Andre Vehreschild  <vehre@gcc.gnu.org>
777         PR fortran/79335
778         * trans-array.c (duplicate_allocatable_coarray): Ensure attributes
779         passed are properly initialized.
780         (structure_alloc_comps): Same.
781         * trans-expr.c (gfc_trans_structure_assign): Same.
783 2017-02-13  Jakub Jelinek  <jakub@redhat.com>
785         * trans-expr.c (gfc_conv_substring): Add missing space in diagnostics.
787 2017-02-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
789         PR fortran/65542
790         * intrinsic.c (gfc_intrinsic_func_interface):  Return an error
791         for -std=f95 for disallowed transformational functions in
792         initialization expressions.
794 2017-02-09  Cesar Philippidis  <cesar@codesourcery.com>
795             Joseph Myers  <joseph@codesourcery.com>
797         * openmp.c (resolve_omp_clauses): Error on directives
798         containing both tile and collapse clauses.
799         (resolve_oacc_loop_blocks): Represent '*' tile arguments as zero.
800         * trans-openmp.c (gfc_trans_omp_do): Lower tiled loops like
801         collapsed loops.
803 2017-02-07  Steven G. Kargl  <kargl@gcc.gnu.org>
805         * trans-types.c (gfc_get_int_kind_from_width_isofortranen):  Choose
806         REAL type with the widest precision if two (or more) have the same
807         storage size.
809 2017-02-05  Andre Vehreschild  <vehre@gcc.gnu.org>
811         PR fortran/79344
812         * trans-stmt.c (gfc_trans_allocate): Only deallocate the components of
813         the temporary, when a new object was created for the temporary.  Not
814         when it is just an alias to an existing object.
816 2017-02-05  Andre Vehreschild  <vehre@gcc.gnu.org>
818         PR fortran/79335
819         * trans-decl.c (generate_coarray_sym_init): Retrieve the symbol's
820         attributes before using them.
822 2017-02-05  Andre Vehreschild  <vehre@gcc.gnu.org>
824         PR fortran/78958
825         * trans-stmt.c (gfc_trans_allocate): Add the multiplying the _len
826         component of unlimited polymorphic objects when source-allocating.
828 2017-02-05  Andre Vehreschild  <vehre@gcc.gnu.org>
830         PR fortran/79230
831         * trans-array.c (structure_alloc_comps): Ignore pointer components when
832         freeing structures.
834 2017-01-25  Maxim Ostapenko  <m.ostapenko@samsung.com>
836         PR lto/79061
837         * f95-lang.c (gfc_create_decls): Include stringpool.h.
838         Pass main_input_filename to build_translation_unit_decl.
840 2017-01-23  Thomas Koenig  <tkoenig@netcologne.de>
842         * arith.c (arith_power):  If simplifying integer power expression
843         to zero, warn if -Winteger-division is given.
845 2017-01-22  Jakub Jelinek  <jakub@redhat.com>
847         PR fortran/79154
848         * parse.c (matchs, matcho, matchds, matchdo): Replace return st;
849         with { ret = st; goto finish; }.
850         (decode_omp_directive): Allow declare simd, declare target and
851         simd directives in PURE/ELEMENTAL procedures.  Only call
852         gfc_unset_implicit_pure on successful match of other procedures.
854 2017-01-21  Gerald Pfeifer  <gerald@pfeifer.com>
856         * gfc-internals.texi (Symbol Versioning): Change references
857         to www.akkadia.org to https.
859 2017-01-21  Jakub Jelinek  <jakub@redhat.com>
861         * gfortran.h (gfc_extract_int): Change return type to bool.  Add
862         int argument with = 0.
863         * decl.c (gfc_match_kind_spec): Adjust gfc_extract_int caller, pass
864         1 as new last argument to it, don't emit gfc_error.
865         (match_char_kind): Likewise.
866         (gfc_match_decl_type_spec): Use gfc_get_string ("%s", x) instead of
867         gfc_get_string (x).
868         (gfc_match_derived_decl, match_binding_attributes): Likewise.
869         (gfc_match_structure_decl): Don't sprintf back to name, call
870         get_struct_decl directly with gfc_dt_upper_string (name) result.
871         * trans-stmt.c (gfc_trans_allocate): Use gfc_get_string ("%s", x)
872         instead of gfc_get_string (x).
873         * module.c (gfc_dt_lower_string, gfc_dt_upper_string,
874         gfc_match_use, gfc_match_submodule, find_true_name, mio_pool_string,
875         mio_symtree_ref, mio_expr, mio_omp_udr_expr, load_generic_interfaces,
876         load_omp_udrs, load_needed, read_module, dump_module,
877         create_intrinsic_function, import_iso_c_binding_module,
878         create_int_parameter, create_int_parameter_array, create_derived_type,
879         use_iso_fortran_env_module): Likewise.
880         * error.c (gfc_diagnostic_starter, gfc_diagnostic_start_span): Use
881         pp_verbatim (context->printer, "%s", x) instead of
882         pp_verbatim (context->printer, x).
883         * match.c (gfc_match_small_int): Adjust gfc_extract_int caller, pass
884         1 as new last argument to it, don't emit gfc_error.
885         (gfc_match_small_int_expr): Likewise.
886         * iresolve.c (gfc_get_string): Optimize format "%s" case.
887         (resolve_bound): Use gfc_get_string ("%s", x) instead of
888         gfc_get_string (x).
889         (resolve_transformational): Formatting fix.
890         (gfc_resolve_char_achar): Change name argument to bool is_achar,
891         use a single format string and if is_achar add "a" before "char".
892         (gfc_resolve_achar, gfc_resolve_char): Adjust callers.
893         * expr.c (gfc_extract_int): Change return type to bool, return true
894         if some error occurred.  Add REPORT_ERROR argument, if non-zero
895         call either gfc_error or gfc_error_now depending on its sign.
896         * arith.c (arith_power): Adjust gfc_extract_int caller.
897         * symbol.c (gfc_add_component): Use gfc_get_string ("%s", x) instead
898         of gfc_get_string (x).
899         (gfc_new_symtree, gfc_delete_symtree, gfc_get_uop, gfc_new_symbol,
900         gfc_get_gsymbol, generate_isocbinding_symbol): Likewise.
901         * openmp.c (gfc_match_omp_clauses): Adjust gfc_extract_int caller, pass
902         -1 as new last argument to it, don't emit gfc_error_now.
903         (gfc_match_omp_declare_reduction): Use gfc_get_string ("%s", x)
904         instead of gfc_get_string (x).
905         * check.c (kind_check): Adjust gfc_extract_int caller.
906         * intrinsic.c (add_sym, find_sym, make_alias): Use
907         gfc_get_string ("%s", x) instead of gfc_get_string (x).
908         * simplify.c (get_kind, gfc_simplify_btest, gfc_simplify_maskr,
909         gfc_simplify_maskl, gfc_simplify_poppar, gfc_simplify_repeat,
910         gfc_simplify_selected_int_kind, gfc_simplify_selected_real_kind):
911         Adjust gfc_extract_int callers.
912         * trans-decl.c (gfc_find_module): Use gfc_get_string ("%s", x)
913         instead of gfc_get_string (x).
914         * matchexp.c (expression_syntax): Add const.
915         * primary.c (match_kind_param, match_hollerith_constant,
916         match_string_constant): Adjust gfc_extract_int callers.
917         (match_keyword_arg): Use gfc_get_string ("%s", x) instead of
918         gfc_get_string (x).
919         * frontend-passes.c (optimize_minmaxloc): Likewise.
921 2017-01-19  Andre Vehreschild  <vehre@gcc.gnu.org>
923         PR fortran/70696
924         * trans-decl.c (gfc_build_qualified_array): Add static decl to parent
925         function only, when the decl-context is not the translation unit.
927 2017-01-18  Louis Krupp  <louis.krupp@zoho.com>
929         PR fortran/50069
930         PR fortran/55086
931         * trans-expr.c (gfc_conv_variable): Don't treat temporary variables
932         as function arguments.
933         * trans-stmt.c (forall_make_variable_temp,
934         generate_loop_for_temp_to_lhs, gfc_trans_assign_need_temp,
935         gfc_trans_forall_1): Don't adjust offset of forall temporary
936         for array sections, make forall temporaries work for substring
937         expressions, improve test coverage by adding -ftest-forall-temp
938         option to request usage of temporary array in forall code.
939         * lang.opt: Add -ftest-forall-temp option.
940         * invoke.texi: Add -ftest-forall-temp option.
942 2017-01-18  Andre Vehreschild  <vehre@gcc.gnu.org>
944         * primary.c (caf_variable_attr): Improve figuring whether the current
945         component is the last one refed.
946         * trans-stmt.c (gfc_trans_allocate): Do not generate sync_all calls
947         when allocating pointer or allocatable components.
949 2017-01-18  Andre Vehreschild  <vehre@gcc.gnu.org>
951         * gfortran.texi: Add missing parameters to caf-API functions.  Correct
952         typos and clarify some descriptions.
954 2017-01-18  Andre Vehreschild  <vehre@gcc.gnu.org>
956         PR fortran/70696
957         Missed some cases, here they are:
958         * trans-decl.c (gfc_build_qualified_array): Add static tokens to the
959         parent function's scope.
960         * trans-expr.c (gfc_get_tree_for_caf_expr): Shorten code.  Remove
961         unnecessary assert.
963 2017-01-13  Andre Vehreschild  <vehre@gcc.gnu.org>
965         PR fortran/70697
966         * resolve.c (resolve_lock_unlock_event): Resolve the expression for
967         event's until_count.
969 2017-01-13  Andre Vehreschild  <vehre@gcc.gnu.org>
971         PR fortran/70696
972         * trans-expr.c (gfc_get_tree_for_caf_expr): Ensure the backend_decl
973         is valid before accessing it.
975 2017-01-09  Jakub Jelinek  <jakub@redhat.com>
977         PR translation/79019
978         PR translation/79020
979         * decl.c (attr_decl1): Fix spelling in translatable string.
980         * intrinsic.texi: Fix spelling - invokation -> invocation.
981         * lang.opt (faggressive-function-elimination, gfc_convert): Fix
982         typos in descriptions.
983         * openmp.c (resolve_omp_clauses): Add missing whitespace to
984         translatable strings.
986 2017-01-08  Martin Sebor  <msebor@redhat.com>
988         PR tree-optimization/78913
989         PR middle-end/77708
990         * trans-common.c (build_equiv_decl): Increase buffer size to avoid
991         truncation for any argument.
992         * trans-types.c (gfc_build_logical_type): Same.
994 2017-01-07  Andre Vehreschild  <vehre@gcc.gnu.org>
996         PR fortran/78781
997         PR fortran/78935
998         * expr.c (gfc_check_pointer_assign): Return the same error message for
999         rewritten coarray pointer assignments like for plain ones.
1000         * gfortran.h: Change prototype.
1001         * primary.c (caf_variable_attr): Set attributes used ones only only
1002         ones.  Add setting of pointer_comp attribute.
1003         (gfc_caf_attr): Add setting of pointer_comp attribute.
1004         * trans-array.c (gfc_array_allocate): Add flag that the component to
1005         allocate is not an ultimate coarray component.  Add allocation of
1006         pointer arrays.
1007         (structure_alloc_comps): Extend nullify to treat pointer components in
1008         coarrays correctly.  Restructure nullify to remove redundant code.
1009         (gfc_nullify_alloc_comp): Allow setting caf_mode flags.
1010         * trans-array.h: Change prototype of gfc_nullify_alloc_comp ().
1011         * trans-decl.c (generate_coarray_sym_init): Call nullify_alloc_comp for
1012         derived type coarrays with pointer components.
1013         * trans-expr.c (gfc_trans_structure_assign): Also treat pointer
1014         components.
1015         (trans_caf_token_assign): Handle assignment of token of scalar pointer
1016         components.
1017         (gfc_trans_pointer_assignment): Call above routine.
1018         * trans-intrinsic.c (conv_expr_ref_to_caf_ref): Add treating pointer
1019         components.
1020         (gfc_conv_intrinsic_caf_get): Likewise.
1021         (conv_caf_send): Likewise.
1022         * trans-stmt.c (gfc_trans_allocate): After allocating a derived type in
1023         a coarray pre-register the tokens.
1024         (gfc_trans_deallocate): Simply determining the coarray type (scalar or
1025         array) and deregistering it correctly.
1026         * trans-types.c (gfc_typenode_for_spec): Replace in_coarray flag by the
1027         actual codim to allow lookup of array types in the cache.
1028         (gfc_build_array_type): Likewise.
1029         (gfc_get_array_descriptor_base): Likewise.
1030         (gfc_get_array_type_bounds): Likewise.
1031         (gfc_get_derived_type): Likewise.
1032         * trans-types.h: Likewise.
1033         * trans.c (gfc_deallocate_with_status): Enable deregistering of all kind
1034         of coarray components.
1035         (gfc_deallocate_scalar_with_status): Use free() in fcoarray_single mode
1036         instead of caf_deregister.
1038 2017-01-06  Jakub Jelinek  <jakub@redhat.com>
1040         * simplify.c (simplify_transformation_to_array): Use
1041         GCC_DIAGNOSTIC_PUSH_IGNORED and GCC_DIAGNOSTIC_POP instead of
1042         #pragma GCC diagnostic {push,ignored,pop}.
1044 2017-01-06  Alexandre Oliva <aoliva@redhat.com>
1046         * simplify.c (simplify_transformation_to_array): Silence
1047         array bounds warning.  Fix whitespace.
1049 2017-01-04  Alexandre Oliva <aoliva@redhat.com>
1051         * module.c (load_omp_udrs): Initialize name.
1053 2017-01-02  Janne Blomqvist  <jb@gcc.gnu.org>
1055         PR fortran/78534
1056         * trans-expr.c (gfc_trans_string_copy): Rework string copy
1057         algorithm to avoid -Wstringop-overflow warning.
1059 2017-01-01  Jakub Jelinek  <jakub@redhat.com>
1061         Update copyright years.
1063         * gfortranspec.c (lang_specific_driver): Update copyright notice
1064         dates.
1065         * gfc-internals.texi: Bump @copying's copyright year.
1066         * gfortran.texi: Ditto.
1067         * intrinsic.texi: Ditto.
1068         * invoke.texi: Ditto.
1070 Copyright (C) 2017 Free Software Foundation, Inc.
1072 Copying and distribution of this file, with or without modification,
1073 are permitted in any medium without royalty provided the copyright
1074 notice and this notice are preserved.