aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@gcc.gnu.org>2018-01-03 10:17:54 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2018-01-03 10:17:54 +0100
commit65e6aea386e244e87fd9a745887cd9c59431e33f (patch)
treeac07240dce7c49740acb54510daa026c568d1850 /gcc/fortran
parent0ecc2b7db7480fa33d31d95a114b024809cb6883 (diff)
downloadgcc-65e6aea386e244e87fd9a745887cd9c59431e33f.zip
gcc-65e6aea386e244e87fd9a745887cd9c59431e33f.tar.gz
gcc-65e6aea386e244e87fd9a745887cd9c59431e33f.tar.bz2
gcc.c (process_command): Update copyright notice dates.
gcc/ * gcc.c (process_command): Update copyright notice dates. * gcov-dump.c (print_version): Ditto. * gcov.c (print_version): Ditto. * gcov-tool.c (print_version): Ditto. * gengtype.c (create_file): Ditto. * doc/cpp.texi: Bump @copying's copyright year. * doc/cppinternals.texi: Ditto. * doc/gcc.texi: Ditto. * doc/gccint.texi: Ditto. * doc/gcov.texi: Ditto. * doc/install.texi: Ditto. * doc/invoke.texi: Ditto. gcc/fortran/ * gfortranspec.c (lang_specific_driver): Update copyright notice dates. * gfc-internals.texi: Bump @copying's copyright year. * gfortran.texi: Ditto. * intrinsic.texi: Ditto. * invoke.texi: Ditto. gcc/ada/ * gnat_ugn.texi: Bump @copying's copyright year. * gnat_rm.texi: Likewise. gcc/go/ * gccgo.texi: Bump @copyrights-go year. libitm/ * libitm.texi: Bump @copying's copyright year. libgomp/ * libgomp.texi: Bump @copying's copyright year. libquadmath/ * libquadmath.texi: Bump @copying's copyright year. From-SVN: r256166
Diffstat (limited to 'gcc/fortran')
-rw-r--r--gcc/fortran/ChangeLog2301
-rw-r--r--gcc/fortran/ChangeLog-20172295
-rw-r--r--gcc/fortran/gfc-internals.texi2
-rw-r--r--gcc/fortran/gfortran.texi2
-rw-r--r--gcc/fortran/gfortranspec.c2
-rw-r--r--gcc/fortran/intrinsic.texi2
-rw-r--r--gcc/fortran/invoke.texi4
7 files changed, 2311 insertions, 2297 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 23bca56..bb2083a 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,12 @@
+2018-01-03 Jakub Jelinek <jakub@redhat.com>
+
+ * gfortranspec.c (lang_specific_driver): Update copyright notice
+ dates.
+ * gfc-internals.texi: Bump @copying's copyright year.
+ * gfortran.texi: Ditto.
+ * intrinsic.texi: Ditto.
+ * invoke.texi: Ditto.
+
2017-01-02 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/45689
@@ -39,2298 +48,8 @@
PR fortran/83319
*trans-types.c (gfc_get_array_descriptor_base): Add the token
field to the descriptor even when codimen not set.
-
-2017-12-28 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR Fortran/83548
- * match.c (gfc_match_type_spec): Check for LOGICAL conflict in
- type-spec versus LOGICAL intrinsic subprogram.
-
-2017-12-28 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR fortran/83344
- * resolve.c (resolve_assoc_var): Don't set the constant value
- unless the target is a constant expression.
-
-2017-12-28 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/83567
- * trans-expr.c (gfc_trans_assignment_1): Free parameterized
- components of the lhs if dealloc is set.
- *trans-decl.c (gfc_trans_deferred_vars): Do not free the
- parameterized components of function results on leaving scope.
-
-2017_12_27 Louis Krupp <louis.krupp@zoho.com>
-
- PR fortran/83092
- * expr.c (gfc_apply_init): Check that typespec has character type
- before using character length field.
-
-2017-12-26 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/83540
- * frontend-passes.c (create_var): If an array to be created
- has unknown size and -fno-realloc-lhs is in effect,
- return NULL.
-
-2017-12-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
- Eric Botcazou <ebotcazou@adacore.com>
-
- * array.c (gfc_copy_iterator): Copy unroll field.
- * decl.c (directive_unroll): New global variable.
- (gfc_match_gcc_unroll): New function.
- * gfortran.h (gfc_iterator]): Add unroll field.
- (directive_unroll): Declare:
- * match.c (gfc_match_do): Use memset to initialize the iterator.
- * match.h (gfc_match_gcc_unroll): New prototype.
- * parse.c (decode_gcc_attribute): Match "unroll".
- (parse_do_block): Set iterator's unroll.
- (parse_executable): Diagnose misplaced unroll directive.
- * trans-stmt.c (gfc_trans_simple_do) Annotate loop condition with
- annot_expr_unroll_kind.
- (gfc_trans_do): Likewise.
- * gfortran.texi (GNU Fortran Compiler Directives): Split section into
- subections 'ATTRIBUTES directive' and 'UNROLL directive'.
-
-2017-12-19 Jakub Jelinek <jakub@redhat.com>
-
- * scanner.c (preprocessor_line): Replace Yoda conditions with typical
- order conditions.
- * dependency.c (check_section_vs_section): Likewise.
- * trans-array.c (gfc_conv_expr_descriptor): Likewise.
-
-2017-12-17 Janne Blomqvist <jb@gcc.gnu.org>
-
- * decl.c (gfc_match_implicit_none): Use GFC_STD_F2018 instead of
- GFC_STD_F2015.
- * error.c (gfc_notify_std): Add GFC_STD_F2018{_DEL,_OBS} to
- switch.
- * gfortran.texi: Document -std=f2018.
- * interface.c (compare_parameter): Fix comment.
- * invoke.texi: Document -std=f2018.
- * lang.opt: Add -std=f2018 argumnet.
- * libgfortran.h (GFC_STD_F2015): Rename to GFC_STD_F0218, use
- separate flag bit.
- (GFC_STD_F2018_DEL): New macro.
- (GFC_STD_F2018_OBS): Likewise.
- * match.c (gfc_match_stopcode): Use GFC_STD_F2018.
- * options.c (set_default_std_flags): Add F2018 flags to defaults.
- (gfc_handle_option): Set options for -std=f2018.
-
-2017-12-15 Jakub Jelinek <jakub@redhat.com>
-
- * f95-lang.c (gfc_attribute_table): Swap affects_type_identity
- and handler fields, adjust comments.
-
-2017-12-14 Qing Zhao <qing.zhao@oracle.com>
-
- PR middle_end/79538
- * class.c (gfc_build_class_symbol): Replace call to
- sprintf with xasprintf to avoid format-overflow warning.
- (generate_finalization_wrapper): Likewise.
- (gfc_find_derived_vtab): Likewise.
- (find_intrinsic_vtab): Likewise.
-
-2017-12-12 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- * intrinsic.texi (MAXLOC): Remove double description
- of return value.
- (MINLOC): Likewise.
-
-2017-12-11 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- * intrinsic.texi (MAXLOC): Update documentation for
- character arrays and KIND argument.
- (MINLOC): Likewise.
-
-2017-12-11 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/45689
- * simplify.c (min_max_choose): Add prototype.
- (gfc_count): Format correctly.
- (simplify_transformation): Pass array argument to init_result_expr.
- (gfc_simplify_minval_maxval): Remove.
- (gfc_min): New function.
- (gfc_simplify_minval): Call simplify_transformation.
- (gfc_max): New function.
- (gfc_simplify_maxval): Call simplify_transformation.
-
-2017-12-10 Dominique d'Humieres <dominiq@lps.ens.fr>
-
- PR fortran/53478
- * gfortran.h (gfc_find_case_gsymbol): New prototype.
- * symbol.c (gfc_find_case_gsymbol): New procedure, case
- insensistive version of gfc_find_gsymbol.
- * resolve.c (resolve_common_blocks): Use it.
- Replace %s with %qs where needed.
-
-2017-12-09 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/82934
- PR fortran/83318
- * match.c (gfc_match_allocate): Enforce F2008:C631.
-
-2017-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/83316
- * arith.c (gfc_character2character): New function.
- * arith.h: Add prototype.
- * simplify.c (gfc_convert_constant): Handle character type.
-
-2017-12-07 Martin Sebor <msebor@redhat.com>
-
- PR c/81544
- * f95-lang.c (gfc_attribute_table): Initialize new member of struct
- attribute_spec.
-
-2017-12-03 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/36313
- * check.c (gfc_check_minval_maxval): Use
- int_orLreal_or_char_check_f2003 for array argument.
- * iresolve.c (gfc_resolve_maxval): Insert number in
- function name for character arguments.
- (gfc_resolve_minval): Likewise.
- * trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc):
- Fix comment.
- (gfc_conv_intrinsic_minmaxval): Resort arguments and call library
- function if dealing with a character function.
-
-2017-12-01 Qing Zhao <qing.zhao@oracle.com>
-
- * decl.c (gfc_get_pdt_instance): Adjust the call to sprintf
- to avoid the same buffer being both source and destination.
-
-2017-12-01 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/83224
- * frontend-passes.c (create_var): Also handle
- character arrays, handling deferred lenghts.
-
-2017-12-01 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/82605
- * resolve.c (get_pdt_constructor): Initialize 'cons' to NULL.
- (resolve_pdt): Correct typo in prior comment. Emit an error if
- any parameters are deferred and the object is neither pointer
- nor allocatable.
-
- PR fortran/82606
- * decl.c (gfc_get_pdt_instance): Continue if the parameter sym
- is not present or has no name. Select the parameter by name
- of component, rather than component order. Remove all the other
- manipulations of 'tail' when building the pdt instance.
- (gfc_match_formal_arglist): Emit and error if a star is picked
- up in a PDT decl parameter list.
-
- PR fortran/82622
- * trans-array.c (set_loop_bounds): If a GFC_SS_COMPONENT has an
- info->end, use it rather than falling through to
- gcc_unreachable.
- (structure_alloc_comps): Check that param->name is non-null
- before comparing with the component name.
- * trans-decl.c (gfc_get_symbol_decl): Do not use the static
- initializer for PDT symbols.
- (gfc_init_default_dt): Do nothing for PDT symbols.
- * trans-io.c (transfer_array_component): Parameterized array
- components use the descriptor ubound since the shape is not
- available.
-
- PR fortran/82719
- PR fortran/82720
- * trans-expr.c (gfc_conv_component_ref): Do not use the charlen
- backend_decl of pdt strings. Use the hidden component instead.
- * trans-io.c (transfer_expr): Do not do IO on "hidden" string
- lengths. Use the hidden string length for pdt string transfers
- by adding it to the se structure. When finished nullify the
- se string length.
-
- PR fortran/82866
- * decl.c (gfc_match_formal_arglist): If a name is not found or
- star is found, while reading a type parameter list, emit an
- immediate error.
- (gfc_match_derived_decl): On reading a PDT parameter list, on
- failure to match call gfc_error_recovery.
-
- PR fortran/82978
- * decl.c (build_struct): Character kind defaults to 1, so use
- kind_expr whatever is the set value.
- (gfc_get_pdt_instance): Ditto.
- * trans-array.c (structure_alloc_comps): Copy the expression
- for the PDT string length before parameter substitution. Use
- this expression for evaluation and free it after use.
-
-2017-12-01 Jakub Jelinek <jakub@redhat.com>
-
- PR c/79153
- * match.c (gfc_match): Add FALLTHRU comment to avoid
- -Wimplicit-fallthrough warning.
-
-2017-12-01 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/83224
- * frontend-passes.c (realloc_string_callback): Handle
- case for which the RHS is an array expression.
-
-2017-11-28 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR fortran/53796
- * gfortran.texi: Remove mentions of GFORTRAN_DEFAULT_RECL.
-
-2017-11-28 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/83021
- * resolve.c (resolve_component): Only escape for use assciated
- vtypes if the current namespace has no proc_name and is most
- particularly block data.
-
-2017-11-28 Jakub Jelinek <jakub@redhat.com>
-
- * trans-decl.c (gfc_trans_entry_master_switch): Build SWITCH_EXPR
- using fold_build2_loc instead of fold_build3_loc.
- * trans-io.c (io_result): Likewise.
- * trans-stmt.c (gfc_trans_integer_select, gfc_trans_character_select):
- Likewise.
-
-2017-11-24 Jakub Jelinek <jakub@redhat.com>
-
- PR fortran/81304
- * trans-openmp.c (gfc_trans_omp_array_reduction_or_udr): Set
- attr.implicit_type in intrinsic_sym to avoid undesirable warning.
-
-2017-11-23 Dirk Broemmel <d.broemmel@fz-juelich.de>
- Jakub Jelinek <jakub@redhat.com>
-
- PR fortran/81841
- * parse.c (parse_spec): Allow ST_OMP_THREADPRIVATE inside of
- BLOCK DATA.
-
-2017-11-23 Mike Stump <mikestump@comcast.net>
- Eric Botcazou <ebotcazou@adacore.com>
-
- * trans-stmt.c (gfc_trans_forall_loop): Pass 3rd operand to
- ANNOTATE_EXPR.
-
-2017-11-23 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/82814
- * trans-types.c (gfc_sym_type): If a character function result
- is missing the charlen backend_decl, use the one from the name-
- space procedure symbol, if present.
-
-2017-11-22 David Malcolm <dmalcolm@redhat.com>
-
- PR c++/62170
- * error.c (gfc_notify_std): Convert "quoted" param from bool to
- bool *.
-
-2017-11-22 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/36313
- * check.c (int_or_real_or_char_check_f2003): New function.
- * iresolve.c (gfc_resolve_maxloc): Add number "2" for
- character arguments and rank-zero return value.
- (gfc_resolve_minloc): Likewise.
- * trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Handle case of
- character arguments and rank-zero return value by removing
- unneeded arguments and calling the library function.
-
-2017-11-22 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/79072
- * trans-stmt.c (trans_associate_var): Weaken the over strong
- condition for using the fake result decl.
-
-2017-11-20 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/79072
- * trans-expr.c (trans_class_vptr_len_assignment): Set from_len
- if the temporary is unlimited polymorphic.
- * trans-stmt.c (trans_associate_var): Use the fake result decl
- to obtain the 'len' field from an explicit function result when
- in that function scope.
-
-2017-11-19 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/78990
- * expr.c (gfc_is_class_array_function): Renamed from
- 'gfc_is_alloc_class_array_function' and modified to return true
- for pointers as well as allocatable results.
- * gfortran.h : Change of name for prototype of above function.
- * trans-array.c (gfc_add_loop_ss_code): Force finalization of
- class array results.
- (build_class_array_ref): Change assertion into a condition.
- (build_class_array_ref): Set the se class_vptr for class array
- function results.
- (gfc_walk_function_expr): Reference gfc_is_class_array_function
- as above.
- * trans-decl.c (get_proc_result): Move it up before
- gfc_trans_deferred_vars.
- (gfc_trans_deferred_vars): Nullify explicit return class arrays
- on entry.
- * trans-expr.c (gfc_conv_class_to_class): Allow conversion of
- class array functions that have an se class_vptr and use it
- for the result vptr.
- (gfc_conv_subref_array_arg): Rename reference to the above
- function.
- (gfc_conv_procedure_call): Ditto. Add the se pre block to the
- loop pre block before the function is evaluated. Do not
- finalize class pointer results.
- (arrayfunc_assign_needs_temporary, gfc_trans_assignment_1) More
- renamed references.
- * trans-intrinsic.c (gfc_conv_intrinsic_size): Ditto.
-
-2017-11-18 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR fortran/83036
- * ioparm.def (IOPARM): Make nextrec a pintio.
-
-2017-11-18 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR fortran/44292
- * ioparm.def (IOPARM): Make recl_in intio, and recl_out pintio.
-
-2017-11-18 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/83012
- * expr.c (gfc_is_simply_contiguous): If a function call through a
- class variable is done through a reference, check the function's
- interface.
-
-2017-11-17 Richard Biener <rguenther@suse.de>
-
- PR fortran/83017
- * trans-stmt.c (gfc_trans_forall_loop): Annotate DO CONCURRENT
- loops with annot_expr_parallel_kind instead of just
- annot_expr_ivdep_kind.
-
-2017-11-15 Martin Liska <mliska@suse.cz>
-
- * options.c (gfc_post_options):
- Do not set default value of warn_return_type.
- * trans-decl.c (gfc_trans_deferred_vars):
- Compare warn_return_type for greater than zero.
- (generate_local_decl): Likewise
- (gfc_generate_function_code): Likewise.
-
-2017-11-13 Fritz Reese <fritzoreese@gmail.com>
-
- PR fortran/78240
- * decl.c (match_clist_expr): Replace gcc_assert with proper
- handling of bad result from spec_size().
- * resolve.c (check_data_variable): Avoid NULL dereference when passing
- locus to gfc_error.
-
-2017-11-11 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/82932
- * resolve.c (update_compcall_arglist): Improve error recovery,
- remove a gcc_assert.
-
-2017-11-10 Fritz Reese <fritzoreese@gmail.com>
-
- PR fortran/82886
- * gfortran.h (gfc_build_init_expr): New prototype.
- * invoke.texi (finit-derived): Update documentation.
- * expr.c (gfc_build_init_expr): New, from gfc_build_default_init_expr.
- (gfc_build_default_init_expr): Redirect to gfc_build_init_expr(,,false)
- (component_initializer): Force building initializers using
- gfc_build_init_expr(,,true).
-
-2017-11-10 Martin Sebor <msebor@redhat.com>
-
- PR c/81117
- * gcc/fortran/decl.c (build_sym): Use strcpy instead of strncpy.
-
-2017-11-10 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/82934
- * trans-stmt.c (gfc_trans_allocate): Remove the gcc_assert on
- null string length for assumed length typespec and set
- expr3_esize to NULL_TREE;
-
-2017-11-09 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/78619
- * check.c (same_type_check): Introduce a new argument 'assoc'
- with default value false. If this is true, use the symbol type
- spec of BT_PROCEDURE expressions.
- (gfc_check_associated): Set 'assoc' true in the call to
- 'same_type_check'.
-
-2017-11-09 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/78814
- * interface.c (symbol_rank): Check for NULL pointer.
-
-2017-11-08 Steven G. Kargl <kargl@kgcc.gnu.org>
-
- PR Fortran/82841
- * simplify.c(gfc_simplify_transfer): Do not dereference a NULL pointer.
- Unwrap a short line.
-
-2017-11-08 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/82884
- * arith.c (gfc_hollerith2character): Clear pad.
-
-2017-11-08 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR 82869
- * convert.c (truthvalue_conversion): Use logical_type_node.
- * trans-array.c (gfc_trans_allocate_array_storage): Likewise.
- (gfc_trans_create_temp_array): Likewise.
- (gfc_trans_array_ctor_element): Likewise.
- (gfc_trans_array_constructor_value): Likewise.
- (trans_array_constructor): Likewise.
- (trans_array_bound_check): Likewise.
- (gfc_conv_array_ref): Likewise.
- (gfc_trans_scalarized_loop_end): Likewise.
- (gfc_conv_array_extent_dim): Likewise.
- (gfc_array_init_size): Likewise.
- (gfc_array_allocate): Likewise.
- (gfc_trans_array_bounds): Likewise.
- (gfc_trans_dummy_array_bias): Likewise.
- (gfc_conv_array_parameter): Likewise.
- (duplicate_allocatable): Likewise.
- (duplicate_allocatable_coarray): Likewise.
- (structure_alloc_comps): Likewise
- (get_std_lbound): Likewise
- (gfc_alloc_allocatable_for_assignment): Likewise
- * trans-decl.c (add_argument_checking): Likewise
- (gfc_generate_function_code): Likewise
- * trans-expr.c (gfc_copy_class_to_class): Likewise
- (gfc_trans_class_array_init_assign): Likewise
- (gfc_trans_class_init_assign): Likewise
- (gfc_conv_expr_present): Likewise
- (gfc_conv_substring): Likewise
- (gfc_conv_cst_int_power): Likewise
- (gfc_conv_expr_op): Likewise
- (gfc_conv_procedure_call): Likewise
- (fill_with_spaces): Likewise
- (gfc_trans_string_copy): Likewise
- (gfc_trans_alloc_subarray_assign): Likewise
- (gfc_trans_pointer_assignment): Likewise
- (gfc_trans_scalar_assign): Likewise
- (fcncall_realloc_result): Likewise
- (alloc_scalar_allocatable_for_assignment): Likewise
- (trans_class_assignment): Likewise
- (gfc_trans_assignment_1): Likewise
- * trans-intrinsic.c (build_fixbound_expr): Likewise
- (gfc_conv_intrinsic_aint): Likewise
- (gfc_trans_same_strlen_check): Likewise
- (conv_caf_send): Likewise
- (trans_this_image): Likewise
- (conv_intrinsic_image_status): Likewise
- (trans_image_index): Likewise
- (gfc_conv_intrinsic_bound): Likewise
- (conv_intrinsic_cobound): Likewise
- (gfc_conv_intrinsic_mod): Likewise
- (gfc_conv_intrinsic_dshift): Likewise
- (gfc_conv_intrinsic_dim): Likewise
- (gfc_conv_intrinsic_sign): Likewise
- (gfc_conv_intrinsic_ctime): Likewise
- (gfc_conv_intrinsic_fdate): Likewise
- (gfc_conv_intrinsic_ttynam): Likewise
- (gfc_conv_intrinsic_minmax): Likewise
- (gfc_conv_intrinsic_minmax_char): Likewise
- (gfc_conv_intrinsic_anyall): Likewise
- (gfc_conv_intrinsic_arith): Likewise
- (gfc_conv_intrinsic_minmaxloc): Likewise
- (gfc_conv_intrinsic_minmaxval): Likewise
- (gfc_conv_intrinsic_btest): Likewise
- (gfc_conv_intrinsic_bitcomp): Likewise
- (gfc_conv_intrinsic_shift): Likewise
- (gfc_conv_intrinsic_ishft): Likewise
- (gfc_conv_intrinsic_ishftc): Likewise
- (gfc_conv_intrinsic_leadz): Likewise
- (gfc_conv_intrinsic_trailz): Likewise
- (gfc_conv_intrinsic_mask): Likewise
- (gfc_conv_intrinsic_spacing): Likewise
- (gfc_conv_intrinsic_rrspacing): Likewise
- (gfc_conv_intrinsic_size): Likewise
- (gfc_conv_intrinsic_sizeof): Likewise
- (gfc_conv_intrinsic_transfer): Likewise
- (gfc_conv_allocated): Likewise
- (gfc_conv_associated): Likewise
- (gfc_conv_same_type_as): Likewise
- (gfc_conv_intrinsic_trim): Likewise
- (gfc_conv_intrinsic_repeat): Likewise
- (conv_isocbinding_function): Likewise
- (conv_intrinsic_ieee_is_normal): Likewise
- (conv_intrinsic_ieee_is_negative): Likewise
- (conv_intrinsic_ieee_copy_sign): Likewise
- (conv_intrinsic_move_alloc): Likewise
- * trans-io.c (set_parameter_value_chk): Likewise
- (set_parameter_value_inquire): Likewise
- (set_string): Likewise
- * trans-openmp.c (gfc_walk_alloc_comps): Likewise
- (gfc_omp_clause_default_ctor): Likewise
- (gfc_omp_clause_copy_ctor): Likewise
- (gfc_omp_clause_assign_op): Likewise
- (gfc_omp_clause_dtor): Likewise
- (gfc_omp_finish_clause): Likewise
- (gfc_trans_omp_clauses): Likewise
- (gfc_trans_omp_do): Likewise
- * trans-stmt.c (gfc_trans_goto): Likewise
- (gfc_trans_sync): Likewise
- (gfc_trans_arithmetic_if): Likewise
- (gfc_trans_simple_do): Likewise
- (gfc_trans_do): Likewise
- (gfc_trans_forall_loop): Likewise
- (gfc_trans_where_2): Likewise
- (gfc_trans_allocate): Likewise
- (gfc_trans_deallocate): Likewise
- * trans-types.c (gfc_init_types): Initialize logical_type_node and
- their true/false trees.
- (gfc_get_array_descr_info): Use logical_type_node.
- * trans-types.h (logical_type_node): New tree.
- (logical_true_node): Likewise.
- (logical_false_node): Likewise.
- * trans.c (gfc_trans_runtime_check): Use logical_type_node.
- (gfc_call_malloc): Likewise
- (gfc_allocate_using_malloc): Likewise
- (gfc_allocate_allocatable): Likewise
- (gfc_add_comp_finalizer_call): Likewise
- (gfc_add_finalizer_call): Likewise
- (gfc_deallocate_with_status): Likewise
- (gfc_deallocate_scalar_with_status): Likewise
- (gfc_call_realloc): Likewise
-
-2017-11-06 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/69739
- * trans-expr.c (gfc_map_intrinsic_function): Return false for
- bounds without the DIM argument instead of ICEing.
-
-2017-11-06 Martin Liska <mliska@suse.cz>
-
- PR middle-end/82404
- * options.c (gfc_post_options): Set default value of
- -Wreturn-type to false.
-
-2017-11-05 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/82471
- * lang.opt (ffrontend-loop-interchange): New option.
- (Wfrontend-loop-interchange): New option.
- * options.c (gfc_post_options): Handle ffrontend-loop-interchange.
- * frontend-passes.c (gfc_run_passes): Run
- optimize_namespace if flag_frontend_optimize or
- flag_frontend_loop_interchange are set.
- (optimize_namespace): Run functions according to flags set;
- also call index_interchange.
- (ind_type): New function.
- (has_var): New function.
- (index_cost): New function.
- (loop_comp): New function.
-
-2017-11-05 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/78641
- * resolve.c (resolve_ordinary_assign): Do not add the _data
- component for class valued array constructors being assigned
- to derived type arrays.
- * trans-array.c (gfc_trans_array_ctor_element): Take the _data
- of class valued elements for assignment to derived type arrays.
-
-2017-11-05 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/81447
- PR fortran/82783
- * resolve.c (resolve_component): There is no need to resolve
- the components of a use associated vtype.
- (resolve_fl_derived): Unconditionally generate a vtable for any
- module derived type, as long as the standard is F2003 or later
- and it is not a vtype or a PDT template.
-
-2017-11-05 Tom de Vries <tom@codesourcery.com>
-
- PR other/82784
- * parse.c (match, matcha, matchs, matcho, matchds, matchdo): Remove
- semicolon after "do {} while (0)".
-
-2017-11-04 Andre Vehreschild <vehre@gcc.gnu.org>
-
- * trans-expr.c (gfc_trans_assignment_1): Character kind conversion may
- create a loop variant temporary, too.
- * trans-intrinsic.c (conv_caf_send): Treat char arrays as arrays and
- not as scalars.
- * trans.c (get_array_span): Take the character kind into account when
- doing pointer arithmetic.
-
-2017-11-04 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/29600
- * gfortran.h (gfc_check_f): Replace fm3l with fm4l.
- * intrinsic.h (gfc_resolve_maxloc): Add gfc_expr * to argument
- list in protoytpe.
- (gfc_resolve_minloc): Likewise.
- * check.c (gfc_check_minloc_maxloc): Handle kind argument.
- * intrinsic.c (add_sym_3_ml): Rename to
- (add_sym_4_ml): and handle kind argument.
- (add_function): Replace add_sym_3ml with add_sym_4ml and add
- extra arguments for maxloc and minloc.
- (check_specific): Change use of check.f3ml with check.f4ml.
- * iresolve.c (gfc_resolve_maxloc): Handle kind argument. If
- the kind is smaller than the smallest library version available,
- use gfc_default_integer_kind and convert afterwards.
- (gfc_resolve_minloc): Likewise.
-
-2017-11-04 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/81735
- * trans-decl.c (gfc_trans_deferred_vars): Do a better job of a
- case where 'tmp' was used unititialized and remove TODO.
-
-2017-11-03 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/82796
- * resolve.c (resolve_equivalence): An entity in a common block within
- a module cannot appear in an equivalence statement if the entity is
- with a pure procedure.
-
-2017-10-31 Jim Wilson <wilson@tuliptree.org>
-
- * parse.c (unexpected_eof): Call gcc_unreachable before return.
-
-2017-10-30 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/80850
- * trans_expr.c (gfc_conv_procedure_call): When passing a class
- argument to an unlimited polymorphic dummy, it is wrong to cast
- the passed expression as unlimited, unless it is unlimited. The
- correct way is to assign to each of the fields and set the _len
- field to zero.
-
-2017-10-30 Steven G. Kargl <kargl@gcc.gnu.org>
-
- * resolve.c (resolve_transfer): Set derived to correct symbol for
- BT_CLASS.
-
-2017-10-29 Jim Wilson <wilson@tuliptree.org>
-
- * invoke.texi: Delete adb and sdb references.
-
-2017-10-28 Andre Vehreschild <vehre@gcc.gnu.org>
-
- * check.c (gfc_check_co_reduce): Clarify error message.
-
-2017-10-28 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/81758
- * trans-expr.c (trans_class_vptr_len_assignment): 'vptr_expr'
- must only be set if the right hand side expression is of type
- class.
-
-2017-10-27 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/82620
- * match.c (gfc_match_allocate): Exit early on syntax error.
-
-2017-10-27 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/56342
- * simplify.c (is_constant_array_expr): If the expression is
- a parameter array, call gfc_simplify_expr.
-
-2017-10-25 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
-
- * match.c (gfc_match_type_is): Fix typo in error message.
-
-2017-10-21 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/82586
- * decl.c (gfc_get_pdt_instance): Remove the error message that
- the parameter does not have a corresponding component since
- this is now taken care of when the derived type is resolved. Go
- straight to error return instead.
- (gfc_match_formal_arglist): Make the PDT relevant errors
- immediate so that parsing of the derived type can continue.
- (gfc_match_derived_decl): Do not check the match status on
- return from gfc_match_formal_arglist for the same reason.
- * resolve.c (resolve_fl_derived0): Check that each type
- parameter has a corresponding component.
-
- PR fortran/82587
- * resolve.c (resolve_generic_f): Check that the derived type
- can be used before resolving the struture constructor.
-
- PR fortran/82589
- * symbol.c (check_conflict): Add the conflicts involving PDT
- KIND and LEN attributes.
-
-2017-10-19 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
-
- * interface.c (check_sym_interfaces, check_uop_interfaces,
- gfc_check_interfaces): Base interface_name buffer off
- GFC_MAX_SYMBOL_LEN.
-
-2017-10-19 Jakub Jelinek <jakub@redhat.com>
-
- PR fortran/82568
- * gfortran.h (gfc_resolve_do_iterator): Add a bool arg.
- (gfc_resolve_omp_local_vars): New declaration.
- * openmp.c (omp_current_ctx): Make static.
- (gfc_resolve_omp_parallel_blocks): Handle EXEC_OMP_TASKLOOP
- and EXEC_OMP_TASKLOOP_SIMD.
- (gfc_resolve_do_iterator): Add ADD_CLAUSE argument, if false,
- don't actually add any clause. Move omp_current_ctx test
- earlier.
- (handle_local_var, gfc_resolve_omp_local_vars): New functions.
- * resolve.c (gfc_resolve_code): Call gfc_resolve_omp_parallel_blocks
- instead of just gfc_resolve_omp_do_blocks for EXEC_OMP_TASKLOOP
- and EXEC_OMP_TASKLOOP_SIMD.
- (gfc_resolve_code): Adjust gfc_resolve_do_iterator caller.
- (resolve_codes): Call gfc_resolve_omp_local_vars.
-
-2017-10-19 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
-
- * gfortran.h (gfc_lookup_function_fuzzy): New declaration.
- (gfc_closest_fuzzy_match): New declaration.
- (vec_push): New definition.
- * misc.c (gfc_closest_fuzzy_match): New definition.
- * resolve.c: Include spellcheck.h.
- (lookup_function_fuzzy_find_candidates): New static function.
- (lookup_uop_fuzzy_find_candidates): Likewise.
- (lookup_uop_fuzzy): Likewise.
- (resolve_operator) <INTRINSIC_USER>: Call lookup_uop_fuzzy.
- (gfc_lookup_function_fuzzy): New definition.
- (resolve_unknown_f): Call gfc_lookup_function_fuzzy.
- * interface.c (check_interface0): Likewise.
- (lookup_arg_fuzzy_find_candidates): New static function.
- (lookup_arg_fuzzy ): Likewise.
- (compare_actual_formal): Call lookup_arg_fuzzy.
- * symbol.c: Include spellcheck.h.
- (lookup_symbol_fuzzy_find_candidates): New static function.
- (lookup_symbol_fuzzy): Likewise.
- (gfc_set_default_type): Call lookup_symbol_fuzzy.
- (lookup_component_fuzzy_find_candidates): New static function.
- (lookup_component_fuzzy): Likewise.
- (gfc_find_component): Call lookup_component_fuzzy.
-
-2017-10-18 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/82567
- * frontend-passes.c (combine_array_constructor): If an array
- constructor is all constants and has more elements than a small
- constant, don't convert a*[b,c] to [a*b,a*c] to reduce compilation
- times.
-
-2017-10-18 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/79795
- * resolve.c (resovle_symbol): Change gcc_assert to
- sensible error message.
-
-2017-10-18 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/82550
- * trans_decl.c (gfc_get_symbol_decl): Procedure symbols that
- have the 'used_in_submodule' attribute should be processed by
- 'gfc_get_extern_function_decl'.
-
-2017-10-16 Fritz Reese <fritzoreese@gmail.com>
-
- PR fortran/82511
- * trans-io.c (transfer_expr): Treat BT_UNION as BT_DERIVED.
-
-2017-10-15 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/82372
- * fortran/scanner.c (last_error_char): New global variable.
- (gfc_scanner_init_1): Set last_error_char to NULL.
- (gfc_gobble_whitespace): If a character not printable or
- not newline, issue an error.
-
-2017-10-13 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/81048
- * resolve.c (resolve_symbol): Ensure that derived type array
- results get default initialization.
-
-2017-10-11 Nathan Sidwell <nathan@acm.org>
-
- * cpp.c (gfc_cpp_add_include_path): Update incpath_e names.
- (gfc_cpp_add_include_path_after): Likewise.
-
-2017-10-10 Richard Sandiford <richard.sandiford@linaro.org>
-
- * target-memory.c (gfc_interpret_logical): Use wi::to_wide when
- operating on trees as wide_ints.
- * trans-const.c (gfc_conv_tree_to_mpz): Likewise.
- * trans-expr.c (gfc_conv_cst_int_power): Likewise.
- * trans-intrinsic.c (trans_this_image): Likewise.
- (gfc_conv_intrinsic_bound): Likewise.
- (conv_intrinsic_cobound): Likewise.
-
-2017-10-08 Steven G. Kargl <kargl@gcc.gnu.org>
-
- * check.c (gfc_check_x): Remove function.
- * intrinsic.c (add_functions): Use gfc_check_fn_r.
-
-2017-10-08 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/82375
- * module.c : Bump up MOD_VERSION to 15.
- (mio_component): Edit comment about PDT specification list.
- (mio_expr, mio_symbol): Include the expression and symbol PDT
- specification lists in the same way as in mio_component.
-
-2017-10-08 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- * dump_prase_tree (show_symbol): Output list of variables in
- NAMELIST.
- (show_code_node): Add new line for ELSE and END DO for DO
- CONCURRENT.
- * invoke.texi: Document that the output of
- -fdump-fortran-original, -fdump-fortran-optimized and
- -fdump-parse-tree is unsable and may lead to ICEs.
-
-2017-10-07 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/82375
- * class.c (gfc_find_derived_vtab): Return NULL for a passed
- pdt template to prevent bad procedures from being written.
- * decl.c (gfc_get_pdt_instance): Do not use the default
- initializer for pointer and allocatable pdt type components. If
- the component is allocatbale, set the 'alloc_comp' attribute of
- 'instance'.
- * module.c : Add a prototype for 'mio_actual_arglist'. Add a
- boolean argument 'pdt'.
- (mio_component): Call it for the parameter list of pdt type
- components with 'pdt' set to true.
- (mio_actual_arg): Add the boolean 'pdt' and, if it is set, call
- mio_integer for the 'spec_type'.
- (mio_actual_arglist): Add the boolean 'pdt' and use it in the
- call to mio_actual_arg.
- (mio_expr, mio_omp_udr_expr): Call mio_actual_arglist with
- 'pdt' set false.
- * resolve.c (get_pdt_spec_expr): Add the parameter name to the
- KIND parameter error.
- (get_pdt_constructor): Check that cons->expr is non-null.
- * trans-array.c (structure_alloc_comps): For deallocation of
- allocatable components, ensure that parameterized components
- are deallocated first. Likewise, when parameterized components
- are allocated, nullify allocatable components first. Do not
- recurse into pointer or allocatable pdt components while
- allocating or deallocating parameterized components. Test that
- parameterized arrays or strings are allocated before freeing
- them.
- (gfc_trans_pointer_assignment): Call the new function. Tidy up
- a minor whitespace issue.
- trans-decl.c (gfc_trans_deferred_vars): Set 'tmp' to NULL_TREE
- to prevent the expression from being used a second time.
-
-2017-10-07 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/49232
- * expr.c (gfc_check_pointer_assign): Error
- for non-contiguous rhs.
-
-2017-10-07 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- * gfortran.h (async_io_dt): Add external reference.
- * io.c (async_io_dt): Add variable.
- (compare_to_allowed_values): Add prototyte. Add optional argument
- num. If present, set it to the number of the entry that was
- matched.
- (check_io_constraints): If this is for an asynchronous I/O
- statement, set async_io_dt and set the asynchronous flag for
- a SIZE tag.
- * resolve.c (resolve_transfer): If async_io_dt is set, set
- the asynchronous flag on the variable.
- (resolve_fl_namelist): If async_io_dt is set, set the asynchronous
- flag on all elements of the namelist.
-
-2017-10-04 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/60458
- PR fortran/77296
- * resolve.c (resolve_assoc_var): Deferred character type
- associate names must not receive an integer conatant length.
- * symbol.c (gfc_is_associate_pointer): Deferred character
- length functions also require an associate pointer.
- * trans-decl.c (gfc_get_symbol_decl): Deferred character
- length functions or derived type components require the assoc
- name to have variable string length.
- * trans-stmt.c (trans_associate_var): Set the string length of
- deferred string length associate names. The address expression
- is not needed for allocatable, pointer or dummy targets. Change
- the comment about defered string length targets.
-
-2017-10-03 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- * io.c (match_wait_element): Correctly match END and EOR tags.
- * dump-parse-tree.c (show_code_node): Handle EXEC_WAIT.
-
-2017-10-02 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/82312
- * resolve.c (gfc_resolve_code): Simplify condition for class
- pointer assignments becoming regular assignments by asserting
- that only class valued targets are permitted.
- * trans-expr.c (trans_class_pointer_fcn): New function using a
- block of code from gfc_trans_pointer_assignment.
- (gfc_trans_pointer_assignment): Call the new function. Tidy up
- a minor whitespace issue.
-
-2017-10-01 Dominique d'Humieres <dominiq@lps.ens.fr>
-
- PR fortran/61450
- * parse.c (gfc_global_used): Replace the gfc_internal_error
- with an error.
-
-2017-09-29 Dominique d'Humieres <dominiq@lps.ens.fr>
-
- PR fortran/25071
- * interface.c (compare_actual_formal): Change warnings to errors
- when "Actual argument contains too few elements for dummy
- argument", unless -std=legacy is used.
-
-2017-09-27 Thomas Schwinge <thomas@codesourcery.com>
-
- * lang.opt <Wdo-subscript>: End help text with a period.
-
-2017-09-26 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- * frontend-passes.c (do_subscript): Don't do anything
- if inside an associate list.
-
-2017-09-25 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- * lang.opt: Add -Wdo-subscript.
- * frontend-passes.c (do_t): New type.
- (doloop_list): Use variable of do_type.
- (if_level): Variable to track if levels.
- (select_level): Variable to track select levels.
- (gfc_run_passes): Initialize i_level and select_level.
- (doloop_code): Record current level of if + select
- level in doloop_list. Add seen_goto if there could
- be a branch outside the loop. Use different type for
- doloop_list.
- (doloop_function): Call do_intent and do_subscript; move
- functionality of checking INTENT to do_intent.
- (insert_index_t): New type, for callback_insert_index.
- (callback_insert_index): New function.
- (insert_index): New function.
- (do_subscript): New function.
- (do_intent): New function.
- (gfc_code_walker): Keep track of if_level and select_level.
- * invoke.texi: Document -Wdo-subscript.
-
-2017-09-25 Janne Blomqvist <jb@gcc.gnu.org>
-
- * trans.c (gfc_unlikely): Remove unnecessary fold_convert.
- (gfc_likely): Likewise.
-
-2017-09-24 Thomas Koenig <tkoenig@gcc.gnu.org>
- Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/80118
- * expr.c (gfc_get_full_arrayspec_from_expr): If there is
- no symtree, set array spec to NULL.
-
-2017-09-23 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/82143
- * lang.opt: Add the options -fdefault-real-10 and -fdefault-real-16.
- Rename flag_default_real to flag_default_real_8.
- * invoke.texi: Add documentation.
- * module.c (use_iso_fortran_env_module): flag_default_real is renamed.
- * trans-types.c (gfc_init_kinds): Implement the flags
- -fdefault-real-10 and -fdefault-real-16. Make -fdefault-double-8 work
- without -fdefault-real-8.
-
-2017-09-21 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/52832
- * match.c (gfc_match_associate): Before failing the association
- try again, allowing a proc pointer selector.
-
- PR fortran/80120
- PR fortran/81903
- PR fortran/82121
- * primary.c (gfc_match_varspec): Introduce 'tgt_expr', which
- points to the associate selector, if any. Go through selector
- references, after resolution for variables, to catch any full
- or section array references. If a class associate name does
- not have the same declared type as the selector, resolve the
- selector and copy the declared type to the associate name.
- Before throwing a no implicit type error, resolve all allowed
- selector expressions, and copy the resulting typespec.
-
- PR fortran/67543
- * resolve.c (resolve_assoc_var): Selector must cannot be the
- NULL expression and it must have a type.
-
- PR fortran/78152
- * resolve.c (resolve_symbol): Allow associate names to be
- coarrays.
-
-2017-09-21 Cesar Philippidis <cesar@codesourcery.com>
-
- * openmp.c (gfc_match_oacc_wait): Don't restrict wait directive
- arguments to constant integers.
-
-2017-09-17 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/82173
- * decl.c (gfc_get_pdt_instance): Use the component initializer
- expression for the default, rather than the parameter value.
- * resolve.c (resolve_pdt): New function.
- (resolve_symbol): Call it. Remove false error, prohibiting
- deferred type parameters for dummy arguments.
-
- PR fortran/60483
- * primary.c (gfc_match_varspec): If the type of an associate
- name is unknown and yet there is a match, try resolving the
- target expression and using its type.
-
-2017-09-15 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/82184
- trans-decl.c (gfc_trans_deferred_vars): Do not null the 'span'
- field if the symbol is either implicitly or explicitly saved.
-
-2017-09-13 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/82173
- * decl.c (match_char_kind): If the kind expression is
- parameterized, save it in saved_kind_expr and set kind = 0.
- (gfc_get_pdt_instance): Resolve and simplify before emitting
- error on expression kind. Insert a missing simplification after
- insertion of kind expressions.
-
-2017-09-12 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/82173
- PR fortran/82168
- * decl.c (variable_decl): Check pdt template components for
- appearance of KIND/LEN components in the type parameter name
- list, that components corresponding to type parameters have
- either KIND or LEN attributes and that KIND or LEN components
- are scalar. Copy the initializer to the parameter value.
- (gfc_get_pdt_instance): Add a label 'error_return' and follow
- it with repeated code, while replacing this code with a jump.
- Check if a parameter appears as a component in the template.
- Make sure that the parameter expressions are integer. Validate
- KIND expressions.
- (gfc_match_decl_type_spec): Search for pdt_types in the parent
- namespace since they are instantiated in the template ns.
- * expr.c (gfc_extract_int): Use a KIND parameter if it
- appears as a component expression.
- (gfc_check_init_expr): Allow expressions with the pdt_kind
- attribute.
- *primary.c (gfc_match_actual_arglist): Make sure that the first
- keyword argument is recognised when 'pdt' is set.
-
-2017-09-10 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/34640
- PR fortran/40737
- PR fortran/55763
- PR fortran/57019
- PR fortran/57116
-
- * expr.c (is_subref_array): Add class pointer array dummies
- to the list of expressions that return true.
- * trans-array.c: Add SPAN_FIELD and update indices for
- subsequent fields.
- (gfc_conv_descriptor_span, gfc_conv_descriptor_span_get,
- gfc_conv_descriptor_span_set, is_pointer_array,
- get_array_span): New functions.
- (gfc_get_descriptor_offsets_for_info): New function to preserve
- API for access to descriptor fields for trans-types.c.
- (gfc_conv_scalarized_array_ref): If the expression is a subref
- array, make sure that info->descriptor is a descriptor type.
- Otherwise, if info->descriptor is a pointer array, set 'decl'
- and fix it if it is a component reference.
- (build_array_ref): Simplify handling of class array refs by
- passing the vptr to gfc_build_array_ref rather than generating
- the pointer arithmetic in this function.
- (gfc_conv_array_ref): As in gfc_conv_scalarized_array_ref, set
- 'decl'.
- (gfc_array_allocate): Set the span field if this is a pointer
- array. Use the expr3 element size if it is available, so that
- the dynamic type element size is used.
- (gfc_conv_expr_descriptor): Set the span field for pointer
- assignments.
- * trans-array.h: Prototypes for gfc_conv_descriptor_span_get
- gfc_conv_descriptor_span_set and
- gfc_get_descriptor_offsets_for_info added.
- trans-decl.c (gfc_get_symbol_decl): If a non-class pointer
- array, mark the declaration as a GFC_DECL_PTR_ARRAY_P. Remove
- the setting of GFC_DECL_SPAN.
- (gfc_trans_deferred_vars): Set the span field to zero in thge
- originating scope.
- * trans-expr.c (gfc_conv_procedure_call): Do not use copy-in/
- copy-out to pass subref expressions to a pointer dummy.
- (gfc_trans_pointer_assignment): Remove code for setting of
- GFC_DECL_SPAN. Set the 'span' field for non-class pointers to
- class function results. Likewise for rank remap. In the case
- that the target is not a whole array, use the target array ref
- for remap and, since the 'start' indices are missing, set the
- lbounds to one, as required by the standard.
- * trans-intrinsic.c (conv_expr_ref_to_caf_ref): Pick up the
- 'token' offset from the field decl in the descriptor.
- (conv_isocbinding_subroutine): Set the 'span' field.
- * trans-io.c (gfc_trans_transfer): Always scalarize pointer
- array io.
- * trans-stmt.c (trans_associate_var): Set the 'span' field.
- * trans-types.c (gfc_get_array_descriptor_base): Add the 'span'
- field to the array descriptor.
- (gfc_get_derived_type): Pointer array components are marked as
- GFC_DECL_PTR_ARRAY_P.
- (gfc_get_array_descr_info): Replaced API breaking code for
- descriptor offset calling gfc_get_descriptor_offsets_for_info.
- * trans.c (get_array_span): New function.
- (gfc_build_array_ref): Simplify by calling get_array_span and
- obtain 'span' if 'decl' or 'vptr' present.
- * trans.h : Rename DECL_LANG_FLAG_6, GFC_DECL_SUBREF_ARRAY_P,
- as GFC_DECL_PTR_ARRAY_P.
-
-2017-09-09 Paul Thomas <pault@gcc.gnu.org>
-
- * decl.c : Add decl_type_param_list, type_param_spec_list as
- static variables to hold PDT spec lists.
- (build_sym): Copy 'type_param_spec_list' to symbol spec_list.
- (build_struct): Copy the 'saved_kind_expr' to the component
- 'kind_expr'. Check that KIND or LEN components appear in the
- decl_type_param_list. These should appear as symbols in the
- f2k_derived namespace. If the component is itself a PDT type,
- copy the decl_type_param_list to the component param_list.
- (gfc_match_kind_spec): If the KIND expression is parameterized
- set KIND to zero and store the expression in 'saved_kind_expr'.
- (insert_parameter_exprs): New function.
- (gfc_insert_kind_parameter_exprs): New function.
- (gfc_insert_parameter_exprs): New function.
- (gfc_get_pdt_instance): New function.
- (gfc_match_decl_type_spec): Match the decl_type_spec_list if it
- is present. If it is, call 'gfc_get_pdt_instance' to obtain the
- specific instance of the PDT.
- (match_attr_spec): Match KIND and LEN attributes. Check for the
- standard and for type/kind of the parameter. They are also not
- allowed outside a derived type definition.
- (gfc_match_data_decl): Null the decl_type_param_list and the
- type_param_spec_list on entry and free them on exit.
- (gfc_match_formal_arglist): If 'typeparam' is true, add the
- formal symbol to the f2k_derived namespace.
- (gfc_match_derived_decl): Register the decl_type_param_list
- if this is a PDT. If this is a type extension, gather up all
- the type parameters and put them in the right order.
- *dump-parse-tree.c (show_attr): Signal PDT templates and the
- parameter attributes.
- (show_components): Output parameter atrributes and component
- parameter list.
- (show_symbol): Show variable parameter lists.
- * expr.c (expr.c): Copy the expression parameter list.
- (gfc_is_constant_expr): Pass on symbols representing PDT
- parameters.
- (gfc_check_init_expr): Break on PDT KIND parameters and
- PDT parameter expressions.
- (gfc_check_assign): Assigning to KIND or LEN components is an
- error.
- (derived_parameter_expr): New function.
- (gfc_derived_parameter_expr): New function.
- (gfc_spec_list_type): New function.
- * gfortran.h : Add enum gfc_param_spec_type. Add the PDT attrs
- to the structure symbol_attr. Add the 'kind_expr' and
- 'param_list' field to the gfc_component structure. Comment on
- the reuse of the gfc_actual_arglist structure as storage for
- type parameter spec lists. Add the new field 'spec_type' to
- this structure. Add 'param_list' fields to gfc_symbol and
- gfc_expr. Add prototypes for gfc_insert_kind_parameter_exprs,
- gfc_insert_parameter_exprs, gfc_add_kind, gfc_add_len,
- gfc_derived_parameter_expr and gfc_spec_list_type.
- * interface.c (gfc_compare_derived_types): Treat PDTs in the
- same way as sequence types.
- * match.c : Add variable 'type_param_spec_list'.
- (gfc_op2string, gfc_match_member_sep, gfc_match_label): Remove
- trailing whitespace.
- (match_derived_type_spec): Match PDTs and find specific
- instance.
- (gfc_match_type_spec): Remove more trailing whitespace.
- (gfc_match_allocate): Assumed or deferred parameters cannot
- appear here. Copy the type parameter spec list to the expr for
- the allocatable entity. Free 'type_param_spec_list'.
- (gfc_match_common, gfc_match_namelist, gfc_match_module): Still
- more trailing whitespace to remove.
- (gfc_match_type_is): Allow PDT typespecs.
- * match.h : Modify prototypes for gfc_match_formal_arglist and
- gfc_match_actual_arglist.
- * module.c (ab_attribute, mstring attr_bits): PDT attributes
- added.
- (mio_symbol_attribute): PDT attributes handled.
- (mio_component): Deal with 'kind_expr' field.
- (mio_full_f2k_derived): For PDT templates, transfer the formal
- namespace symroot to the f2k_derived namespace.
- *primary.c (match_keyword_arg, gfc_match_actual_arglist): Add
- modifications to handle PDT spec lists. These are flagged in
- both cases by new boolean arguments, whose prototype defaults
- are false.
- (gfc_match_structure_constructor, match_variable): Remove yet
- more trailing whitespace.
- * resolve.c (get_pdt_spec_expr, get_pdt_constructor): New
- functions.
- (resolve_structure_cons): If the constructor is a PDT template,
- call get_pdt_constructor to build it using the parameter lists
- and then get the specific instance of the PDT.
- (resolve_component): PDT strings need a hidden string length
- component like deferred characters.
- (resolve_symbol): Dummy PDTs cannot have deferred parameters.
- * symbol.c (gfc_add_kind, gfc_add_len): New functions.
- (free_components): Free 'kind_expr' and 'param_list' fields.
- (gfc_free_symbol): Free the 'param_list' field.
- (gfc_find_sym_tree): If the current state is a PDT template,
- look for the symtree in the f2k_derived namspaces.
- trans-array.c (structure_alloc_comps): Allocate and deallocate
- PDTs. Check dummy arguments for compliance of LEN parameters.
- Add the new functions to the preceeding enum.
- (gfc_allocate_pdt_comp, gfc_deallocate_pdt_comp and
- gfc_check_pdt_dummy): New functions calling above.
- * trans-array.h : Add prototypes for these functions.
- trans-decl.c (gfc_get_symbol_decl): Call gfc_defer_symbol_init
- as appropriate for PDT symbols.
- (gfc_trans_deferred_vars): Allocate/deallocate PDT entities as
- they come into and out of scope. Exclude pdt_types from being
- 'gcc_unreachable'.
- (gfc_trans_subcomponent_assign): PDT array components must be
- handles as if they are allocatable.
- * trans-stmt.c (gfc_trans_allocate): Handle initialization of
- PDT entities.
- (gfc_trans_deallocate): Likewise.
- * trans-types.c (gfc_get_derived_type): PDT templates must not
- arrive here. PDT string components are handles as if deferred.
- Similarly, PDT arrays are treated as if allocatable. PDT
- strings are pointer types.
- * trans.c (gfc_deferred_strlen): Handle PDT strings in the same
- way as deferred characters.
-
-2017-09-01 Jakub Jelinek <jakub@redhat.com>
-
- PR c/81887
- * parse.c (decode_omp_directive): Use matchs instead of matcho for
- end ordered and ordered directives, except for ordered depend. For
- -fopenmp-simd and ordered depend, reject the stmt.
- * trans-openmp.c (gfc_trans_omp_ordered): For -fopenmp-simd ignore
- threads clause and if simd clause isn't present, just translate the
- body.
-
-2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
- Alan Hayward <alan.hayward@arm.com>
- David Sherwood <david.sherwood@arm.com>
-
- * trans-types.c (gfc_init_kinds): Use opt_scalar_int_mode for
- the mode iterator.
-
-2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
- Alan Hayward <alan.hayward@arm.com>
- David Sherwood <david.sherwood@arm.com>
-
- * target-memory.c (size_integer): Use SCALAR_INT_TYPE_MODE.
- (size_logical): Likewise.
-
-2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
- Alan Hayward <alan.hayward@arm.com>
- David Sherwood <david.sherwood@arm.com>
-
- * trans-types.c (gfc_type_for_mode): Use is_a <scalar_int_mode>.
-
-2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
- Alan Hayward <alan.hayward@arm.com>
- David Sherwood <david.sherwood@arm.com>
-
- * trans-types.c (gfc_init_kinds): Use opt_scalar_float_mode
- and FOR_EACH_MODE_IN_CLASS.
-
-2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
- Alan Hayward <alan.hayward@arm.com>
- David Sherwood <david.sherwood@arm.com>
-
- * target-memory.c (size_float): Use SCALAR_FLOAT_TYPE_MODE
- instead of TYPE_MODE.
-
-2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
- Alan Hayward <alan.hayward@arm.com>
- David Sherwood <david.sherwood@arm.com>
-
- * trans-types.c (gfc_init_kinds): Use machine_mode instead of int
- for "mode".
-
-2017-08-28 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/81770
- * expr.c (gfc_check_pointer_assign): Improve the check whether pointer
- may outlive pointer target.
-
-2017-08-27 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/81974
- * frontend-passes (inline_matumul_assign): Explicity
- set typespec for call to CONJG.
-
-2017-08-21 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR fortran/81296
- * trans-io.c (get_dtio_proc): Add check for format label and set
- formatted flag accordingly. Reorganize the code a little.
-
-2017-08-16 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/81116
- * frontend-passes.c (realloc_string_callback): If expression is a
- concatenation, also check for dependency.
- (constant_string_length): Check for presence of symtree.
-
-2017-08-13 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- * gfortran.texi: Document format of unformatted sequential files.
-
-2017-08-11 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- * invoke.texi: Actually commit change about -Ofast.
-
-2017-08-11 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/60355
- * resolve.c (resolve_symbol): Adjust (and reformat)
- comment. Perform check if a BIND(C) is declared
- at module level regardless of whether it is typed
- implicitly or not.
-
-2017-08-10 Fritz Reese <fritzoreese@gmail.com>
-
- * options.c (set_dec_flags): Only set legacy standards when value
- is not zero.
-
-2017-08-10 Fritz Reese <fritzoreese@gmail.com>
-
- * options.c (set_dec_flags, gfc_post_options): Only set flag_d_lines
- with -fdec when not set by user.
-
-2017-08-10 Fritz Reese <fritzoreese@gmail.com>
-
- * decl.c (attr_seen): New static variable.
- * decl.c (variable_decl): Match %FILL in STRUCTURE body.
- * gfortran.texi: Update documentation.
-
-2017-08-08 Martin Liska <mliska@suse.cz>
-
- * trans-types.c: Include header files.
-
-2017-08-07 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/68829
- PR fortran/81701
- * options.c: Make -Ofast honor -fmax-stack-var-size.
- * invoke.texi: Document change.
-
-2017-08-01 Thomas König <tkoenig@gcc.gnu.org>
-
- PR fortran/79312
- * intrisic.c (gfc_convert_type_warn): Only set typespec for
- empty array constructors which don't have it already.
-
-2017-08-01 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/45435
- * lang.opt (fc-prototypes): Add option.
- * gfortran.h (gfc_typespec): Add interop_kind to struct.
- (gfc_dump_c_prototypes): Add prototype.
- * decl.c (gfc_match_kind_spec): Copy symbol used for kind to typespec.
- * parse.c (gfc_parse_file): Call gfc_dump_prototypes.
- * dump-parse-tree.c (gfc_dump_c_prototypes): New function.
- (type_return): New enum.
- (get_c_type_name): New function.
- (write_decl): New function.
- (write_type): New function.
- (write_variable): New function.
- (write_proc): New function.
- (write_interop_decl): New function.
- * invoke.texi: Document -fc-prototypes.
-
-2017-08-01 Dominique d'Humieres <dominiq@lps.ens.fr>
-
- PR fortran/53542
- * expr.c (gfc_check_init_expr): Use the renamed name.
-
-2017-07-31 Jakub Jelinek <jakub@redhat.com>
-
- * check.c (gfc_check_num_images): Fix a pasto.
-
-2017-07-29 Jakub Jelinek <jakub@redhat.com>
-
- * trans-decl.c (gfc_trans_use_stmts): Pass false as new argument to
- the imported_module_or_decl debug hook.
-
-2017-07-28 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * resolve.c (find_reachable_labels): Adjust.
-
-2017-07-25 Jakub Jelinek <jakub@redhat.com>
-
- * ioparm.def: Use 1U << 31 instead of 1 << 31 as flags2 mask.
-
-2017-07-24 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- * dump-parse-tree.c (show_symbol): Show binding label if present.
-
-2017-07-24 Thomas Koenig <tkoenig@gcc.gnu.org>
- Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/66102
- * fortran/trans-array.c (gfc_conv_resolve_dependencies):
- Break if dependency has been found.
-
-2017-07-23 Alexander Monakov <amonakov@ispras.ru>
-
- * interface.c (pair_cmp): Fix gfc_symbol comparison. Adjust comment.
-
-2017-07-18 Nathan Sidwell <nathan@acm.org>
-
- * trans.c (gfc_build_array_ref): Use TYPE_MAX_VALUE.
-
-2017-07-09 Dominique d'Humieres <dominiq@lps.ens.fr>
-
- PR fortran/81341
- * class.c (class_array_ref_detected): Remove a redundant
- condition.
-
-2017-07-06 Harald Anlauf <anlauf@gmx.de>
-
- PR fortran/70071
- * array.c (gfc_ref_dimen_size): Handle bad subscript triplets.
-
-2017-07-03 Dominique d'Humieres <dominiq@lps.ens.fr>
-
- PR fortran/79866
- * resolve.c (resolve_symbol): Fix typo.
-
-2017-07-03 Dominique d'Humieres <dominiq@lps.ens.fr>
-
- PR fortran/79843
- * symbol.c (check_conflict): Add missing "conflicts".
-
-2017-06-29 Cesar Philippidis <cesar@codesourcery.com>
-
- PR fortran/77765
- * openmp.c (gfc_match_oacc_routine): Check if proc_name exist before
- comparing the routine name against it.
-
-2017-06-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR fortran/80164
- * trans-stmt.c (gfc_trans_call): If no code expr, use code->loc
- as warning/error locus.
-
-2017-06-24 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR fortran/81160
- * arith.c (wprecision_int_real): Set return value before
- mpz_clear and then return after it.
-
-2017-06-15 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/80983
- * trans-expr.c (gfc_conv_procedure_call): Deallocate the result of
- scalar allocatable procedure-pointer components.
-
-2017-06-10 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/80988
- * frontend-passes.c (traverse_io_block): Also
- check for variables occurring as indices multiple
- time in a single implied DO loop.
-
-2017-06-05 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/70601
- * trans-expr.c (gfc_conv_procedure_call): Fix detection of allocatable
- function results.
-
-2017-06-05 Nicolas Koenig <koenigni@student.ethz.ch>
-
- PR fortran/35339
- * frontend-passes.c (traverse_io_block): New function.
- (simplify_io_impl_do): New function.
- (optimize_namespace): Invoke gfc_code_walker with
- simplify_io_impl_do.
-
-2017-06-02 Jakub Jelinek <jakub@redhat.com>
-
- PR fortran/80918
- * openmp.c (resolve_omp_clauses): Fix a typo.
-
-2017-05-30 David Malcolm <dmalcolm@redhat.com>
-
- * error.c (gfc_format_decoder): Update for new bool and
- const char ** params.
-
-2017-05-29 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/37131
- * frontend-passes.c (check_conjg_transpose_variable):
- Add prototype.
- (has_dimen_vector_ref): Likewise
- (matmul_temp_args): New function. Add prototype.
- (optimize_namespace): Call matmul_temp_args.
-
-2017-05-28 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- * frontend-passes.c (matmul_lhs_realloc): Correct
- allocation size for case A1B2.
-
-2017-05-25 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- * dump-parse-tree.c (show_expr): Also replace
- with dumpfile for showing values for forgotten
- case.
-
-2017-05-24 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- * dump-parse-tree.c (show_expr): Replace stdout
- with dumpfile for showing values.
-
-2017-05-24 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/66094
- * frontend-passes.c (matrix_case): Add A2TB2.
- (inline_limit_check): Handle MATMUL(TRANSPOSE(A),B)
- (inline_matmul_assign): Likewise.
-
-2017-05-23 Thomas Schwinge <thomas@codesourcery.com>
-
- * openmp.c (OACC_KERNELS_CLAUSES): Add "OMP_CLAUSE_NUM_GANGS",
- "OMP_CLAUSE_NUM_WORKERS", "OMP_CLAUSE_VECTOR_LENGTH".
-
-2017-05-22 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/80766
- * resolve.c (resolve_fl_derived): Make sure that vtype symbols are
- properly resolved.
-
-2017-05-19 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/80333
- * trans-io.c (nml_get_addr_expr): If we are dealing with class
- type data set tmp tree to get that address.
- (transfer_namelist_element): Set the array spec to point to the
- the class data.
-
-2017-05-19 David Malcolm <dmalcolm@redhat.com>
-
- PR fortran/79852
- * bbt.c (insert): Remove trailing exclamation mark from message.
- * decl.c (gfc_match_final_decl): Likewise.
- * dump-parse-tree.c (show_expr): Likewise.
- * module.c (gfc_use_module): Likewise.
- * primary.c (build_actual_constructor): Likewise.
- (gfc_convert_to_structure_constructor): Likewise.
-
-2017-05-19 Thomas Schwinge <thomas@codesourcery.com>
-
- * gfortran.h (enum gfc_omp_default_sharing): Add
- "OMP_DEFAULT_PRESENT".
- * dump-parse-tree.c (show_omp_clauses): Handle it.
- * openmp.c (gfc_match_omp_clauses): Likewise.
- * trans-openmp.c (gfc_trans_omp_clauses): Likewise.
-
-2017-05-18 Fritz Reese <fritzoreese@gmail.com>
-
- PR fortran/79968
- * decl.c (match_attr_spec, gfc_match_automatic,
- gfc_match_static, gfc_match_structure_decl): Unify diagnostic
- errors regarding -fdec options.
- * io.c (match_dec_etag, match_dec_vtag, match_dec_ftag): Ditto.
-
-2017-05-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR fortran/80741
- * trans-io.c (transfer_namelist_element): Change check from
- NULL_TREE to null_pointer_node.
-
-2017-05-17 Fritz Reese <fritzoreese@gmail.com>
-
- PR fortran/80668
- * expr.c (component_initializer): Don't generate initializers for
- pointer components.
- * invoke.texi (-finit-derived): Document.
-
-2017-05-16 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/80554
- * decl.c (build_sym): In a submodule allow overriding of host
- associated symbols from the ancestor module with a new
- declaration.
-
-2017-05-15 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/80674
- * trans-stmt.c (gfc_trans_integer_select): Remove redundant condition.
-
-2017-05-15 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/80752
- * expr.c (gfc_generate_initializer): If type conversion fails,
- check for error and return NULL.
-
-2017-05-14 Nicolas Koenig <koenigni@student.ethz.ch>
-
- PR fortran/80442
- * array.c (gfc_ref_dimen_size): Simplify stride
- expression
- * data.c (gfc_advance_section): Simplify start,
- end and stride expressions
- (gfc_advance_section): Simplify start and end
- expressions
- (gfc_get_section_index): Simplify start expression
-
-2017-05-13 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- * io.c (gfc_resolve_dt): Fix returns to bool type.
-
-2017-05-11 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR fortran/78659
- * io.c (dtio_procs_present): Add new function to check for DTIO
- procedures relative to I/O statement READ or WRITE.
- (gfc_resolve_dt): Add namelist checks using the new function.
- * resolve.c (dtio_procs_present): Remove function and related
- namelist checks. (resolve_fl_namelist): Add check specific to
- Fortran 95 restriction on namelist objects.
-
-2017-05-11 Nathan Sidwell <nathan@acm.org>
-
- * trans-decl.c: Include dumpfile.h not tree-dump.h,
-
-2017-05-09 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/79311
- * resolve.c (gfc_resolve_finalizers): Ensure that derived-type
- components have a their finalizers resolved, also if the superordinate
- type itself has a finalizer.
-
-2017-05-08 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/79930
- * frontend-passes.c (matmul_to_var_expr): New function,
- add prototype.
- (matmul_to_var_code): Likewise.
- (optimize_namespace): Use them from gfc_code_walker.
-
-2017-05-05 David Malcolm <dmalcolm@redhat.com>
-
- * cpp.c (cb_cpp_error): Replace report_diagnostic
- with diagnostic_report_diagnostic.
- * error.c (gfc_warning): Likewise.
- (gfc_warning_now_at): Likewise.
- (gfc_warning_now): Likewise.
- (gfc_warning_internal): Likewise.
- (gfc_error_now): Likewise.
- (gfc_fatal_error): Likewise.
- (gfc_error_opt): Likewise.
- (gfc_internal_error): Likewise.
-
-2017-05-01 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/37131
- * frontend-passes.c (inline_matmul_assign): Also check bounds
- for allocatable lhs and matrix-vector-multiplication.
-
-2017-04-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR fortran/80484
- * io.c (format_lex): Check for '/' and set token to FMT_SLASH.
- (check_format): Move FMT_DT checking code to data_desc section.
- * module.c (gfc_match_use): Include the case of INTERFACE_DTIO.
-
-2017-04-22 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/80121
- * trans-types.c (gfc_conv_procedure_call): Deallocate the components
- of allocatable intent(out) arguments.
-
-2017-04-21 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/80392
- * trans-types.c (gfc_get_derived_type): Prevent an infinite loop when
- building a derived type that includes a procedure pointer component
- with a polymorphic result.
-
-2017-04-17 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/80440
- * module.c (find_symtree_for_symbol): Delete.
- (read_module): Remove the call to the above.
-
-2017-04-14 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/80361
- * class.c (generate_finalization_wrapper): Give the finalization wrapper
- the recursive attribute.
-
-2017-04-10 Nicolas Koenig <koenigni@student.ethz.ch>
- Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/69498
- * module.c (gfc_match_submodule): Add error
- if function is called in the wrong state.
-
-2017-04-10 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/80046
- * expr.c (gfc_check_pointer_assign): Check if procedure pointer
- components in a pointer assignment need an explicit interface.
-
-2017-03-18 Nicolas Koenig <koenigni@student.ethz.ch>
-
- PR fortran/69498
- * symbol.c (gfc_delete_symtree): If there is a period in the name, ignore
- everything before it.
-
-2017-03-28 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/78661
- * trans-io.c (transfer_namelist_element): Perform a polymorphic call
- to a DTIO procedure if necessary.
-
-2017-03-25 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/80156
- PR fortran/79382
- * decl.c (access_attr_decl): Remove the error for an absent
- generic DTIO interface and ensure that symbol has the flavor
- FL_PROCEDURE.
-
-2017-03-22 Dominique d'Humieres <dominiq@lps.ens.fr>
-
- PR fortran/79838
- * module.c: Remove trailing period.
-
-2017-03-22 Dominique d'Humieres <dominiq@lps.ens.fr>
-
- PR fortran/79602
- * decl.c: Replace '%s' with %qs.
- * expr.c: Likewise.
- * interface.c: Likewise.
- * match.c: Likewise.
- * primary.c: Likewise.
- * resolve.c: Likewise.
-
- PR fortran/79844
- PR fortran/80011
- * io.c: Remove trailing spaces.
- * match.c: Likewise.
- * openmp.c: Likewise.
- * resolve.c: Likewise.
- * trans-intrinsic.c: Likewise.
-
- PR fortran/79853
- * expr.c: Remove a double spaces.
-
- PR fortran/79859
- * primary.c: Remove spurious quotes around %qs.
-
-2017-03-22 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/80142
- * frontend-passes.c (combine_array_constructor): Take
- location of new expression from constructor expression instead
- of constructor.
-
-2017-03-20 Nicolas Koenig <koenigni@student.ethz.ch>
-
- PR fortran/39239
- * symbol.c (check_conflict): Report an error if an EQUIVALENCE
- object is BIND(C)
-
-2017-03-18 Nicolas Koenig <koenigni@student.ethz.ch>
-
- PR fortran/69498
- * decl.c (add_hidden_procptr_result): Fixed Refs count of the
- created "ppr@" symbol.
-
-2017-03-18 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/79676
- * module.c (mio_symbol_attribute): Remove reset of the flag
- 'no_module_procedures'.
- (check_for_module_procedures): New function. Move declaration
- of 'no_module_procedures' to above it.
- (gfc_dump_module): Traverse namespace calling new function.
-
-2017-03-18 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/71838
- * symbol.c (check_conflict): A dummy procedure in a submodule,
- module procedure is not an error.
- (gfc_add_flavor): Ditto.
-
-2017-03-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR fortran/79841
- * openmp.c (check_symbol_not_pointer): Adjust diagnostics.
-
-2017-03-16 Jakub Jelinek <jakub@redhat.com>
-
- PR fortran/80010
- * parse.c (gfc_ascii_statement): Use !$ACC for ST_OACC_ATOMIC
- and ST_OACC_END_ATOMIC, instead of !ACC.
- * trans-decl.c (finish_oacc_declare): Use !$ACC instead of $!ACC.
- * openmp.c (gfc_match_oacc_declare, gfc_match_oacc_wait,
- gfc_resolve_oacc_declare): Likewise.
-
- PR fortran/79886
- * error.c (gfc_format_decoder): Rename plus argument to set_locus,
- remove ATTRIBUTE_UNUSED from all arguments, call default_tree_printer
- if not a Fortran specific spec.
- * trans-io.c: Include options.h.
- (gfc_build_st_parameter): Temporarily disable -Wpadded around layout
- of artificial IO data structures.
-
-2017-03-15 David Malcolm <dmalcolm@redhat.com>
-
- PR fortran/79860
- * resolve.c (resolve_contained_fntype): Make error messages more
- amenable to translation.
-
-2017-03-06 Richard Biener <rguenther@suse.de>
-
- PR fortran/79894
- * trans.c (gfc_add_modify_loc): Weaken assert.
-
-2017-03-05 Andre Vehreschild <vehre@gcc.gnu.org>,
- Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
-
- * check.c (positive_check): Add new function checking constant for
- being greater then zero.
- (gfc_check_image_status): Add checking of image_status arguments.
- (gfc_check_failed_or_stopped_images): Same but for failed_- and
- stopped_images function.
- * dump-parse-tree.c (show_code_node): Added output of FAIL IMAGE.
- * gfortran.h (enum gfc_statement): Added FAIL_IMAGE_ST.
- (enum gfc_isym_id): Added new intrinsic symbols.
- (enum gfc_exec_op): Added EXEC_FAIL_IMAGE.
- * gfortran.texi: Added description for the new API functions. Updated
- coverage of gfortran of TS18508.
- * intrinsic.c (add_functions): Added symbols to resolve new intrinsic
- functions.
- * intrinsic.h: Added prototypes.
- * iresolve.c (gfc_resolve_failed_images): Resolve the failed_images
- intrinsic.
- (gfc_resolve_image_status): Same for image_status.
- (gfc_resolve_stopped_images): Same for stopped_images.
- * libgfortran.h: Added prototypes.
- * match.c (gfc_match_if): Added matching of FAIL IMAGE statement.
- (gfc_match_fail_image): Match a FAIL IMAGE statement.
- * match.h: Added prototype.
- * parse.c (decode_statement): Added matching for FAIL IMAGE.
- (next_statement): Same.
- (gfc_ascii_statement): Same.
- * resolve.c: Same.
- * simplify.c (gfc_simplify_failed_or_stopped_images): For COARRAY=
- single a constant result can be returne.d
- (gfc_simplify_image_status): For COARRAY=single the result is constant.
- * st.c (gfc_free_statement): Added FAIL_IMAGE handling.
- * trans-decl.c (gfc_build_builtin_function_decls): Added decls of the
- new intrinsics.
- * trans-expr.c (gfc_conv_procedure_call): This is first time all
- arguments of a function are optional, which is now handled here
- correctly.
- * trans-intrinsic.c (conv_intrinsic_image_status): Translate
- image_status.
- (gfc_conv_intrinsic_function): Add support for image_status.
- (gfc_is_intrinsic_libcall): Add support for the remaining new
- intrinsics.
- * trans-stmt.c (gfc_trans_fail_image): Trans a fail image.
- * trans-stmt.h: Add the prototype for the above.
- * trans.c (trans_code): Dispatch for fail_image.
- * trans.h: Add the trees for the new intrinsics.
-
-2017-03-03 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR fortran/79841
- * openmp.c (check_symbol_not_pointer): Adjust diagnostic.
-
-2017-02-28 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/79739
- * resolve.c (resolve_fl_procedure): Deal with the case where
- 'submodule_name' is NULL so that gfc_error does not ICE.
- Reformat the error message to make it more consistent.
-
-2017-02-28 Jakub Jelinek <jakub@redhat.com>
-
- * parse.c (parse_critical_block): Use cond ? G_("...") : G_("...")
- instead of just cond ? "..." : "...".
- * scanner.c (gfc_next_char_literal): Likewise.
- * match.c (match_exit_cycle): Likewise.
-
-2017-02-26 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/51119
- * options.c (gfc_post_options): Set default limit for matmul
- inlining to 30.
- * invoke.texi: Document change.
-
-2017-02-25 Dominique d'Humieres <dominiq@lps.ens.fr>
-
- PR fortran/79601
- * interface.c (check_dtio_arg_TKR_intent): Change 'intent'
- to 'INTENT'.
-
-2017-02-25 Dominique d'Humieres <dominiq@lps.ens.fr>
-
- PR fortran/79597
- * interface.c (gfc_match_end_interface): Remove spurious comma
- and space, replace 'got %s' with 'got %qs'.
-
-2017-02-20 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/79599
- * interface.c (check_dtio_arg_TKR_intent): Supply 'must'
- missing from error message.
-
-2017-02-20 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/79523
- * interface.c (gfc_find_typebound_dtio_proc): Guard test for
- flavor attribute by checking that symbol is resolved.
-
-2017-02-16 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/79382
- * decl.c (access_attr_decl): Test for presence of generic DTIO
- interface and emit error if not present.
-
-2017-02-20 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/79434
- * parse.c (check_component, parse_union): Whitespace.
- (set_syms_host_assoc): For a derived type, check if the module
- in which it was declared is one of the submodule ancestors. If
- it is, make the components public. Otherwise, reset attribute
- 'host_assoc' and set 'use-assoc' so that encapsulation is
- preserved.
-
-2017-02-19 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/79447
- * decl.c (gfc_set_constant_character_len): Whitespace.
- (gfc_match_end): Catch case where a procedure is contained in
- a module procedure and ensure that 'end procedure' is the
- correct termination.
-
-2017-02-19 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/79402
- * resolve.c (fixup_unique_dummy): New function.
- (gfc_resolve_expr): Call it for dummy variables with a unique
- symtree name.
-
-2017-02-19 Andre Vehreschild <vehre@gcc.gnu.org>
-
- PR fortran/79229
- * trans-expr.c (gfc_trans_assignment_1): Deref indirect refs when
- compiling with -fcheck=mem to check the pointer and not the data.
-
-2017-02-19 Andre Vehreschild <vehre@gcc.gnu.org>
-
- PR fortran/79335
- * trans-array.c (duplicate_allocatable_coarray): Ensure attributes
- passed are properly initialized.
- (structure_alloc_comps): Same.
- * trans-expr.c (gfc_trans_structure_assign): Same.
-
-2017-02-13 Jakub Jelinek <jakub@redhat.com>
-
- * trans-expr.c (gfc_conv_substring): Add missing space in diagnostics.
-
-2017-02-12 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/65542
- * intrinsic.c (gfc_intrinsic_func_interface): Return an error
- for -std=f95 for disallowed transformational functions in
- initialization expressions.
-
-2017-02-09 Cesar Philippidis <cesar@codesourcery.com>
- Joseph Myers <joseph@codesourcery.com>
-
- * openmp.c (resolve_omp_clauses): Error on directives
- containing both tile and collapse clauses.
- (resolve_oacc_loop_blocks): Represent '*' tile arguments as zero.
- * trans-openmp.c (gfc_trans_omp_do): Lower tiled loops like
- collapsed loops.
-
-2017-02-07 Steven G. Kargl <kargl@gcc.gnu.org>
-
- * trans-types.c (gfc_get_int_kind_from_width_isofortranen): Choose
- REAL type with the widest precision if two (or more) have the same
- storage size.
-
-2017-02-05 Andre Vehreschild <vehre@gcc.gnu.org>
-
- PR fortran/79344
- * trans-stmt.c (gfc_trans_allocate): Only deallocate the components of
- the temporary, when a new object was created for the temporary. Not
- when it is just an alias to an existing object.
-
-2017-02-05 Andre Vehreschild <vehre@gcc.gnu.org>
-
- PR fortran/79335
- * trans-decl.c (generate_coarray_sym_init): Retrieve the symbol's
- attributes before using them.
-
-2017-02-05 Andre Vehreschild <vehre@gcc.gnu.org>
-
- PR fortran/78958
- * trans-stmt.c (gfc_trans_allocate): Add the multiplying the _len
- component of unlimited polymorphic objects when source-allocating.
-
-2017-02-05 Andre Vehreschild <vehre@gcc.gnu.org>
-
- PR fortran/79230
- * trans-array.c (structure_alloc_comps): Ignore pointer components when
- freeing structures.
-
-2017-01-25 Maxim Ostapenko <m.ostapenko@samsung.com>
-
- PR lto/79061
- * f95-lang.c (gfc_create_decls): Include stringpool.h.
- Pass main_input_filename to build_translation_unit_decl.
-
-2017-01-23 Thomas Koenig <tkoenig@netcologne.de>
-
- * arith.c (arith_power): If simplifying integer power expression
- to zero, warn if -Winteger-division is given.
-
-2017-01-22 Jakub Jelinek <jakub@redhat.com>
-
- PR fortran/79154
- * parse.c (matchs, matcho, matchds, matchdo): Replace return st;
- with { ret = st; goto finish; }.
- (decode_omp_directive): Allow declare simd, declare target and
- simd directives in PURE/ELEMENTAL procedures. Only call
- gfc_unset_implicit_pure on successful match of other procedures.
-
-2017-01-21 Gerald Pfeifer <gerald@pfeifer.com>
-
- * gfc-internals.texi (Symbol Versioning): Change references
- to www.akkadia.org to https.
-
-2017-01-21 Jakub Jelinek <jakub@redhat.com>
-
- * gfortran.h (gfc_extract_int): Change return type to bool. Add
- int argument with = 0.
- * decl.c (gfc_match_kind_spec): Adjust gfc_extract_int caller, pass
- 1 as new last argument to it, don't emit gfc_error.
- (match_char_kind): Likewise.
- (gfc_match_decl_type_spec): Use gfc_get_string ("%s", x) instead of
- gfc_get_string (x).
- (gfc_match_derived_decl, match_binding_attributes): Likewise.
- (gfc_match_structure_decl): Don't sprintf back to name, call
- get_struct_decl directly with gfc_dt_upper_string (name) result.
- * trans-stmt.c (gfc_trans_allocate): Use gfc_get_string ("%s", x)
- instead of gfc_get_string (x).
- * module.c (gfc_dt_lower_string, gfc_dt_upper_string,
- gfc_match_use, gfc_match_submodule, find_true_name, mio_pool_string,
- mio_symtree_ref, mio_expr, mio_omp_udr_expr, load_generic_interfaces,
- load_omp_udrs, load_needed, read_module, dump_module,
- create_intrinsic_function, import_iso_c_binding_module,
- create_int_parameter, create_int_parameter_array, create_derived_type,
- use_iso_fortran_env_module): Likewise.
- * error.c (gfc_diagnostic_starter, gfc_diagnostic_start_span): Use
- pp_verbatim (context->printer, "%s", x) instead of
- pp_verbatim (context->printer, x).
- * match.c (gfc_match_small_int): Adjust gfc_extract_int caller, pass
- 1 as new last argument to it, don't emit gfc_error.
- (gfc_match_small_int_expr): Likewise.
- * iresolve.c (gfc_get_string): Optimize format "%s" case.
- (resolve_bound): Use gfc_get_string ("%s", x) instead of
- gfc_get_string (x).
- (resolve_transformational): Formatting fix.
- (gfc_resolve_char_achar): Change name argument to bool is_achar,
- use a single format string and if is_achar add "a" before "char".
- (gfc_resolve_achar, gfc_resolve_char): Adjust callers.
- * expr.c (gfc_extract_int): Change return type to bool, return true
- if some error occurred. Add REPORT_ERROR argument, if non-zero
- call either gfc_error or gfc_error_now depending on its sign.
- * arith.c (arith_power): Adjust gfc_extract_int caller.
- * symbol.c (gfc_add_component): Use gfc_get_string ("%s", x) instead
- of gfc_get_string (x).
- (gfc_new_symtree, gfc_delete_symtree, gfc_get_uop, gfc_new_symbol,
- gfc_get_gsymbol, generate_isocbinding_symbol): Likewise.
- * openmp.c (gfc_match_omp_clauses): Adjust gfc_extract_int caller, pass
- -1 as new last argument to it, don't emit gfc_error_now.
- (gfc_match_omp_declare_reduction): Use gfc_get_string ("%s", x)
- instead of gfc_get_string (x).
- * check.c (kind_check): Adjust gfc_extract_int caller.
- * intrinsic.c (add_sym, find_sym, make_alias): Use
- gfc_get_string ("%s", x) instead of gfc_get_string (x).
- * simplify.c (get_kind, gfc_simplify_btest, gfc_simplify_maskr,
- gfc_simplify_maskl, gfc_simplify_poppar, gfc_simplify_repeat,
- gfc_simplify_selected_int_kind, gfc_simplify_selected_real_kind):
- Adjust gfc_extract_int callers.
- * trans-decl.c (gfc_find_module): Use gfc_get_string ("%s", x)
- instead of gfc_get_string (x).
- * matchexp.c (expression_syntax): Add const.
- * primary.c (match_kind_param, match_hollerith_constant,
- match_string_constant): Adjust gfc_extract_int callers.
- (match_keyword_arg): Use gfc_get_string ("%s", x) instead of
- gfc_get_string (x).
- * frontend-passes.c (optimize_minmaxloc): Likewise.
-
-2017-01-19 Andre Vehreschild <vehre@gcc.gnu.org>
-
- PR fortran/70696
- * trans-decl.c (gfc_build_qualified_array): Add static decl to parent
- function only, when the decl-context is not the translation unit.
-
-2017-01-18 Louis Krupp <louis.krupp@zoho.com>
-
- PR fortran/50069
- PR fortran/55086
- * trans-expr.c (gfc_conv_variable): Don't treat temporary variables
- as function arguments.
- * trans-stmt.c (forall_make_variable_temp,
- generate_loop_for_temp_to_lhs, gfc_trans_assign_need_temp,
- gfc_trans_forall_1): Don't adjust offset of forall temporary
- for array sections, make forall temporaries work for substring
- expressions, improve test coverage by adding -ftest-forall-temp
- option to request usage of temporary array in forall code.
- * lang.opt: Add -ftest-forall-temp option.
- * invoke.texi: Add -ftest-forall-temp option.
-
-2017-01-18 Andre Vehreschild <vehre@gcc.gnu.org>
-
- * primary.c (caf_variable_attr): Improve figuring whether the current
- component is the last one refed.
- * trans-stmt.c (gfc_trans_allocate): Do not generate sync_all calls
- when allocating pointer or allocatable components.
-
-2017-01-18 Andre Vehreschild <vehre@gcc.gnu.org>
-
- * gfortran.texi: Add missing parameters to caf-API functions. Correct
- typos and clarify some descriptions.
-
-2017-01-18 Andre Vehreschild <vehre@gcc.gnu.org>
-
- PR fortran/70696
- Missed some cases, here they are:
- * trans-decl.c (gfc_build_qualified_array): Add static tokens to the
- parent function's scope.
- * trans-expr.c (gfc_get_tree_for_caf_expr): Shorten code. Remove
- unnecessary assert.
-
-2017-01-13 Andre Vehreschild <vehre@gcc.gnu.org>
-
- PR fortran/70697
- * resolve.c (resolve_lock_unlock_event): Resolve the expression for
- event's until_count.
-
-2017-01-13 Andre Vehreschild <vehre@gcc.gnu.org>
-
- PR fortran/70696
- * trans-expr.c (gfc_get_tree_for_caf_expr): Ensure the backend_decl
- is valid before accessing it.
-
-2017-01-09 Jakub Jelinek <jakub@redhat.com>
-
- PR translation/79019
- PR translation/79020
- * decl.c (attr_decl1): Fix spelling in translatable string.
- * intrinsic.texi: Fix spelling - invokation -> invocation.
- * lang.opt (faggressive-function-elimination, gfc_convert): Fix
- typos in descriptions.
- * openmp.c (resolve_omp_clauses): Add missing whitespace to
- translatable strings.
-
-2017-01-08 Martin Sebor <msebor@redhat.com>
-
- PR tree-optimization/78913
- PR middle-end/77708
- * trans-common.c (build_equiv_decl): Increase buffer size to avoid
- truncation for any argument.
- * trans-types.c (gfc_build_logical_type): Same.
-
-2017-01-07 Andre Vehreschild <vehre@gcc.gnu.org>
-
- PR fortran/78781
- PR fortran/78935
- * expr.c (gfc_check_pointer_assign): Return the same error message for
- rewritten coarray pointer assignments like for plain ones.
- * gfortran.h: Change prototype.
- * primary.c (caf_variable_attr): Set attributes used ones only only
- ones. Add setting of pointer_comp attribute.
- (gfc_caf_attr): Add setting of pointer_comp attribute.
- * trans-array.c (gfc_array_allocate): Add flag that the component to
- allocate is not an ultimate coarray component. Add allocation of
- pointer arrays.
- (structure_alloc_comps): Extend nullify to treat pointer components in
- coarrays correctly. Restructure nullify to remove redundant code.
- (gfc_nullify_alloc_comp): Allow setting caf_mode flags.
- * trans-array.h: Change prototype of gfc_nullify_alloc_comp ().
- * trans-decl.c (generate_coarray_sym_init): Call nullify_alloc_comp for
- derived type coarrays with pointer components.
- * trans-expr.c (gfc_trans_structure_assign): Also treat pointer
- components.
- (trans_caf_token_assign): Handle assignment of token of scalar pointer
- components.
- (gfc_trans_pointer_assignment): Call above routine.
- * trans-intrinsic.c (conv_expr_ref_to_caf_ref): Add treating pointer
- components.
- (gfc_conv_intrinsic_caf_get): Likewise.
- (conv_caf_send): Likewise.
- * trans-stmt.c (gfc_trans_allocate): After allocating a derived type in
- a coarray pre-register the tokens.
- (gfc_trans_deallocate): Simply determining the coarray type (scalar or
- array) and deregistering it correctly.
- * trans-types.c (gfc_typenode_for_spec): Replace in_coarray flag by the
- actual codim to allow lookup of array types in the cache.
- (gfc_build_array_type): Likewise.
- (gfc_get_array_descriptor_base): Likewise.
- (gfc_get_array_type_bounds): Likewise.
- (gfc_get_derived_type): Likewise.
- * trans-types.h: Likewise.
- * trans.c (gfc_deallocate_with_status): Enable deregistering of all kind
- of coarray components.
- (gfc_deallocate_scalar_with_status): Use free() in fcoarray_single mode
- instead of caf_deregister.
-
-2017-01-06 Jakub Jelinek <jakub@redhat.com>
-
- * simplify.c (simplify_transformation_to_array): Use
- GCC_DIAGNOSTIC_PUSH_IGNORED and GCC_DIAGNOSTIC_POP instead of
- #pragma GCC diagnostic {push,ignored,pop}.
-
-2017-01-06 Alexandre Oliva <aoliva@redhat.com>
-
- * simplify.c (simplify_transformation_to_array): Silence
- array bounds warning. Fix whitespace.
-
-2017-01-04 Alexandre Oliva <aoliva@redhat.com>
-
- * module.c (load_omp_udrs): Initialize name.
-
-2017-01-02 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR fortran/78534
- * trans-expr.c (gfc_trans_string_copy): Rework string copy
- algorithm to avoid -Wstringop-overflow warning.
-
-2017-01-01 Jakub Jelinek <jakub@redhat.com>
-
- Update copyright years.
-
- * gfortranspec.c (lang_specific_driver): Update copyright notice
- dates.
- * gfc-internals.texi: Bump @copying's copyright year.
- * gfortran.texi: Ditto.
- * intrinsic.texi: Ditto.
- * invoke.texi: Ditto.
-Copyright (C) 2017 Free Software Foundation, Inc.
+Copyright (C) 2018 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/gcc/fortran/ChangeLog-2017 b/gcc/fortran/ChangeLog-2017
new file mode 100644
index 0000000..678ffc6
--- /dev/null
+++ b/gcc/fortran/ChangeLog-2017
@@ -0,0 +1,2295 @@
+2017-12-28 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR Fortran/83548
+ * match.c (gfc_match_type_spec): Check for LOGICAL conflict in
+ type-spec versus LOGICAL intrinsic subprogram.
+
+2017-12-28 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR fortran/83344
+ * resolve.c (resolve_assoc_var): Don't set the constant value
+ unless the target is a constant expression.
+
+2017-12-28 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/83567
+ * trans-expr.c (gfc_trans_assignment_1): Free parameterized
+ components of the lhs if dealloc is set.
+ *trans-decl.c (gfc_trans_deferred_vars): Do not free the
+ parameterized components of function results on leaving scope.
+
+2017_12_27 Louis Krupp <louis.krupp@zoho.com>
+
+ PR fortran/83092
+ * expr.c (gfc_apply_init): Check that typespec has character type
+ before using character length field.
+
+2017-12-26 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/83540
+ * frontend-passes.c (create_var): If an array to be created
+ has unknown size and -fno-realloc-lhs is in effect,
+ return NULL.
+
+2017-12-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * array.c (gfc_copy_iterator): Copy unroll field.
+ * decl.c (directive_unroll): New global variable.
+ (gfc_match_gcc_unroll): New function.
+ * gfortran.h (gfc_iterator]): Add unroll field.
+ (directive_unroll): Declare:
+ * match.c (gfc_match_do): Use memset to initialize the iterator.
+ * match.h (gfc_match_gcc_unroll): New prototype.
+ * parse.c (decode_gcc_attribute): Match "unroll".
+ (parse_do_block): Set iterator's unroll.
+ (parse_executable): Diagnose misplaced unroll directive.
+ * trans-stmt.c (gfc_trans_simple_do) Annotate loop condition with
+ annot_expr_unroll_kind.
+ (gfc_trans_do): Likewise.
+ * gfortran.texi (GNU Fortran Compiler Directives): Split section into
+ subections 'ATTRIBUTES directive' and 'UNROLL directive'.
+
+2017-12-19 Jakub Jelinek <jakub@redhat.com>
+
+ * scanner.c (preprocessor_line): Replace Yoda conditions with typical
+ order conditions.
+ * dependency.c (check_section_vs_section): Likewise.
+ * trans-array.c (gfc_conv_expr_descriptor): Likewise.
+
+2017-12-17 Janne Blomqvist <jb@gcc.gnu.org>
+
+ * decl.c (gfc_match_implicit_none): Use GFC_STD_F2018 instead of
+ GFC_STD_F2015.
+ * error.c (gfc_notify_std): Add GFC_STD_F2018{_DEL,_OBS} to
+ switch.
+ * gfortran.texi: Document -std=f2018.
+ * interface.c (compare_parameter): Fix comment.
+ * invoke.texi: Document -std=f2018.
+ * lang.opt: Add -std=f2018 argumnet.
+ * libgfortran.h (GFC_STD_F2015): Rename to GFC_STD_F0218, use
+ separate flag bit.
+ (GFC_STD_F2018_DEL): New macro.
+ (GFC_STD_F2018_OBS): Likewise.
+ * match.c (gfc_match_stopcode): Use GFC_STD_F2018.
+ * options.c (set_default_std_flags): Add F2018 flags to defaults.
+ (gfc_handle_option): Set options for -std=f2018.
+
+2017-12-15 Jakub Jelinek <jakub@redhat.com>
+
+ * f95-lang.c (gfc_attribute_table): Swap affects_type_identity
+ and handler fields, adjust comments.
+
+2017-12-14 Qing Zhao <qing.zhao@oracle.com>
+
+ PR middle_end/79538
+ * class.c (gfc_build_class_symbol): Replace call to
+ sprintf with xasprintf to avoid format-overflow warning.
+ (generate_finalization_wrapper): Likewise.
+ (gfc_find_derived_vtab): Likewise.
+ (find_intrinsic_vtab): Likewise.
+
+2017-12-12 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ * intrinsic.texi (MAXLOC): Remove double description
+ of return value.
+ (MINLOC): Likewise.
+
+2017-12-11 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ * intrinsic.texi (MAXLOC): Update documentation for
+ character arrays and KIND argument.
+ (MINLOC): Likewise.
+
+2017-12-11 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/45689
+ * simplify.c (min_max_choose): Add prototype.
+ (gfc_count): Format correctly.
+ (simplify_transformation): Pass array argument to init_result_expr.
+ (gfc_simplify_minval_maxval): Remove.
+ (gfc_min): New function.
+ (gfc_simplify_minval): Call simplify_transformation.
+ (gfc_max): New function.
+ (gfc_simplify_maxval): Call simplify_transformation.
+
+2017-12-10 Dominique d'Humieres <dominiq@lps.ens.fr>
+
+ PR fortran/53478
+ * gfortran.h (gfc_find_case_gsymbol): New prototype.
+ * symbol.c (gfc_find_case_gsymbol): New procedure, case
+ insensistive version of gfc_find_gsymbol.
+ * resolve.c (resolve_common_blocks): Use it.
+ Replace %s with %qs where needed.
+
+2017-12-09 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/82934
+ PR fortran/83318
+ * match.c (gfc_match_allocate): Enforce F2008:C631.
+
+2017-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/83316
+ * arith.c (gfc_character2character): New function.
+ * arith.h: Add prototype.
+ * simplify.c (gfc_convert_constant): Handle character type.
+
+2017-12-07 Martin Sebor <msebor@redhat.com>
+
+ PR c/81544
+ * f95-lang.c (gfc_attribute_table): Initialize new member of struct
+ attribute_spec.
+
+2017-12-03 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/36313
+ * check.c (gfc_check_minval_maxval): Use
+ int_orLreal_or_char_check_f2003 for array argument.
+ * iresolve.c (gfc_resolve_maxval): Insert number in
+ function name for character arguments.
+ (gfc_resolve_minval): Likewise.
+ * trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc):
+ Fix comment.
+ (gfc_conv_intrinsic_minmaxval): Resort arguments and call library
+ function if dealing with a character function.
+
+2017-12-01 Qing Zhao <qing.zhao@oracle.com>
+
+ * decl.c (gfc_get_pdt_instance): Adjust the call to sprintf
+ to avoid the same buffer being both source and destination.
+
+2017-12-01 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/83224
+ * frontend-passes.c (create_var): Also handle
+ character arrays, handling deferred lenghts.
+
+2017-12-01 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/82605
+ * resolve.c (get_pdt_constructor): Initialize 'cons' to NULL.
+ (resolve_pdt): Correct typo in prior comment. Emit an error if
+ any parameters are deferred and the object is neither pointer
+ nor allocatable.
+
+ PR fortran/82606
+ * decl.c (gfc_get_pdt_instance): Continue if the parameter sym
+ is not present or has no name. Select the parameter by name
+ of component, rather than component order. Remove all the other
+ manipulations of 'tail' when building the pdt instance.
+ (gfc_match_formal_arglist): Emit and error if a star is picked
+ up in a PDT decl parameter list.
+
+ PR fortran/82622
+ * trans-array.c (set_loop_bounds): If a GFC_SS_COMPONENT has an
+ info->end, use it rather than falling through to
+ gcc_unreachable.
+ (structure_alloc_comps): Check that param->name is non-null
+ before comparing with the component name.
+ * trans-decl.c (gfc_get_symbol_decl): Do not use the static
+ initializer for PDT symbols.
+ (gfc_init_default_dt): Do nothing for PDT symbols.
+ * trans-io.c (transfer_array_component): Parameterized array
+ components use the descriptor ubound since the shape is not
+ available.
+
+ PR fortran/82719
+ PR fortran/82720
+ * trans-expr.c (gfc_conv_component_ref): Do not use the charlen
+ backend_decl of pdt strings. Use the hidden component instead.
+ * trans-io.c (transfer_expr): Do not do IO on "hidden" string
+ lengths. Use the hidden string length for pdt string transfers
+ by adding it to the se structure. When finished nullify the
+ se string length.
+
+ PR fortran/82866
+ * decl.c (gfc_match_formal_arglist): If a name is not found or
+ star is found, while reading a type parameter list, emit an
+ immediate error.
+ (gfc_match_derived_decl): On reading a PDT parameter list, on
+ failure to match call gfc_error_recovery.
+
+ PR fortran/82978
+ * decl.c (build_struct): Character kind defaults to 1, so use
+ kind_expr whatever is the set value.
+ (gfc_get_pdt_instance): Ditto.
+ * trans-array.c (structure_alloc_comps): Copy the expression
+ for the PDT string length before parameter substitution. Use
+ this expression for evaluation and free it after use.
+
+2017-12-01 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/79153
+ * match.c (gfc_match): Add FALLTHRU comment to avoid
+ -Wimplicit-fallthrough warning.
+
+2017-12-01 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/83224
+ * frontend-passes.c (realloc_string_callback): Handle
+ case for which the RHS is an array expression.
+
+2017-11-28 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR fortran/53796
+ * gfortran.texi: Remove mentions of GFORTRAN_DEFAULT_RECL.
+
+2017-11-28 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/83021
+ * resolve.c (resolve_component): Only escape for use assciated
+ vtypes if the current namespace has no proc_name and is most
+ particularly block data.
+
+2017-11-28 Jakub Jelinek <jakub@redhat.com>
+
+ * trans-decl.c (gfc_trans_entry_master_switch): Build SWITCH_EXPR
+ using fold_build2_loc instead of fold_build3_loc.
+ * trans-io.c (io_result): Likewise.
+ * trans-stmt.c (gfc_trans_integer_select, gfc_trans_character_select):
+ Likewise.
+
+2017-11-24 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/81304
+ * trans-openmp.c (gfc_trans_omp_array_reduction_or_udr): Set
+ attr.implicit_type in intrinsic_sym to avoid undesirable warning.
+
+2017-11-23 Dirk Broemmel <d.broemmel@fz-juelich.de>
+ Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/81841
+ * parse.c (parse_spec): Allow ST_OMP_THREADPRIVATE inside of
+ BLOCK DATA.
+
+2017-11-23 Mike Stump <mikestump@comcast.net>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * trans-stmt.c (gfc_trans_forall_loop): Pass 3rd operand to
+ ANNOTATE_EXPR.
+
+2017-11-23 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/82814
+ * trans-types.c (gfc_sym_type): If a character function result
+ is missing the charlen backend_decl, use the one from the name-
+ space procedure symbol, if present.
+
+2017-11-22 David Malcolm <dmalcolm@redhat.com>
+
+ PR c++/62170
+ * error.c (gfc_notify_std): Convert "quoted" param from bool to
+ bool *.
+
+2017-11-22 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/36313
+ * check.c (int_or_real_or_char_check_f2003): New function.
+ * iresolve.c (gfc_resolve_maxloc): Add number "2" for
+ character arguments and rank-zero return value.
+ (gfc_resolve_minloc): Likewise.
+ * trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Handle case of
+ character arguments and rank-zero return value by removing
+ unneeded arguments and calling the library function.
+
+2017-11-22 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/79072
+ * trans-stmt.c (trans_associate_var): Weaken the over strong
+ condition for using the fake result decl.
+
+2017-11-20 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/79072
+ * trans-expr.c (trans_class_vptr_len_assignment): Set from_len
+ if the temporary is unlimited polymorphic.
+ * trans-stmt.c (trans_associate_var): Use the fake result decl
+ to obtain the 'len' field from an explicit function result when
+ in that function scope.
+
+2017-11-19 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/78990
+ * expr.c (gfc_is_class_array_function): Renamed from
+ 'gfc_is_alloc_class_array_function' and modified to return true
+ for pointers as well as allocatable results.
+ * gfortran.h : Change of name for prototype of above function.
+ * trans-array.c (gfc_add_loop_ss_code): Force finalization of
+ class array results.
+ (build_class_array_ref): Change assertion into a condition.
+ (build_class_array_ref): Set the se class_vptr for class array
+ function results.
+ (gfc_walk_function_expr): Reference gfc_is_class_array_function
+ as above.
+ * trans-decl.c (get_proc_result): Move it up before
+ gfc_trans_deferred_vars.
+ (gfc_trans_deferred_vars): Nullify explicit return class arrays
+ on entry.
+ * trans-expr.c (gfc_conv_class_to_class): Allow conversion of
+ class array functions that have an se class_vptr and use it
+ for the result vptr.
+ (gfc_conv_subref_array_arg): Rename reference to the above
+ function.
+ (gfc_conv_procedure_call): Ditto. Add the se pre block to the
+ loop pre block before the function is evaluated. Do not
+ finalize class pointer results.
+ (arrayfunc_assign_needs_temporary, gfc_trans_assignment_1) More
+ renamed references.
+ * trans-intrinsic.c (gfc_conv_intrinsic_size): Ditto.
+
+2017-11-18 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR fortran/83036
+ * ioparm.def (IOPARM): Make nextrec a pintio.
+
+2017-11-18 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR fortran/44292
+ * ioparm.def (IOPARM): Make recl_in intio, and recl_out pintio.
+
+2017-11-18 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/83012
+ * expr.c (gfc_is_simply_contiguous): If a function call through a
+ class variable is done through a reference, check the function's
+ interface.
+
+2017-11-17 Richard Biener <rguenther@suse.de>
+
+ PR fortran/83017
+ * trans-stmt.c (gfc_trans_forall_loop): Annotate DO CONCURRENT
+ loops with annot_expr_parallel_kind instead of just
+ annot_expr_ivdep_kind.
+
+2017-11-15 Martin Liska <mliska@suse.cz>
+
+ * options.c (gfc_post_options):
+ Do not set default value of warn_return_type.
+ * trans-decl.c (gfc_trans_deferred_vars):
+ Compare warn_return_type for greater than zero.
+ (generate_local_decl): Likewise
+ (gfc_generate_function_code): Likewise.
+
+2017-11-13 Fritz Reese <fritzoreese@gmail.com>
+
+ PR fortran/78240
+ * decl.c (match_clist_expr): Replace gcc_assert with proper
+ handling of bad result from spec_size().
+ * resolve.c (check_data_variable): Avoid NULL dereference when passing
+ locus to gfc_error.
+
+2017-11-11 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/82932
+ * resolve.c (update_compcall_arglist): Improve error recovery,
+ remove a gcc_assert.
+
+2017-11-10 Fritz Reese <fritzoreese@gmail.com>
+
+ PR fortran/82886
+ * gfortran.h (gfc_build_init_expr): New prototype.
+ * invoke.texi (finit-derived): Update documentation.
+ * expr.c (gfc_build_init_expr): New, from gfc_build_default_init_expr.
+ (gfc_build_default_init_expr): Redirect to gfc_build_init_expr(,,false)
+ (component_initializer): Force building initializers using
+ gfc_build_init_expr(,,true).
+
+2017-11-10 Martin Sebor <msebor@redhat.com>
+
+ PR c/81117
+ * gcc/fortran/decl.c (build_sym): Use strcpy instead of strncpy.
+
+2017-11-10 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/82934
+ * trans-stmt.c (gfc_trans_allocate): Remove the gcc_assert on
+ null string length for assumed length typespec and set
+ expr3_esize to NULL_TREE;
+
+2017-11-09 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/78619
+ * check.c (same_type_check): Introduce a new argument 'assoc'
+ with default value false. If this is true, use the symbol type
+ spec of BT_PROCEDURE expressions.
+ (gfc_check_associated): Set 'assoc' true in the call to
+ 'same_type_check'.
+
+2017-11-09 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/78814
+ * interface.c (symbol_rank): Check for NULL pointer.
+
+2017-11-08 Steven G. Kargl <kargl@kgcc.gnu.org>
+
+ PR Fortran/82841
+ * simplify.c(gfc_simplify_transfer): Do not dereference a NULL pointer.
+ Unwrap a short line.
+
+2017-11-08 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/82884
+ * arith.c (gfc_hollerith2character): Clear pad.
+
+2017-11-08 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR 82869
+ * convert.c (truthvalue_conversion): Use logical_type_node.
+ * trans-array.c (gfc_trans_allocate_array_storage): Likewise.
+ (gfc_trans_create_temp_array): Likewise.
+ (gfc_trans_array_ctor_element): Likewise.
+ (gfc_trans_array_constructor_value): Likewise.
+ (trans_array_constructor): Likewise.
+ (trans_array_bound_check): Likewise.
+ (gfc_conv_array_ref): Likewise.
+ (gfc_trans_scalarized_loop_end): Likewise.
+ (gfc_conv_array_extent_dim): Likewise.
+ (gfc_array_init_size): Likewise.
+ (gfc_array_allocate): Likewise.
+ (gfc_trans_array_bounds): Likewise.
+ (gfc_trans_dummy_array_bias): Likewise.
+ (gfc_conv_array_parameter): Likewise.
+ (duplicate_allocatable): Likewise.
+ (duplicate_allocatable_coarray): Likewise.
+ (structure_alloc_comps): Likewise
+ (get_std_lbound): Likewise
+ (gfc_alloc_allocatable_for_assignment): Likewise
+ * trans-decl.c (add_argument_checking): Likewise
+ (gfc_generate_function_code): Likewise
+ * trans-expr.c (gfc_copy_class_to_class): Likewise
+ (gfc_trans_class_array_init_assign): Likewise
+ (gfc_trans_class_init_assign): Likewise
+ (gfc_conv_expr_present): Likewise
+ (gfc_conv_substring): Likewise
+ (gfc_conv_cst_int_power): Likewise
+ (gfc_conv_expr_op): Likewise
+ (gfc_conv_procedure_call): Likewise
+ (fill_with_spaces): Likewise
+ (gfc_trans_string_copy): Likewise
+ (gfc_trans_alloc_subarray_assign): Likewise
+ (gfc_trans_pointer_assignment): Likewise
+ (gfc_trans_scalar_assign): Likewise
+ (fcncall_realloc_result): Likewise
+ (alloc_scalar_allocatable_for_assignment): Likewise
+ (trans_class_assignment): Likewise
+ (gfc_trans_assignment_1): Likewise
+ * trans-intrinsic.c (build_fixbound_expr): Likewise
+ (gfc_conv_intrinsic_aint): Likewise
+ (gfc_trans_same_strlen_check): Likewise
+ (conv_caf_send): Likewise
+ (trans_this_image): Likewise
+ (conv_intrinsic_image_status): Likewise
+ (trans_image_index): Likewise
+ (gfc_conv_intrinsic_bound): Likewise
+ (conv_intrinsic_cobound): Likewise
+ (gfc_conv_intrinsic_mod): Likewise
+ (gfc_conv_intrinsic_dshift): Likewise
+ (gfc_conv_intrinsic_dim): Likewise
+ (gfc_conv_intrinsic_sign): Likewise
+ (gfc_conv_intrinsic_ctime): Likewise
+ (gfc_conv_intrinsic_fdate): Likewise
+ (gfc_conv_intrinsic_ttynam): Likewise
+ (gfc_conv_intrinsic_minmax): Likewise
+ (gfc_conv_intrinsic_minmax_char): Likewise
+ (gfc_conv_intrinsic_anyall): Likewise
+ (gfc_conv_intrinsic_arith): Likewise
+ (gfc_conv_intrinsic_minmaxloc): Likewise
+ (gfc_conv_intrinsic_minmaxval): Likewise
+ (gfc_conv_intrinsic_btest): Likewise
+ (gfc_conv_intrinsic_bitcomp): Likewise
+ (gfc_conv_intrinsic_shift): Likewise
+ (gfc_conv_intrinsic_ishft): Likewise
+ (gfc_conv_intrinsic_ishftc): Likewise
+ (gfc_conv_intrinsic_leadz): Likewise
+ (gfc_conv_intrinsic_trailz): Likewise
+ (gfc_conv_intrinsic_mask): Likewise
+ (gfc_conv_intrinsic_spacing): Likewise
+ (gfc_conv_intrinsic_rrspacing): Likewise
+ (gfc_conv_intrinsic_size): Likewise
+ (gfc_conv_intrinsic_sizeof): Likewise
+ (gfc_conv_intrinsic_transfer): Likewise
+ (gfc_conv_allocated): Likewise
+ (gfc_conv_associated): Likewise
+ (gfc_conv_same_type_as): Likewise
+ (gfc_conv_intrinsic_trim): Likewise
+ (gfc_conv_intrinsic_repeat): Likewise
+ (conv_isocbinding_function): Likewise
+ (conv_intrinsic_ieee_is_normal): Likewise
+ (conv_intrinsic_ieee_is_negative): Likewise
+ (conv_intrinsic_ieee_copy_sign): Likewise
+ (conv_intrinsic_move_alloc): Likewise
+ * trans-io.c (set_parameter_value_chk): Likewise
+ (set_parameter_value_inquire): Likewise
+ (set_string): Likewise
+ * trans-openmp.c (gfc_walk_alloc_comps): Likewise
+ (gfc_omp_clause_default_ctor): Likewise
+ (gfc_omp_clause_copy_ctor): Likewise
+ (gfc_omp_clause_assign_op): Likewise
+ (gfc_omp_clause_dtor): Likewise
+ (gfc_omp_finish_clause): Likewise
+ (gfc_trans_omp_clauses): Likewise
+ (gfc_trans_omp_do): Likewise
+ * trans-stmt.c (gfc_trans_goto): Likewise
+ (gfc_trans_sync): Likewise
+ (gfc_trans_arithmetic_if): Likewise
+ (gfc_trans_simple_do): Likewise
+ (gfc_trans_do): Likewise
+ (gfc_trans_forall_loop): Likewise
+ (gfc_trans_where_2): Likewise
+ (gfc_trans_allocate): Likewise
+ (gfc_trans_deallocate): Likewise
+ * trans-types.c (gfc_init_types): Initialize logical_type_node and
+ their true/false trees.
+ (gfc_get_array_descr_info): Use logical_type_node.
+ * trans-types.h (logical_type_node): New tree.
+ (logical_true_node): Likewise.
+ (logical_false_node): Likewise.
+ * trans.c (gfc_trans_runtime_check): Use logical_type_node.
+ (gfc_call_malloc): Likewise
+ (gfc_allocate_using_malloc): Likewise
+ (gfc_allocate_allocatable): Likewise
+ (gfc_add_comp_finalizer_call): Likewise
+ (gfc_add_finalizer_call): Likewise
+ (gfc_deallocate_with_status): Likewise
+ (gfc_deallocate_scalar_with_status): Likewise
+ (gfc_call_realloc): Likewise
+
+2017-11-06 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/69739
+ * trans-expr.c (gfc_map_intrinsic_function): Return false for
+ bounds without the DIM argument instead of ICEing.
+
+2017-11-06 Martin Liska <mliska@suse.cz>
+
+ PR middle-end/82404
+ * options.c (gfc_post_options): Set default value of
+ -Wreturn-type to false.
+
+2017-11-05 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/82471
+ * lang.opt (ffrontend-loop-interchange): New option.
+ (Wfrontend-loop-interchange): New option.
+ * options.c (gfc_post_options): Handle ffrontend-loop-interchange.
+ * frontend-passes.c (gfc_run_passes): Run
+ optimize_namespace if flag_frontend_optimize or
+ flag_frontend_loop_interchange are set.
+ (optimize_namespace): Run functions according to flags set;
+ also call index_interchange.
+ (ind_type): New function.
+ (has_var): New function.
+ (index_cost): New function.
+ (loop_comp): New function.
+
+2017-11-05 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/78641
+ * resolve.c (resolve_ordinary_assign): Do not add the _data
+ component for class valued array constructors being assigned
+ to derived type arrays.
+ * trans-array.c (gfc_trans_array_ctor_element): Take the _data
+ of class valued elements for assignment to derived type arrays.
+
+2017-11-05 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/81447
+ PR fortran/82783
+ * resolve.c (resolve_component): There is no need to resolve
+ the components of a use associated vtype.
+ (resolve_fl_derived): Unconditionally generate a vtable for any
+ module derived type, as long as the standard is F2003 or later
+ and it is not a vtype or a PDT template.
+
+2017-11-05 Tom de Vries <tom@codesourcery.com>
+
+ PR other/82784
+ * parse.c (match, matcha, matchs, matcho, matchds, matchdo): Remove
+ semicolon after "do {} while (0)".
+
+2017-11-04 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ * trans-expr.c (gfc_trans_assignment_1): Character kind conversion may
+ create a loop variant temporary, too.
+ * trans-intrinsic.c (conv_caf_send): Treat char arrays as arrays and
+ not as scalars.
+ * trans.c (get_array_span): Take the character kind into account when
+ doing pointer arithmetic.
+
+2017-11-04 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/29600
+ * gfortran.h (gfc_check_f): Replace fm3l with fm4l.
+ * intrinsic.h (gfc_resolve_maxloc): Add gfc_expr * to argument
+ list in protoytpe.
+ (gfc_resolve_minloc): Likewise.
+ * check.c (gfc_check_minloc_maxloc): Handle kind argument.
+ * intrinsic.c (add_sym_3_ml): Rename to
+ (add_sym_4_ml): and handle kind argument.
+ (add_function): Replace add_sym_3ml with add_sym_4ml and add
+ extra arguments for maxloc and minloc.
+ (check_specific): Change use of check.f3ml with check.f4ml.
+ * iresolve.c (gfc_resolve_maxloc): Handle kind argument. If
+ the kind is smaller than the smallest library version available,
+ use gfc_default_integer_kind and convert afterwards.
+ (gfc_resolve_minloc): Likewise.
+
+2017-11-04 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/81735
+ * trans-decl.c (gfc_trans_deferred_vars): Do a better job of a
+ case where 'tmp' was used unititialized and remove TODO.
+
+2017-11-03 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/82796
+ * resolve.c (resolve_equivalence): An entity in a common block within
+ a module cannot appear in an equivalence statement if the entity is
+ with a pure procedure.
+
+2017-10-31 Jim Wilson <wilson@tuliptree.org>
+
+ * parse.c (unexpected_eof): Call gcc_unreachable before return.
+
+2017-10-30 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/80850
+ * trans_expr.c (gfc_conv_procedure_call): When passing a class
+ argument to an unlimited polymorphic dummy, it is wrong to cast
+ the passed expression as unlimited, unless it is unlimited. The
+ correct way is to assign to each of the fields and set the _len
+ field to zero.
+
+2017-10-30 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ * resolve.c (resolve_transfer): Set derived to correct symbol for
+ BT_CLASS.
+
+2017-10-29 Jim Wilson <wilson@tuliptree.org>
+
+ * invoke.texi: Delete adb and sdb references.
+
+2017-10-28 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ * check.c (gfc_check_co_reduce): Clarify error message.
+
+2017-10-28 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/81758
+ * trans-expr.c (trans_class_vptr_len_assignment): 'vptr_expr'
+ must only be set if the right hand side expression is of type
+ class.
+
+2017-10-27 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/82620
+ * match.c (gfc_match_allocate): Exit early on syntax error.
+
+2017-10-27 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/56342
+ * simplify.c (is_constant_array_expr): If the expression is
+ a parameter array, call gfc_simplify_expr.
+
+2017-10-25 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
+
+ * match.c (gfc_match_type_is): Fix typo in error message.
+
+2017-10-21 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/82586
+ * decl.c (gfc_get_pdt_instance): Remove the error message that
+ the parameter does not have a corresponding component since
+ this is now taken care of when the derived type is resolved. Go
+ straight to error return instead.
+ (gfc_match_formal_arglist): Make the PDT relevant errors
+ immediate so that parsing of the derived type can continue.
+ (gfc_match_derived_decl): Do not check the match status on
+ return from gfc_match_formal_arglist for the same reason.
+ * resolve.c (resolve_fl_derived0): Check that each type
+ parameter has a corresponding component.
+
+ PR fortran/82587
+ * resolve.c (resolve_generic_f): Check that the derived type
+ can be used before resolving the struture constructor.
+
+ PR fortran/82589
+ * symbol.c (check_conflict): Add the conflicts involving PDT
+ KIND and LEN attributes.
+
+2017-10-19 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
+
+ * interface.c (check_sym_interfaces, check_uop_interfaces,
+ gfc_check_interfaces): Base interface_name buffer off
+ GFC_MAX_SYMBOL_LEN.
+
+2017-10-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/82568
+ * gfortran.h (gfc_resolve_do_iterator): Add a bool arg.
+ (gfc_resolve_omp_local_vars): New declaration.
+ * openmp.c (omp_current_ctx): Make static.
+ (gfc_resolve_omp_parallel_blocks): Handle EXEC_OMP_TASKLOOP
+ and EXEC_OMP_TASKLOOP_SIMD.
+ (gfc_resolve_do_iterator): Add ADD_CLAUSE argument, if false,
+ don't actually add any clause. Move omp_current_ctx test
+ earlier.
+ (handle_local_var, gfc_resolve_omp_local_vars): New functions.
+ * resolve.c (gfc_resolve_code): Call gfc_resolve_omp_parallel_blocks
+ instead of just gfc_resolve_omp_do_blocks for EXEC_OMP_TASKLOOP
+ and EXEC_OMP_TASKLOOP_SIMD.
+ (gfc_resolve_code): Adjust gfc_resolve_do_iterator caller.
+ (resolve_codes): Call gfc_resolve_omp_local_vars.
+
+2017-10-19 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
+
+ * gfortran.h (gfc_lookup_function_fuzzy): New declaration.
+ (gfc_closest_fuzzy_match): New declaration.
+ (vec_push): New definition.
+ * misc.c (gfc_closest_fuzzy_match): New definition.
+ * resolve.c: Include spellcheck.h.
+ (lookup_function_fuzzy_find_candidates): New static function.
+ (lookup_uop_fuzzy_find_candidates): Likewise.
+ (lookup_uop_fuzzy): Likewise.
+ (resolve_operator) <INTRINSIC_USER>: Call lookup_uop_fuzzy.
+ (gfc_lookup_function_fuzzy): New definition.
+ (resolve_unknown_f): Call gfc_lookup_function_fuzzy.
+ * interface.c (check_interface0): Likewise.
+ (lookup_arg_fuzzy_find_candidates): New static function.
+ (lookup_arg_fuzzy ): Likewise.
+ (compare_actual_formal): Call lookup_arg_fuzzy.
+ * symbol.c: Include spellcheck.h.
+ (lookup_symbol_fuzzy_find_candidates): New static function.
+ (lookup_symbol_fuzzy): Likewise.
+ (gfc_set_default_type): Call lookup_symbol_fuzzy.
+ (lookup_component_fuzzy_find_candidates): New static function.
+ (lookup_component_fuzzy): Likewise.
+ (gfc_find_component): Call lookup_component_fuzzy.
+
+2017-10-18 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/82567
+ * frontend-passes.c (combine_array_constructor): If an array
+ constructor is all constants and has more elements than a small
+ constant, don't convert a*[b,c] to [a*b,a*c] to reduce compilation
+ times.
+
+2017-10-18 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/79795
+ * resolve.c (resovle_symbol): Change gcc_assert to
+ sensible error message.
+
+2017-10-18 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/82550
+ * trans_decl.c (gfc_get_symbol_decl): Procedure symbols that
+ have the 'used_in_submodule' attribute should be processed by
+ 'gfc_get_extern_function_decl'.
+
+2017-10-16 Fritz Reese <fritzoreese@gmail.com>
+
+ PR fortran/82511
+ * trans-io.c (transfer_expr): Treat BT_UNION as BT_DERIVED.
+
+2017-10-15 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/82372
+ * fortran/scanner.c (last_error_char): New global variable.
+ (gfc_scanner_init_1): Set last_error_char to NULL.
+ (gfc_gobble_whitespace): If a character not printable or
+ not newline, issue an error.
+
+2017-10-13 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/81048
+ * resolve.c (resolve_symbol): Ensure that derived type array
+ results get default initialization.
+
+2017-10-11 Nathan Sidwell <nathan@acm.org>
+
+ * cpp.c (gfc_cpp_add_include_path): Update incpath_e names.
+ (gfc_cpp_add_include_path_after): Likewise.
+
+2017-10-10 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * target-memory.c (gfc_interpret_logical): Use wi::to_wide when
+ operating on trees as wide_ints.
+ * trans-const.c (gfc_conv_tree_to_mpz): Likewise.
+ * trans-expr.c (gfc_conv_cst_int_power): Likewise.
+ * trans-intrinsic.c (trans_this_image): Likewise.
+ (gfc_conv_intrinsic_bound): Likewise.
+ (conv_intrinsic_cobound): Likewise.
+
+2017-10-08 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ * check.c (gfc_check_x): Remove function.
+ * intrinsic.c (add_functions): Use gfc_check_fn_r.
+
+2017-10-08 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/82375
+ * module.c : Bump up MOD_VERSION to 15.
+ (mio_component): Edit comment about PDT specification list.
+ (mio_expr, mio_symbol): Include the expression and symbol PDT
+ specification lists in the same way as in mio_component.
+
+2017-10-08 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ * dump_prase_tree (show_symbol): Output list of variables in
+ NAMELIST.
+ (show_code_node): Add new line for ELSE and END DO for DO
+ CONCURRENT.
+ * invoke.texi: Document that the output of
+ -fdump-fortran-original, -fdump-fortran-optimized and
+ -fdump-parse-tree is unsable and may lead to ICEs.
+
+2017-10-07 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/82375
+ * class.c (gfc_find_derived_vtab): Return NULL for a passed
+ pdt template to prevent bad procedures from being written.
+ * decl.c (gfc_get_pdt_instance): Do not use the default
+ initializer for pointer and allocatable pdt type components. If
+ the component is allocatbale, set the 'alloc_comp' attribute of
+ 'instance'.
+ * module.c : Add a prototype for 'mio_actual_arglist'. Add a
+ boolean argument 'pdt'.
+ (mio_component): Call it for the parameter list of pdt type
+ components with 'pdt' set to true.
+ (mio_actual_arg): Add the boolean 'pdt' and, if it is set, call
+ mio_integer for the 'spec_type'.
+ (mio_actual_arglist): Add the boolean 'pdt' and use it in the
+ call to mio_actual_arg.
+ (mio_expr, mio_omp_udr_expr): Call mio_actual_arglist with
+ 'pdt' set false.
+ * resolve.c (get_pdt_spec_expr): Add the parameter name to the
+ KIND parameter error.
+ (get_pdt_constructor): Check that cons->expr is non-null.
+ * trans-array.c (structure_alloc_comps): For deallocation of
+ allocatable components, ensure that parameterized components
+ are deallocated first. Likewise, when parameterized components
+ are allocated, nullify allocatable components first. Do not
+ recurse into pointer or allocatable pdt components while
+ allocating or deallocating parameterized components. Test that
+ parameterized arrays or strings are allocated before freeing
+ them.
+ (gfc_trans_pointer_assignment): Call the new function. Tidy up
+ a minor whitespace issue.
+ trans-decl.c (gfc_trans_deferred_vars): Set 'tmp' to NULL_TREE
+ to prevent the expression from being used a second time.
+
+2017-10-07 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/49232
+ * expr.c (gfc_check_pointer_assign): Error
+ for non-contiguous rhs.
+
+2017-10-07 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ * gfortran.h (async_io_dt): Add external reference.
+ * io.c (async_io_dt): Add variable.
+ (compare_to_allowed_values): Add prototyte. Add optional argument
+ num. If present, set it to the number of the entry that was
+ matched.
+ (check_io_constraints): If this is for an asynchronous I/O
+ statement, set async_io_dt and set the asynchronous flag for
+ a SIZE tag.
+ * resolve.c (resolve_transfer): If async_io_dt is set, set
+ the asynchronous flag on the variable.
+ (resolve_fl_namelist): If async_io_dt is set, set the asynchronous
+ flag on all elements of the namelist.
+
+2017-10-04 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/60458
+ PR fortran/77296
+ * resolve.c (resolve_assoc_var): Deferred character type
+ associate names must not receive an integer conatant length.
+ * symbol.c (gfc_is_associate_pointer): Deferred character
+ length functions also require an associate pointer.
+ * trans-decl.c (gfc_get_symbol_decl): Deferred character
+ length functions or derived type components require the assoc
+ name to have variable string length.
+ * trans-stmt.c (trans_associate_var): Set the string length of
+ deferred string length associate names. The address expression
+ is not needed for allocatable, pointer or dummy targets. Change
+ the comment about defered string length targets.
+
+2017-10-03 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ * io.c (match_wait_element): Correctly match END and EOR tags.
+ * dump-parse-tree.c (show_code_node): Handle EXEC_WAIT.
+
+2017-10-02 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/82312
+ * resolve.c (gfc_resolve_code): Simplify condition for class
+ pointer assignments becoming regular assignments by asserting
+ that only class valued targets are permitted.
+ * trans-expr.c (trans_class_pointer_fcn): New function using a
+ block of code from gfc_trans_pointer_assignment.
+ (gfc_trans_pointer_assignment): Call the new function. Tidy up
+ a minor whitespace issue.
+
+2017-10-01 Dominique d'Humieres <dominiq@lps.ens.fr>
+
+ PR fortran/61450
+ * parse.c (gfc_global_used): Replace the gfc_internal_error
+ with an error.
+
+2017-09-29 Dominique d'Humieres <dominiq@lps.ens.fr>
+
+ PR fortran/25071
+ * interface.c (compare_actual_formal): Change warnings to errors
+ when "Actual argument contains too few elements for dummy
+ argument", unless -std=legacy is used.
+
+2017-09-27 Thomas Schwinge <thomas@codesourcery.com>
+
+ * lang.opt <Wdo-subscript>: End help text with a period.
+
+2017-09-26 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ * frontend-passes.c (do_subscript): Don't do anything
+ if inside an associate list.
+
+2017-09-25 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ * lang.opt: Add -Wdo-subscript.
+ * frontend-passes.c (do_t): New type.
+ (doloop_list): Use variable of do_type.
+ (if_level): Variable to track if levels.
+ (select_level): Variable to track select levels.
+ (gfc_run_passes): Initialize i_level and select_level.
+ (doloop_code): Record current level of if + select
+ level in doloop_list. Add seen_goto if there could
+ be a branch outside the loop. Use different type for
+ doloop_list.
+ (doloop_function): Call do_intent and do_subscript; move
+ functionality of checking INTENT to do_intent.
+ (insert_index_t): New type, for callback_insert_index.
+ (callback_insert_index): New function.
+ (insert_index): New function.
+ (do_subscript): New function.
+ (do_intent): New function.
+ (gfc_code_walker): Keep track of if_level and select_level.
+ * invoke.texi: Document -Wdo-subscript.
+
+2017-09-25 Janne Blomqvist <jb@gcc.gnu.org>
+
+ * trans.c (gfc_unlikely): Remove unnecessary fold_convert.
+ (gfc_likely): Likewise.
+
+2017-09-24 Thomas Koenig <tkoenig@gcc.gnu.org>
+ Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/80118
+ * expr.c (gfc_get_full_arrayspec_from_expr): If there is
+ no symtree, set array spec to NULL.
+
+2017-09-23 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/82143
+ * lang.opt: Add the options -fdefault-real-10 and -fdefault-real-16.
+ Rename flag_default_real to flag_default_real_8.
+ * invoke.texi: Add documentation.
+ * module.c (use_iso_fortran_env_module): flag_default_real is renamed.
+ * trans-types.c (gfc_init_kinds): Implement the flags
+ -fdefault-real-10 and -fdefault-real-16. Make -fdefault-double-8 work
+ without -fdefault-real-8.
+
+2017-09-21 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/52832
+ * match.c (gfc_match_associate): Before failing the association
+ try again, allowing a proc pointer selector.
+
+ PR fortran/80120
+ PR fortran/81903
+ PR fortran/82121
+ * primary.c (gfc_match_varspec): Introduce 'tgt_expr', which
+ points to the associate selector, if any. Go through selector
+ references, after resolution for variables, to catch any full
+ or section array references. If a class associate name does
+ not have the same declared type as the selector, resolve the
+ selector and copy the declared type to the associate name.
+ Before throwing a no implicit type error, resolve all allowed
+ selector expressions, and copy the resulting typespec.
+
+ PR fortran/67543
+ * resolve.c (resolve_assoc_var): Selector must cannot be the
+ NULL expression and it must have a type.
+
+ PR fortran/78152
+ * resolve.c (resolve_symbol): Allow associate names to be
+ coarrays.
+
+2017-09-21 Cesar Philippidis <cesar@codesourcery.com>
+
+ * openmp.c (gfc_match_oacc_wait): Don't restrict wait directive
+ arguments to constant integers.
+
+2017-09-17 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/82173
+ * decl.c (gfc_get_pdt_instance): Use the component initializer
+ expression for the default, rather than the parameter value.
+ * resolve.c (resolve_pdt): New function.
+ (resolve_symbol): Call it. Remove false error, prohibiting
+ deferred type parameters for dummy arguments.
+
+ PR fortran/60483
+ * primary.c (gfc_match_varspec): If the type of an associate
+ name is unknown and yet there is a match, try resolving the
+ target expression and using its type.
+
+2017-09-15 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/82184
+ trans-decl.c (gfc_trans_deferred_vars): Do not null the 'span'
+ field if the symbol is either implicitly or explicitly saved.
+
+2017-09-13 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/82173
+ * decl.c (match_char_kind): If the kind expression is
+ parameterized, save it in saved_kind_expr and set kind = 0.
+ (gfc_get_pdt_instance): Resolve and simplify before emitting
+ error on expression kind. Insert a missing simplification after
+ insertion of kind expressions.
+
+2017-09-12 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/82173
+ PR fortran/82168
+ * decl.c (variable_decl): Check pdt template components for
+ appearance of KIND/LEN components in the type parameter name
+ list, that components corresponding to type parameters have
+ either KIND or LEN attributes and that KIND or LEN components
+ are scalar. Copy the initializer to the parameter value.
+ (gfc_get_pdt_instance): Add a label 'error_return' and follow
+ it with repeated code, while replacing this code with a jump.
+ Check if a parameter appears as a component in the template.
+ Make sure that the parameter expressions are integer. Validate
+ KIND expressions.
+ (gfc_match_decl_type_spec): Search for pdt_types in the parent
+ namespace since they are instantiated in the template ns.
+ * expr.c (gfc_extract_int): Use a KIND parameter if it
+ appears as a component expression.
+ (gfc_check_init_expr): Allow expressions with the pdt_kind
+ attribute.
+ *primary.c (gfc_match_actual_arglist): Make sure that the first
+ keyword argument is recognised when 'pdt' is set.
+
+2017-09-10 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/34640
+ PR fortran/40737
+ PR fortran/55763
+ PR fortran/57019
+ PR fortran/57116
+
+ * expr.c (is_subref_array): Add class pointer array dummies
+ to the list of expressions that return true.
+ * trans-array.c: Add SPAN_FIELD and update indices for
+ subsequent fields.
+ (gfc_conv_descriptor_span, gfc_conv_descriptor_span_get,
+ gfc_conv_descriptor_span_set, is_pointer_array,
+ get_array_span): New functions.
+ (gfc_get_descriptor_offsets_for_info): New function to preserve
+ API for access to descriptor fields for trans-types.c.
+ (gfc_conv_scalarized_array_ref): If the expression is a subref
+ array, make sure that info->descriptor is a descriptor type.
+ Otherwise, if info->descriptor is a pointer array, set 'decl'
+ and fix it if it is a component reference.
+ (build_array_ref): Simplify handling of class array refs by
+ passing the vptr to gfc_build_array_ref rather than generating
+ the pointer arithmetic in this function.
+ (gfc_conv_array_ref): As in gfc_conv_scalarized_array_ref, set
+ 'decl'.
+ (gfc_array_allocate): Set the span field if this is a pointer
+ array. Use the expr3 element size if it is available, so that
+ the dynamic type element size is used.
+ (gfc_conv_expr_descriptor): Set the span field for pointer
+ assignments.
+ * trans-array.h: Prototypes for gfc_conv_descriptor_span_get
+ gfc_conv_descriptor_span_set and
+ gfc_get_descriptor_offsets_for_info added.
+ trans-decl.c (gfc_get_symbol_decl): If a non-class pointer
+ array, mark the declaration as a GFC_DECL_PTR_ARRAY_P. Remove
+ the setting of GFC_DECL_SPAN.
+ (gfc_trans_deferred_vars): Set the span field to zero in thge
+ originating scope.
+ * trans-expr.c (gfc_conv_procedure_call): Do not use copy-in/
+ copy-out to pass subref expressions to a pointer dummy.
+ (gfc_trans_pointer_assignment): Remove code for setting of
+ GFC_DECL_SPAN. Set the 'span' field for non-class pointers to
+ class function results. Likewise for rank remap. In the case
+ that the target is not a whole array, use the target array ref
+ for remap and, since the 'start' indices are missing, set the
+ lbounds to one, as required by the standard.
+ * trans-intrinsic.c (conv_expr_ref_to_caf_ref): Pick up the
+ 'token' offset from the field decl in the descriptor.
+ (conv_isocbinding_subroutine): Set the 'span' field.
+ * trans-io.c (gfc_trans_transfer): Always scalarize pointer
+ array io.
+ * trans-stmt.c (trans_associate_var): Set the 'span' field.
+ * trans-types.c (gfc_get_array_descriptor_base): Add the 'span'
+ field to the array descriptor.
+ (gfc_get_derived_type): Pointer array components are marked as
+ GFC_DECL_PTR_ARRAY_P.
+ (gfc_get_array_descr_info): Replaced API breaking code for
+ descriptor offset calling gfc_get_descriptor_offsets_for_info.
+ * trans.c (get_array_span): New function.
+ (gfc_build_array_ref): Simplify by calling get_array_span and
+ obtain 'span' if 'decl' or 'vptr' present.
+ * trans.h : Rename DECL_LANG_FLAG_6, GFC_DECL_SUBREF_ARRAY_P,
+ as GFC_DECL_PTR_ARRAY_P.
+
+2017-09-09 Paul Thomas <pault@gcc.gnu.org>
+
+ * decl.c : Add decl_type_param_list, type_param_spec_list as
+ static variables to hold PDT spec lists.
+ (build_sym): Copy 'type_param_spec_list' to symbol spec_list.
+ (build_struct): Copy the 'saved_kind_expr' to the component
+ 'kind_expr'. Check that KIND or LEN components appear in the
+ decl_type_param_list. These should appear as symbols in the
+ f2k_derived namespace. If the component is itself a PDT type,
+ copy the decl_type_param_list to the component param_list.
+ (gfc_match_kind_spec): If the KIND expression is parameterized
+ set KIND to zero and store the expression in 'saved_kind_expr'.
+ (insert_parameter_exprs): New function.
+ (gfc_insert_kind_parameter_exprs): New function.
+ (gfc_insert_parameter_exprs): New function.
+ (gfc_get_pdt_instance): New function.
+ (gfc_match_decl_type_spec): Match the decl_type_spec_list if it
+ is present. If it is, call 'gfc_get_pdt_instance' to obtain the
+ specific instance of the PDT.
+ (match_attr_spec): Match KIND and LEN attributes. Check for the
+ standard and for type/kind of the parameter. They are also not
+ allowed outside a derived type definition.
+ (gfc_match_data_decl): Null the decl_type_param_list and the
+ type_param_spec_list on entry and free them on exit.
+ (gfc_match_formal_arglist): If 'typeparam' is true, add the
+ formal symbol to the f2k_derived namespace.
+ (gfc_match_derived_decl): Register the decl_type_param_list
+ if this is a PDT. If this is a type extension, gather up all
+ the type parameters and put them in the right order.
+ *dump-parse-tree.c (show_attr): Signal PDT templates and the
+ parameter attributes.
+ (show_components): Output parameter atrributes and component
+ parameter list.
+ (show_symbol): Show variable parameter lists.
+ * expr.c (expr.c): Copy the expression parameter list.
+ (gfc_is_constant_expr): Pass on symbols representing PDT
+ parameters.
+ (gfc_check_init_expr): Break on PDT KIND parameters and
+ PDT parameter expressions.
+ (gfc_check_assign): Assigning to KIND or LEN components is an
+ error.
+ (derived_parameter_expr): New function.
+ (gfc_derived_parameter_expr): New function.
+ (gfc_spec_list_type): New function.
+ * gfortran.h : Add enum gfc_param_spec_type. Add the PDT attrs
+ to the structure symbol_attr. Add the 'kind_expr' and
+ 'param_list' field to the gfc_component structure. Comment on
+ the reuse of the gfc_actual_arglist structure as storage for
+ type parameter spec lists. Add the new field 'spec_type' to
+ this structure. Add 'param_list' fields to gfc_symbol and
+ gfc_expr. Add prototypes for gfc_insert_kind_parameter_exprs,
+ gfc_insert_parameter_exprs, gfc_add_kind, gfc_add_len,
+ gfc_derived_parameter_expr and gfc_spec_list_type.
+ * interface.c (gfc_compare_derived_types): Treat PDTs in the
+ same way as sequence types.
+ * match.c : Add variable 'type_param_spec_list'.
+ (gfc_op2string, gfc_match_member_sep, gfc_match_label): Remove
+ trailing whitespace.
+ (match_derived_type_spec): Match PDTs and find specific
+ instance.
+ (gfc_match_type_spec): Remove more trailing whitespace.
+ (gfc_match_allocate): Assumed or deferred parameters cannot
+ appear here. Copy the type parameter spec list to the expr for
+ the allocatable entity. Free 'type_param_spec_list'.
+ (gfc_match_common, gfc_match_namelist, gfc_match_module): Still
+ more trailing whitespace to remove.
+ (gfc_match_type_is): Allow PDT typespecs.
+ * match.h : Modify prototypes for gfc_match_formal_arglist and
+ gfc_match_actual_arglist.
+ * module.c (ab_attribute, mstring attr_bits): PDT attributes
+ added.
+ (mio_symbol_attribute): PDT attributes handled.
+ (mio_component): Deal with 'kind_expr' field.
+ (mio_full_f2k_derived): For PDT templates, transfer the formal
+ namespace symroot to the f2k_derived namespace.
+ *primary.c (match_keyword_arg, gfc_match_actual_arglist): Add
+ modifications to handle PDT spec lists. These are flagged in
+ both cases by new boolean arguments, whose prototype defaults
+ are false.
+ (gfc_match_structure_constructor, match_variable): Remove yet
+ more trailing whitespace.
+ * resolve.c (get_pdt_spec_expr, get_pdt_constructor): New
+ functions.
+ (resolve_structure_cons): If the constructor is a PDT template,
+ call get_pdt_constructor to build it using the parameter lists
+ and then get the specific instance of the PDT.
+ (resolve_component): PDT strings need a hidden string length
+ component like deferred characters.
+ (resolve_symbol): Dummy PDTs cannot have deferred parameters.
+ * symbol.c (gfc_add_kind, gfc_add_len): New functions.
+ (free_components): Free 'kind_expr' and 'param_list' fields.
+ (gfc_free_symbol): Free the 'param_list' field.
+ (gfc_find_sym_tree): If the current state is a PDT template,
+ look for the symtree in the f2k_derived namspaces.
+ trans-array.c (structure_alloc_comps): Allocate and deallocate
+ PDTs. Check dummy arguments for compliance of LEN parameters.
+ Add the new functions to the preceeding enum.
+ (gfc_allocate_pdt_comp, gfc_deallocate_pdt_comp and
+ gfc_check_pdt_dummy): New functions calling above.
+ * trans-array.h : Add prototypes for these functions.
+ trans-decl.c (gfc_get_symbol_decl): Call gfc_defer_symbol_init
+ as appropriate for PDT symbols.
+ (gfc_trans_deferred_vars): Allocate/deallocate PDT entities as
+ they come into and out of scope. Exclude pdt_types from being
+ 'gcc_unreachable'.
+ (gfc_trans_subcomponent_assign): PDT array components must be
+ handles as if they are allocatable.
+ * trans-stmt.c (gfc_trans_allocate): Handle initialization of
+ PDT entities.
+ (gfc_trans_deallocate): Likewise.
+ * trans-types.c (gfc_get_derived_type): PDT templates must not
+ arrive here. PDT string components are handles as if deferred.
+ Similarly, PDT arrays are treated as if allocatable. PDT
+ strings are pointer types.
+ * trans.c (gfc_deferred_strlen): Handle PDT strings in the same
+ way as deferred characters.
+
+2017-09-01 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/81887
+ * parse.c (decode_omp_directive): Use matchs instead of matcho for
+ end ordered and ordered directives, except for ordered depend. For
+ -fopenmp-simd and ordered depend, reject the stmt.
+ * trans-openmp.c (gfc_trans_omp_ordered): For -fopenmp-simd ignore
+ threads clause and if simd clause isn't present, just translate the
+ body.
+
+2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
+ Alan Hayward <alan.hayward@arm.com>
+ David Sherwood <david.sherwood@arm.com>
+
+ * trans-types.c (gfc_init_kinds): Use opt_scalar_int_mode for
+ the mode iterator.
+
+2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
+ Alan Hayward <alan.hayward@arm.com>
+ David Sherwood <david.sherwood@arm.com>
+
+ * target-memory.c (size_integer): Use SCALAR_INT_TYPE_MODE.
+ (size_logical): Likewise.
+
+2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
+ Alan Hayward <alan.hayward@arm.com>
+ David Sherwood <david.sherwood@arm.com>
+
+ * trans-types.c (gfc_type_for_mode): Use is_a <scalar_int_mode>.
+
+2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
+ Alan Hayward <alan.hayward@arm.com>
+ David Sherwood <david.sherwood@arm.com>
+
+ * trans-types.c (gfc_init_kinds): Use opt_scalar_float_mode
+ and FOR_EACH_MODE_IN_CLASS.
+
+2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
+ Alan Hayward <alan.hayward@arm.com>
+ David Sherwood <david.sherwood@arm.com>
+
+ * target-memory.c (size_float): Use SCALAR_FLOAT_TYPE_MODE
+ instead of TYPE_MODE.
+
+2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
+ Alan Hayward <alan.hayward@arm.com>
+ David Sherwood <david.sherwood@arm.com>
+
+ * trans-types.c (gfc_init_kinds): Use machine_mode instead of int
+ for "mode".
+
+2017-08-28 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/81770
+ * expr.c (gfc_check_pointer_assign): Improve the check whether pointer
+ may outlive pointer target.
+
+2017-08-27 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/81974
+ * frontend-passes (inline_matumul_assign): Explicity
+ set typespec for call to CONJG.
+
+2017-08-21 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR fortran/81296
+ * trans-io.c (get_dtio_proc): Add check for format label and set
+ formatted flag accordingly. Reorganize the code a little.
+
+2017-08-16 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/81116
+ * frontend-passes.c (realloc_string_callback): If expression is a
+ concatenation, also check for dependency.
+ (constant_string_length): Check for presence of symtree.
+
+2017-08-13 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ * gfortran.texi: Document format of unformatted sequential files.
+
+2017-08-11 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ * invoke.texi: Actually commit change about -Ofast.
+
+2017-08-11 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/60355
+ * resolve.c (resolve_symbol): Adjust (and reformat)
+ comment. Perform check if a BIND(C) is declared
+ at module level regardless of whether it is typed
+ implicitly or not.
+
+2017-08-10 Fritz Reese <fritzoreese@gmail.com>
+
+ * options.c (set_dec_flags): Only set legacy standards when value
+ is not zero.
+
+2017-08-10 Fritz Reese <fritzoreese@gmail.com>
+
+ * options.c (set_dec_flags, gfc_post_options): Only set flag_d_lines
+ with -fdec when not set by user.
+
+2017-08-10 Fritz Reese <fritzoreese@gmail.com>
+
+ * decl.c (attr_seen): New static variable.
+ * decl.c (variable_decl): Match %FILL in STRUCTURE body.
+ * gfortran.texi: Update documentation.
+
+2017-08-08 Martin Liska <mliska@suse.cz>
+
+ * trans-types.c: Include header files.
+
+2017-08-07 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/68829
+ PR fortran/81701
+ * options.c: Make -Ofast honor -fmax-stack-var-size.
+ * invoke.texi: Document change.
+
+2017-08-01 Thomas König <tkoenig@gcc.gnu.org>
+
+ PR fortran/79312
+ * intrisic.c (gfc_convert_type_warn): Only set typespec for
+ empty array constructors which don't have it already.
+
+2017-08-01 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/45435
+ * lang.opt (fc-prototypes): Add option.
+ * gfortran.h (gfc_typespec): Add interop_kind to struct.
+ (gfc_dump_c_prototypes): Add prototype.
+ * decl.c (gfc_match_kind_spec): Copy symbol used for kind to typespec.
+ * parse.c (gfc_parse_file): Call gfc_dump_prototypes.
+ * dump-parse-tree.c (gfc_dump_c_prototypes): New function.
+ (type_return): New enum.
+ (get_c_type_name): New function.
+ (write_decl): New function.
+ (write_type): New function.
+ (write_variable): New function.
+ (write_proc): New function.
+ (write_interop_decl): New function.
+ * invoke.texi: Document -fc-prototypes.
+
+2017-08-01 Dominique d'Humieres <dominiq@lps.ens.fr>
+
+ PR fortran/53542
+ * expr.c (gfc_check_init_expr): Use the renamed name.
+
+2017-07-31 Jakub Jelinek <jakub@redhat.com>
+
+ * check.c (gfc_check_num_images): Fix a pasto.
+
+2017-07-29 Jakub Jelinek <jakub@redhat.com>
+
+ * trans-decl.c (gfc_trans_use_stmts): Pass false as new argument to
+ the imported_module_or_decl debug hook.
+
+2017-07-28 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * resolve.c (find_reachable_labels): Adjust.
+
+2017-07-25 Jakub Jelinek <jakub@redhat.com>
+
+ * ioparm.def: Use 1U << 31 instead of 1 << 31 as flags2 mask.
+
+2017-07-24 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ * dump-parse-tree.c (show_symbol): Show binding label if present.
+
+2017-07-24 Thomas Koenig <tkoenig@gcc.gnu.org>
+ Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/66102
+ * fortran/trans-array.c (gfc_conv_resolve_dependencies):
+ Break if dependency has been found.
+
+2017-07-23 Alexander Monakov <amonakov@ispras.ru>
+
+ * interface.c (pair_cmp): Fix gfc_symbol comparison. Adjust comment.
+
+2017-07-18 Nathan Sidwell <nathan@acm.org>
+
+ * trans.c (gfc_build_array_ref): Use TYPE_MAX_VALUE.
+
+2017-07-09 Dominique d'Humieres <dominiq@lps.ens.fr>
+
+ PR fortran/81341
+ * class.c (class_array_ref_detected): Remove a redundant
+ condition.
+
+2017-07-06 Harald Anlauf <anlauf@gmx.de>
+
+ PR fortran/70071
+ * array.c (gfc_ref_dimen_size): Handle bad subscript triplets.
+
+2017-07-03 Dominique d'Humieres <dominiq@lps.ens.fr>
+
+ PR fortran/79866
+ * resolve.c (resolve_symbol): Fix typo.
+
+2017-07-03 Dominique d'Humieres <dominiq@lps.ens.fr>
+
+ PR fortran/79843
+ * symbol.c (check_conflict): Add missing "conflicts".
+
+2017-06-29 Cesar Philippidis <cesar@codesourcery.com>
+
+ PR fortran/77765
+ * openmp.c (gfc_match_oacc_routine): Check if proc_name exist before
+ comparing the routine name against it.
+
+2017-06-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR fortran/80164
+ * trans-stmt.c (gfc_trans_call): If no code expr, use code->loc
+ as warning/error locus.
+
+2017-06-24 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR fortran/81160
+ * arith.c (wprecision_int_real): Set return value before
+ mpz_clear and then return after it.
+
+2017-06-15 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/80983
+ * trans-expr.c (gfc_conv_procedure_call): Deallocate the result of
+ scalar allocatable procedure-pointer components.
+
+2017-06-10 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/80988
+ * frontend-passes.c (traverse_io_block): Also
+ check for variables occurring as indices multiple
+ time in a single implied DO loop.
+
+2017-06-05 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/70601
+ * trans-expr.c (gfc_conv_procedure_call): Fix detection of allocatable
+ function results.
+
+2017-06-05 Nicolas Koenig <koenigni@student.ethz.ch>
+
+ PR fortran/35339
+ * frontend-passes.c (traverse_io_block): New function.
+ (simplify_io_impl_do): New function.
+ (optimize_namespace): Invoke gfc_code_walker with
+ simplify_io_impl_do.
+
+2017-06-02 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/80918
+ * openmp.c (resolve_omp_clauses): Fix a typo.
+
+2017-05-30 David Malcolm <dmalcolm@redhat.com>
+
+ * error.c (gfc_format_decoder): Update for new bool and
+ const char ** params.
+
+2017-05-29 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/37131
+ * frontend-passes.c (check_conjg_transpose_variable):
+ Add prototype.
+ (has_dimen_vector_ref): Likewise
+ (matmul_temp_args): New function. Add prototype.
+ (optimize_namespace): Call matmul_temp_args.
+
+2017-05-28 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ * frontend-passes.c (matmul_lhs_realloc): Correct
+ allocation size for case A1B2.
+
+2017-05-25 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ * dump-parse-tree.c (show_expr): Also replace
+ with dumpfile for showing values for forgotten
+ case.
+
+2017-05-24 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ * dump-parse-tree.c (show_expr): Replace stdout
+ with dumpfile for showing values.
+
+2017-05-24 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/66094
+ * frontend-passes.c (matrix_case): Add A2TB2.
+ (inline_limit_check): Handle MATMUL(TRANSPOSE(A),B)
+ (inline_matmul_assign): Likewise.
+
+2017-05-23 Thomas Schwinge <thomas@codesourcery.com>
+
+ * openmp.c (OACC_KERNELS_CLAUSES): Add "OMP_CLAUSE_NUM_GANGS",
+ "OMP_CLAUSE_NUM_WORKERS", "OMP_CLAUSE_VECTOR_LENGTH".
+
+2017-05-22 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/80766
+ * resolve.c (resolve_fl_derived): Make sure that vtype symbols are
+ properly resolved.
+
+2017-05-19 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/80333
+ * trans-io.c (nml_get_addr_expr): If we are dealing with class
+ type data set tmp tree to get that address.
+ (transfer_namelist_element): Set the array spec to point to the
+ the class data.
+
+2017-05-19 David Malcolm <dmalcolm@redhat.com>
+
+ PR fortran/79852
+ * bbt.c (insert): Remove trailing exclamation mark from message.
+ * decl.c (gfc_match_final_decl): Likewise.
+ * dump-parse-tree.c (show_expr): Likewise.
+ * module.c (gfc_use_module): Likewise.
+ * primary.c (build_actual_constructor): Likewise.
+ (gfc_convert_to_structure_constructor): Likewise.
+
+2017-05-19 Thomas Schwinge <thomas@codesourcery.com>
+
+ * gfortran.h (enum gfc_omp_default_sharing): Add
+ "OMP_DEFAULT_PRESENT".
+ * dump-parse-tree.c (show_omp_clauses): Handle it.
+ * openmp.c (gfc_match_omp_clauses): Likewise.
+ * trans-openmp.c (gfc_trans_omp_clauses): Likewise.
+
+2017-05-18 Fritz Reese <fritzoreese@gmail.com>
+
+ PR fortran/79968
+ * decl.c (match_attr_spec, gfc_match_automatic,
+ gfc_match_static, gfc_match_structure_decl): Unify diagnostic
+ errors regarding -fdec options.
+ * io.c (match_dec_etag, match_dec_vtag, match_dec_ftag): Ditto.
+
+2017-05-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR fortran/80741
+ * trans-io.c (transfer_namelist_element): Change check from
+ NULL_TREE to null_pointer_node.
+
+2017-05-17 Fritz Reese <fritzoreese@gmail.com>
+
+ PR fortran/80668
+ * expr.c (component_initializer): Don't generate initializers for
+ pointer components.
+ * invoke.texi (-finit-derived): Document.
+
+2017-05-16 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/80554
+ * decl.c (build_sym): In a submodule allow overriding of host
+ associated symbols from the ancestor module with a new
+ declaration.
+
+2017-05-15 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/80674
+ * trans-stmt.c (gfc_trans_integer_select): Remove redundant condition.
+
+2017-05-15 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/80752
+ * expr.c (gfc_generate_initializer): If type conversion fails,
+ check for error and return NULL.
+
+2017-05-14 Nicolas Koenig <koenigni@student.ethz.ch>
+
+ PR fortran/80442
+ * array.c (gfc_ref_dimen_size): Simplify stride
+ expression
+ * data.c (gfc_advance_section): Simplify start,
+ end and stride expressions
+ (gfc_advance_section): Simplify start and end
+ expressions
+ (gfc_get_section_index): Simplify start expression
+
+2017-05-13 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ * io.c (gfc_resolve_dt): Fix returns to bool type.
+
+2017-05-11 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR fortran/78659
+ * io.c (dtio_procs_present): Add new function to check for DTIO
+ procedures relative to I/O statement READ or WRITE.
+ (gfc_resolve_dt): Add namelist checks using the new function.
+ * resolve.c (dtio_procs_present): Remove function and related
+ namelist checks. (resolve_fl_namelist): Add check specific to
+ Fortran 95 restriction on namelist objects.
+
+2017-05-11 Nathan Sidwell <nathan@acm.org>
+
+ * trans-decl.c: Include dumpfile.h not tree-dump.h,
+
+2017-05-09 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/79311
+ * resolve.c (gfc_resolve_finalizers): Ensure that derived-type
+ components have a their finalizers resolved, also if the superordinate
+ type itself has a finalizer.
+
+2017-05-08 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/79930
+ * frontend-passes.c (matmul_to_var_expr): New function,
+ add prototype.
+ (matmul_to_var_code): Likewise.
+ (optimize_namespace): Use them from gfc_code_walker.
+
+2017-05-05 David Malcolm <dmalcolm@redhat.com>
+
+ * cpp.c (cb_cpp_error): Replace report_diagnostic
+ with diagnostic_report_diagnostic.
+ * error.c (gfc_warning): Likewise.
+ (gfc_warning_now_at): Likewise.
+ (gfc_warning_now): Likewise.
+ (gfc_warning_internal): Likewise.
+ (gfc_error_now): Likewise.
+ (gfc_fatal_error): Likewise.
+ (gfc_error_opt): Likewise.
+ (gfc_internal_error): Likewise.
+
+2017-05-01 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/37131
+ * frontend-passes.c (inline_matmul_assign): Also check bounds
+ for allocatable lhs and matrix-vector-multiplication.
+
+2017-04-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR fortran/80484
+ * io.c (format_lex): Check for '/' and set token to FMT_SLASH.
+ (check_format): Move FMT_DT checking code to data_desc section.
+ * module.c (gfc_match_use): Include the case of INTERFACE_DTIO.
+
+2017-04-22 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/80121
+ * trans-types.c (gfc_conv_procedure_call): Deallocate the components
+ of allocatable intent(out) arguments.
+
+2017-04-21 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/80392
+ * trans-types.c (gfc_get_derived_type): Prevent an infinite loop when
+ building a derived type that includes a procedure pointer component
+ with a polymorphic result.
+
+2017-04-17 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/80440
+ * module.c (find_symtree_for_symbol): Delete.
+ (read_module): Remove the call to the above.
+
+2017-04-14 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/80361
+ * class.c (generate_finalization_wrapper): Give the finalization wrapper
+ the recursive attribute.
+
+2017-04-10 Nicolas Koenig <koenigni@student.ethz.ch>
+ Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/69498
+ * module.c (gfc_match_submodule): Add error
+ if function is called in the wrong state.
+
+2017-04-10 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/80046
+ * expr.c (gfc_check_pointer_assign): Check if procedure pointer
+ components in a pointer assignment need an explicit interface.
+
+2017-03-18 Nicolas Koenig <koenigni@student.ethz.ch>
+
+ PR fortran/69498
+ * symbol.c (gfc_delete_symtree): If there is a period in the name, ignore
+ everything before it.
+
+2017-03-28 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/78661
+ * trans-io.c (transfer_namelist_element): Perform a polymorphic call
+ to a DTIO procedure if necessary.
+
+2017-03-25 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/80156
+ PR fortran/79382
+ * decl.c (access_attr_decl): Remove the error for an absent
+ generic DTIO interface and ensure that symbol has the flavor
+ FL_PROCEDURE.
+
+2017-03-22 Dominique d'Humieres <dominiq@lps.ens.fr>
+
+ PR fortran/79838
+ * module.c: Remove trailing period.
+
+2017-03-22 Dominique d'Humieres <dominiq@lps.ens.fr>
+
+ PR fortran/79602
+ * decl.c: Replace '%s' with %qs.
+ * expr.c: Likewise.
+ * interface.c: Likewise.
+ * match.c: Likewise.
+ * primary.c: Likewise.
+ * resolve.c: Likewise.
+
+ PR fortran/79844
+ PR fortran/80011
+ * io.c: Remove trailing spaces.
+ * match.c: Likewise.
+ * openmp.c: Likewise.
+ * resolve.c: Likewise.
+ * trans-intrinsic.c: Likewise.
+
+ PR fortran/79853
+ * expr.c: Remove a double spaces.
+
+ PR fortran/79859
+ * primary.c: Remove spurious quotes around %qs.
+
+2017-03-22 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/80142
+ * frontend-passes.c (combine_array_constructor): Take
+ location of new expression from constructor expression instead
+ of constructor.
+
+2017-03-20 Nicolas Koenig <koenigni@student.ethz.ch>
+
+ PR fortran/39239
+ * symbol.c (check_conflict): Report an error if an EQUIVALENCE
+ object is BIND(C)
+
+2017-03-18 Nicolas Koenig <koenigni@student.ethz.ch>
+
+ PR fortran/69498
+ * decl.c (add_hidden_procptr_result): Fixed Refs count of the
+ created "ppr@" symbol.
+
+2017-03-18 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/79676
+ * module.c (mio_symbol_attribute): Remove reset of the flag
+ 'no_module_procedures'.
+ (check_for_module_procedures): New function. Move declaration
+ of 'no_module_procedures' to above it.
+ (gfc_dump_module): Traverse namespace calling new function.
+
+2017-03-18 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/71838
+ * symbol.c (check_conflict): A dummy procedure in a submodule,
+ module procedure is not an error.
+ (gfc_add_flavor): Ditto.
+
+2017-03-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR fortran/79841
+ * openmp.c (check_symbol_not_pointer): Adjust diagnostics.
+
+2017-03-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/80010
+ * parse.c (gfc_ascii_statement): Use !$ACC for ST_OACC_ATOMIC
+ and ST_OACC_END_ATOMIC, instead of !ACC.
+ * trans-decl.c (finish_oacc_declare): Use !$ACC instead of $!ACC.
+ * openmp.c (gfc_match_oacc_declare, gfc_match_oacc_wait,
+ gfc_resolve_oacc_declare): Likewise.
+
+ PR fortran/79886
+ * error.c (gfc_format_decoder): Rename plus argument to set_locus,
+ remove ATTRIBUTE_UNUSED from all arguments, call default_tree_printer
+ if not a Fortran specific spec.
+ * trans-io.c: Include options.h.
+ (gfc_build_st_parameter): Temporarily disable -Wpadded around layout
+ of artificial IO data structures.
+
+2017-03-15 David Malcolm <dmalcolm@redhat.com>
+
+ PR fortran/79860
+ * resolve.c (resolve_contained_fntype): Make error messages more
+ amenable to translation.
+
+2017-03-06 Richard Biener <rguenther@suse.de>
+
+ PR fortran/79894
+ * trans.c (gfc_add_modify_loc): Weaken assert.
+
+2017-03-05 Andre Vehreschild <vehre@gcc.gnu.org>,
+ Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
+
+ * check.c (positive_check): Add new function checking constant for
+ being greater then zero.
+ (gfc_check_image_status): Add checking of image_status arguments.
+ (gfc_check_failed_or_stopped_images): Same but for failed_- and
+ stopped_images function.
+ * dump-parse-tree.c (show_code_node): Added output of FAIL IMAGE.
+ * gfortran.h (enum gfc_statement): Added FAIL_IMAGE_ST.
+ (enum gfc_isym_id): Added new intrinsic symbols.
+ (enum gfc_exec_op): Added EXEC_FAIL_IMAGE.
+ * gfortran.texi: Added description for the new API functions. Updated
+ coverage of gfortran of TS18508.
+ * intrinsic.c (add_functions): Added symbols to resolve new intrinsic
+ functions.
+ * intrinsic.h: Added prototypes.
+ * iresolve.c (gfc_resolve_failed_images): Resolve the failed_images
+ intrinsic.
+ (gfc_resolve_image_status): Same for image_status.
+ (gfc_resolve_stopped_images): Same for stopped_images.
+ * libgfortran.h: Added prototypes.
+ * match.c (gfc_match_if): Added matching of FAIL IMAGE statement.
+ (gfc_match_fail_image): Match a FAIL IMAGE statement.
+ * match.h: Added prototype.
+ * parse.c (decode_statement): Added matching for FAIL IMAGE.
+ (next_statement): Same.
+ (gfc_ascii_statement): Same.
+ * resolve.c: Same.
+ * simplify.c (gfc_simplify_failed_or_stopped_images): For COARRAY=
+ single a constant result can be returne.d
+ (gfc_simplify_image_status): For COARRAY=single the result is constant.
+ * st.c (gfc_free_statement): Added FAIL_IMAGE handling.
+ * trans-decl.c (gfc_build_builtin_function_decls): Added decls of the
+ new intrinsics.
+ * trans-expr.c (gfc_conv_procedure_call): This is first time all
+ arguments of a function are optional, which is now handled here
+ correctly.
+ * trans-intrinsic.c (conv_intrinsic_image_status): Translate
+ image_status.
+ (gfc_conv_intrinsic_function): Add support for image_status.
+ (gfc_is_intrinsic_libcall): Add support for the remaining new
+ intrinsics.
+ * trans-stmt.c (gfc_trans_fail_image): Trans a fail image.
+ * trans-stmt.h: Add the prototype for the above.
+ * trans.c (trans_code): Dispatch for fail_image.
+ * trans.h: Add the trees for the new intrinsics.
+
+2017-03-03 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR fortran/79841
+ * openmp.c (check_symbol_not_pointer): Adjust diagnostic.
+
+2017-02-28 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/79739
+ * resolve.c (resolve_fl_procedure): Deal with the case where
+ 'submodule_name' is NULL so that gfc_error does not ICE.
+ Reformat the error message to make it more consistent.
+
+2017-02-28 Jakub Jelinek <jakub@redhat.com>
+
+ * parse.c (parse_critical_block): Use cond ? G_("...") : G_("...")
+ instead of just cond ? "..." : "...".
+ * scanner.c (gfc_next_char_literal): Likewise.
+ * match.c (match_exit_cycle): Likewise.
+
+2017-02-26 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/51119
+ * options.c (gfc_post_options): Set default limit for matmul
+ inlining to 30.
+ * invoke.texi: Document change.
+
+2017-02-25 Dominique d'Humieres <dominiq@lps.ens.fr>
+
+ PR fortran/79601
+ * interface.c (check_dtio_arg_TKR_intent): Change 'intent'
+ to 'INTENT'.
+
+2017-02-25 Dominique d'Humieres <dominiq@lps.ens.fr>
+
+ PR fortran/79597
+ * interface.c (gfc_match_end_interface): Remove spurious comma
+ and space, replace 'got %s' with 'got %qs'.
+
+2017-02-20 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/79599
+ * interface.c (check_dtio_arg_TKR_intent): Supply 'must'
+ missing from error message.
+
+2017-02-20 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/79523
+ * interface.c (gfc_find_typebound_dtio_proc): Guard test for
+ flavor attribute by checking that symbol is resolved.
+
+2017-02-16 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/79382
+ * decl.c (access_attr_decl): Test for presence of generic DTIO
+ interface and emit error if not present.
+
+2017-02-20 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/79434
+ * parse.c (check_component, parse_union): Whitespace.
+ (set_syms_host_assoc): For a derived type, check if the module
+ in which it was declared is one of the submodule ancestors. If
+ it is, make the components public. Otherwise, reset attribute
+ 'host_assoc' and set 'use-assoc' so that encapsulation is
+ preserved.
+
+2017-02-19 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/79447
+ * decl.c (gfc_set_constant_character_len): Whitespace.
+ (gfc_match_end): Catch case where a procedure is contained in
+ a module procedure and ensure that 'end procedure' is the
+ correct termination.
+
+2017-02-19 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/79402
+ * resolve.c (fixup_unique_dummy): New function.
+ (gfc_resolve_expr): Call it for dummy variables with a unique
+ symtree name.
+
+2017-02-19 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ PR fortran/79229
+ * trans-expr.c (gfc_trans_assignment_1): Deref indirect refs when
+ compiling with -fcheck=mem to check the pointer and not the data.
+
+2017-02-19 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ PR fortran/79335
+ * trans-array.c (duplicate_allocatable_coarray): Ensure attributes
+ passed are properly initialized.
+ (structure_alloc_comps): Same.
+ * trans-expr.c (gfc_trans_structure_assign): Same.
+
+2017-02-13 Jakub Jelinek <jakub@redhat.com>
+
+ * trans-expr.c (gfc_conv_substring): Add missing space in diagnostics.
+
+2017-02-12 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/65542
+ * intrinsic.c (gfc_intrinsic_func_interface): Return an error
+ for -std=f95 for disallowed transformational functions in
+ initialization expressions.
+
+2017-02-09 Cesar Philippidis <cesar@codesourcery.com>
+ Joseph Myers <joseph@codesourcery.com>
+
+ * openmp.c (resolve_omp_clauses): Error on directives
+ containing both tile and collapse clauses.
+ (resolve_oacc_loop_blocks): Represent '*' tile arguments as zero.
+ * trans-openmp.c (gfc_trans_omp_do): Lower tiled loops like
+ collapsed loops.
+
+2017-02-07 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ * trans-types.c (gfc_get_int_kind_from_width_isofortranen): Choose
+ REAL type with the widest precision if two (or more) have the same
+ storage size.
+
+2017-02-05 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ PR fortran/79344
+ * trans-stmt.c (gfc_trans_allocate): Only deallocate the components of
+ the temporary, when a new object was created for the temporary. Not
+ when it is just an alias to an existing object.
+
+2017-02-05 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ PR fortran/79335
+ * trans-decl.c (generate_coarray_sym_init): Retrieve the symbol's
+ attributes before using them.
+
+2017-02-05 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ PR fortran/78958
+ * trans-stmt.c (gfc_trans_allocate): Add the multiplying the _len
+ component of unlimited polymorphic objects when source-allocating.
+
+2017-02-05 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ PR fortran/79230
+ * trans-array.c (structure_alloc_comps): Ignore pointer components when
+ freeing structures.
+
+2017-01-25 Maxim Ostapenko <m.ostapenko@samsung.com>
+
+ PR lto/79061
+ * f95-lang.c (gfc_create_decls): Include stringpool.h.
+ Pass main_input_filename to build_translation_unit_decl.
+
+2017-01-23 Thomas Koenig <tkoenig@netcologne.de>
+
+ * arith.c (arith_power): If simplifying integer power expression
+ to zero, warn if -Winteger-division is given.
+
+2017-01-22 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/79154
+ * parse.c (matchs, matcho, matchds, matchdo): Replace return st;
+ with { ret = st; goto finish; }.
+ (decode_omp_directive): Allow declare simd, declare target and
+ simd directives in PURE/ELEMENTAL procedures. Only call
+ gfc_unset_implicit_pure on successful match of other procedures.
+
+2017-01-21 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * gfc-internals.texi (Symbol Versioning): Change references
+ to www.akkadia.org to https.
+
+2017-01-21 Jakub Jelinek <jakub@redhat.com>
+
+ * gfortran.h (gfc_extract_int): Change return type to bool. Add
+ int argument with = 0.
+ * decl.c (gfc_match_kind_spec): Adjust gfc_extract_int caller, pass
+ 1 as new last argument to it, don't emit gfc_error.
+ (match_char_kind): Likewise.
+ (gfc_match_decl_type_spec): Use gfc_get_string ("%s", x) instead of
+ gfc_get_string (x).
+ (gfc_match_derived_decl, match_binding_attributes): Likewise.
+ (gfc_match_structure_decl): Don't sprintf back to name, call
+ get_struct_decl directly with gfc_dt_upper_string (name) result.
+ * trans-stmt.c (gfc_trans_allocate): Use gfc_get_string ("%s", x)
+ instead of gfc_get_string (x).
+ * module.c (gfc_dt_lower_string, gfc_dt_upper_string,
+ gfc_match_use, gfc_match_submodule, find_true_name, mio_pool_string,
+ mio_symtree_ref, mio_expr, mio_omp_udr_expr, load_generic_interfaces,
+ load_omp_udrs, load_needed, read_module, dump_module,
+ create_intrinsic_function, import_iso_c_binding_module,
+ create_int_parameter, create_int_parameter_array, create_derived_type,
+ use_iso_fortran_env_module): Likewise.
+ * error.c (gfc_diagnostic_starter, gfc_diagnostic_start_span): Use
+ pp_verbatim (context->printer, "%s", x) instead of
+ pp_verbatim (context->printer, x).
+ * match.c (gfc_match_small_int): Adjust gfc_extract_int caller, pass
+ 1 as new last argument to it, don't emit gfc_error.
+ (gfc_match_small_int_expr): Likewise.
+ * iresolve.c (gfc_get_string): Optimize format "%s" case.
+ (resolve_bound): Use gfc_get_string ("%s", x) instead of
+ gfc_get_string (x).
+ (resolve_transformational): Formatting fix.
+ (gfc_resolve_char_achar): Change name argument to bool is_achar,
+ use a single format string and if is_achar add "a" before "char".
+ (gfc_resolve_achar, gfc_resolve_char): Adjust callers.
+ * expr.c (gfc_extract_int): Change return type to bool, return true
+ if some error occurred. Add REPORT_ERROR argument, if non-zero
+ call either gfc_error or gfc_error_now depending on its sign.
+ * arith.c (arith_power): Adjust gfc_extract_int caller.
+ * symbol.c (gfc_add_component): Use gfc_get_string ("%s", x) instead
+ of gfc_get_string (x).
+ (gfc_new_symtree, gfc_delete_symtree, gfc_get_uop, gfc_new_symbol,
+ gfc_get_gsymbol, generate_isocbinding_symbol): Likewise.
+ * openmp.c (gfc_match_omp_clauses): Adjust gfc_extract_int caller, pass
+ -1 as new last argument to it, don't emit gfc_error_now.
+ (gfc_match_omp_declare_reduction): Use gfc_get_string ("%s", x)
+ instead of gfc_get_string (x).
+ * check.c (kind_check): Adjust gfc_extract_int caller.
+ * intrinsic.c (add_sym, find_sym, make_alias): Use
+ gfc_get_string ("%s", x) instead of gfc_get_string (x).
+ * simplify.c (get_kind, gfc_simplify_btest, gfc_simplify_maskr,
+ gfc_simplify_maskl, gfc_simplify_poppar, gfc_simplify_repeat,
+ gfc_simplify_selected_int_kind, gfc_simplify_selected_real_kind):
+ Adjust gfc_extract_int callers.
+ * trans-decl.c (gfc_find_module): Use gfc_get_string ("%s", x)
+ instead of gfc_get_string (x).
+ * matchexp.c (expression_syntax): Add const.
+ * primary.c (match_kind_param, match_hollerith_constant,
+ match_string_constant): Adjust gfc_extract_int callers.
+ (match_keyword_arg): Use gfc_get_string ("%s", x) instead of
+ gfc_get_string (x).
+ * frontend-passes.c (optimize_minmaxloc): Likewise.
+
+2017-01-19 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ PR fortran/70696
+ * trans-decl.c (gfc_build_qualified_array): Add static decl to parent
+ function only, when the decl-context is not the translation unit.
+
+2017-01-18 Louis Krupp <louis.krupp@zoho.com>
+
+ PR fortran/50069
+ PR fortran/55086
+ * trans-expr.c (gfc_conv_variable): Don't treat temporary variables
+ as function arguments.
+ * trans-stmt.c (forall_make_variable_temp,
+ generate_loop_for_temp_to_lhs, gfc_trans_assign_need_temp,
+ gfc_trans_forall_1): Don't adjust offset of forall temporary
+ for array sections, make forall temporaries work for substring
+ expressions, improve test coverage by adding -ftest-forall-temp
+ option to request usage of temporary array in forall code.
+ * lang.opt: Add -ftest-forall-temp option.
+ * invoke.texi: Add -ftest-forall-temp option.
+
+2017-01-18 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ * primary.c (caf_variable_attr): Improve figuring whether the current
+ component is the last one refed.
+ * trans-stmt.c (gfc_trans_allocate): Do not generate sync_all calls
+ when allocating pointer or allocatable components.
+
+2017-01-18 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ * gfortran.texi: Add missing parameters to caf-API functions. Correct
+ typos and clarify some descriptions.
+
+2017-01-18 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ PR fortran/70696
+ Missed some cases, here they are:
+ * trans-decl.c (gfc_build_qualified_array): Add static tokens to the
+ parent function's scope.
+ * trans-expr.c (gfc_get_tree_for_caf_expr): Shorten code. Remove
+ unnecessary assert.
+
+2017-01-13 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ PR fortran/70697
+ * resolve.c (resolve_lock_unlock_event): Resolve the expression for
+ event's until_count.
+
+2017-01-13 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ PR fortran/70696
+ * trans-expr.c (gfc_get_tree_for_caf_expr): Ensure the backend_decl
+ is valid before accessing it.
+
+2017-01-09 Jakub Jelinek <jakub@redhat.com>
+
+ PR translation/79019
+ PR translation/79020
+ * decl.c (attr_decl1): Fix spelling in translatable string.
+ * intrinsic.texi: Fix spelling - invokation -> invocation.
+ * lang.opt (faggressive-function-elimination, gfc_convert): Fix
+ typos in descriptions.
+ * openmp.c (resolve_omp_clauses): Add missing whitespace to
+ translatable strings.
+
+2017-01-08 Martin Sebor <msebor@redhat.com>
+
+ PR tree-optimization/78913
+ PR middle-end/77708
+ * trans-common.c (build_equiv_decl): Increase buffer size to avoid
+ truncation for any argument.
+ * trans-types.c (gfc_build_logical_type): Same.
+
+2017-01-07 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ PR fortran/78781
+ PR fortran/78935
+ * expr.c (gfc_check_pointer_assign): Return the same error message for
+ rewritten coarray pointer assignments like for plain ones.
+ * gfortran.h: Change prototype.
+ * primary.c (caf_variable_attr): Set attributes used ones only only
+ ones. Add setting of pointer_comp attribute.
+ (gfc_caf_attr): Add setting of pointer_comp attribute.
+ * trans-array.c (gfc_array_allocate): Add flag that the component to
+ allocate is not an ultimate coarray component. Add allocation of
+ pointer arrays.
+ (structure_alloc_comps): Extend nullify to treat pointer components in
+ coarrays correctly. Restructure nullify to remove redundant code.
+ (gfc_nullify_alloc_comp): Allow setting caf_mode flags.
+ * trans-array.h: Change prototype of gfc_nullify_alloc_comp ().
+ * trans-decl.c (generate_coarray_sym_init): Call nullify_alloc_comp for
+ derived type coarrays with pointer components.
+ * trans-expr.c (gfc_trans_structure_assign): Also treat pointer
+ components.
+ (trans_caf_token_assign): Handle assignment of token of scalar pointer
+ components.
+ (gfc_trans_pointer_assignment): Call above routine.
+ * trans-intrinsic.c (conv_expr_ref_to_caf_ref): Add treating pointer
+ components.
+ (gfc_conv_intrinsic_caf_get): Likewise.
+ (conv_caf_send): Likewise.
+ * trans-stmt.c (gfc_trans_allocate): After allocating a derived type in
+ a coarray pre-register the tokens.
+ (gfc_trans_deallocate): Simply determining the coarray type (scalar or
+ array) and deregistering it correctly.
+ * trans-types.c (gfc_typenode_for_spec): Replace in_coarray flag by the
+ actual codim to allow lookup of array types in the cache.
+ (gfc_build_array_type): Likewise.
+ (gfc_get_array_descriptor_base): Likewise.
+ (gfc_get_array_type_bounds): Likewise.
+ (gfc_get_derived_type): Likewise.
+ * trans-types.h: Likewise.
+ * trans.c (gfc_deallocate_with_status): Enable deregistering of all kind
+ of coarray components.
+ (gfc_deallocate_scalar_with_status): Use free() in fcoarray_single mode
+ instead of caf_deregister.
+
+2017-01-06 Jakub Jelinek <jakub@redhat.com>
+
+ * simplify.c (simplify_transformation_to_array): Use
+ GCC_DIAGNOSTIC_PUSH_IGNORED and GCC_DIAGNOSTIC_POP instead of
+ #pragma GCC diagnostic {push,ignored,pop}.
+
+2017-01-06 Alexandre Oliva <aoliva@redhat.com>
+
+ * simplify.c (simplify_transformation_to_array): Silence
+ array bounds warning. Fix whitespace.
+
+2017-01-04 Alexandre Oliva <aoliva@redhat.com>
+
+ * module.c (load_omp_udrs): Initialize name.
+
+2017-01-02 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR fortran/78534
+ * trans-expr.c (gfc_trans_string_copy): Rework string copy
+ algorithm to avoid -Wstringop-overflow warning.
+
+2017-01-01 Jakub Jelinek <jakub@redhat.com>
+
+ Update copyright years.
+
+ * gfortranspec.c (lang_specific_driver): Update copyright notice
+ dates.
+ * gfc-internals.texi: Bump @copying's copyright year.
+ * gfortran.texi: Ditto.
+ * intrinsic.texi: Ditto.
+ * invoke.texi: Ditto.
+
+Copyright (C) 2017 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/gcc/fortran/gfc-internals.texi b/gcc/fortran/gfc-internals.texi
index cef61a7..7b6718c 100644
--- a/gcc/fortran/gfc-internals.texi
+++ b/gcc/fortran/gfc-internals.texi
@@ -1,7 +1,7 @@
\input texinfo @c -*-texinfo-*-
@c %**start of header
@setfilename gfc-internals.info
-@set copyrights-gfortran 2007-2017
+@set copyrights-gfortran 2007-2018
@include gcc-common.texi
diff --git a/gcc/fortran/gfortran.texi b/gcc/fortran/gfortran.texi
index fc95ec0..a8fdf92 100644
--- a/gcc/fortran/gfortran.texi
+++ b/gcc/fortran/gfortran.texi
@@ -1,7 +1,7 @@
\input texinfo @c -*-texinfo-*-
@c %**start of header
@setfilename gfortran.info
-@set copyrights-gfortran 1999-2017
+@set copyrights-gfortran 1999-2018
@include gcc-common.texi
diff --git a/gcc/fortran/gfortranspec.c b/gcc/fortran/gfortranspec.c
index 7a27f53..7749bb0 100644
--- a/gcc/fortran/gfortranspec.c
+++ b/gcc/fortran/gfortranspec.c
@@ -276,7 +276,7 @@ lang_specific_driver (struct cl_decoded_option **in_decoded_options,
case OPT__version:
printf ("GNU Fortran %s%s\n", pkgversion_string, version_string);
- printf ("Copyright %s 2017 Free Software Foundation, Inc.\n",
+ printf ("Copyright %s 2018 Free Software Foundation, Inc.\n",
_("(C)"));
fputs (_("This is free software; see the source for copying conditions. There is NO\n\
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\n"),
diff --git a/gcc/fortran/intrinsic.texi b/gcc/fortran/intrinsic.texi
index 58ace82..fbe9938 100644
--- a/gcc/fortran/intrinsic.texi
+++ b/gcc/fortran/intrinsic.texi
@@ -1,5 +1,5 @@
@ignore
-Copyright (C) 2005-2017 Free Software Foundation, Inc.
+Copyright (C) 2005-2018 Free Software Foundation, Inc.
This is part of the GNU Fortran manual.
For copying conditions, see the file gfortran.texi.
diff --git a/gcc/fortran/invoke.texi b/gcc/fortran/invoke.texi
index 7b6f161..3d64056 100644
--- a/gcc/fortran/invoke.texi
+++ b/gcc/fortran/invoke.texi
@@ -1,10 +1,10 @@
-@c Copyright (C) 2004-2017 Free Software Foundation, Inc.
+@c Copyright (C) 2004-2018 Free Software Foundation, Inc.
@c This is part of the GNU Fortran manual.
@c For copying conditions, see the file gfortran.texi.
@ignore
@c man begin COPYRIGHT
-Copyright @copyright{} 2004-2017 Free Software Foundation, Inc.
+Copyright @copyright{} 2004-2018 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or