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