[3/77] Allow machine modes to be classes
[official-gcc.git] / gcc / fortran / ChangeLog
blobfe2d80214a533fd849f12dd929b0cff7804174cf
1 2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
2             Alan Hayward  <alan.hayward@arm.com>
3             David Sherwood  <david.sherwood@arm.com>
5         * trans-types.c (gfc_init_kinds): Use machine_mode instead of int
6         for "mode".
8 2017-08-28  Janus Weil  <janus@gcc.gnu.org>
10         PR fortran/81770
11         * expr.c (gfc_check_pointer_assign): Improve the check whether pointer
12         may outlive pointer target.
14 2017-08-27  Thomas Koenig  <tkoenig@gcc.gnu.org>
16         PR fortran/81974
17         * frontend-passes (inline_matumul_assign):  Explicity
18         set typespec for call to CONJG.
20 2017-08-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
22         PR fortran/81296
23         * trans-io.c (get_dtio_proc): Add check for format label and set
24         formatted flag accordingly. Reorganize the code a little.
26 2017-08-16  Thomas Koenig  <tkoenig@gcc.gnu.org>
28         PR fortran/81116
29         * frontend-passes.c (realloc_string_callback): If expression is a
30         concatenation, also check for dependency.
31         (constant_string_length): Check for presence of symtree.
33 2017-08-13  Thomas Koenig  <tkoenig@gcc.gnu.org>
35         * gfortran.texi: Document format of unformatted sequential files.
37 2017-08-11  Thomas Koenig  <tkoenig@gcc.gnu.org>
39         * invoke.texi:  Actually commit change about -Ofast.
41 2017-08-11  Thomas Koenig  <tkoenig@gcc.gnu.org>
43         PR fortran/60355
44         * resolve.c (resolve_symbol): Adjust (and reformat)
45         comment.  Perform check if a BIND(C) is declared
46         at module level regardless of whether it is typed
47         implicitly or not.
49 2017-08-10  Fritz Reese <fritzoreese@gmail.com>
51         * options.c (set_dec_flags): Only set legacy standards when value
52         is not zero.
54 2017-08-10  Fritz Reese <fritzoreese@gmail.com>
56         * options.c (set_dec_flags, gfc_post_options): Only set flag_d_lines
57         with -fdec when not set by user.
59 2017-08-10  Fritz Reese <fritzoreese@gmail.com>
61         * decl.c (attr_seen): New static variable.
62         * decl.c (variable_decl): Match %FILL in STRUCTURE body.
63         * gfortran.texi: Update documentation.
65 2017-08-08  Martin Liska  <mliska@suse.cz>
67         * trans-types.c: Include header files.
69 2017-08-07  Thomas Koenig  <tkoenig@gcc.gnu.org>
71         PR fortran/68829
72         PR fortran/81701
73         * options.c: Make -Ofast honor -fmax-stack-var-size.
74         * invoke.texi: Document change.
76 2017-08-01  Thomas König  <tkoenig@gcc.gnu.org>
78         PR fortran/79312
79         * intrisic.c (gfc_convert_type_warn):  Only set typespec for
80         empty array constructors which don't have it already.
82 2017-08-01  Thomas Koenig  <tkoenig@gcc.gnu.org>
84         PR fortran/45435
85         * lang.opt (fc-prototypes): Add option.
86         * gfortran.h (gfc_typespec): Add interop_kind to struct.
87         (gfc_dump_c_prototypes): Add prototype.
88         * decl.c (gfc_match_kind_spec): Copy symbol used for kind to typespec.
89         * parse.c (gfc_parse_file): Call gfc_dump_prototypes.
90         * dump-parse-tree.c (gfc_dump_c_prototypes): New function.
91         (type_return): New enum.
92         (get_c_type_name): New function.
93         (write_decl): New function.
94         (write_type): New function.
95         (write_variable): New function.
96         (write_proc): New function.
97         (write_interop_decl): New function.
98         * invoke.texi: Document -fc-prototypes.
100 2017-08-01  Dominique d'Humieres  <dominiq@lps.ens.fr>
102         PR fortran/53542
103         * expr.c (gfc_check_init_expr): Use the renamed name.
105 2017-07-31  Jakub Jelinek  <jakub@redhat.com>
107         * check.c (gfc_check_num_images): Fix a pasto.
109 2017-07-29  Jakub Jelinek  <jakub@redhat.com>
111         * trans-decl.c (gfc_trans_use_stmts): Pass false as new argument to
112         the imported_module_or_decl debug hook.
114 2017-07-28  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
116         * resolve.c (find_reachable_labels): Adjust.
118 2017-07-25  Jakub Jelinek  <jakub@redhat.com>
120         * ioparm.def: Use 1U << 31 instead of 1 << 31 as flags2 mask.
122 2017-07-24  Thomas Koenig  <tkoenig@gcc.gnu.org>
124         * dump-parse-tree.c (show_symbol):  Show binding label if present.
126 2017-07-24  Thomas Koenig  <tkoenig@gcc.gnu.org>
127             Mikael Morin  <mikael@gcc.gnu.org>
129         PR fortran/66102
130         * fortran/trans-array.c (gfc_conv_resolve_dependencies):
131         Break if dependency has been found.
133 2017-07-23  Alexander Monakov  <amonakov@ispras.ru>
135         * interface.c (pair_cmp): Fix gfc_symbol comparison.  Adjust comment.
137 2017-07-18  Nathan Sidwell  <nathan@acm.org>
139         * trans.c (gfc_build_array_ref): Use TYPE_MAX_VALUE.
141 2017-07-09  Dominique d'Humieres  <dominiq@lps.ens.fr>
143         PR fortran/81341
144         * class.c (class_array_ref_detected): Remove a redundant
145         condition.
147 2017-07-06  Harald Anlauf  <anlauf@gmx.de>
149         PR fortran/70071
150         * array.c (gfc_ref_dimen_size): Handle bad subscript triplets.
152 2017-07-03  Dominique d'Humieres  <dominiq@lps.ens.fr>
154         PR fortran/79866
155         * resolve.c (resolve_symbol): Fix typo.
157 2017-07-03  Dominique d'Humieres  <dominiq@lps.ens.fr>
159         PR fortran/79843
160         * symbol.c (check_conflict): Add missing "conflicts".
162 2017-06-29  Cesar Philippidis  <cesar@codesourcery.com>
164         PR fortran/77765
165         * openmp.c (gfc_match_oacc_routine): Check if proc_name exist before
166         comparing the routine name against it.
168 2017-06-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
170         PR fortran/80164
171         * trans-stmt.c (gfc_trans_call): If no code expr, use code->loc
172         as warning/error locus.
174 2017-06-24  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
176         PR fortran/81160
177         * arith.c (wprecision_int_real): Set return value before
178         mpz_clear and then return after it.
180 2017-06-15  Janus Weil  <janus@gcc.gnu.org>
182         PR fortran/80983
183         * trans-expr.c (gfc_conv_procedure_call): Deallocate the result of
184         scalar allocatable procedure-pointer components.
186 2017-06-10  Thomas Koenig  <tkoenig@gcc.gnu.org>
188         PR fortran/80988
189         * frontend-passes.c (traverse_io_block):  Also
190         check for variables occurring as indices multiple
191         time in a single implied DO loop.
193 2017-06-05  Janus Weil  <janus@gcc.gnu.org>
195         PR fortran/70601
196         * trans-expr.c (gfc_conv_procedure_call): Fix detection of allocatable
197         function results.
199 2017-06-05  Nicolas Koenig  <koenigni@student.ethz.ch>
201         PR fortran/35339
202         * frontend-passes.c (traverse_io_block): New function.
203         (simplify_io_impl_do): New function.
204         (optimize_namespace): Invoke gfc_code_walker with
205         simplify_io_impl_do.
207 2017-06-02  Jakub Jelinek  <jakub@redhat.com>
209         PR fortran/80918
210         * openmp.c (resolve_omp_clauses): Fix a typo.
212 2017-05-30  David Malcolm  <dmalcolm@redhat.com>
214         * error.c (gfc_format_decoder): Update for new bool and
215         const char ** params.
217 2017-05-29  Thomas Koenig  <tkoenig@gcc.gnu.org>
219         PR fortran/37131
220         * frontend-passes.c (check_conjg_transpose_variable):
221         Add prototype.
222         (has_dimen_vector_ref):  Likewise
223         (matmul_temp_args):  New function. Add prototype.
224         (optimize_namespace):  Call matmul_temp_args.
226 2017-05-28  Thomas Koenig  <tkoenig@gcc.gnu.org>
228         * frontend-passes.c (matmul_lhs_realloc):  Correct
229         allocation size for case A1B2.
231 2017-05-25  Thomas Koenig  <tkoenig@gcc.gnu.org>
233         * dump-parse-tree.c (show_expr):  Also replace
234         with dumpfile for showing values for forgotten
235         case.
237 2017-05-24  Thomas Koenig  <tkoenig@gcc.gnu.org>
239         * dump-parse-tree.c (show_expr):  Replace stdout
240         with dumpfile for showing values.
242 2017-05-24  Thomas Koenig  <tkoenig@gcc.gnu.org>
244         PR fortran/66094
245         * frontend-passes.c (matrix_case):  Add A2TB2.
246         (inline_limit_check):  Handle MATMUL(TRANSPOSE(A),B)
247         (inline_matmul_assign):  Likewise.
249 2017-05-23  Thomas Schwinge  <thomas@codesourcery.com>
251         * openmp.c (OACC_KERNELS_CLAUSES): Add "OMP_CLAUSE_NUM_GANGS",
252         "OMP_CLAUSE_NUM_WORKERS", "OMP_CLAUSE_VECTOR_LENGTH".
254 2017-05-22  Janus Weil  <janus@gcc.gnu.org>
256         PR fortran/80766
257         * resolve.c (resolve_fl_derived): Make sure that vtype symbols are
258         properly resolved.
260 2017-05-19  Paul Thomas  <pault@gcc.gnu.org>
262         PR fortran/80333
263         * trans-io.c (nml_get_addr_expr): If we are dealing with class
264         type data set tmp tree to get that address.
265         (transfer_namelist_element): Set the array spec to point to the
266         the class data.
268 2017-05-19  David Malcolm  <dmalcolm@redhat.com>
270         PR fortran/79852
271         * bbt.c (insert): Remove trailing exclamation mark from message.
272         * decl.c (gfc_match_final_decl): Likewise.
273         * dump-parse-tree.c (show_expr): Likewise.
274         * module.c (gfc_use_module): Likewise.
275         * primary.c (build_actual_constructor): Likewise.
276         (gfc_convert_to_structure_constructor): Likewise.
278 2017-05-19  Thomas Schwinge  <thomas@codesourcery.com>
280         * gfortran.h (enum gfc_omp_default_sharing): Add
281         "OMP_DEFAULT_PRESENT".
282         * dump-parse-tree.c (show_omp_clauses): Handle it.
283         * openmp.c (gfc_match_omp_clauses): Likewise.
284         * trans-openmp.c (gfc_trans_omp_clauses): Likewise.
286 2017-05-18  Fritz Reese <fritzoreese@gmail.com>
288         PR fortran/79968
289         * decl.c (match_attr_spec, gfc_match_automatic,
290         gfc_match_static, gfc_match_structure_decl): Unify diagnostic
291         errors regarding -fdec options.
292         * io.c (match_dec_etag, match_dec_vtag, match_dec_ftag): Ditto.
294 2017-05-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
296         PR fortran/80741
297         * trans-io.c (transfer_namelist_element): Change check from
298         NULL_TREE to null_pointer_node.
300 2017-05-17  Fritz Reese <fritzoreese@gmail.com>
302         PR fortran/80668
303         * expr.c (component_initializer): Don't generate initializers for
304         pointer components.
305         * invoke.texi (-finit-derived): Document.
307 2017-05-16  Paul Thomas  <pault@gcc.gnu.org>
309         PR fortran/80554
310         * decl.c (build_sym): In a submodule allow overriding of host
311         associated symbols from the ancestor module with a new
312         declaration.
314 2017-05-15  Steven G. Kargl  <kargl@gcc.gnu.org>
316         PR fortran/80674
317         * trans-stmt.c (gfc_trans_integer_select): Remove redundant condition.
319 2017-05-15  Steven G. Kargl  <kargl@gcc.gnu.org>
321         PR fortran/80752
322         * expr.c (gfc_generate_initializer):  If type conversion fails,
323         check for error and return NULL.
325 2017-05-14  Nicolas Koenig  <koenigni@student.ethz.ch>
327         PR fortran/80442
328         * array.c (gfc_ref_dimen_size): Simplify stride
329         expression
330         * data.c (gfc_advance_section): Simplify start,
331         end and stride expressions
332         (gfc_advance_section): Simplify start and end
333         expressions
334         (gfc_get_section_index): Simplify start expression
336 2017-05-13  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
338         * io.c (gfc_resolve_dt): Fix returns to bool type.
340 2017-05-11  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
342         PR fortran/78659
343         * io.c (dtio_procs_present): Add new function to check for DTIO
344         procedures relative to I/O statement READ or WRITE.
345         (gfc_resolve_dt): Add namelist checks using the new function.
346         * resolve.c (dtio_procs_present): Remove function and related
347         namelist checks. (resolve_fl_namelist): Add check specific to
348         Fortran 95 restriction on namelist objects.
350 2017-05-11  Nathan Sidwell  <nathan@acm.org>
352         * trans-decl.c: Include dumpfile.h not tree-dump.h,
354 2017-05-09  Janus Weil  <janus@gcc.gnu.org>
356         PR fortran/79311
357         * resolve.c (gfc_resolve_finalizers): Ensure that derived-type
358         components have a their finalizers resolved, also if the superordinate
359         type itself has a finalizer.
361 2017-05-08  Thomas Koenig  <tkoenig@gcc.gnu.org>
363         PR fortran/79930
364         * frontend-passes.c (matmul_to_var_expr): New function,
365         add prototype.
366         (matmul_to_var_code):  Likewise.
367         (optimize_namespace):  Use them from gfc_code_walker.
369 2017-05-05  David Malcolm  <dmalcolm@redhat.com>
371         * cpp.c (cb_cpp_error): Replace report_diagnostic
372         with diagnostic_report_diagnostic.
373         * error.c (gfc_warning): Likewise.
374         (gfc_warning_now_at): Likewise.
375         (gfc_warning_now): Likewise.
376         (gfc_warning_internal): Likewise.
377         (gfc_error_now): Likewise.
378         (gfc_fatal_error): Likewise.
379         (gfc_error_opt): Likewise.
380         (gfc_internal_error): Likewise.
382 2017-05-01  Thomas Koenig  <tkoenig@gcc.gnu.org>
384         PR fortran/37131
385         * frontend-passes.c (inline_matmul_assign): Also check bounds
386         for allocatable lhs and matrix-vector-multiplication.
388 2017-04-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
390         PR fortran/80484
391         * io.c (format_lex): Check for '/' and set token to FMT_SLASH.
392         (check_format): Move FMT_DT checking code to data_desc section.
393         * module.c (gfc_match_use): Include the case of INTERFACE_DTIO.
395 2017-04-22  Janus Weil  <janus@gcc.gnu.org>
397         PR fortran/80121
398         * trans-types.c (gfc_conv_procedure_call): Deallocate the components
399         of allocatable intent(out) arguments.
401 2017-04-21  Janus Weil  <janus@gcc.gnu.org>
403         PR fortran/80392
404         * trans-types.c (gfc_get_derived_type): Prevent an infinite loop when
405         building a derived type that includes a procedure pointer component
406         with a polymorphic result.
408 2017-04-17  Paul Thomas  <pault@gcc.gnu.org>
410         PR fortran/80440
411         * module.c (find_symtree_for_symbol): Delete.
412         (read_module): Remove the call to the above.
414 2017-04-14  Janus Weil  <janus@gcc.gnu.org>
416         PR fortran/80361
417         * class.c (generate_finalization_wrapper): Give the finalization wrapper
418         the recursive attribute.
420 2017-04-10  Nicolas Koenig  <koenigni@student.ethz.ch>
421             Paul Thomas  <pault@gcc.gnu.org>
423         PR fortran/69498
424         * module.c (gfc_match_submodule): Add error
425         if function is called in the wrong state.
427 2017-04-10  Janus Weil  <janus@gcc.gnu.org>
429         PR fortran/80046
430         * expr.c (gfc_check_pointer_assign): Check if procedure pointer
431         components in a pointer assignment need an explicit interface.
433 2017-03-18  Nicolas Koenig  <koenigni@student.ethz.ch>
435         PR fortran/69498
436         * symbol.c (gfc_delete_symtree): If there is a period in the name, ignore
437         everything before it.
439 2017-03-28  Janus Weil  <janus@gcc.gnu.org>
441         PR fortran/78661
442         * trans-io.c (transfer_namelist_element): Perform a polymorphic call
443         to a DTIO procedure if necessary.
445 2017-03-25  Paul Thomas  <pault@gcc.gnu.org>
447         PR fortran/80156
448         PR fortran/79382
449         * decl.c (access_attr_decl): Remove the error for an absent
450         generic DTIO interface and ensure that symbol has the flavor
451         FL_PROCEDURE.
453 2017-03-22  Dominique d'Humieres  <dominiq@lps.ens.fr>
455         PR fortran/79838
456         * module.c: Remove trailing period.
458 2017-03-22  Dominique d'Humieres  <dominiq@lps.ens.fr>
460         PR fortran/79602
461         * decl.c: Replace '%s' with %qs.
462         * expr.c: Likewise.
463         * interface.c: Likewise.
464         * match.c: Likewise.
465         * primary.c: Likewise.
466         * resolve.c: Likewise.
468         PR fortran/79844
469         PR fortran/80011
470         * io.c: Remove trailing spaces.
471         * match.c: Likewise.
472         * openmp.c: Likewise.
473         * resolve.c: Likewise.
474         * trans-intrinsic.c: Likewise.
476         PR fortran/79853
477         * expr.c: Remove a double spaces.
479         PR fortran/79859
480         * primary.c: Remove spurious quotes around %qs.
482 2017-03-22  Thomas Koenig  <tkoenig@gcc.gnu.org>
484         PR fortran/80142
485         * frontend-passes.c (combine_array_constructor): Take
486         location of new expression from constructor expression instead
487         of constructor.
489 2017-03-20  Nicolas Koenig  <koenigni@student.ethz.ch>
491         PR fortran/39239
492         * symbol.c (check_conflict): Report an error if an EQUIVALENCE
493         object is BIND(C)
495 2017-03-18  Nicolas Koenig  <koenigni@student.ethz.ch>
497         PR fortran/69498
498         * decl.c (add_hidden_procptr_result): Fixed Refs count of the
499         created "ppr@" symbol.
501 2017-03-18  Paul Thomas  <pault@gcc.gnu.org>
503         PR fortran/79676
504         * module.c (mio_symbol_attribute): Remove reset of the flag
505         'no_module_procedures'.
506         (check_for_module_procedures): New function. Move declaration
507         of 'no_module_procedures' to above it.
508         (gfc_dump_module): Traverse namespace calling new function.
510 2017-03-18  Paul Thomas  <pault@gcc.gnu.org>
512         PR fortran/71838
513         * symbol.c (check_conflict): A dummy procedure in a submodule,
514         module procedure is not an error.
515         (gfc_add_flavor): Ditto.
517 2017-03-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
519         PR fortran/79841
520         * openmp.c (check_symbol_not_pointer): Adjust diagnostics.
522 2017-03-16  Jakub Jelinek  <jakub@redhat.com>
524         PR fortran/80010
525         * parse.c (gfc_ascii_statement): Use !$ACC for ST_OACC_ATOMIC
526         and ST_OACC_END_ATOMIC, instead of !ACC.
527         * trans-decl.c (finish_oacc_declare): Use !$ACC instead of $!ACC.
528         * openmp.c (gfc_match_oacc_declare, gfc_match_oacc_wait,
529         gfc_resolve_oacc_declare): Likewise.
531         PR fortran/79886
532         * error.c (gfc_format_decoder): Rename plus argument to set_locus,
533         remove ATTRIBUTE_UNUSED from all arguments, call default_tree_printer
534         if not a Fortran specific spec.
535         * trans-io.c: Include options.h.
536         (gfc_build_st_parameter): Temporarily disable -Wpadded around layout
537         of artificial IO data structures.
539 2017-03-15  David Malcolm  <dmalcolm@redhat.com>
541         PR fortran/79860
542         * resolve.c (resolve_contained_fntype): Make error messages more
543         amenable to translation.
545 2017-03-06  Richard Biener  <rguenther@suse.de>
547         PR fortran/79894
548         * trans.c (gfc_add_modify_loc): Weaken assert.
550 2017-03-05  Andre Vehreschild  <vehre@gcc.gnu.org>,
551             Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>
553         * check.c (positive_check): Add new function checking constant for
554         being greater then zero.
555         (gfc_check_image_status): Add checking of image_status arguments.
556         (gfc_check_failed_or_stopped_images): Same but for failed_- and
557         stopped_images function.
558         * dump-parse-tree.c (show_code_node): Added output of FAIL IMAGE.
559         * gfortran.h (enum gfc_statement): Added FAIL_IMAGE_ST.
560         (enum gfc_isym_id): Added new intrinsic symbols.
561         (enum gfc_exec_op): Added EXEC_FAIL_IMAGE.
562         * gfortran.texi: Added description for the new API functions. Updated
563         coverage of gfortran of TS18508.
564         * intrinsic.c (add_functions): Added symbols to resolve new intrinsic
565         functions.
566         * intrinsic.h: Added prototypes.
567         * iresolve.c (gfc_resolve_failed_images): Resolve the failed_images
568         intrinsic.
569         (gfc_resolve_image_status): Same for image_status.
570         (gfc_resolve_stopped_images): Same for stopped_images.
571         * libgfortran.h: Added prototypes.
572         * match.c (gfc_match_if): Added matching of FAIL IMAGE statement.
573         (gfc_match_fail_image): Match a FAIL IMAGE statement.
574         * match.h: Added prototype.
575         * parse.c (decode_statement): Added matching for FAIL IMAGE.
576         (next_statement): Same.
577         (gfc_ascii_statement): Same.
578         * resolve.c: Same.
579         * simplify.c (gfc_simplify_failed_or_stopped_images): For COARRAY=
580         single a constant result can be returne.d
581         (gfc_simplify_image_status): For COARRAY=single the result is constant.
582         * st.c (gfc_free_statement): Added FAIL_IMAGE handling.
583         * trans-decl.c (gfc_build_builtin_function_decls): Added decls of the
584         new intrinsics.
585         * trans-expr.c (gfc_conv_procedure_call): This is first time all
586         arguments of a function are optional, which is now handled here
587         correctly.
588         * trans-intrinsic.c (conv_intrinsic_image_status): Translate
589         image_status.
590         (gfc_conv_intrinsic_function): Add support for image_status.
591         (gfc_is_intrinsic_libcall): Add support for the remaining new
592         intrinsics.
593         * trans-stmt.c (gfc_trans_fail_image): Trans a fail image.
594         * trans-stmt.h: Add the prototype for the above.
595         * trans.c (trans_code): Dispatch for fail_image.
596         * trans.h: Add the trees for the new intrinsics.
598 2017-03-03  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
600         PR fortran/79841
601         * openmp.c (check_symbol_not_pointer): Adjust diagnostic.
603 2017-02-28  Paul Thomas  <pault@gcc.gnu.org>
605         PR fortran/79739
606         * resolve.c (resolve_fl_procedure): Deal with the case where
607         'submodule_name' is NULL so that gfc_error does not ICE.
608         Reformat the error message to make it more consistent.
610 2017-02-28  Jakub Jelinek  <jakub@redhat.com>
612         * parse.c (parse_critical_block): Use cond ? G_("...") : G_("...")
613         instead of just cond ? "..." : "...".
614         * scanner.c (gfc_next_char_literal): Likewise.
615         * match.c (match_exit_cycle): Likewise.
617 2017-02-26  Thomas Koenig  <tkoenig@gcc.gnu.org>
619         PR fortran/51119
620         * options.c (gfc_post_options): Set default limit for matmul
621         inlining to 30.
622         * invoke.texi: Document change.
624 2017-02-25  Dominique d'Humieres  <dominiq@lps.ens.fr>
626         PR fortran/79601
627         * interface.c (check_dtio_arg_TKR_intent): Change 'intent'
628         to 'INTENT'.
630 2017-02-25  Dominique d'Humieres  <dominiq@lps.ens.fr>
632         PR fortran/79597
633         * interface.c (gfc_match_end_interface): Remove spurious comma
634         and space, replace 'got %s' with 'got %qs'.
636 2017-02-20  Paul Thomas  <pault@gcc.gnu.org>
638         PR fortran/79599
639         * interface.c (check_dtio_arg_TKR_intent): Supply 'must'
640         missing from error message.
642 2017-02-20  Paul Thomas  <pault@gcc.gnu.org>
644         PR fortran/79523
645         * interface.c (gfc_find_typebound_dtio_proc): Guard test for
646         flavor attribute by checking that symbol is resolved.
648 2017-02-16  Paul Thomas  <pault@gcc.gnu.org>
650         PR fortran/79382
651         * decl.c (access_attr_decl): Test for presence of generic DTIO
652         interface and emit error if not present.
654 2017-02-20  Paul Thomas  <pault@gcc.gnu.org>
656         PR fortran/79434
657         * parse.c (check_component, parse_union): Whitespace.
658         (set_syms_host_assoc): For a derived type, check if the module
659         in which it was declared is one of the submodule ancestors. If
660         it is, make the components public. Otherwise, reset attribute
661         'host_assoc' and set 'use-assoc' so that encapsulation is
662         preserved.
664 2017-02-19  Paul Thomas  <pault@gcc.gnu.org>
666         PR fortran/79447
667         * decl.c (gfc_set_constant_character_len): Whitespace.
668         (gfc_match_end): Catch case where a procedure is contained in
669         a module procedure and ensure that 'end procedure' is the
670         correct termination.
672 2017-02-19  Paul Thomas  <pault@gcc.gnu.org>
674         PR fortran/79402
675         * resolve.c (fixup_unique_dummy): New function.
676         (gfc_resolve_expr): Call it for dummy variables with a unique
677         symtree name.
679 2017-02-19  Andre Vehreschild  <vehre@gcc.gnu.org>
681         PR fortran/79229
682         * trans-expr.c (gfc_trans_assignment_1): Deref indirect refs when
683         compiling with -fcheck=mem to check the pointer and not the data.
685 2017-02-19  Andre Vehreschild  <vehre@gcc.gnu.org>
687         PR fortran/79335
688         * trans-array.c (duplicate_allocatable_coarray): Ensure attributes
689         passed are properly initialized.
690         (structure_alloc_comps): Same.
691         * trans-expr.c (gfc_trans_structure_assign): Same.
693 2017-02-13  Jakub Jelinek  <jakub@redhat.com>
695         * trans-expr.c (gfc_conv_substring): Add missing space in diagnostics.
697 2017-02-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
699         PR fortran/65542
700         * intrinsic.c (gfc_intrinsic_func_interface):  Return an error
701         for -std=f95 for disallowed transformational functions in
702         initialization expressions.
704 2017-02-09  Cesar Philippidis  <cesar@codesourcery.com>
705             Joseph Myers  <joseph@codesourcery.com>
707         * openmp.c (resolve_omp_clauses): Error on directives
708         containing both tile and collapse clauses.
709         (resolve_oacc_loop_blocks): Represent '*' tile arguments as zero.
710         * trans-openmp.c (gfc_trans_omp_do): Lower tiled loops like
711         collapsed loops.
713 2017-02-07  Steven G. Kargl  <kargl@gcc.gnu.org>
715         * trans-types.c (gfc_get_int_kind_from_width_isofortranen):  Choose
716         REAL type with the widest precision if two (or more) have the same
717         storage size.
719 2017-02-05  Andre Vehreschild  <vehre@gcc.gnu.org>
721         PR fortran/79344
722         * trans-stmt.c (gfc_trans_allocate): Only deallocate the components of
723         the temporary, when a new object was created for the temporary.  Not
724         when it is just an alias to an existing object.
726 2017-02-05  Andre Vehreschild  <vehre@gcc.gnu.org>
728         PR fortran/79335
729         * trans-decl.c (generate_coarray_sym_init): Retrieve the symbol's
730         attributes before using them.
732 2017-02-05  Andre Vehreschild  <vehre@gcc.gnu.org>
734         PR fortran/78958
735         * trans-stmt.c (gfc_trans_allocate): Add the multiplying the _len
736         component of unlimited polymorphic objects when source-allocating.
738 2017-02-05  Andre Vehreschild  <vehre@gcc.gnu.org>
740         PR fortran/79230
741         * trans-array.c (structure_alloc_comps): Ignore pointer components when
742         freeing structures.
744 2017-01-25  Maxim Ostapenko  <m.ostapenko@samsung.com>
746         PR lto/79061
747         * f95-lang.c (gfc_create_decls): Include stringpool.h.
748         Pass main_input_filename to build_translation_unit_decl.
750 2017-01-23  Thomas Koenig  <tkoenig@netcologne.de>
752         * arith.c (arith_power):  If simplifying integer power expression
753         to zero, warn if -Winteger-division is given.
755 2017-01-22  Jakub Jelinek  <jakub@redhat.com>
757         PR fortran/79154
758         * parse.c (matchs, matcho, matchds, matchdo): Replace return st;
759         with { ret = st; goto finish; }.
760         (decode_omp_directive): Allow declare simd, declare target and
761         simd directives in PURE/ELEMENTAL procedures.  Only call
762         gfc_unset_implicit_pure on successful match of other procedures.
764 2017-01-21  Gerald Pfeifer  <gerald@pfeifer.com>
766         * gfc-internals.texi (Symbol Versioning): Change references
767         to www.akkadia.org to https.
769 2017-01-21  Jakub Jelinek  <jakub@redhat.com>
771         * gfortran.h (gfc_extract_int): Change return type to bool.  Add
772         int argument with = 0.
773         * decl.c (gfc_match_kind_spec): Adjust gfc_extract_int caller, pass
774         1 as new last argument to it, don't emit gfc_error.
775         (match_char_kind): Likewise.
776         (gfc_match_decl_type_spec): Use gfc_get_string ("%s", x) instead of
777         gfc_get_string (x).
778         (gfc_match_derived_decl, match_binding_attributes): Likewise.
779         (gfc_match_structure_decl): Don't sprintf back to name, call
780         get_struct_decl directly with gfc_dt_upper_string (name) result.
781         * trans-stmt.c (gfc_trans_allocate): Use gfc_get_string ("%s", x)
782         instead of gfc_get_string (x).
783         * module.c (gfc_dt_lower_string, gfc_dt_upper_string,
784         gfc_match_use, gfc_match_submodule, find_true_name, mio_pool_string,
785         mio_symtree_ref, mio_expr, mio_omp_udr_expr, load_generic_interfaces,
786         load_omp_udrs, load_needed, read_module, dump_module,
787         create_intrinsic_function, import_iso_c_binding_module,
788         create_int_parameter, create_int_parameter_array, create_derived_type,
789         use_iso_fortran_env_module): Likewise.
790         * error.c (gfc_diagnostic_starter, gfc_diagnostic_start_span): Use
791         pp_verbatim (context->printer, "%s", x) instead of
792         pp_verbatim (context->printer, x).
793         * match.c (gfc_match_small_int): Adjust gfc_extract_int caller, pass
794         1 as new last argument to it, don't emit gfc_error.
795         (gfc_match_small_int_expr): Likewise.
796         * iresolve.c (gfc_get_string): Optimize format "%s" case.
797         (resolve_bound): Use gfc_get_string ("%s", x) instead of
798         gfc_get_string (x).
799         (resolve_transformational): Formatting fix.
800         (gfc_resolve_char_achar): Change name argument to bool is_achar,
801         use a single format string and if is_achar add "a" before "char".
802         (gfc_resolve_achar, gfc_resolve_char): Adjust callers.
803         * expr.c (gfc_extract_int): Change return type to bool, return true
804         if some error occurred.  Add REPORT_ERROR argument, if non-zero
805         call either gfc_error or gfc_error_now depending on its sign.
806         * arith.c (arith_power): Adjust gfc_extract_int caller.
807         * symbol.c (gfc_add_component): Use gfc_get_string ("%s", x) instead
808         of gfc_get_string (x).
809         (gfc_new_symtree, gfc_delete_symtree, gfc_get_uop, gfc_new_symbol,
810         gfc_get_gsymbol, generate_isocbinding_symbol): Likewise.
811         * openmp.c (gfc_match_omp_clauses): Adjust gfc_extract_int caller, pass
812         -1 as new last argument to it, don't emit gfc_error_now.
813         (gfc_match_omp_declare_reduction): Use gfc_get_string ("%s", x)
814         instead of gfc_get_string (x).
815         * check.c (kind_check): Adjust gfc_extract_int caller.
816         * intrinsic.c (add_sym, find_sym, make_alias): Use
817         gfc_get_string ("%s", x) instead of gfc_get_string (x).
818         * simplify.c (get_kind, gfc_simplify_btest, gfc_simplify_maskr,
819         gfc_simplify_maskl, gfc_simplify_poppar, gfc_simplify_repeat,
820         gfc_simplify_selected_int_kind, gfc_simplify_selected_real_kind):
821         Adjust gfc_extract_int callers.
822         * trans-decl.c (gfc_find_module): Use gfc_get_string ("%s", x)
823         instead of gfc_get_string (x).
824         * matchexp.c (expression_syntax): Add const.
825         * primary.c (match_kind_param, match_hollerith_constant,
826         match_string_constant): Adjust gfc_extract_int callers.
827         (match_keyword_arg): Use gfc_get_string ("%s", x) instead of
828         gfc_get_string (x).
829         * frontend-passes.c (optimize_minmaxloc): Likewise.
831 2017-01-19  Andre Vehreschild  <vehre@gcc.gnu.org>
833         PR fortran/70696
834         * trans-decl.c (gfc_build_qualified_array): Add static decl to parent
835         function only, when the decl-context is not the translation unit.
837 2017-01-18  Louis Krupp  <louis.krupp@zoho.com>
839         PR fortran/50069
840         PR fortran/55086
841         * trans-expr.c (gfc_conv_variable): Don't treat temporary variables
842         as function arguments.
843         * trans-stmt.c (forall_make_variable_temp,
844         generate_loop_for_temp_to_lhs, gfc_trans_assign_need_temp,
845         gfc_trans_forall_1): Don't adjust offset of forall temporary
846         for array sections, make forall temporaries work for substring
847         expressions, improve test coverage by adding -ftest-forall-temp
848         option to request usage of temporary array in forall code.
849         * lang.opt: Add -ftest-forall-temp option.
850         * invoke.texi: Add -ftest-forall-temp option.
852 2017-01-18  Andre Vehreschild  <vehre@gcc.gnu.org>
854         * primary.c (caf_variable_attr): Improve figuring whether the current
855         component is the last one refed.
856         * trans-stmt.c (gfc_trans_allocate): Do not generate sync_all calls
857         when allocating pointer or allocatable components.
859 2017-01-18  Andre Vehreschild  <vehre@gcc.gnu.org>
861         * gfortran.texi: Add missing parameters to caf-API functions.  Correct
862         typos and clarify some descriptions.
864 2017-01-18  Andre Vehreschild  <vehre@gcc.gnu.org>
866         PR fortran/70696
867         Missed some cases, here they are:
868         * trans-decl.c (gfc_build_qualified_array): Add static tokens to the
869         parent function's scope.
870         * trans-expr.c (gfc_get_tree_for_caf_expr): Shorten code.  Remove
871         unnecessary assert.
873 2017-01-13  Andre Vehreschild  <vehre@gcc.gnu.org>
875         PR fortran/70697
876         * resolve.c (resolve_lock_unlock_event): Resolve the expression for
877         event's until_count.
879 2017-01-13  Andre Vehreschild  <vehre@gcc.gnu.org>
881         PR fortran/70696
882         * trans-expr.c (gfc_get_tree_for_caf_expr): Ensure the backend_decl
883         is valid before accessing it.
885 2017-01-09  Jakub Jelinek  <jakub@redhat.com>
887         PR translation/79019
888         PR translation/79020
889         * decl.c (attr_decl1): Fix spelling in translatable string.
890         * intrinsic.texi: Fix spelling - invokation -> invocation.
891         * lang.opt (faggressive-function-elimination, gfc_convert): Fix
892         typos in descriptions.
893         * openmp.c (resolve_omp_clauses): Add missing whitespace to
894         translatable strings.
896 2017-01-08  Martin Sebor  <msebor@redhat.com>
898         PR tree-optimization/78913
899         PR middle-end/77708
900         * trans-common.c (build_equiv_decl): Increase buffer size to avoid
901         truncation for any argument.
902         * trans-types.c (gfc_build_logical_type): Same.
904 2017-01-07  Andre Vehreschild  <vehre@gcc.gnu.org>
906         PR fortran/78781
907         PR fortran/78935
908         * expr.c (gfc_check_pointer_assign): Return the same error message for
909         rewritten coarray pointer assignments like for plain ones.
910         * gfortran.h: Change prototype.
911         * primary.c (caf_variable_attr): Set attributes used ones only only
912         ones.  Add setting of pointer_comp attribute.
913         (gfc_caf_attr): Add setting of pointer_comp attribute.
914         * trans-array.c (gfc_array_allocate): Add flag that the component to
915         allocate is not an ultimate coarray component.  Add allocation of
916         pointer arrays.
917         (structure_alloc_comps): Extend nullify to treat pointer components in
918         coarrays correctly.  Restructure nullify to remove redundant code.
919         (gfc_nullify_alloc_comp): Allow setting caf_mode flags.
920         * trans-array.h: Change prototype of gfc_nullify_alloc_comp ().
921         * trans-decl.c (generate_coarray_sym_init): Call nullify_alloc_comp for
922         derived type coarrays with pointer components.
923         * trans-expr.c (gfc_trans_structure_assign): Also treat pointer
924         components.
925         (trans_caf_token_assign): Handle assignment of token of scalar pointer
926         components.
927         (gfc_trans_pointer_assignment): Call above routine.
928         * trans-intrinsic.c (conv_expr_ref_to_caf_ref): Add treating pointer
929         components.
930         (gfc_conv_intrinsic_caf_get): Likewise.
931         (conv_caf_send): Likewise.
932         * trans-stmt.c (gfc_trans_allocate): After allocating a derived type in
933         a coarray pre-register the tokens.
934         (gfc_trans_deallocate): Simply determining the coarray type (scalar or
935         array) and deregistering it correctly.
936         * trans-types.c (gfc_typenode_for_spec): Replace in_coarray flag by the
937         actual codim to allow lookup of array types in the cache.
938         (gfc_build_array_type): Likewise.
939         (gfc_get_array_descriptor_base): Likewise.
940         (gfc_get_array_type_bounds): Likewise.
941         (gfc_get_derived_type): Likewise.
942         * trans-types.h: Likewise.
943         * trans.c (gfc_deallocate_with_status): Enable deregistering of all kind
944         of coarray components.
945         (gfc_deallocate_scalar_with_status): Use free() in fcoarray_single mode
946         instead of caf_deregister.
948 2017-01-06  Jakub Jelinek  <jakub@redhat.com>
950         * simplify.c (simplify_transformation_to_array): Use
951         GCC_DIAGNOSTIC_PUSH_IGNORED and GCC_DIAGNOSTIC_POP instead of
952         #pragma GCC diagnostic {push,ignored,pop}.
954 2017-01-06  Alexandre Oliva <aoliva@redhat.com>
956         * simplify.c (simplify_transformation_to_array): Silence
957         array bounds warning.  Fix whitespace.
959 2017-01-04  Alexandre Oliva <aoliva@redhat.com>
961         * module.c (load_omp_udrs): Initialize name.
963 2017-01-02  Janne Blomqvist  <jb@gcc.gnu.org>
965         PR fortran/78534
966         * trans-expr.c (gfc_trans_string_copy): Rework string copy
967         algorithm to avoid -Wstringop-overflow warning.
969 2017-01-01  Jakub Jelinek  <jakub@redhat.com>
971         Update copyright years.
973         * gfortranspec.c (lang_specific_driver): Update copyright notice
974         dates.
975         * gfc-internals.texi: Bump @copying's copyright year.
976         * gfortran.texi: Ditto.
977         * intrinsic.texi: Ditto.
978         * invoke.texi: Ditto.
980 Copyright (C) 2017 Free Software Foundation, Inc.
982 Copying and distribution of this file, with or without modification,
983 are permitted in any medium without royalty provided the copyright
984 notice and this notice are preserved.