re PR fortran/59654 ([OOP] Broken function table with complex OO use case)
authorJanus Weil <janus@gcc.gnu.org>
Thu, 2 Jan 2014 17:27:11 +0000 (18:27 +0100)
committerJanus Weil <janus@gcc.gnu.org>
Thu, 2 Jan 2014 17:27:11 +0000 (18:27 +0100)
2014-01-02  Janus Weil  <janus@gcc.gnu.org>

PR fortran/59654
* resolve.c (resolve_typebound_procedures): No need to create the vtab
here.

2014-01-02  Janus Weil  <janus@gcc.gnu.org>

PR fortran/59654
* gfortran.dg/dynamic_dispatch_12.f90: New.

From-SVN: r206281

gcc/fortran/ChangeLog
gcc/fortran/ChangeLog-2013 [new file with mode: 0644]
gcc/fortran/resolve.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/dynamic_dispatch_12.f90 [new file with mode: 0644]

index 6c7cea7c4a406d4a22eb528cb92a5c51a2165e56..e78d6b65f67a10560d5525a4eb590ef6166a9bc8 100644 (file)
-2013-12-30  Janus Weil  <janus@gcc.gnu.org>
+2014-01-02  Janus Weil  <janus@gcc.gnu.org>
 
-       PR fortran/58998
-       * resolve.c (resolve_symbol): Check that symbol is not only flavorless
-       but also untyped.
-
-2013-12-29  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/59612
-       * dump-parse-tree.c (show_typespec): Check for charlen.
-       * invoke.texi: Fix documentation of -fdump-fortran-optimized and
-       -fdump-parse-tree.
-
-2013-12-18  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/59493
-       * gfortran.h (gfc_find_intrinsic_vtab): Removed prototype.
-       (gfc_find_vtab): New prototype.
-       * class.c (gfc_find_intrinsic_vtab): Rename to 'find_intrinsic_vtab' and
-       make static. Minor modifications.
-       (gfc_find_vtab): New function.
-       (gfc_class_initializer): Use new function 'gfc_find_vtab'.
-       * check.c (gfc_check_move_alloc): Ditto.
-       * expr.c (gfc_check_pointer_assign): Ditto.
-       * interface.c (compare_actual_formal): Ditto.
-       * resolve.c (resolve_allocate_expr, resolve_select_type): Ditto.
-       * trans-expr.c (gfc_conv_intrinsic_to_class, gfc_trans_class_assign):
-       Ditto.
-       * trans-intrinsic.c (conv_intrinsic_move_alloc): Ditto.
-       * trans-stmt.c (gfc_trans_allocate): Ditto.
-
-2013-12-16  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/54949
-       * symbol.c (check_conflict): Forbid abstract procedure pointers.
-       (gfc_add_abstract): Check for attribute conflicts.
-
-2013-12-16  Jakub Jelinek  <jakub@redhat.com>
-
-       PR libgomp/59337
-       * openmp.c (resolve_omp_atomic): Adjust error message.
-
-2013-12-15  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/59493
-       * class.c (gfc_find_intrinsic_vtab): Handle BT_CLASS.
-
-2013-12-14  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/59502
-       * primary.c (gfc_match_varspec): Check for 'class_ok'.
-
-2013-12-14  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/59450
-       * module.c (mio_expr): Handle type-bound function expressions.
-
-2013-12-12  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/59440
-       * trans-decl.c (generate_namelist_decl): Ensure debug DIE
-       is created by setting DECL_IGNORED_P to 0.
-
-2013-12-11  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/58916
-       * resolve.c (conformable_arrays): Treat scalar 'e2'.
-       (resolve_allocate_expr): Check rank also for unlimited-polymorphic
-       variables.
-
-2013-12-10  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/35831
-       * interface.c (check_dummy_characteristics): Add checks for several
-       attributes.
-
-2013-12-10  Janus Weil  <janus@gcc.gnu.org>
-
-       * gfortran.texi: Add possible kind values (and default) for
-       DOUBLE PRECISION.
-       * invoke.texi: Correct documentation of -fdefault-integer-8,
-       -fdefault-real-8 and -fdefault-double-8.
-
-2013-12-10  Janus Weil  <janus@gcc.gnu.org>
-
-       * gfortran.texi: Modify documentation of kind type parameters.
-       * invoke.texi: Extend documentation of -fdefault-integer-8 and
-       -fdefault-real-8.
-
-2013-12-10  Janus Weil  <janus@gcc.gnu.org>
-
-       * invoke.texi: Add -freal-4-real-16. Rearrange kind promotion options.
-
-2013-12-08  Tobias Burnus  <burnus@net-b.de>
-           Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/58099
-       PR fortran/58676
-       PR fortran/41724
-       * resolve.c (gfc_resolve_intrinsic): Set elemental/pure.
-       (resolve_fl_procedure): Reject pure dummy procedures/procedure
-       pointers.
-       (gfc_explicit_interface_required): Don't require a
-       match of ELEMENTAL for intrinsics.
-
-2013-12-07  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/59414
-       * resolve.c (resolve_specific_f0): Handle CLASS-valued functions.
-
-2013-12-04  Tobias Burnus  <burnus@net-b.de>
-
-       PR debug/37132
-       * trans-decl.c (generate_namelist_decl, create_module_nml_decl):
-       New static functions.
-       (gfc_generate_module_vars, generate_local_vars): Call them.
-       (gfc_trans_use_stmts): Handle namelists for debug genertion.
-
-2013-12-01  Paul Thomas  <pault@gcc.gnu.org>
-
-       PR fortran/57354
-       * trans-array.c (gfc_conv_resolve_dependencies): For other than
-       SS_SECTION, do a dependency check if the lhs is liable to be
-       reallocated.
-
-2013-12-01  Paul Thomas  <pault@gcc.gnu.org>
-
-       PR fortran/58410
-       * trans-array.c (gfc_alloc_allocatable_for_assignment): Do not
-       use the array bounds of an unallocated array but set its size
-       to zero instead.
-
-2013-12-01  Paul Thomas  <pault@gcc.gnu.org>
-
-       PR fortran/34547
-       * resolve.c (resolve_transfer): EXPR_NULL is always in an
-       invalid context in a transfer statement.
-
-2013-11-28  Sergey Ostanevich  <sergos.gnu@gmail.com>
-
-       * lang.opt (Wopenmp-simd): New.
-
-2013-11-25  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/59143
-       * interface.c (get_expr_storage_size): Handle array-valued type-bound
-       procedures.
-
-2013-11-24  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
-
-       * scanner.c (gfc_open_intrinsic_module): Remove function.
-       * gfortran.h (gfc_open_intrinsic_module): Remove prototype.
-
-2013-11-23  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/59228
-       * interface.c (compare_parameter): Check for array spec.
-
-2013-11-22  Andrew MacLeod  <amacleod@redhat.com>
-
-       * trans.c: Add required include files from gimple.h.
-       * trans-expr.c: Likewise
-       * trans-openmp.c: Likewise
-
-2013-11-22  David Malcolm  <dmalcolm@redhat.com>
-
-       * trans.c (trans_runtime_error_vararg): Remove use of input_line
-       macro.
-
-2013-11-17  Andrew MacLeod  <amacleod@redhat.com>
-
-       * fortran/trans-intrinsic.c: Include tree-nested.h.
-
-2013-11-14  Andrew MacLeod  <amacleod@redhat.com>
-
-       * trans-expr.c: Include only gimplify.h and gimple.h as needed.
-       * trans-openmp.c: Likewise.
-
-2013-11-14  Diego Novillo  <dnovillo@google.com>
-
-       * decl.c: Include stringpool.h.
-       * iresolve.c: Include stringpool.h.
-       * match.c: Include stringpool.h.
-       * module.c: Include stringpool.h.
-       * target-memory.c: Include stor-layout.h.
-       * trans-common.c: Include stringpool.h.
-       Include stor-layout.h.
-       Include varasm.h.
-       * trans-const.c: Include stor-layout.h.
-       * trans-decl.c: Include stringpool.h.
-       Include stor-layout.h.
-       Include varasm.h.
-       Include attribs.h.
-       * trans-expr.c: Include stringpool.h.
-       * trans-intrinsic.c: Include stringpool.h.
-       Include tree-nested.h.
-       Include stor-layout.h.
-       * trans-io.c: Include stringpool.h.
-       Include stor-layout.h.
-       * trans-openmp.c: Include stringpool.h.
-       * trans-stmt.c: Include stringpool.h.
-       * trans-types.c: Include stor-layout.h.
-       Include stringpool.h.
-       * trans.c: Include stringpool.h.
-
-2013-11-12  Andrew MacLeod  <amacleod@redhat.com>
-
-       * f95-lang.c: Don't include gimple.h.
-       * trans-array.c: Include gimple-expr.h instead of gimple.h.
-       * trans.c: Likewise.
-       * trans-decl.c: Likewise.
-       * trans-expr.c: Include gimplify.h.
-       * trans-openmp.c: Likewise.
-
-2013-11-07  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/58471
-       * primary.c (gfc_expr_attr): Check for result symbol.
-
-2013-11-06  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
-
-       * gfortran.texi: Fix typo.
-
-2013-11-05  Tobias Burnus  <burnus@net-b.de>
-
-       * lang.opt (-Wdate-time): New option
-       * cpp.c (gfc_cpp_option_data): Add warn_date_time.
-       (gfc_cpp_init_options, gfc_cpp_handle_option,
-       gfc_cpp_post_options): Handle it and pass on to libcpp.
-
-2013-11-05  Steven G. Kargl <kargl@gcc.gnu.org>
-
-       PR fortran/58989
-       * check.c (gfc_check_reshape): ensure that shape is a constant
-       expression.
-
-2013-11-05  Tobias Burnus  <burnus@net-b.de>
-
-       * lang.opt (fopenmp-simd): New option.
-       * gfortran.h (gfc_option_t): Add gfc_flag_openmp_simd.
-       * options.c (gfc_handle_option): Handle it.
-
-2013-11-04  Ian Lance Taylor  <iant@google.com>
-
-       * f95-lang.c (ATTR_LEAF_LIST): Define.
-
-2013-11-04  Paul Thomas  <pault@gcc.gnu.org>
-
-       PR fortran/58771
-       * trans-io.c (transfer_expr): If the backend_decl for a derived
-       type is missing, build it with gfc_typenode_for_spec.
-
-2013-11-04  Paul Thomas  <pault@gcc.gnu.org>
-
-       PR fortran/57445
-       * trans-expr.c (gfc_conv_class_to_class): Remove spurious
-       assert.
-
-2013-10-29  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/44350
-       * parse.c (parse_spec): Add C1116 constraint
-       check for BLOCK DATA.
-
-2013-10-29  Paul Thomas  <pault@gcc.gnu.org>
-
-       PR fortran/58793
-       * trans-types.c (gfc_typenode_for_spec): Add typenode for
-       BT_HOLLERITH. Note that the length is incorrect but unusable.
-
-       PR fortran/58858
-       * target-memory.c (gfc_element_size): Add element sizes for
-       BT_VOID and BT_ASSUMED, using gfc_typenode_for_spec.
-
-2013-10-24  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/44646
-       * trans-stmt.c (struct forall_info): Add do_concurrent field.
-       (gfc_trans_forall_1): Set it for do concurrent.
-       (gfc_trans_forall_loop): Mark those as annot_expr_ivdep_kind.
-
-2013-10-23  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/58793
-       * interface.c (compare_parameter): Reject passing TYPE(*)
-       to CLASS(*).
-
-2013-10-22  Paul Thomas  <pault@gcc.gnu.org>
-
-       PR fortran 57893
-       * class.c : Include target-memory.h.
-       (gfc_find_intrinsic_vtab) Build a minimal expression so that
-       gfc_element_size can be used to obtain the storage size, rather
-       that the kind value.
-
-2013-10-21  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/58803
-       * decl.c (match_ppc_decl): Prevent later
-       double free.
-
-2013-10-17  Andrew MacLeod  <amacleod@redhat.com>
-
-       * trans-openmp.c: Include omp-low.h.
-
-2013-10-16  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/58652
-       * interface.c (compare_parameter): Accept passing CLASS(*)
-       to CLASS(*).
-
-2013-10-16  Tobias Burnus  <burnus@net-b.de>
-
-       * intrinsic.texi (OpenMP Modules): Update to OpenMPv4.
-       Document omp_proc_bind_kind.
-
-2013-10-15  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/58652
-       * trans-intrinsic.c (conv_intrinsic_move_alloc): Fix handling
-       of CLASS(*) variables.
-
-2013-10-14  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/58658
-       * expr.c (gfc_check_vardef_context): Fix pointer diagnostic
-       for CLASS(*).
-
-2013-10-11  Jakub Jelinek  <jakub@redhat.com>
-
-       * trans-openmp.c (gfc_omp_clause_default_ctor,
-       gfc_omp_clause_dtor): Return NULL for OMP_CLAUSE_REDUCTION.
-       * f95-lang.c (ATTR_NULL, DEF_FUNCTION_TYPE_8): Define.
-       * types.def (DEF_FUNCTION_TYPE_8): Document.
-       (BT_FN_VOID_OMPFN_PTR_UINT,
-       BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG,
-       BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG,
-       BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT): Remove.
-       (BT_FN_VOID_OMPFN_PTR_UINT_UINT_UINT,
-       BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_UINT,
-       BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG_UINT,
-       BT_FN_BOOL_INT, BT_FN_BOOL_INT_BOOL, BT_FN_VOID_UINT_UINT,
-       BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR,
-       BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR,
-       BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR): New.
-
-2013-10-10  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/58226
-       * options.c (gfc_get_option_string): Handle zero arg case.
-
-2013-10-02  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/58593
-       * trans-expr.c (gfc_conv_string_tmp): Fix obtaining
-       the byte size of a single character.
-
-2013-10-01  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/58579
-       * trans-expr.c (gfc_conv_string_tmp): Correctly obtain
-       the byte size of a single character.
-
-2013-09-27  Janne Blomqvist  <jb@gcc.gnu.org>
-
-       * intrinsic.texi (DATE_AND_TIME): Fix example.
-
-2013-09-25  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/58436
-       * class.c (generate_finalization_wrapper): Handle CLASS(*).
-
-2013-09-25  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/57697
-       PR fortran/58469
-       * resolve.c (generate_component_assignments): Avoid double free
-       at runtime and freeing a still-being used expr.
-
-2013-09-25  Tom Tromey  <tromey@redhat.com>
-
-       * Make-lang.in (fortran_OBJS): Use fortran/gfortranspec.o.
-       (gfortranspec.o): Remove.
-       (CFLAGS-fortran/gfortranspec.o): New variable.
-       (GFORTRAN_D_OBJS): Update.
-       ($(F95_PARSER_OBJS), fortran/openmp.o, GFORTRAN_TRANS_DEPS)
-       (fortran/f95-lang.o, fortran/scanner.o, fortran/convert.o)
-       (fortran/frontend-passes.o, fortran/trans.o, fortran/trans-decl.o)
-       (fortran/trans-types, fortran/trans-const.o, fortran/trans-expr.o)
-       (fortran/trans-stmt.o, fortran/trans-openmp.o, fortran/trans-io.o)
-       (fortran/trans-array.o, fortran/trans-intrinsic.o)
-       (fortran/dependency.o, fortran/trans-common.o, fortran/resolve.o)
-       (fortran/data.o, fortran/options.o, fortran/cpp.o)
-       (fortran/scanner.o, fortran/module.o): Remove.
-
-2013-09-25  Tom Tromey  <tromey@redhat.com>
-
-       * Make-lang.in (gfortranspec.o): Don't use subshell.
-
-2013-09-23  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/58355
-       * decl.c (check_extended_derived_type): Prevent segfault, modify error
-       message.
-
-2013-09-20  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/58099
-       * expr.c (gfc_check_pointer_assign): Remove second call to
-       'gfc_compare_interfaces' with swapped arguments.
-       * interface.c (gfc_compare_interfaces): Symmetrize the call to
-       'check_result_characteristics' by calling it with swapped arguments.
-
-2013-09-18  Tobias Burnus  <burnus@net-b.de>
-
-       * expr.c (gfc_check_assign_symbol): Free lvalue.ref.
-
-2013-09-18  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/43366
-       * primary.c (gfc_variable_attr): Also handle codimension.
-       * resolve.c (resolve_ordinary_assign): Add invalid-diagnostic for
-       polymorphic assignment.
-
-2013-09-16  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/58356
-       * class.c (generate_finalization_wrapper): Init proc_tree if
-       not yet resolved.
-
-2013-09-16  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/57697
-       * resolve.c (generate_component_assignments): Correctly handle the
-       case that the LHS is not allocated.
-
-2013-09-15  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/57697
-       * resolve.c (generate_component_assignments): Handle unallocated
-       LHS with defined assignment of components.
-
-2013-09-12  Brooks Moses  <bmoses@google.com>
-
-       PR driver/42955
-       * Make-lang.in: Do not install driver binaries in $(target)/bin.
-
-2013-09-09  Tobias Burnus  <burnus@net-b.de>
-
-       * invoke.texi (Error and Warning Options): Add hyphen.
-
-2013-09-02  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-       PR fortran/PR56519
-       * gfortran.h:  Declare gfc_do_concurrent_flag as extern.
-       * resolve.c:  Rename do_concurrent_flag to gfc_do_concurrent_flag
-       and make non-static.
-       (resolve_function):  Use gfc_do_concurrent_flag instead of
-       do_concurrent_flag.
-       (pure_subroutine):  Likewise.
-       (resolve_code):  Likewise.
-       (resolve_types):  Likewise.
-       * intrinsic.c (gfc_intrinsic_sub_interface):  Raise error for
-       non-pure intrinsic subroutines within DO CONCURRENT.
-
-2013-08-29  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-       PR fortran/52243
-       * trans-expr.c (is_runtime_conformable):  New function.
-       * gfc_trans_assignment_1:  Use it.
-
-2013-08-26  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-       PR fortran/58146
-       * array.c (gfc_ref_dimen_size):  If possible, use
-       gfc_dep_difference to calculate array refrence
-       sizes.  Fall back to integer code otherwise.
-       * dependency.c (discard_nops).  Move up.
-       Also discarde widening integer conversions.
-       (gfc_dep_compare_expr):  Use discard_nops.
-
-2013-08-23  Mikael Morin  <mikael@gcc.gnu.org>
-
-       PR fortran/57798
-       * trans-array.c (gfc_conv_ss_startstride, set_loop_bounds,
-       gfc_set_delta): Generate preliminary code before the outermost loop.
-
-2013-08-23  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/57843
-       * interface.c (gfc_extend_assign): Look for type-bound assignment
-       procedures before non-typebound.
-
-2013-08-23  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans-array.c (gfc_conv_section_startstride): Move &loop->pre access
-       to the callers.
-       (gfc_conv_ss_startstride, gfc_conv_expr_descriptor): Update callers.
-
-2013-08-22  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/58185
-       * match.c (copy_ts_from_selector_to_associate): Only build class
-       container for polymorphic selector. Some cleanup.
-
-2013-08-20  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/53655
-       * trans-decl.c (generate_local_decl): Check if type has any components.
-
-2013-08-19  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/46271
-       * openmp.c (resolve_omp_clauses): Bugfix for procedure pointers.
-
-2013-08-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-       PR fortran/56666
-       * gfortran.h (gfc_option_t):  Add warn_zerotrip.
-       * invoke.texi (-Wzerotrip):  Document option.
-       * lang.opt (Wzerotrip):  Add.
-       * options.c (gfc_init_options):  Initialize warn_zerotrip.
-       (set_Wall): Add handling of warn_zerotrip.
-       (gfc_handle_option):  Handle OPT_Wzerotrip.
-       * resolve.c (gfc_resolve_iterator): Honor
-       gfc_option.warn_zerotrip; update error message to show
-       how to suppress the warning.
-
-2013-08-09  Janus Weil  <janus@gcc.gnu.org>
-
-       * gfortran.h (gfc_get_code): Modified prototype.
-       * class.c (finalize_component, finalization_scalarizer,
-       finalization_get_offset, finalizer_insert_packed_call,
-       generate_finalization_wrapper, gfc_find_derived_vtab,
-       gfc_find_intrinsic_vtab): Use 'gfc_get_code'.
-       * io.c (match_io_iterator, match_io_element, terminate_io, get_io_list,
-       gfc_match_inquire): Call 'gfc_get_code' with argument.
-       * match.c (match_simple_forall, gfc_match_forall, gfc_match_goto,
-       gfc_match_nullify, gfc_match_call, match_simple_where, gfc_match_where):
-       Ditto.
-       * parse.c (new_level): Ditto.
-       (add_statement): Use XCNEW.
-       * resolve.c (resolve_entries, resolve_allocate_expr,
-       resolve_select_type, build_assignment, build_init_assign): Call
-       'gfc_get_code' with argument.
-       * st.c (gfc_get_code): Add argument 'op'.
-       * trans-expr.c (gfc_trans_class_array_init_assign): Call 'gfc_get_code'
-       with argument.
-       * trans-stmt.c (gfc_trans_allocate): Ditto.
-
-2013-08-09  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/58058
-       * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Free the temporary
-       string, if necessary.
-
-2013-08-06  Martin Jambor  <mjambor@suse.cz>
-
-       PR fortran/57987
-       * trans-decl.c (gfc_generate_function_code): Never call
-       cgraph_finalize_function on nested functions.
-
-2013-08-06  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/57306
-       * class.c (gfc_class_null_initializer): Rename to
-       'gfc_class_initializer'. Treat non-NULL init-exprs.
-       * gfortran.h (gfc_class_null_initializer): Update prototype.
-       * trans-decl.c (gfc_get_symbol_decl): Treat class variables.
-       * trans-expr.c (gfc_conv_initializer): Ditto.
-       (gfc_trans_subcomponent_assign): Renamed gfc_class_null_initializer.
-
-2013-07-30  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/57530
-       * symbol.c (gfc_type_compatible): A type is type compatible with
-       a class if both have the same declared type.
-       * interface.c (compare_type): Reject CLASS/TYPE even if they
-       are type compatible.
-
-2013-07-30  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/57530
-       * trans-expr.c (gfc_trans_class_assign): Handle CLASS array
-       functions.
-       (gfc_trans_pointer_assign): Ditto and support pointer assignment of
-       a polymorphic var to a nonpolymorphic var.
-
-2013-07-22  Po Chang  <pchang9@cs.wisc.edu>
-
-       * match.c (gfc_match_call): Exit loop after setting i.
-
-       * resolve.c (resolve_variable): Exit loop after setting seen.
-
-       * expr.c (gfc_check_pointer_assign): Exit loop after setting warn.
-
-       * trans-array.c (set_loop_bounds): Exit loop after setting
-       nonoptional_arr.
-
-       * trans-io.c (gfc_trans_transfer): Exit loop after setting seen_vector.
-
-2013-07-28  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-       PR fortran/58009
-       * expr.c (gfc_check_vardef_context):  Check for same values in
-       vector expression subscripts.
-
-2013-07-27  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/57991
-       * interface.c (check_some_aliasing): Also warn for intent OUT/OUT.
-
-2013-07-27  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/57285
-       * check.c (dim_rank_check): Re-enable this check for CLASS arrays.
-
-2013-07-25  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/57966
-       * resolve.c (resolve_typebound_function): Make sure the declared type,
-       including its type-bound procedures, is resolved before resolving the
-       actual type-bound call.
-
-2013-07-25  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/57639
-       * interface.c (compare_parameter): Check for class_ok.
-       * simplify.c (gfc_simplify_same_type_as): Ditto.
-
-2013-07-23   OndÅ™ej Bílka  <neleai@seznam.cz>
-
-       * decl.c: Fix comment typos.
-       * interface.c: Likewise.
-       * trans-array.c: Likewise.
-       * trans.c: Likewise.
-
-2013-07-22  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/57906
-       PR fortran/52052
-       * class.c (gfc_build_class_symbol): Set coarray_comp.
-       * trans-array.c (structure_alloc_comps): For coarrays,
-       directly use the data pointer address.
-
-2013-07-22  Chang  <pchang9@cs.wisc.edu>
-
-       * trans-decl.c (gfc_build_dummy_array_decl): Exit loop after
-       setting PACKED_PARTIAL.
-
-2013-07-22  Tobias Burnus  <burnus@net-b.de>
-
-       * trans-array.c (gfc_array_allocate): Correct memory-leak patch.
-
-2013-07-22  Tobias Burnus  <burnus@net-b.de>
-
-       * trans-array.c (gfc_array_allocate,
-       gfc_trans_deferred_array): Plug memory leak.
-
-2013-07-21  OndÅ™ej Bílka  <neleai@seznam.cz>
-
-       * trans-decl.c: Fix comment typos.
-       * trans-expr.c: Ditto.
-
-2013-07-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-       PR fortran/56937
-       * dependency.c (gfc_dep_resolver):  Treat identical
-       array subscripts as identical; don't unconditionally
-       return a dependency if an array subscript is found.
-
-2013-07-21  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/35862
-       * libgfortran.h (GFC_FPE_DOWNWARD, GFC_FPE_TONEAREST,
-       GFC_FPE_TOWARDZERO, GFC_FPE_UPWARD): New defines.
-
-2013-07-21  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/57894
-       * check.c (min_max_args): Add keyword= check.
-
-2013-07-17  Mikael Morin  <mikael@gcc.gnu.org>
-           Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/57895
-       * match.c (gfc_match_name): Ensure that the error
-       message regarding -fdollar-ok gets printed.
-       (gfc_match_common): Avoid multiple freeing.
-
-2013-07-16  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/57912
-       * trans-expr.c (gfc_trans_scalar_assign): Correct if
-       condition for caf realloc.
-
-2013-07-15  Tobias Burnus  <burnus@net-b.de>
-
-       * trans-array.h (gfc_deallocate_alloc_comp_no_caf,
-       gfc_reassign_alloc_comp_caf): New prototype.
-       * trans-array.c (enum): Add DEALLOCATE_ALLOC_COMP_NO_CAF
-       and COPY_ALLOC_COMP_CAF.
-       (structure_alloc_comps): Handle it.
-       (gfc_reassign_alloc_comp_caf,
-       gfc_deallocate_alloc_comp_no_caf): New function.
-       (gfc_alloc_allocatable_for_assignment): Call it.
-       * trans-expr.c (gfc_trans_scalar_assign,
-       gfc_trans_arrayfunc_assign, gfc_trans_assignment_1): Ditto.
-       * parse.c (parse_derived): Correctly set coarray_comp.
-       * resolve.c (resolve_symbol): Improve error wording.
-
-2013-07-15  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/37336
-       * trans.c (gfc_add_comp_finalizer_call): New function.
-       * trans.h (gfc_add_comp_finalizer_call): New prototype.
-       * trans-array.c (structure_alloc_comps): Call it.
-
-2013-07-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
-           Tobias Burnus  <burnus@gcc.gnu.org>
-
-       PR fortran/52669
-       * trans-decl.c (gfc_finish_var_decl):  Move setting of
-       PRIVATE for a module variable if the module has a private
-       default or -fmodule-private is given to...
-       (gfc_create_module_variable): here. Optionally
-       warn about private module variable which is not used.
-
-2013-07-08  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/57834
-       * check.c (is_c_interoperable): Add special case for c_f_pointer.
-       (explicit-size, gfc_check_c_f_pointer, gfc_check_c_loc): Update
-       call.
-
-2013-07-08  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/50554
-       * io.c (match_inquire_element): Add missing do-var check.
-
-2013-07-08  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/57785
-       * simplify.c (compute_dot_product): Complex conjugate for
-       dot_product.
-       (gfc_simplify_dot_product, gfc_simplify_matmul): Update call.
-
-2013-07-08  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/57469
-       * trans-decl.c (generate_local_decl): Don't warn that
-       a dummy is unused, when it is in a namelist.
-
-2013-07-01  Dominique d'Humieres  <dominiq@lps.ens.fr>
-
-       PR fortran/54788
-       * array.c (spec_size): handle the case as==NULL.
-
-2013-06-26  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/29800
-       * trans-array.c (gfc_conv_array_ref): Improve out-of-bounds
-       diagnostic message.
-       * trans-array.c (gfc_conv_array_ref): Update prototype.
-       * trans-expr.c (gfc_conv_variable): Update call.
-
-2013-06-24  Steven G. Kargl  <sgk@troutmask.apl.washington.edu>
-           Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
-           Dominique d'Humieres  <dominiq@lps.ens.fr>
-
-       PR fortran/52413
-       * simplify.c (gfc_simplify_fraction): Fix the sign of negative values.
-
-2013-06-21  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/37336
-       * trans-array.c (gfc_trans_deferred_array): Call the
-       finalizer for nonallocatable local variables.
-       * trans-decl.c (gfc_get_symbol_decl): Add local
-       finalizable vars to the deferred list.
-       (gfc_trans_deferred_vars): Call gfc_trans_deferred_array
-       for those.
-
-2013-06-21  Tobias Burnus  <burnus@net-b.de>
-
-       * trans-array.c (gfc_alloc_allocatable_for_assignment): Allocate
-       at least one byte.
-       * trans-expr.c (alloc_scalar_allocatable_for_assignment): Ditto.
-
-2013-06-20  Tobias Burnus  <burnus@net-b.de>
-
-       * resolve.c (get_temp_from_expr): Don't set FL_VARIABLE twice.
-
-2013-06-17  Tobias Burnus  <burnus@net-b.de>
-
-       * gfortran.h (gfc_option_t): Add fpe_summary.
-       * gfortran.texi (_gfortran_set_options): Update.
-       * invoke.texi (-ffpe-summary): Add doc.
-       * lang.opt (ffpe-summary): Add flag.
-       * options.c (gfc_init_options, gfc_handle_option): Handle it.
-       (gfc_handle_fpe_option): Renamed from gfc_handle_fpe_trap_option,
-       also handle fpe_summary.
-       * trans-decl.c (create_main_function): Update
-       _gfortran_set_options call.
-
-2013-06-15  Mikael Morin  <mikael@gcc.gnu.org>
-
-       PR fortran/49074
-       PR fortran/56136
-       * dependency.c (gfc_check_argument_var_dependency): Return 0 in the
-       array constructor case.
-
-2013-06-14  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/57508
-       * resolve.c (get_temp_from_expr): Don't copy function
-       result attributes to temporary.
-
-2013-06-14  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/57596
-       * trans-decl.c (gfc_trans_deferred_vars): Honor OPTIONAL
-       for nullify and deferred-strings' length variable.
-
-2013-06-13  Mikael Morin  <mikael@gcc.gnu.org>
-
-       PR fortran/49074
-       * trans-expr.c (gfc_conv_variable): Don't walk the reference chain.
-       Handle NULL array references.
-       (gfc_conv_procedure_call): Remove code handling NULL array references.
-
-2013-06-11  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/57535
-       * trans-array.c (build_class_array_ref): Fix ICE for
-       function result variables.
-
-2013-06-08  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/37336
-       * trans-decl.c (init_intent_out_dt): Call finalizer
-       when appropriate.
-
-2013-06-08  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/57553
-       * simplify.c (gfc_simplify_storage_size): Handle literal
-       strings.
-       * trans-intrinsic.c (gfc_conv_intrinsic_storage_size):
-       Add missing fold_convert.
-
-2013-06-07  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/57549
-       * array.c (gfc_match_array_constructor): Call
-       gfc_match_type_spec instead of gfc_match_decl_type_spec.
-       * match.c (gfc_match_type_spec): Renamed from match_type_spec.
-       (gfc_match_type_is, gfc_match_allocate): Update call.
-       * match.h (gfc_match_type_spec): Add prototype.
-
-2013-06-07  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/57556
-       * trans.c (gfc_build_final_call): Init block before use.
-
-2013-06-06  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/57542
-       * trans.c (gfc_build_final_call): Add se.pre to the block
-       and modify the assert.
-
-2013-06-04  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/37336
-       * trans.h (gfc_build_final_call): Remove prototype.
-       (gfc_add_finalizer_call): Add prototype.
-       * trans-array.c (gfc_trans_dealloc_allocated): Support finalization.
-       (structure_alloc_comps): Update caller.
-       (gfc_trans_deferred_array): Call finalizer.
-       * trans-array.h (gfc_trans_dealloc_allocated): Update prototype.
-       * trans-decl.c (gfc_trans_deferred_vars): Don't deallocate/finalize
-       variables of the main program.
-       * trans-expr.c (gfc_conv_procedure_call): Support finalization.
-       * trans-openmp.c (gfc_omp_clause_dtor,
-       gfc_trans_omp_array_reduction): Update calls.
-       * trans-stmt.c (gfc_trans_deallocate): Avoid double deallocation
-       of alloc components.
-       * trans.c (gfc_add_finalizer_call): New function.
-       (gfc_deallocate_with_status,
-       gfc_deallocate_scalar_with_status): Call it
-       (gfc_build_final_call): Fix handling of scalar coarrays,
-       move up in the file and make static.
-
-2013-06-01  Janus Weil  <janus@gcc.gnu.org>
-           Mikael Morin  <mikael@gcc.gnu.org>
-
-       * error.c (get_terminal_width): Only limit the width if we're
-       outputting to a terminal. Try to determine width via ioctl.
-
-2013-06-01  Tobias Burnus  <burnus@net-b.de>
-
-       * decl.c (add_global_entry): Take locus.
-       (gfc_match_entry): Update call.
-       (gfc_match_end): Better error location.
-       * parse.c (parse_block_data, parse_module, add_global_procedure,
-       add_global_program): Use better locus data.
-
-2013-05-31  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/57456
-       * trans-array.c (gfc_array_init_size): Use passed type spec,
-       when available.
-       (gfc_array_allocate): Pass typespec on.
-       * trans-array.h (gfc_array_allocate): Update prototype.
-       * trans-stmt.c (gfc_trans_allocate): Pass typespec on.
-
-2013-05-31  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/54190
-       PR fortran/57217
-       * gfortran.h (gfc_terminal_width): Remove prototype.
-       * error.c (get_terminal_width): Moved here from misc.c. Renamed.
-       Try to determine terminal width from environment variable.
-       * interface.c (compare_type, compare_rank): New functions. Fix assumed
-       type/rank handling.
-       (compare_type_rank, check_dummy_characteristics,
-       check_result_characteristics, gfc_compare_interfaces): Use them.
-       (symbol_rank): Slightly modified and moved.
-       * misc.c (gfc_terminal_width): Moved to error.c.
-
-2013-05-30  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/54189
-       * resolve.c (check_assumed_size_reference): Check for e->ref.
-
-2013-05-30  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/57458
-       * interface.c (compare_parameter): Update C1239/C1240 constraint
-       check for assumed-rank/TS29113.
-
-2013-05-29  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/37336
-       * class.c (finalize_component): Fix coarray array refs.
-       (generate_finalization_wrapper): Only gfc_convert_type_warn
-       when the kind value is different.
-       (gfc_find_intrinsic_vtab): _copy's dst is now intent(inout).
-       (gfc_find_derived_vtab): Ditto. Enable finalization-wrapper
-       generation.
-       * module.c (MOD_VERSION): Bump.
-       (gfc_dump_module, gfc_use_module): Remove empty line in .mod.
-       * trans-array.c (gfc_conv_descriptor_token): Accept nonrestricted
-       void pointer.
-       (gfc_array_allocate, structure_alloc_comps): Don't nullify for
-       BT_CLASS allocations.
-       * trans-stmt.c (gfc_trans_allocate): Ditto.
-
-2013-05-29  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/37336
-       * resolve.c (gfc_resolve_finalizers): Remove not implemented error.
-
-2013-05-28  Tobias Burnus  <burnus@net-b.de>
-
-       * trans-expr.c (gfc_conv_procedure_call): Deallocate
-       polymorphic arrays for allocatable intent(out) dummies.
-       (gfc_reset_vptr): New function, moved from trans-stmt.c
-       and extended.
-       * trans-stmt.c (reset_vptr): Remove.
-       (gfc_trans_deallocate): Update calls.
-       * trans.h (gfc_reset_vptr): New prototype.
-
-2013-05-28  Dominique d'Humieres  <dominiq@lps.ens.fr>
-
-       PR fortran/57435
-       * module.c (check_for_ambiguous): Avoid null pointer deref.
-
-2013-05-28  Janus Weil  <janus@gcc.gnu.org>
-           Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/57217
-       * interface.c (check_dummy_characteristics): Symmetrize type check.
-
-2013-05-27  Bud Davis  <jmdavis@link.com>
-
-       PR fortran/50405
-       * resolve.c (resolve_formal_arglist): Detect error when an argument
-       has the same name as the function.
-
-2013-05-27  Tobias Burnus  <burnus@net-b.de>
-
-       * expr.c (gfc_build_intrinsic_call): Make symbol as attr.artificial.
-       * intrinsic.c (gfc_is_intrinsic): Disable std check for those.
-
-2013-05-22  Tobias Burnus  <burnus@net-b.de>
-
-       * resolve.c (get_temp_from_expr): Change mangling to
-       start always with a _.
-
-2013-05-22  Tobias Burnus  <burnus@net-b.de>
-
-       * resolve.c (get_temp_from_expr): Fix temp var mangling.
-
-2013-05-22  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/57364
-       * resolve.c (get_temp_from_expr): Commit created sym.
-
-2013-05-22  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/57338
-       * intrinsic.c (do_check): Move some checks to ...
-       (do_ts29113_check): ... this new function.
-       (check_specific, gfc_intrinsic_sub_interface): Call it.
-
-2013-05-22  Janne Blomqvist  <jb@gcc.gnu.org>
-
-       * intrinsic.texi (RANDOM_SEED): Improve example.
-
-2013-05-21  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/57035
-       * intrinsic.c (do_check): Add constraint check for
-       NO_ARG_CHECK, assumed rank and assumed type.
-       * gfortran.texi (NO_ARG_CHECK): Minor wording change,
-       allow PRESENT intrinsic.
-
-2013-05-20  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/48858
-       PR fortran/55465
-       * decl.c (add_global_entry): Add sym_name.
-       * parse.c (add_global_procedure): Ditto.
-       * resolve.c (resolve_bind_c_derived_types): Handle multiple decl for
-       a procedure.
-       (resolve_global_procedure): Handle gsym->ns pointing to a module.
-       * trans-decl.c (gfc_get_extern_function_decl): Ditto.
-
-2013-05-20  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/48858
-       * decl.c (add_global_entry): Use nonbinding name
-       only for F2003 or if no binding label exists.
-       (gfc_match_entry): Update calls.
-       * parse.c (gfc_global_used): Improve error message.
-       (add_global_procedure): Use nonbinding name
-       only for F2003 or if no binding label exists.
-       (gfc_parse_file): Update call.
-       * resolve.c (resolve_global_procedure): Use binding
-       name when available.
-       * trans-decl.c (gfc_get_extern_function_decl): Ditto.
-
-2013-05-20  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/48858
-       * decl.c (gfc_match_bind_c_stmt): Add gfc_notify_std.
-       * match.c (gfc_match_common): Don't add commons to gsym.
-       * resolve.c (resolve_common_blocks): Add to gsym and
-       add checks.
-       (resolve_bind_c_comms): Remove.
-       (resolve_types): Remove call to the latter.
-       * trans-common.c (gfc_common_ns): Remove static var.
-       (gfc_map_of_all_commons): Add static var.
-       (build_common_decl): Correctly handle binding label.
-
-2013-05-16  Jason Merrill  <jason@redhat.com>
-
-       * Make-lang.in (f951$(exeext)): Use link mutex.
-
-2013-05-05  Tobias Burnus  <burnus@net-b.de>
-
-       * resolve.c (conformable_arrays): Avoid segfault
-       when ar.start[i] == NULL.
-
-2013-05-05  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/57141
-       * decl.c (gfc_match_null): Permit use-associated
-       NULL intrinsic.
-
-2013-05-04  Tobias Burnus  <burnus@net-b.de>
-
-       * decl.c (gfc_verify_c_interop_param): Permit allocatable
-       and pointer with -std=f2008ts.
-
-2013-05-02  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/57142
-       * simplify.c (gfc_simplify_size): Renamed from
-       simplify_size; fix kind=8 handling.
-       (gfc_simplify_size): New function.
-       (gfc_simplify_shape): Add range check.
-       * resolve.c (resolve_function): Fix handling
-       for ISYM_SIZE.
-
-2013-05-01  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-       * frontend-passes.c (optimize_power):  Fix typo
-       in comment.
-
-2013-04-30  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-       PR fortran/57071
-       * frontend-passes.c (optimize_power):  Simplify
-       1**k to 1.
-
-2013-04-28  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/57114
-       * intrinsic.texi (RANK): Correct syntax description and
-       expected result.
-
-2013-04-28  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/57093
-       * trans-types.c (gfc_get_element_type): Fix handling
-       of scalar coarrays of type character.
-       * intrinsic.texi (PACK): Add missing ")".
-
-2013-04-28  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-       PR fortran/57071
-       * frontend-passes (optimize_power):  New function.
-       (optimize_op):  Use it.
-
-2013-04-25  Janne Blomqvist  <jb@gcc.gnu.org>
-
-       PR bootstrap/57028
-       * Make-lang.in (f951): Link in ZLIB.
-       (CFLAGS-fortran/module.o): Add zlib include directory.
-
-2013-04-22  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/53685
-       PR fortran/57022
-       * check.c (gfc_calculate_transfer_sizes): Fix for array-valued SOURCE
-       expressions.
-       * simplify.c (gfc_simplify_sizeof,gfc_simplify_storage_size): Get rid
-       of special treatment for EXPR_ARRAY.
-       * target-memory.h (gfc_element_size): New prototype.
-       * target-memory.c (size_array): Remove.
-       (gfc_element_size): New function.
-       (gfc_target_expr_size): Modified to always return the full size of the
-       expression.
-
-2013-04-20  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/56907
-       * trans-intrinsic.c (conv_isocbinding_function): Don't pack array
-       passed to C_LOC
-
-2013-04-19  Thomas Koenig  <tkoenig@gcc.gnu.org>
-           Mikael Morin  <mikael@gcc.gnu.org>
-
-       PR fortran/56872
-       * frontend-passes.c (copy_walk_reduction_arg): Change argument type
-       to gfc_constructor.  If it has an iterator, wrap the copy of its
-       expression in an array constructor with that iterator.  Don't special
-       case function expressions.
-       (callback_reduction): Update caller.  Don't return early if there is
-       an iterator.
-
-2013-04-18  Tobias Burnus  <burnus@net-b.de>
-
-       * expr.c (find_array_element): Don't copy expr.
-       * data.c (create_character_initializer): Free expr.
-       * frontend-passes.c (combine_array_constructor): Ditto.
-       * match.c (match_typebound_call, gfc_match_select_type): Ditto.
-       * resolve.c (resolve_typebound_function): Free gfc_ref.
-
-2013-04-18  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/56994
-       * invoke.texi (NEAREST): S argument is not optional.
-
-2013-04-17  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/56814
-       * interface.c (check_result_characteristics): Get result from interface
-       if present.
-
-2013-04-17  Janne Blomqvist  <jb@gcc.gnu.org>
-
-       PR fortran/40958
-       * scanner.h: New file.
-       * Make-lang.in: Dependencies on scanner.h.
-       * scanner.c (gfc_directorylist): Move to scanner.h.
-       * module.c: Don't include md5.h, include scanner.h and zlib.h.
-       (MOD_VERSION): Add comment about backwards compatibility.
-       (module_fp): Change type to gzFile.
-       (ctx): Remove.
-       (gzopen_included_file_1): New function.
-       (gzopen_included_file): New function.
-       (gzopen_intrinsic_module): New function.
-       (write_char): Use gzputc.
-       (read_crc32_from_module_file): New function.
-       (read_md5_from_module_file): Remove.
-       (gfc_dump_module): Use gz* functions instead of stdio, check gzip
-       crc32 instead of md5.
-       (read_module_to_tmpbuf): Use gz* functions instead of stdio.
-       (gfc_use_module): Use gz* functions.
-
-2013-04-16  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/39505
-       * decl.c (ext_attr_list): Add EXT_ATTR_NO_ARG_CHECK.
-       * gfortran.h (ext_attr_id_t): Ditto.
-       * gfortran.texi (GNU Fortran Compiler Directives):
-       Document it.
-       * interface.c (compare_type_rank): Ignore rank for NO_ARG_CHECK.
-       (compare_parameter): Ditto - and regard as unlimited polymorphic.
-       * resolve.c (resolve_symbol, resolve_variable): Add same constraint
-       checks as for TYPE(*); turn dummy to TYPE(*),dimension(*).
-       (gfc_explicit_interface_required): Require explicit interface
-       for NO_ARG_CHECK.
-
-2013-04-16  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/56968
-       * expr.c (gfc_check_pointer_assign): Handle generic functions returning
-       procedure pointers.
-
-2013-04-16  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/56969
-       * intrinsic.c (gfc_intrinsic_func_interface): Don't set
-       module name to "(intrinsic)" for intrinsics from intrinsic
-       modules.
-
-2013-04-15  Tobias Burnus  <burnus@net-b.de>
-
-       * intrinsic.texi (SYSTEM_CLOCK): Recommend kind=8.
-
-2013-04-15  Janne Blomqvist  <jb@gcc.gnu.org>
-
-       PR fortran/56919
-       * intrinsics.texi (SYSTEM_CLOCK): Update documentation.
-
-2013-04-15  Tobias Burnus  <burnus@net-b.de>
-
-       * class.c (gfc_find_intrinsic_vtab): Removed unused var.
-       * dependency.c (check_data_pointer_types): Fix check.
-       * frontend-passes.c (check_data_pointer_types): Remove
-       superfluous statement.
-       * parse.c (decode_omp_directive): Add missing break.
-       * resolve.c (resolve_typebound_subroutine: Free variable.
-       * trans-decl.c (create_function_arglist): Correct condition.
-
-2013-04-14  Mikael Morin  <mikael@gcc.gnu.org>
-
-       PR fortran/56816
-       * match.c (gfc_match_select_type): Add syntax error. Move namespace
-       allocation and cleanup...
-       * parse.c (decode_statement): ... here.
-
-2013-04-13  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/55959
-       * expr.c (gfc_simplify_expr): Branch is not unreachable.
-
-2013-04-12  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/56266
-       * primary.c (gfc_match_varspec): Turn gcc_assert into MATCH_ERROR.
-
-2013-04-12  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/56929
-       * trans-array.c (duplicate_allocatable): Fix handling
-       of scalar coarrays.
-
-2013-04-12  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/56261
-       * gfortran.h (gfc_explicit_interface_required): New prototype.
-       * expr.c (gfc_check_pointer_assign): Check if an explicit interface is
-       required in a proc-ptr assignment.
-       * interface.c (check_result_characteristics): Extra check.
-       * resolve.c (gfc_explicit_interface_required): New function.
-       (resolve_global_procedure): Use new function
-       'gfc_explicit_interface_required'. Do a full interface check.
-
-2013-04-12  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/56845
-       * trans-decl.c (gfc_trans_deferred_vars): Restrict
-       static CLASS init to SAVE and -fno-automatic.
-
-2013-04-12  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/56845
-       * trans-decl.c (gfc_trans_deferred_vars): Set _vptr for
-       allocatable static BT_CLASS.
-       * trans-expr.c (gfc_class_set_static_fields): New function.
-       * trans.h (gfc_class_set_static_fields): New prototype.
-
-2013-04-11  Janne Blomqvist  <jb@gcc.gnu.org>
-
-       * gfortran.h: Remove enum gfc_try, replace gfc_try with bool type.
-       * arith.c: Replace gfc_try with bool type.
-       * array.c: Likewise.
-       * check.c: Likewise.
-       * class.c: Likewise.
-       * cpp.c: Likewise.
-       * cpp.h: Likewise.
-       * data.c: Likewise.
-       * data.h: Likewise.
-       * decl.c: Likewise.
-       * error.c: Likewise.
-       * expr.c: Likewise.
-       * f95-lang.c: Likewise.
-       * interface.c: Likewise.
-       * intrinsic.c: Likewise.
-       * intrinsic.h: Likewise.
-       * io.c: Likewise.
-       * match.c: Likewise.
-       * match.h: Likewise.
-       * module.c: Likewise.
-       * openmp.c: Likewise.
-       * parse.c: Likewise.
-       * parse.h: Likewise.
-       * primary.c: Likewise.
-       * resolve.c: Likewise.
-       * scanner.c: Likewise.
-       * simplify.c: Likewise.
-       * symbol.c: Likewise.
-       * trans-intrinsic.c: Likewise.
-       * trans-openmp.c: Likewise.
-       * trans-stmt.c: Likewise.
-       * trans-types.c: Likewise.
-
-2013-04-09  Tobias Burnus  <burnus@net-b.de>
-
-       * gfortran.texi (KIND Type Parameters,
-       Internal representation of LOGICAL variables): Add crossrefs.
-       (Intrinsic Types): Mention issues with _Bool interop.
-       (Naming and argument-passing conventions): New section.
-
-2013-04-08  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-       PR fortran/56782
-       * frontend-passes.c (callback_reduction):  Don't do
-       any simplification if there is only a single element
-       which has an iterator.
-
-2013-04-07  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/56849
-       * iresolve.c (gfc_resolve_reshape): Set shape also
-       with order=.
-
-2013-04-04  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/40881
-       * match.c (gfc_match_return): Remove standard notification.
-       * primary.c (gfc_match_actual_arglist): Add standard notification.
-
-2013-04-04  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/50269
-       * gcc/fortran/check.c (is_c_interoperable,
-       gfc_check_c_loc): Correct c_loc array checking
-       for Fortran 2003 and Fortran 2008.
-
-2013-04-03  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/56284
-       PR fortran/40881
-       * decl.c (gfc_match_formal_arglist): Warn about alternate-return
-       arguments.
-       * interface.c (check_dummy_characteristics): Return if symbols are NULL.
-
-2013-04-01  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/56500
-       * symbol.c (gfc_set_default_type): Build class container for
-       IMPLICIT CLASS.
-
-2013-03-31  Tobias Burnus  <burnus@net-b.de>
-
-       * class.c (finalization_scalarizer, finalizer_insert_packed_call,
-       generate_finalization_wrapper): Avoid segfault with absent SIZE=
-       argument to TRANSFER and use correct result kind for SIZE.
-       * intrinsic.c (gfc_isym_id_by_intmod): Also handle ids of
-       nonmodules.
-       * trans.c (gfc_build_final_call): Handle coarrays.
-
-2013-03-30  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-       * trans-expr.c (build_memcmp_call):  New function.
-       (gfc_build_compare_string):  If the strings
-       compared have constant and equal lengths and
-       the strings are kind=1, or, for kind=4 strings,
-       the test is for (in)equality, use memcmp().
-
-2013-03-29  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/35203
-       * trans-decl.c (create_function_arglist): Pass hidden argument
-       for passed-by-value optional+value dummies.
-       * trans-expr.c (gfc_conv_expr_present,
-       gfc_conv_procedure_call): Handle those.
-
-2013-03-28  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-       PR fortran/45159
-       * gfortran.h (gfc_dep_difference):  Add prototype.
-       * dependency.c (discard_nops):  New function.
-       (gfc_dep_difference):  New function.
-       (check_section_vs_section):  Use gfc_dep_difference
-       to calculate the difference of starting indices.
-       * trans-expr.c (gfc_conv_substring):  Use
-       gfc_dep_difference to calculate the length of
-       substrings where possible.
-
-2013-03-28  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-       PR fortran/55806
-       * frontend-passes.c (optimize_code):  Keep track of
-       current code to make code insertion possible.
-       (combine_array_constructor):  New function.
-       (optimize_op):  Call it.
-
-2013-03-27  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/56650
-       PR fortran/36437
-       * check.c (gfc_check_sizeof, gfc_check_c_sizeof,
-       gfc_check_storage_size): Update checks.
-       * intrinsic.texi (SIZEOF): Correct class.
-       * intrinsic.h (gfc_simplify_sizeof,
-       gfc_simplify_storage_size): New prototypes.
-       * intrinsic.c (add_functions): Use them.
-       * simplify.c (gfc_simplify_sizeof,
-       gfc_simplify_storage_size): New functions.
-
-2013-03-27  Janne Blomqvist  <jb@gcc.gnu.org>
-
-       PR fortran/25708
-       * module.c (module_locus): Use long for position.
-       (module_content): New variable.
-       (module_pos): Likewise.
-       (prev_character): Remove.
-       (bad_module): Free data instead of closing mod file.
-       (set_module_locus): Use module_pos.
-       (get_module_locus): Likewise.
-       (module_char): use buffer rather than stdio file.
-       (module_unget_char): Likewise.
-       (read_module_to_tmpbuf): New function.
-       (gfc_use_module): Call read_module_to_tmpbuf.
-
-2013-03-26  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/56649
-       * simplify.c (gfc_simplify_merge): Simplify more.
-
-2013-03-25  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/38536
-       PR fortran/38813
-       PR fortran/38894
-       PR fortran/39288
-       PR fortran/40963
-       PR fortran/45824
-       PR fortran/47023
-       PR fortran/47034
-       PR fortran/49023
-       PR fortran/50269
-       PR fortran/50612
-       PR fortran/52426
-       PR fortran/54263
-       PR fortran/55343
-       PR fortran/55444
-       PR fortran/55574
-       PR fortran/56079
-       PR fortran/56378
-       * check.c (gfc_var_strlen): Properly handle 0-sized string.
-       (gfc_check_c_sizeof): Use is_c_interoperable, add checks.
-       (is_c_interoperable, gfc_check_c_associated, gfc_check_c_f_pointer,
-       gfc_check_c_f_procpointer, gfc_check_c_funloc, gfc_check_c_loc): New
-       functions.
-       * expr.c (check_inquiry): Add c_sizeof, compiler_version and
-       compiler_options.
-       (gfc_check_pointer_assign): Refine function result check.
-       gfortran.h (gfc_isym_id): Add GFC_ISYM_C_ASSOCIATED,
-       GFC_ISYM_C_F_POINTER, GFC_ISYM_C_F_PROCPOINTER, GFC_ISYM_C_FUNLOC,
-       GFC_ISYM_C_LOC.
-       (iso_fortran_env_symbol, iso_c_binding_symbol): Handle
-       NAMED_SUBROUTINE.
-       (generate_isocbinding_symbol): Update prototype.
-       (get_iso_c_sym): Remove.
-       (gfc_isym_id_by_intmod, gfc_isym_id_by_intmod_sym): New prototypes.
-       * intrinsic.c (gfc_intrinsic_subroutine_by_id): New function.
-       (gfc_intrinsic_sub_interface): Use it.
-       (add_functions, add_subroutines): Add missing C-binding intrinsics.
-       (gfc_intrinsic_func_interface): Add special case for c_loc.
-       gfc_isym_id_by_intmod, gfc_isym_id_by_intmod_sym): New functions.
-       (gfc_intrinsic_func_interface, gfc_intrinsic_sub_interface): Use them.
-       * intrinsic.h (gfc_check_c_associated, gfc_check_c_f_pointer,
-       gfc_check_c_f_procpointer, gfc_check_c_funloc, gfc_check_c_loc,
-       gfc_resolve_c_loc, gfc_resolve_c_funloc): New prototypes.
-       * iresolve.c (gfc_resolve_c_loc, gfc_resolve_c_funloc): New
-       functions.
-       * iso-c-binding.def: Split PROCEDURE into NAMED_SUBROUTINE and
-       NAMED_FUNCTION.
-       * iso-fortran-env.def: Add NAMED_SUBROUTINE for completeness.
-       * module.c (create_intrinsic_function): Support subroutines and
-       derived-type results.
-       (use_iso_fortran_env_module): Update calls.
-       (import_iso_c_binding_module): Ditto; update calls to
-       generate_isocbinding_symbol.
-       * resolve.c (find_arglists): Skip for intrinsic symbols.
-       (gfc_resolve_intrinsic): Find intrinsic subs via id.
-       (is_scalar_expr_ptr, gfc_iso_c_func_interface,
-       set_name_and_label, gfc_iso_c_sub_interface): Remove.
-       (resolve_function, resolve_specific_s0): Remove calls to those.
-       (resolve_structure_cons): Fix handling.
-       * symbol.c (gen_special_c_interop_ptr): Update c_ptr/c_funptr
-       generation.
-       (gen_cptr_param, gen_fptr_param, gen_shape_param,
-       build_formal_args, get_iso_c_sym): Remove.
-       (std_for_isocbinding_symbol): Handle NAMED_SUBROUTINE.
-       (generate_isocbinding_symbol): Support hidden symbols and
-       using c_ptr/c_funptr symtrees for nullptr defs.
-       * target-memory.c (gfc_target_encode_expr): Fix handling
-       of c_ptr/c_funptr.
-       * trans-expr.c (conv_isocbinding_procedure): Remove.
-       (gfc_conv_procedure_call): Remove call to it.
-       (gfc_trans_subcomponent_assign, gfc_conv_expr): Update handling
-       of c_ptr/c_funptr.
-       * trans-intrinsic.c (conv_isocbinding_function,
-       conv_isocbinding_subroutine): New.
-       (gfc_conv_intrinsic_function, gfc_conv_intrinsic_subroutine):
-       Call them.
-       * trans-io.c (transfer_expr): Fix handling of c_ptr/c_funptr.
-       * trans-types.c (gfc_typenode_for_spec,
-       gfc_get_derived_type): Ditto.
-       (gfc_init_c_interop_kinds): Handle NAMED_SUBROUTINE.
-
-2013-03-18  Tobias Burnus  <burnus@net-b.de>
-
-       * gfortran.h (gfc_option_t): Remove flag_whole_file.
-       * invoke.texi (-fno-whole-file): Remove.
-       * lang.opt (fwhole-file): Change to Ignore.
-       * options.c (gfc_init_options, gfc_post_options,
-       gfc_handle_option): Remove !flag_whole_file handling
-       * parse.c (resolve_all_program_units, translate_all_program_units,
-       gfc_parse_file): Ditto.
-       * resolve.c (resolve_global_procedure): Ditto.
-       * trans-decl.c (gfc_get_symbol_decl, gfc_get_extern_function_decl,
-       gfc_create_module_variable): Ditto.
-       * trans-types.c (gfc_get_derived_type): Ditto.
-
-2013-03-15  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/56615
-       * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Pack arrays
-       if they are not simply contiguous.
-
-2013-03-11  Tobias Burnus  <burnus@net-b.de>
-
-       * gfortran.texi (STRUCTURE and RECORD): State more clearly how
-       to convert them into derived types.
-
-2013-03-10  Paul Thomas  <pault@gcc.gnu.org>
-
-       PR fortran/56575
-       * expr.c (gfc_default_initializer): Check that a class declared
-       type has any components.
-       * resolve.c (resolve_fl_derived0): On failing the test for C437
-       set the type to BT_UNKNOWN to prevent repeat error messages.
-
-2013-03-03  Mikael Morin  <mikael@gcc.gnu.org>
-
-       PR fortran/56477
-       * expr.c (gfc_check_pointer_assign): Avoid NULL pointer dereference.
-
-2013-03-03  Mikael Morin  <mikael@gcc.gnu.org>
-
-       PR fortran/54730
-       * array.c (gfc_match_array_constructor): Set a checkpoint before
-       matching a typespec.  Drop it on success, restore it otherwise.
-
-2013-03-03  Mikael Morin  <mikael@gcc.gnu.org>
-
-       PR fortran/54730
-       * gfortran.h (struct gfc_undo_change_set): New field 'previous'.
-       (gfc_new_undo_checkpoint, gfc_drop_last_undo_checkpoint,
-       gfc_restore_last_undo_checkpoint): New prototypes.
-       * symbol.c (default_undo_chgset_var): Update initialization.
-       (single_undo_checkpoint_p, gfc_new_undo_checkpoint,
-       free_undo_change_set_data, pop_undo_change_set,
-       gfc_drop_last_undo_checkpoint, enforce_single_undo_checkpoint):
-       New functions.
-       (save_symbol_data): Handle multiple change sets.  Make sure old_symbol
-       field's previous value is not overwritten.  Clear gfc_new field.
-       (restore_old_symbol): Restore previous old_symbol field.
-       (gfc_restore_last_undo_checkpoint): New function, using body renamed
-       from gfc_undo_symbols.  Restore the previous change set as current one.
-       (gfc_undo_symbols): New body.
-       (gfc_commit_symbols, gfc_commit_symbol, gfc_enforce_clean_symbol_state):
-       Call enforce_single_undo_checkpoint.
-       (gfc_symbol_done_2): Ditto.  Free change set data.
-
-2013-03-03  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * symbol.c (restore_old_symbol): Fix thinko.
-
-2013-03-03  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * symbol.c (gfc_undo_symbols): Move code...
-       (restore_old_symbol): ... here as a new function.
-
-2013-03-03  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * Make-lang.in (F95_PARSER_OBJS): Add dependency to vec.h.
-       * gfortran.h: Include vec.h.
-       (gfc_undo_change_set): New struct.
-       * symbol.c (tentative_tbp): Remove struct.
-       (changed_syms, tentative_tbp_list): Remove variables.
-       (default_undo_chgset_var, latest_undo_chgset): New variables.
-       (save_symbol_data, gfc_get_sym_tree, gfc_undo_symbols,
-       gfc_commit_symbols, gfc_commit_symbol,
-       gfc_enforce_clean_symbol_state, gfc_get_typebound_proc):
-       Use latest_undo_chgset instead of changed_syms and tentative_tbp_list.
-
-2013-03-01  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/56491
-       * iresolve.c (resolve_bound): Use gfc_get_string instead of xstrdup.
-       * symbol.c (free_components): Free proc-pointer components.
-
-2013-03-01  Tobias Burnus  <burnus@net-b.de>
-
-       * trans-decl.c (gfc_trans_deferred_vars): Free expr after use.
-       * trans-io.c (build_dt): Ditto.
-
-2013-02-24  Joseph Myers  <joseph@codesourcery.com>
-
-       * resolve.c (generate_component_assignments): Don't use UTF-8
-       ligature in diagnostic.
-
-2013-02-21  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/56385
-       * trans-array.c (structure_alloc_comps): Handle procedure-pointer
-       components with allocatable result.
-
-2013-02-21  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/56416
-       * gfortran.texi (Part II: Language Reference, Extensions,
-       Non-Fortran Main Program): Sort @menu to match actual section order.
-       * intrinsic.texi (Intrinsic Procedures): Ditto.
-       (C_F_POINTER, PRECISION): Move to the alphabetically correct place.
-
-2013-02-15  Tobias Burnus  <burnus@net-b.de>
-           Mikael Morin  <mikael@gcc.gnu.org>
-
-       PR fortran/56318
-       * simplify.c (gfc_simplify_matmul): Fix result shape
-       and matmul result.
-
-2013-02-15  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/53818
-       * resolve.c (apply_default_init_local): Don't create an
-       initializer for a result variable.
-
-2013-02-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-       PR fortran/56224
-       * gfortran.h (gfc_add_include_path):  Add boolean argument
-       for warn.
-       * scanner.c (gfc_add_include_path):  Pass along warn argument
-       to add_path_to_list.
-       * options.c (gfc_post_options):  Add true warn argument to
-       gfc_add_include_path.
-       (gfc_handle_module_path_options):  Likewise.
-       (gfc_handle_option): Also gfc_add_include_path for intrinsic
-       modules, without warning.
-
-2013-02-14  Paul Thomas  <pault@gcc.gnu.org>
-           Tobias Burnus  <burnus@net-b.de>
-
-       PR testsuite/56138
-       * trans-decl.c (gfc_get_symbol_decl): Fix deferred-length
-       results for functions without extra result variable.
-
-       Revert:
-       2013-01-30  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/56138
-       * trans-decl.c (gfc_trans_deferred_vars): Fix deferred-length
-       results for functions without extra result variable.
-
-2013-02-12  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/46952
-       * resolve.c (resolve_call): Do not check deferred procedures for
-       recursiveness.
-
-2013-02-09  Paul Thomas  <pault@gcc.gnu.org>
-
-       PR fortran/55362
-       * check.c (array_check): It is an error if a procedure is
-       passed.
-
-2013-02-08  Mikael Morin  <mikael@gcc.gnu.org>
-
-       PR fortran/54107
-       * trans-types.c (gfc_get_function_type): Change a NULL backend_decl
-       to error_mark_node on entry.  Detect recursive types.  Build a variadic
-       procedure type if the type is recursive.  Restore the initial
-       backend_decl.
-
-2013-02-07  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/54339
-       * gfortran.texi (Standards): Mention TS29113.
-       (Varying Length Character): Mention deferred-length
-       strings.
-       (Fortran 2003 Status): Add unlimited polymorphic.
-       (TS 29113 Status): Add TYPE(*) and DIMENSION(..).
-       (C Interop): Update the section about TS29113.
-
-2013-02-06  Paul Thomas  <pault@gcc.gnu.org>
-
-       PR fortran/55789
-       * trans-array.c (trans_array_constructor): Remove condition
-       'dynamic' = true if the loop ubound is a VAR_DECL.
-
-2013-02-04  Paul Thomas  <pault@gcc.gnu.org>
-
-       PR fortran/56008
-       PR fortran/47517
-       * trans-array.c (gfc_alloc_allocatable_for_assignment): Save
-       the lhs descriptor before it is modified for reallocation. Use
-       it to deallocate allocatable components in the reallocation
-       block.  Nullify allocatable components for newly (re)allocated
-       arrays.
-
-2013-02-04  Mikael Morin  <mikael@gcc.gnu.org>
-
-       PR fortran/54195
-       * resolve.c (resolve_typebound_procedures): Recurse through
-       resolve_symbol.
-
-2013-02-04  Mikael Morin  <mikael@gcc.gnu.org>
-
-       PR fortran/54107
-       PR fortran/54195
-       * gfortran.h (struct gfc_symbol): New field 'resolved'.
-       * resolve.c (resolve_fl_var_and_proc): Don't skip result symbols.
-       (resolve_symbol): Skip duplicate calls.  Don't check the current
-       namespace.
-
-2013-02-02  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-       PR fortran/50627
-       PR fortran/56054
-       * decl.c (gfc_match_end):  Remove half-ready namespace
-       from parent if the end of a block is missing.
-       * parse.c (parse_module):  Do not put namespace into
-       gsymbol on error.
-
-2013-01-30  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/56138
-       * trans-decl.c (gfc_trans_deferred_vars): Fix deferred-length
-       results for functions without extra result variable.
-
-2013-01-29  Janus Weil  <janus@gcc.gnu.org>
-           Mikael Morin  <mikael@gcc.gnu.org>
-
-       PR fortran/54107
-       * gfortran.h (gfc_component): Delete members 'formal' and 'formal_ns'.
-       (gfc_copy_formal_args,gfc_copy_formal_args_ppc,gfc_expr_replace_symbols,
-       gfc_expr_replace_comp): Delete.
-       (gfc_sym_get_dummy_args): New prototype.
-       * dependency.c (gfc_check_fncall_dependency): Use
-       'gfc_sym_get_dummy_args'.
-       * expr.c (gfc_is_constant_expr): Ditto.
-       (replace_symbol,gfc_expr_replace_symbols,replace_comp,
-       gfc_expr_replace_comp): Deleted.
-       * frontend-passes.c (doloop_code,do_function): Use
-       'gfc_sym_get_dummy_args'.
-       * interface.c (gfc_check_operator_interface,gfc_compare_interfaces,
-       gfc_procedure_use,gfc_ppc_use,gfc_arglist_matches_symbol,
-       gfc_check_typebound_override): Ditto.
-       * module.c (MOD_VERSION): Bump module version.
-       (mio_component): Do not read/write 'formal' and 'formal_ns'.
-       * resolve.c (resolve_procedure_interface,resolve_fl_derived0): Do not
-       copy formal args, but just keep a pointer to the interface.
-       (resolve_function,resolve_call,resolve_typebound_generic_call,
-       resolve_ppc_call,resolve_expr_ppc,generate_component_assignments,
-       resolve_fl_procedure,gfc_resolve_finalizers,check_generic_tbp_ambiguity,
-       resolve_typebound_procedure,check_uop_procedure): Use
-       'gfc_sym_get_dummy_args'.
-       * symbol.c (free_components): Do not free 'formal' and 'formal_ns'.
-       (gfc_copy_formal_args,gfc_copy_formal_args_ppc): Deleted.
-       (gfc_sym_get_dummy_args): New function.
-       * trans-array.c (get_array_charlen,gfc_walk_elemental_function_args):
-       Use 'gfc_sym_get_dummy_args'.
-       * trans-decl.c (build_function_decl,create_function_arglist,
-       build_entry_thunks,init_intent_out_dt,gfc_trans_deferred_vars,
-       add_argument_checking): Ditto.
-       * trans-expr.c (gfc_map_fcn_formal_to_actual,gfc_conv_procedure_call,
-       gfc_conv_statement_function): Ditto.
-       * trans-stmt.c (gfc_conv_elemental_dependencies): Ditto.
-       * trans-types.c (create_fn_spec,gfc_get_function_type): Ditto.
-
-2013-01-28  Tobias Burnus  <burnus@net-b.de>
-           Mikael Morin  <mikael@gcc.gnu.org>
-
-       PR fortran/53537
-       * symbol.c (gfc_find_sym_tree): Don't look for the symbol outside an
-       interface block.
-       (gfc_get_ha_symtree): Let gfc_find_sym_tree lookup the parent namespace.
-       * decl.c (gfc_match_data_decl): Ditto.
-       (variable_decl): Remove undeclared type error.
-       (gfc_match_import): Use renamed instead of original name.
-
-2013-01-27  Paul Thomas  <pault@gcc.gnu.org>
-
-       PR fortran/55984
-       PR fortran/56047
-       * gfortran.h : Add associate_var to symbol_attr.
-       * resolve.c (resolve_assoc_var): Set associate_var attribute.
-       If the target class_ok is set, set it for the associate
-       variable.
-       * check.c (allocatable_check): Associate variables should not
-       have the allocatable attribute even if their symbols do.
-       * class.c (gfc_build_class_symbol): Symbols with associate_var
-       set will always have a good class container.
-
-2013-01-23  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/56081
-       * resolve.c (resolve_select): Add argument 'select_type', reject
-       non-scalar expressions.
-       (resolve_select_type,resolve_code): Pass new argument to
-       'resolve_select'.
-
-2013-01-23  Jakub Jelinek  <jakub@redhat.com>
-
-       PR fortran/56052
-       * trans-decl.c (gfc_get_symbol_decl): Set DECL_ARTIFICIAL
-       and DECL_IGNORED_P on select_type_temporary and don't set
-       DECL_BY_REFERENCE.
-
-2013-01-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-       PR fortran/55919
-       * scanner.c (add_path_to_list): Copy path to temporary and strip
-       trailing directory separators before calling stat().
-
-2013-01-17  Richard Biener  <rguenther@suse.de>
-
-       * trans-stmt.c (gfc_trans_do): Conditionally compute countm1
-       dependent on sign of step, avoids repeated evaluation of
-       step sign test.  Avoid undefined overflow issues by using unsigned
-       arithmetic.
-
-2013-01-16  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/55983
-       * class.c (find_typebound_proc_uop): Check for f2k_derived instead of
-       asserting it.
-
-2013-01-16  Jakub Jelinek  <jakub@redhat.com>
-           Tobias Burnus  <burnus@net-b.de>
-
-       PR driver/55884
-       * lang.opt (fintrinsic-modules-path): Don't accept Joined.
-       (fintrinsic-modules-path=): New.
-       * options.c (gfc_handle_option, gfc_get_option_string,
-       gfc_get_option_string): Handle the latter.
-
-2013-01-16  Jakub Jelinek  <jakub@redhat.com>
-
-       PR fortran/52865
-       * trans-stmt.c (gfc_trans_do): Put countm1-- before conditional
-       and use value of countm1 before the decrement in the condition.
-
-2013-01-15  Paul Thomas  <pault@gcc.gnu.org>
-
-       PR fortran/54286
-       * expr.c (gfc_check_pointer_assign): Check for presence of
-       's2' before using it.
-
-2013-01-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-       PR fortran/55806
-       * frontend-passes.c (optimize_reduction):  New function,
-       including prototype.
-       (callback_reduction):  Likewise.
-       (gfc_run_passes):  Also run optimize_reduction.
-       (copy_walk_reduction_arg):  New function.
-       (dummy_code_callback):  New function.
-
-2013-01-13  Jakub Jelinek  <jakub@redhat.com>
-
-       PR fortran/55935
-       * trans-expr.c (gfc_conv_structure): Call
-       unshare_expr_without_location on the ctor elements.
-
-2013-01-13  Paul Thomas  <pault@gcc.gnu.org>
-
-       PR fortran/54286
-       * expr.c (gfc_check_pointer_assign): Ensure that both lvalue
-       and rvalue interfaces are presented to gfc_compare_interfaces.
-       Simplify references to interface names by using the symbols
-       themselves. Call gfc_compare_interfaces with s1 and s2 inter-
-       changed to overcome the asymmetry of this function. Do not
-       repeat the check for the presence of s1 and s2.
-
-2013-01-12  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/55072
-       * trans-array.c (gfc_conv_array_parameter): No packing was done for
-       full arrays of derived type.
-
-2013-01-08  Paul Thomas  <pault@gcc.gnu.org>
-
-       PR fortran/55868
-       * class.c (get_unique_type_string): Change $tar to STAR and
-       replace sprintf by strcpy where there is no formatting.
-       * decl.c (gfc_match_decl_type_spec): Change $tar to STAR.
-
-2013-01-09  Mikael Morin  <mikael@gcc.gnu.org>
-
-       PR fortran/47203
-       * module.c (check_for_ambiguous): Get the current program unit using
-       gfc_current_ns.
-
-2013-01-09  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/55758
-       * resolve.c (resolve_symbol): Reject non-C_Bool logicals
-       in BIND(C) procedures with -std=f*.
-
-2013-01-08  Paul Thomas  <pault@gcc.gnu.org>
-
-       PR fortran/55618
-       * trans-expr.c (gfc_conv_procedure_call): Dereference scalar
-       character function arguments to elemental procedures in
-       scalarization loops.
-
-2013-01-07  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/55763
-       * gfortran.h (gfc_check_assign_symbol): Update prototype.
-       * decl.c (add_init_expr_to_sym, do_parm): Update call.
-       * expr.c (gfc_check_assign_symbol): Handle BT_CLASS and
-       improve error location; support components.
-       (gfc_check_pointer_assign): Handle component assignments.
-       * resolve.c (resolve_fl_derived0): Call gfc_check_assign_symbol.
-       (resolve_values): Update call.
-       (resolve_structure_cons): Avoid double diagnostic.
-
-2013-01-07  Tobias Burnus  <burnus@net-b.de>
-           Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-       PR fortran/55852
-       * expr.c (gfc_build_intrinsic_call): Avoid clashes
-       with user's procedures.
-       * gfortran.h (gfc_build_intrinsic_call): Update prototype.
-       * simplify.c (gfc_simplify_size): Update call.
-       * class.c (finalization_scalarizer, finalization_get_offset,
-       finalizer_insert_packed_call, generate_finalization_wrapper):
-       Clean up by using gfc_build_intrinsic_call.
-
-2013-01-07  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/55763
-       * resolve.c (resolve_select_type): Reject intrinsic types for
-       a non-unlimited-polymorphic selector.
-
-2013-01-06  Paul Thomas  <pault@gcc.gnu.org>
-
-       PR fortran/53876
-       PR fortran/54990
-       PR fortran/54992
-       * trans-array.c (build_array_ref): Check the TYPE_CANONICAL
-       to see if it is GFC_CLASS_TYPE_P.
-       * trans-expr.c (gfc_get_vptr_from_expr): The same.
-       (gfc_conv_class_to_class): If the types are not the same,
-       cast parmese->expr to the type of ctree.
-       * trans-types.c (gfc_get_derived_type): GFC_CLASS_TYPE_P of
-       CLASS components must be set.
-
-2013-01-06  Mikael Morin  <mikael@gcc.gnu.org>
-
-       PR fortran/42769
-       PR fortran/45836
-       PR fortran/45900
-       * module.c (read_module): Don't reuse local symtree if the associated
-       symbol isn't exactly the one wanted.  Don't reuse local symtree if it is
-       ambiguous.
-       * resolve.c (resolve_call): Use symtree's name instead of symbol's to
-       lookup the symtree.
-
-2013-01-05  Steven G. Kargl  <kargl@gcc.gnu.org>
-           Mikael Morin  <mikael@gcc.gnu.org>
-
-       PR fortran/55827
-       * class.c (gfc_fix_class_refs): Adapt ts initialization for the case
-       e->symtree == NULL.
-       * trans-expr.c (gfc_conv_function_expr): Init sym earlier. Use it.
-
-2013-01-05  Tobias Burnus  <burnus@net-b.de>
-
-       * class.c (finalize_component): Used passed offset expr.
-       (finalization_get_offset): New static function.
-       (finalizer_insert_packed_call, generate_finalization_wrapper): Use it
-       to handle noncontiguous arrays.
-
-2013-01-04  Tobias Burnus  <burnus@net-b.de>
-
-       * trans.c (gfc_build_final_call): New function.
-       * trans.h (gfc_build_final_call, gfc_conv_scalar_to_descriptor):
-       New function prototypes.
-       * trans-expr.c (gfc_conv_scalar_to_descriptor): Renamed from
-       conv_scalar_to_descriptor, removed static attribute.
-       (gfc_conv_procedure_call): Honor renaming.
-
-2013-01-04  Tobias Burnus  <burnus@net-b.de>
-
-       * intrinsic.c (add_functions): New internal intrinsic
-       function GFC_PREFIX ("stride").
-       * gfortran.h (gfc_isym_id): Add GFC_ISYM_STRIDE.
-       * intrinsic.h (gfc_resolve_stride): New prototypes.
-       * iresolve.c (gfc_resolve_stride): New function.
-       * trans-intrinsic.c (conv_intrinsic_stride): New static
-       function.
-       (gfc_conv_intrinsic_function): Use it.
-
-2013-01-04  Tobias Burnus  <burnus@net-b.de>
-
-       * class.c (gfc_find_intrinsic_vtab): Add _final
-       component.
-       * decl.c (gfc_match_null): Remove superfluous
-       variadic argument to gfc_match.
-
-2013-01-04  Paul Thomas  <pault@gcc.gnu.org>
-
-       PR fortran/55172
-       * match.c (copy_ts_from_selector_to_associate): Remove call to
-       gfc_resolve_expr and replace it with explicit setting of the
-       array reference type.
-       * resolve.c (resolve_select_type): It is an error if the
-       selector is coindexed.
-
-2013-01-04  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/55763
-       * decl.c (gfc_match_null): Parse and reject MOLD.
-
-2013-01-04  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/55854
-       PR fortran/55763
-       * class.c (gfc_class_null_initializer): Fix finding the vtab.
-       (gfc_find_intrinsic_vtab): Use BT_VOID for some components.
-
-2013-01-03  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/55855
-       * expr.c (gfc_check_assign): Use 'gfc_expr_attr' to evaluate attributes
-       of rvalue. Correct hyphenation in error message.
-
-2013-01-03  Jakub Jelinek  <jakub@redhat.com>
-
-       * gfortranspec.c (lang_specific_driver): Update copyright notice
-       dates.
+       PR fortran/59654
+       * resolve.c (resolve_typebound_procedures): No need to create the vtab
+       here.
 \f
-Copyright (C) 2013 Free Software Foundation, Inc.
+Copyright (C) 2014 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-2013 b/gcc/fortran/ChangeLog-2013
new file mode 100644 (file)
index 0000000..6c7cea7
--- /dev/null
@@ -0,0 +1,2083 @@
+2013-12-30  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/58998
+       * resolve.c (resolve_symbol): Check that symbol is not only flavorless
+       but also untyped.
+
+2013-12-29  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/59612
+       * dump-parse-tree.c (show_typespec): Check for charlen.
+       * invoke.texi: Fix documentation of -fdump-fortran-optimized and
+       -fdump-parse-tree.
+
+2013-12-18  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/59493
+       * gfortran.h (gfc_find_intrinsic_vtab): Removed prototype.
+       (gfc_find_vtab): New prototype.
+       * class.c (gfc_find_intrinsic_vtab): Rename to 'find_intrinsic_vtab' and
+       make static. Minor modifications.
+       (gfc_find_vtab): New function.
+       (gfc_class_initializer): Use new function 'gfc_find_vtab'.
+       * check.c (gfc_check_move_alloc): Ditto.
+       * expr.c (gfc_check_pointer_assign): Ditto.
+       * interface.c (compare_actual_formal): Ditto.
+       * resolve.c (resolve_allocate_expr, resolve_select_type): Ditto.
+       * trans-expr.c (gfc_conv_intrinsic_to_class, gfc_trans_class_assign):
+       Ditto.
+       * trans-intrinsic.c (conv_intrinsic_move_alloc): Ditto.
+       * trans-stmt.c (gfc_trans_allocate): Ditto.
+
+2013-12-16  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/54949
+       * symbol.c (check_conflict): Forbid abstract procedure pointers.
+       (gfc_add_abstract): Check for attribute conflicts.
+
+2013-12-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR libgomp/59337
+       * openmp.c (resolve_omp_atomic): Adjust error message.
+
+2013-12-15  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/59493
+       * class.c (gfc_find_intrinsic_vtab): Handle BT_CLASS.
+
+2013-12-14  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/59502
+       * primary.c (gfc_match_varspec): Check for 'class_ok'.
+
+2013-12-14  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/59450
+       * module.c (mio_expr): Handle type-bound function expressions.
+
+2013-12-12  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/59440
+       * trans-decl.c (generate_namelist_decl): Ensure debug DIE
+       is created by setting DECL_IGNORED_P to 0.
+
+2013-12-11  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/58916
+       * resolve.c (conformable_arrays): Treat scalar 'e2'.
+       (resolve_allocate_expr): Check rank also for unlimited-polymorphic
+       variables.
+
+2013-12-10  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/35831
+       * interface.c (check_dummy_characteristics): Add checks for several
+       attributes.
+
+2013-12-10  Janus Weil  <janus@gcc.gnu.org>
+
+       * gfortran.texi: Add possible kind values (and default) for
+       DOUBLE PRECISION.
+       * invoke.texi: Correct documentation of -fdefault-integer-8,
+       -fdefault-real-8 and -fdefault-double-8.
+
+2013-12-10  Janus Weil  <janus@gcc.gnu.org>
+
+       * gfortran.texi: Modify documentation of kind type parameters.
+       * invoke.texi: Extend documentation of -fdefault-integer-8 and
+       -fdefault-real-8.
+
+2013-12-10  Janus Weil  <janus@gcc.gnu.org>
+
+       * invoke.texi: Add -freal-4-real-16. Rearrange kind promotion options.
+
+2013-12-08  Tobias Burnus  <burnus@net-b.de>
+           Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/58099
+       PR fortran/58676
+       PR fortran/41724
+       * resolve.c (gfc_resolve_intrinsic): Set elemental/pure.
+       (resolve_fl_procedure): Reject pure dummy procedures/procedure
+       pointers.
+       (gfc_explicit_interface_required): Don't require a
+       match of ELEMENTAL for intrinsics.
+
+2013-12-07  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/59414
+       * resolve.c (resolve_specific_f0): Handle CLASS-valued functions.
+
+2013-12-04  Tobias Burnus  <burnus@net-b.de>
+
+       PR debug/37132
+       * trans-decl.c (generate_namelist_decl, create_module_nml_decl):
+       New static functions.
+       (gfc_generate_module_vars, generate_local_vars): Call them.
+       (gfc_trans_use_stmts): Handle namelists for debug genertion.
+
+2013-12-01  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/57354
+       * trans-array.c (gfc_conv_resolve_dependencies): For other than
+       SS_SECTION, do a dependency check if the lhs is liable to be
+       reallocated.
+
+2013-12-01  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/58410
+       * trans-array.c (gfc_alloc_allocatable_for_assignment): Do not
+       use the array bounds of an unallocated array but set its size
+       to zero instead.
+
+2013-12-01  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/34547
+       * resolve.c (resolve_transfer): EXPR_NULL is always in an
+       invalid context in a transfer statement.
+
+2013-11-28  Sergey Ostanevich  <sergos.gnu@gmail.com>
+
+       * lang.opt (Wopenmp-simd): New.
+
+2013-11-25  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/59143
+       * interface.c (get_expr_storage_size): Handle array-valued type-bound
+       procedures.
+
+2013-11-24  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       * scanner.c (gfc_open_intrinsic_module): Remove function.
+       * gfortran.h (gfc_open_intrinsic_module): Remove prototype.
+
+2013-11-23  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/59228
+       * interface.c (compare_parameter): Check for array spec.
+
+2013-11-22  Andrew MacLeod  <amacleod@redhat.com>
+
+       * trans.c: Add required include files from gimple.h.
+       * trans-expr.c: Likewise
+       * trans-openmp.c: Likewise
+
+2013-11-22  David Malcolm  <dmalcolm@redhat.com>
+
+       * trans.c (trans_runtime_error_vararg): Remove use of input_line
+       macro.
+
+2013-11-17  Andrew MacLeod  <amacleod@redhat.com>
+
+       * fortran/trans-intrinsic.c: Include tree-nested.h.
+
+2013-11-14  Andrew MacLeod  <amacleod@redhat.com>
+
+       * trans-expr.c: Include only gimplify.h and gimple.h as needed.
+       * trans-openmp.c: Likewise.
+
+2013-11-14  Diego Novillo  <dnovillo@google.com>
+
+       * decl.c: Include stringpool.h.
+       * iresolve.c: Include stringpool.h.
+       * match.c: Include stringpool.h.
+       * module.c: Include stringpool.h.
+       * target-memory.c: Include stor-layout.h.
+       * trans-common.c: Include stringpool.h.
+       Include stor-layout.h.
+       Include varasm.h.
+       * trans-const.c: Include stor-layout.h.
+       * trans-decl.c: Include stringpool.h.
+       Include stor-layout.h.
+       Include varasm.h.
+       Include attribs.h.
+       * trans-expr.c: Include stringpool.h.
+       * trans-intrinsic.c: Include stringpool.h.
+       Include tree-nested.h.
+       Include stor-layout.h.
+       * trans-io.c: Include stringpool.h.
+       Include stor-layout.h.
+       * trans-openmp.c: Include stringpool.h.
+       * trans-stmt.c: Include stringpool.h.
+       * trans-types.c: Include stor-layout.h.
+       Include stringpool.h.
+       * trans.c: Include stringpool.h.
+
+2013-11-12  Andrew MacLeod  <amacleod@redhat.com>
+
+       * f95-lang.c: Don't include gimple.h.
+       * trans-array.c: Include gimple-expr.h instead of gimple.h.
+       * trans.c: Likewise.
+       * trans-decl.c: Likewise.
+       * trans-expr.c: Include gimplify.h.
+       * trans-openmp.c: Likewise.
+
+2013-11-07  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/58471
+       * primary.c (gfc_expr_attr): Check for result symbol.
+
+2013-11-06  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       * gfortran.texi: Fix typo.
+
+2013-11-05  Tobias Burnus  <burnus@net-b.de>
+
+       * lang.opt (-Wdate-time): New option
+       * cpp.c (gfc_cpp_option_data): Add warn_date_time.
+       (gfc_cpp_init_options, gfc_cpp_handle_option,
+       gfc_cpp_post_options): Handle it and pass on to libcpp.
+
+2013-11-05  Steven G. Kargl <kargl@gcc.gnu.org>
+
+       PR fortran/58989
+       * check.c (gfc_check_reshape): ensure that shape is a constant
+       expression.
+
+2013-11-05  Tobias Burnus  <burnus@net-b.de>
+
+       * lang.opt (fopenmp-simd): New option.
+       * gfortran.h (gfc_option_t): Add gfc_flag_openmp_simd.
+       * options.c (gfc_handle_option): Handle it.
+
+2013-11-04  Ian Lance Taylor  <iant@google.com>
+
+       * f95-lang.c (ATTR_LEAF_LIST): Define.
+
+2013-11-04  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/58771
+       * trans-io.c (transfer_expr): If the backend_decl for a derived
+       type is missing, build it with gfc_typenode_for_spec.
+
+2013-11-04  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/57445
+       * trans-expr.c (gfc_conv_class_to_class): Remove spurious
+       assert.
+
+2013-10-29  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/44350
+       * parse.c (parse_spec): Add C1116 constraint
+       check for BLOCK DATA.
+
+2013-10-29  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/58793
+       * trans-types.c (gfc_typenode_for_spec): Add typenode for
+       BT_HOLLERITH. Note that the length is incorrect but unusable.
+
+       PR fortran/58858
+       * target-memory.c (gfc_element_size): Add element sizes for
+       BT_VOID and BT_ASSUMED, using gfc_typenode_for_spec.
+
+2013-10-24  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/44646
+       * trans-stmt.c (struct forall_info): Add do_concurrent field.
+       (gfc_trans_forall_1): Set it for do concurrent.
+       (gfc_trans_forall_loop): Mark those as annot_expr_ivdep_kind.
+
+2013-10-23  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/58793
+       * interface.c (compare_parameter): Reject passing TYPE(*)
+       to CLASS(*).
+
+2013-10-22  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran 57893
+       * class.c : Include target-memory.h.
+       (gfc_find_intrinsic_vtab) Build a minimal expression so that
+       gfc_element_size can be used to obtain the storage size, rather
+       that the kind value.
+
+2013-10-21  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/58803
+       * decl.c (match_ppc_decl): Prevent later
+       double free.
+
+2013-10-17  Andrew MacLeod  <amacleod@redhat.com>
+
+       * trans-openmp.c: Include omp-low.h.
+
+2013-10-16  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/58652
+       * interface.c (compare_parameter): Accept passing CLASS(*)
+       to CLASS(*).
+
+2013-10-16  Tobias Burnus  <burnus@net-b.de>
+
+       * intrinsic.texi (OpenMP Modules): Update to OpenMPv4.
+       Document omp_proc_bind_kind.
+
+2013-10-15  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/58652
+       * trans-intrinsic.c (conv_intrinsic_move_alloc): Fix handling
+       of CLASS(*) variables.
+
+2013-10-14  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/58658
+       * expr.c (gfc_check_vardef_context): Fix pointer diagnostic
+       for CLASS(*).
+
+2013-10-11  Jakub Jelinek  <jakub@redhat.com>
+
+       * trans-openmp.c (gfc_omp_clause_default_ctor,
+       gfc_omp_clause_dtor): Return NULL for OMP_CLAUSE_REDUCTION.
+       * f95-lang.c (ATTR_NULL, DEF_FUNCTION_TYPE_8): Define.
+       * types.def (DEF_FUNCTION_TYPE_8): Document.
+       (BT_FN_VOID_OMPFN_PTR_UINT,
+       BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG,
+       BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG,
+       BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT): Remove.
+       (BT_FN_VOID_OMPFN_PTR_UINT_UINT_UINT,
+       BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_UINT,
+       BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG_UINT,
+       BT_FN_BOOL_INT, BT_FN_BOOL_INT_BOOL, BT_FN_VOID_UINT_UINT,
+       BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR,
+       BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR,
+       BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR): New.
+
+2013-10-10  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/58226
+       * options.c (gfc_get_option_string): Handle zero arg case.
+
+2013-10-02  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/58593
+       * trans-expr.c (gfc_conv_string_tmp): Fix obtaining
+       the byte size of a single character.
+
+2013-10-01  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/58579
+       * trans-expr.c (gfc_conv_string_tmp): Correctly obtain
+       the byte size of a single character.
+
+2013-09-27  Janne Blomqvist  <jb@gcc.gnu.org>
+
+       * intrinsic.texi (DATE_AND_TIME): Fix example.
+
+2013-09-25  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/58436
+       * class.c (generate_finalization_wrapper): Handle CLASS(*).
+
+2013-09-25  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/57697
+       PR fortran/58469
+       * resolve.c (generate_component_assignments): Avoid double free
+       at runtime and freeing a still-being used expr.
+
+2013-09-25  Tom Tromey  <tromey@redhat.com>
+
+       * Make-lang.in (fortran_OBJS): Use fortran/gfortranspec.o.
+       (gfortranspec.o): Remove.
+       (CFLAGS-fortran/gfortranspec.o): New variable.
+       (GFORTRAN_D_OBJS): Update.
+       ($(F95_PARSER_OBJS), fortran/openmp.o, GFORTRAN_TRANS_DEPS)
+       (fortran/f95-lang.o, fortran/scanner.o, fortran/convert.o)
+       (fortran/frontend-passes.o, fortran/trans.o, fortran/trans-decl.o)
+       (fortran/trans-types, fortran/trans-const.o, fortran/trans-expr.o)
+       (fortran/trans-stmt.o, fortran/trans-openmp.o, fortran/trans-io.o)
+       (fortran/trans-array.o, fortran/trans-intrinsic.o)
+       (fortran/dependency.o, fortran/trans-common.o, fortran/resolve.o)
+       (fortran/data.o, fortran/options.o, fortran/cpp.o)
+       (fortran/scanner.o, fortran/module.o): Remove.
+
+2013-09-25  Tom Tromey  <tromey@redhat.com>
+
+       * Make-lang.in (gfortranspec.o): Don't use subshell.
+
+2013-09-23  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/58355
+       * decl.c (check_extended_derived_type): Prevent segfault, modify error
+       message.
+
+2013-09-20  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/58099
+       * expr.c (gfc_check_pointer_assign): Remove second call to
+       'gfc_compare_interfaces' with swapped arguments.
+       * interface.c (gfc_compare_interfaces): Symmetrize the call to
+       'check_result_characteristics' by calling it with swapped arguments.
+
+2013-09-18  Tobias Burnus  <burnus@net-b.de>
+
+       * expr.c (gfc_check_assign_symbol): Free lvalue.ref.
+
+2013-09-18  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/43366
+       * primary.c (gfc_variable_attr): Also handle codimension.
+       * resolve.c (resolve_ordinary_assign): Add invalid-diagnostic for
+       polymorphic assignment.
+
+2013-09-16  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/58356
+       * class.c (generate_finalization_wrapper): Init proc_tree if
+       not yet resolved.
+
+2013-09-16  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/57697
+       * resolve.c (generate_component_assignments): Correctly handle the
+       case that the LHS is not allocated.
+
+2013-09-15  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/57697
+       * resolve.c (generate_component_assignments): Handle unallocated
+       LHS with defined assignment of components.
+
+2013-09-12  Brooks Moses  <bmoses@google.com>
+
+       PR driver/42955
+       * Make-lang.in: Do not install driver binaries in $(target)/bin.
+
+2013-09-09  Tobias Burnus  <burnus@net-b.de>
+
+       * invoke.texi (Error and Warning Options): Add hyphen.
+
+2013-09-02  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/PR56519
+       * gfortran.h:  Declare gfc_do_concurrent_flag as extern.
+       * resolve.c:  Rename do_concurrent_flag to gfc_do_concurrent_flag
+       and make non-static.
+       (resolve_function):  Use gfc_do_concurrent_flag instead of
+       do_concurrent_flag.
+       (pure_subroutine):  Likewise.
+       (resolve_code):  Likewise.
+       (resolve_types):  Likewise.
+       * intrinsic.c (gfc_intrinsic_sub_interface):  Raise error for
+       non-pure intrinsic subroutines within DO CONCURRENT.
+
+2013-08-29  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/52243
+       * trans-expr.c (is_runtime_conformable):  New function.
+       * gfc_trans_assignment_1:  Use it.
+
+2013-08-26  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/58146
+       * array.c (gfc_ref_dimen_size):  If possible, use
+       gfc_dep_difference to calculate array refrence
+       sizes.  Fall back to integer code otherwise.
+       * dependency.c (discard_nops).  Move up.
+       Also discarde widening integer conversions.
+       (gfc_dep_compare_expr):  Use discard_nops.
+
+2013-08-23  Mikael Morin  <mikael@gcc.gnu.org>
+
+       PR fortran/57798
+       * trans-array.c (gfc_conv_ss_startstride, set_loop_bounds,
+       gfc_set_delta): Generate preliminary code before the outermost loop.
+
+2013-08-23  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/57843
+       * interface.c (gfc_extend_assign): Look for type-bound assignment
+       procedures before non-typebound.
+
+2013-08-23  Mikael Morin  <mikael@gcc.gnu.org>
+
+       * trans-array.c (gfc_conv_section_startstride): Move &loop->pre access
+       to the callers.
+       (gfc_conv_ss_startstride, gfc_conv_expr_descriptor): Update callers.
+
+2013-08-22  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/58185
+       * match.c (copy_ts_from_selector_to_associate): Only build class
+       container for polymorphic selector. Some cleanup.
+
+2013-08-20  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/53655
+       * trans-decl.c (generate_local_decl): Check if type has any components.
+
+2013-08-19  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/46271
+       * openmp.c (resolve_omp_clauses): Bugfix for procedure pointers.
+
+2013-08-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/56666
+       * gfortran.h (gfc_option_t):  Add warn_zerotrip.
+       * invoke.texi (-Wzerotrip):  Document option.
+       * lang.opt (Wzerotrip):  Add.
+       * options.c (gfc_init_options):  Initialize warn_zerotrip.
+       (set_Wall): Add handling of warn_zerotrip.
+       (gfc_handle_option):  Handle OPT_Wzerotrip.
+       * resolve.c (gfc_resolve_iterator): Honor
+       gfc_option.warn_zerotrip; update error message to show
+       how to suppress the warning.
+
+2013-08-09  Janus Weil  <janus@gcc.gnu.org>
+
+       * gfortran.h (gfc_get_code): Modified prototype.
+       * class.c (finalize_component, finalization_scalarizer,
+       finalization_get_offset, finalizer_insert_packed_call,
+       generate_finalization_wrapper, gfc_find_derived_vtab,
+       gfc_find_intrinsic_vtab): Use 'gfc_get_code'.
+       * io.c (match_io_iterator, match_io_element, terminate_io, get_io_list,
+       gfc_match_inquire): Call 'gfc_get_code' with argument.
+       * match.c (match_simple_forall, gfc_match_forall, gfc_match_goto,
+       gfc_match_nullify, gfc_match_call, match_simple_where, gfc_match_where):
+       Ditto.
+       * parse.c (new_level): Ditto.
+       (add_statement): Use XCNEW.
+       * resolve.c (resolve_entries, resolve_allocate_expr,
+       resolve_select_type, build_assignment, build_init_assign): Call
+       'gfc_get_code' with argument.
+       * st.c (gfc_get_code): Add argument 'op'.
+       * trans-expr.c (gfc_trans_class_array_init_assign): Call 'gfc_get_code'
+       with argument.
+       * trans-stmt.c (gfc_trans_allocate): Ditto.
+
+2013-08-09  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/58058
+       * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Free the temporary
+       string, if necessary.
+
+2013-08-06  Martin Jambor  <mjambor@suse.cz>
+
+       PR fortran/57987
+       * trans-decl.c (gfc_generate_function_code): Never call
+       cgraph_finalize_function on nested functions.
+
+2013-08-06  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/57306
+       * class.c (gfc_class_null_initializer): Rename to
+       'gfc_class_initializer'. Treat non-NULL init-exprs.
+       * gfortran.h (gfc_class_null_initializer): Update prototype.
+       * trans-decl.c (gfc_get_symbol_decl): Treat class variables.
+       * trans-expr.c (gfc_conv_initializer): Ditto.
+       (gfc_trans_subcomponent_assign): Renamed gfc_class_null_initializer.
+
+2013-07-30  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/57530
+       * symbol.c (gfc_type_compatible): A type is type compatible with
+       a class if both have the same declared type.
+       * interface.c (compare_type): Reject CLASS/TYPE even if they
+       are type compatible.
+
+2013-07-30  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/57530
+       * trans-expr.c (gfc_trans_class_assign): Handle CLASS array
+       functions.
+       (gfc_trans_pointer_assign): Ditto and support pointer assignment of
+       a polymorphic var to a nonpolymorphic var.
+
+2013-07-22  Po Chang  <pchang9@cs.wisc.edu>
+
+       * match.c (gfc_match_call): Exit loop after setting i.
+
+       * resolve.c (resolve_variable): Exit loop after setting seen.
+
+       * expr.c (gfc_check_pointer_assign): Exit loop after setting warn.
+
+       * trans-array.c (set_loop_bounds): Exit loop after setting
+       nonoptional_arr.
+
+       * trans-io.c (gfc_trans_transfer): Exit loop after setting seen_vector.
+
+2013-07-28  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/58009
+       * expr.c (gfc_check_vardef_context):  Check for same values in
+       vector expression subscripts.
+
+2013-07-27  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/57991
+       * interface.c (check_some_aliasing): Also warn for intent OUT/OUT.
+
+2013-07-27  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/57285
+       * check.c (dim_rank_check): Re-enable this check for CLASS arrays.
+
+2013-07-25  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/57966
+       * resolve.c (resolve_typebound_function): Make sure the declared type,
+       including its type-bound procedures, is resolved before resolving the
+       actual type-bound call.
+
+2013-07-25  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/57639
+       * interface.c (compare_parameter): Check for class_ok.
+       * simplify.c (gfc_simplify_same_type_as): Ditto.
+
+2013-07-23   OndÅ™ej Bílka  <neleai@seznam.cz>
+
+       * decl.c: Fix comment typos.
+       * interface.c: Likewise.
+       * trans-array.c: Likewise.
+       * trans.c: Likewise.
+
+2013-07-22  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/57906
+       PR fortran/52052
+       * class.c (gfc_build_class_symbol): Set coarray_comp.
+       * trans-array.c (structure_alloc_comps): For coarrays,
+       directly use the data pointer address.
+
+2013-07-22  Chang  <pchang9@cs.wisc.edu>
+
+       * trans-decl.c (gfc_build_dummy_array_decl): Exit loop after
+       setting PACKED_PARTIAL.
+
+2013-07-22  Tobias Burnus  <burnus@net-b.de>
+
+       * trans-array.c (gfc_array_allocate): Correct memory-leak patch.
+
+2013-07-22  Tobias Burnus  <burnus@net-b.de>
+
+       * trans-array.c (gfc_array_allocate,
+       gfc_trans_deferred_array): Plug memory leak.
+
+2013-07-21  OndÅ™ej Bílka  <neleai@seznam.cz>
+
+       * trans-decl.c: Fix comment typos.
+       * trans-expr.c: Ditto.
+
+2013-07-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/56937
+       * dependency.c (gfc_dep_resolver):  Treat identical
+       array subscripts as identical; don't unconditionally
+       return a dependency if an array subscript is found.
+
+2013-07-21  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/35862
+       * libgfortran.h (GFC_FPE_DOWNWARD, GFC_FPE_TONEAREST,
+       GFC_FPE_TOWARDZERO, GFC_FPE_UPWARD): New defines.
+
+2013-07-21  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/57894
+       * check.c (min_max_args): Add keyword= check.
+
+2013-07-17  Mikael Morin  <mikael@gcc.gnu.org>
+           Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/57895
+       * match.c (gfc_match_name): Ensure that the error
+       message regarding -fdollar-ok gets printed.
+       (gfc_match_common): Avoid multiple freeing.
+
+2013-07-16  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/57912
+       * trans-expr.c (gfc_trans_scalar_assign): Correct if
+       condition for caf realloc.
+
+2013-07-15  Tobias Burnus  <burnus@net-b.de>
+
+       * trans-array.h (gfc_deallocate_alloc_comp_no_caf,
+       gfc_reassign_alloc_comp_caf): New prototype.
+       * trans-array.c (enum): Add DEALLOCATE_ALLOC_COMP_NO_CAF
+       and COPY_ALLOC_COMP_CAF.
+       (structure_alloc_comps): Handle it.
+       (gfc_reassign_alloc_comp_caf,
+       gfc_deallocate_alloc_comp_no_caf): New function.
+       (gfc_alloc_allocatable_for_assignment): Call it.
+       * trans-expr.c (gfc_trans_scalar_assign,
+       gfc_trans_arrayfunc_assign, gfc_trans_assignment_1): Ditto.
+       * parse.c (parse_derived): Correctly set coarray_comp.
+       * resolve.c (resolve_symbol): Improve error wording.
+
+2013-07-15  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/37336
+       * trans.c (gfc_add_comp_finalizer_call): New function.
+       * trans.h (gfc_add_comp_finalizer_call): New prototype.
+       * trans-array.c (structure_alloc_comps): Call it.
+
+2013-07-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
+           Tobias Burnus  <burnus@gcc.gnu.org>
+
+       PR fortran/52669
+       * trans-decl.c (gfc_finish_var_decl):  Move setting of
+       PRIVATE for a module variable if the module has a private
+       default or -fmodule-private is given to...
+       (gfc_create_module_variable): here. Optionally
+       warn about private module variable which is not used.
+
+2013-07-08  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/57834
+       * check.c (is_c_interoperable): Add special case for c_f_pointer.
+       (explicit-size, gfc_check_c_f_pointer, gfc_check_c_loc): Update
+       call.
+
+2013-07-08  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/50554
+       * io.c (match_inquire_element): Add missing do-var check.
+
+2013-07-08  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/57785
+       * simplify.c (compute_dot_product): Complex conjugate for
+       dot_product.
+       (gfc_simplify_dot_product, gfc_simplify_matmul): Update call.
+
+2013-07-08  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/57469
+       * trans-decl.c (generate_local_decl): Don't warn that
+       a dummy is unused, when it is in a namelist.
+
+2013-07-01  Dominique d'Humieres  <dominiq@lps.ens.fr>
+
+       PR fortran/54788
+       * array.c (spec_size): handle the case as==NULL.
+
+2013-06-26  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/29800
+       * trans-array.c (gfc_conv_array_ref): Improve out-of-bounds
+       diagnostic message.
+       * trans-array.c (gfc_conv_array_ref): Update prototype.
+       * trans-expr.c (gfc_conv_variable): Update call.
+
+2013-06-24  Steven G. Kargl  <sgk@troutmask.apl.washington.edu>
+           Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+           Dominique d'Humieres  <dominiq@lps.ens.fr>
+
+       PR fortran/52413
+       * simplify.c (gfc_simplify_fraction): Fix the sign of negative values.
+
+2013-06-21  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/37336
+       * trans-array.c (gfc_trans_deferred_array): Call the
+       finalizer for nonallocatable local variables.
+       * trans-decl.c (gfc_get_symbol_decl): Add local
+       finalizable vars to the deferred list.
+       (gfc_trans_deferred_vars): Call gfc_trans_deferred_array
+       for those.
+
+2013-06-21  Tobias Burnus  <burnus@net-b.de>
+
+       * trans-array.c (gfc_alloc_allocatable_for_assignment): Allocate
+       at least one byte.
+       * trans-expr.c (alloc_scalar_allocatable_for_assignment): Ditto.
+
+2013-06-20  Tobias Burnus  <burnus@net-b.de>
+
+       * resolve.c (get_temp_from_expr): Don't set FL_VARIABLE twice.
+
+2013-06-17  Tobias Burnus  <burnus@net-b.de>
+
+       * gfortran.h (gfc_option_t): Add fpe_summary.
+       * gfortran.texi (_gfortran_set_options): Update.
+       * invoke.texi (-ffpe-summary): Add doc.
+       * lang.opt (ffpe-summary): Add flag.
+       * options.c (gfc_init_options, gfc_handle_option): Handle it.
+       (gfc_handle_fpe_option): Renamed from gfc_handle_fpe_trap_option,
+       also handle fpe_summary.
+       * trans-decl.c (create_main_function): Update
+       _gfortran_set_options call.
+
+2013-06-15  Mikael Morin  <mikael@gcc.gnu.org>
+
+       PR fortran/49074
+       PR fortran/56136
+       * dependency.c (gfc_check_argument_var_dependency): Return 0 in the
+       array constructor case.
+
+2013-06-14  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/57508
+       * resolve.c (get_temp_from_expr): Don't copy function
+       result attributes to temporary.
+
+2013-06-14  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/57596
+       * trans-decl.c (gfc_trans_deferred_vars): Honor OPTIONAL
+       for nullify and deferred-strings' length variable.
+
+2013-06-13  Mikael Morin  <mikael@gcc.gnu.org>
+
+       PR fortran/49074
+       * trans-expr.c (gfc_conv_variable): Don't walk the reference chain.
+       Handle NULL array references.
+       (gfc_conv_procedure_call): Remove code handling NULL array references.
+
+2013-06-11  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/57535
+       * trans-array.c (build_class_array_ref): Fix ICE for
+       function result variables.
+
+2013-06-08  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/37336
+       * trans-decl.c (init_intent_out_dt): Call finalizer
+       when appropriate.
+
+2013-06-08  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/57553
+       * simplify.c (gfc_simplify_storage_size): Handle literal
+       strings.
+       * trans-intrinsic.c (gfc_conv_intrinsic_storage_size):
+       Add missing fold_convert.
+
+2013-06-07  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/57549
+       * array.c (gfc_match_array_constructor): Call
+       gfc_match_type_spec instead of gfc_match_decl_type_spec.
+       * match.c (gfc_match_type_spec): Renamed from match_type_spec.
+       (gfc_match_type_is, gfc_match_allocate): Update call.
+       * match.h (gfc_match_type_spec): Add prototype.
+
+2013-06-07  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/57556
+       * trans.c (gfc_build_final_call): Init block before use.
+
+2013-06-06  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/57542
+       * trans.c (gfc_build_final_call): Add se.pre to the block
+       and modify the assert.
+
+2013-06-04  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/37336
+       * trans.h (gfc_build_final_call): Remove prototype.
+       (gfc_add_finalizer_call): Add prototype.
+       * trans-array.c (gfc_trans_dealloc_allocated): Support finalization.
+       (structure_alloc_comps): Update caller.
+       (gfc_trans_deferred_array): Call finalizer.
+       * trans-array.h (gfc_trans_dealloc_allocated): Update prototype.
+       * trans-decl.c (gfc_trans_deferred_vars): Don't deallocate/finalize
+       variables of the main program.
+       * trans-expr.c (gfc_conv_procedure_call): Support finalization.
+       * trans-openmp.c (gfc_omp_clause_dtor,
+       gfc_trans_omp_array_reduction): Update calls.
+       * trans-stmt.c (gfc_trans_deallocate): Avoid double deallocation
+       of alloc components.
+       * trans.c (gfc_add_finalizer_call): New function.
+       (gfc_deallocate_with_status,
+       gfc_deallocate_scalar_with_status): Call it
+       (gfc_build_final_call): Fix handling of scalar coarrays,
+       move up in the file and make static.
+
+2013-06-01  Janus Weil  <janus@gcc.gnu.org>
+           Mikael Morin  <mikael@gcc.gnu.org>
+
+       * error.c (get_terminal_width): Only limit the width if we're
+       outputting to a terminal. Try to determine width via ioctl.
+
+2013-06-01  Tobias Burnus  <burnus@net-b.de>
+
+       * decl.c (add_global_entry): Take locus.
+       (gfc_match_entry): Update call.
+       (gfc_match_end): Better error location.
+       * parse.c (parse_block_data, parse_module, add_global_procedure,
+       add_global_program): Use better locus data.
+
+2013-05-31  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/57456
+       * trans-array.c (gfc_array_init_size): Use passed type spec,
+       when available.
+       (gfc_array_allocate): Pass typespec on.
+       * trans-array.h (gfc_array_allocate): Update prototype.
+       * trans-stmt.c (gfc_trans_allocate): Pass typespec on.
+
+2013-05-31  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/54190
+       PR fortran/57217
+       * gfortran.h (gfc_terminal_width): Remove prototype.
+       * error.c (get_terminal_width): Moved here from misc.c. Renamed.
+       Try to determine terminal width from environment variable.
+       * interface.c (compare_type, compare_rank): New functions. Fix assumed
+       type/rank handling.
+       (compare_type_rank, check_dummy_characteristics,
+       check_result_characteristics, gfc_compare_interfaces): Use them.
+       (symbol_rank): Slightly modified and moved.
+       * misc.c (gfc_terminal_width): Moved to error.c.
+
+2013-05-30  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/54189
+       * resolve.c (check_assumed_size_reference): Check for e->ref.
+
+2013-05-30  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/57458
+       * interface.c (compare_parameter): Update C1239/C1240 constraint
+       check for assumed-rank/TS29113.
+
+2013-05-29  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/37336
+       * class.c (finalize_component): Fix coarray array refs.
+       (generate_finalization_wrapper): Only gfc_convert_type_warn
+       when the kind value is different.
+       (gfc_find_intrinsic_vtab): _copy's dst is now intent(inout).
+       (gfc_find_derived_vtab): Ditto. Enable finalization-wrapper
+       generation.
+       * module.c (MOD_VERSION): Bump.
+       (gfc_dump_module, gfc_use_module): Remove empty line in .mod.
+       * trans-array.c (gfc_conv_descriptor_token): Accept nonrestricted
+       void pointer.
+       (gfc_array_allocate, structure_alloc_comps): Don't nullify for
+       BT_CLASS allocations.
+       * trans-stmt.c (gfc_trans_allocate): Ditto.
+
+2013-05-29  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/37336
+       * resolve.c (gfc_resolve_finalizers): Remove not implemented error.
+
+2013-05-28  Tobias Burnus  <burnus@net-b.de>
+
+       * trans-expr.c (gfc_conv_procedure_call): Deallocate
+       polymorphic arrays for allocatable intent(out) dummies.
+       (gfc_reset_vptr): New function, moved from trans-stmt.c
+       and extended.
+       * trans-stmt.c (reset_vptr): Remove.
+       (gfc_trans_deallocate): Update calls.
+       * trans.h (gfc_reset_vptr): New prototype.
+
+2013-05-28  Dominique d'Humieres  <dominiq@lps.ens.fr>
+
+       PR fortran/57435
+       * module.c (check_for_ambiguous): Avoid null pointer deref.
+
+2013-05-28  Janus Weil  <janus@gcc.gnu.org>
+           Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/57217
+       * interface.c (check_dummy_characteristics): Symmetrize type check.
+
+2013-05-27  Bud Davis  <jmdavis@link.com>
+
+       PR fortran/50405
+       * resolve.c (resolve_formal_arglist): Detect error when an argument
+       has the same name as the function.
+
+2013-05-27  Tobias Burnus  <burnus@net-b.de>
+
+       * expr.c (gfc_build_intrinsic_call): Make symbol as attr.artificial.
+       * intrinsic.c (gfc_is_intrinsic): Disable std check for those.
+
+2013-05-22  Tobias Burnus  <burnus@net-b.de>
+
+       * resolve.c (get_temp_from_expr): Change mangling to
+       start always with a _.
+
+2013-05-22  Tobias Burnus  <burnus@net-b.de>
+
+       * resolve.c (get_temp_from_expr): Fix temp var mangling.
+
+2013-05-22  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/57364
+       * resolve.c (get_temp_from_expr): Commit created sym.
+
+2013-05-22  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/57338
+       * intrinsic.c (do_check): Move some checks to ...
+       (do_ts29113_check): ... this new function.
+       (check_specific, gfc_intrinsic_sub_interface): Call it.
+
+2013-05-22  Janne Blomqvist  <jb@gcc.gnu.org>
+
+       * intrinsic.texi (RANDOM_SEED): Improve example.
+
+2013-05-21  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/57035
+       * intrinsic.c (do_check): Add constraint check for
+       NO_ARG_CHECK, assumed rank and assumed type.
+       * gfortran.texi (NO_ARG_CHECK): Minor wording change,
+       allow PRESENT intrinsic.
+
+2013-05-20  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/48858
+       PR fortran/55465
+       * decl.c (add_global_entry): Add sym_name.
+       * parse.c (add_global_procedure): Ditto.
+       * resolve.c (resolve_bind_c_derived_types): Handle multiple decl for
+       a procedure.
+       (resolve_global_procedure): Handle gsym->ns pointing to a module.
+       * trans-decl.c (gfc_get_extern_function_decl): Ditto.
+
+2013-05-20  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/48858
+       * decl.c (add_global_entry): Use nonbinding name
+       only for F2003 or if no binding label exists.
+       (gfc_match_entry): Update calls.
+       * parse.c (gfc_global_used): Improve error message.
+       (add_global_procedure): Use nonbinding name
+       only for F2003 or if no binding label exists.
+       (gfc_parse_file): Update call.
+       * resolve.c (resolve_global_procedure): Use binding
+       name when available.
+       * trans-decl.c (gfc_get_extern_function_decl): Ditto.
+
+2013-05-20  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/48858
+       * decl.c (gfc_match_bind_c_stmt): Add gfc_notify_std.
+       * match.c (gfc_match_common): Don't add commons to gsym.
+       * resolve.c (resolve_common_blocks): Add to gsym and
+       add checks.
+       (resolve_bind_c_comms): Remove.
+       (resolve_types): Remove call to the latter.
+       * trans-common.c (gfc_common_ns): Remove static var.
+       (gfc_map_of_all_commons): Add static var.
+       (build_common_decl): Correctly handle binding label.
+
+2013-05-16  Jason Merrill  <jason@redhat.com>
+
+       * Make-lang.in (f951$(exeext)): Use link mutex.
+
+2013-05-05  Tobias Burnus  <burnus@net-b.de>
+
+       * resolve.c (conformable_arrays): Avoid segfault
+       when ar.start[i] == NULL.
+
+2013-05-05  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/57141
+       * decl.c (gfc_match_null): Permit use-associated
+       NULL intrinsic.
+
+2013-05-04  Tobias Burnus  <burnus@net-b.de>
+
+       * decl.c (gfc_verify_c_interop_param): Permit allocatable
+       and pointer with -std=f2008ts.
+
+2013-05-02  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/57142
+       * simplify.c (gfc_simplify_size): Renamed from
+       simplify_size; fix kind=8 handling.
+       (gfc_simplify_size): New function.
+       (gfc_simplify_shape): Add range check.
+       * resolve.c (resolve_function): Fix handling
+       for ISYM_SIZE.
+
+2013-05-01  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       * frontend-passes.c (optimize_power):  Fix typo
+       in comment.
+
+2013-04-30  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/57071
+       * frontend-passes.c (optimize_power):  Simplify
+       1**k to 1.
+
+2013-04-28  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/57114
+       * intrinsic.texi (RANK): Correct syntax description and
+       expected result.
+
+2013-04-28  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/57093
+       * trans-types.c (gfc_get_element_type): Fix handling
+       of scalar coarrays of type character.
+       * intrinsic.texi (PACK): Add missing ")".
+
+2013-04-28  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/57071
+       * frontend-passes (optimize_power):  New function.
+       (optimize_op):  Use it.
+
+2013-04-25  Janne Blomqvist  <jb@gcc.gnu.org>
+
+       PR bootstrap/57028
+       * Make-lang.in (f951): Link in ZLIB.
+       (CFLAGS-fortran/module.o): Add zlib include directory.
+
+2013-04-22  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/53685
+       PR fortran/57022
+       * check.c (gfc_calculate_transfer_sizes): Fix for array-valued SOURCE
+       expressions.
+       * simplify.c (gfc_simplify_sizeof,gfc_simplify_storage_size): Get rid
+       of special treatment for EXPR_ARRAY.
+       * target-memory.h (gfc_element_size): New prototype.
+       * target-memory.c (size_array): Remove.
+       (gfc_element_size): New function.
+       (gfc_target_expr_size): Modified to always return the full size of the
+       expression.
+
+2013-04-20  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/56907
+       * trans-intrinsic.c (conv_isocbinding_function): Don't pack array
+       passed to C_LOC
+
+2013-04-19  Thomas Koenig  <tkoenig@gcc.gnu.org>
+           Mikael Morin  <mikael@gcc.gnu.org>
+
+       PR fortran/56872
+       * frontend-passes.c (copy_walk_reduction_arg): Change argument type
+       to gfc_constructor.  If it has an iterator, wrap the copy of its
+       expression in an array constructor with that iterator.  Don't special
+       case function expressions.
+       (callback_reduction): Update caller.  Don't return early if there is
+       an iterator.
+
+2013-04-18  Tobias Burnus  <burnus@net-b.de>
+
+       * expr.c (find_array_element): Don't copy expr.
+       * data.c (create_character_initializer): Free expr.
+       * frontend-passes.c (combine_array_constructor): Ditto.
+       * match.c (match_typebound_call, gfc_match_select_type): Ditto.
+       * resolve.c (resolve_typebound_function): Free gfc_ref.
+
+2013-04-18  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/56994
+       * invoke.texi (NEAREST): S argument is not optional.
+
+2013-04-17  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/56814
+       * interface.c (check_result_characteristics): Get result from interface
+       if present.
+
+2013-04-17  Janne Blomqvist  <jb@gcc.gnu.org>
+
+       PR fortran/40958
+       * scanner.h: New file.
+       * Make-lang.in: Dependencies on scanner.h.
+       * scanner.c (gfc_directorylist): Move to scanner.h.
+       * module.c: Don't include md5.h, include scanner.h and zlib.h.
+       (MOD_VERSION): Add comment about backwards compatibility.
+       (module_fp): Change type to gzFile.
+       (ctx): Remove.
+       (gzopen_included_file_1): New function.
+       (gzopen_included_file): New function.
+       (gzopen_intrinsic_module): New function.
+       (write_char): Use gzputc.
+       (read_crc32_from_module_file): New function.
+       (read_md5_from_module_file): Remove.
+       (gfc_dump_module): Use gz* functions instead of stdio, check gzip
+       crc32 instead of md5.
+       (read_module_to_tmpbuf): Use gz* functions instead of stdio.
+       (gfc_use_module): Use gz* functions.
+
+2013-04-16  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/39505
+       * decl.c (ext_attr_list): Add EXT_ATTR_NO_ARG_CHECK.
+       * gfortran.h (ext_attr_id_t): Ditto.
+       * gfortran.texi (GNU Fortran Compiler Directives):
+       Document it.
+       * interface.c (compare_type_rank): Ignore rank for NO_ARG_CHECK.
+       (compare_parameter): Ditto - and regard as unlimited polymorphic.
+       * resolve.c (resolve_symbol, resolve_variable): Add same constraint
+       checks as for TYPE(*); turn dummy to TYPE(*),dimension(*).
+       (gfc_explicit_interface_required): Require explicit interface
+       for NO_ARG_CHECK.
+
+2013-04-16  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/56968
+       * expr.c (gfc_check_pointer_assign): Handle generic functions returning
+       procedure pointers.
+
+2013-04-16  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/56969
+       * intrinsic.c (gfc_intrinsic_func_interface): Don't set
+       module name to "(intrinsic)" for intrinsics from intrinsic
+       modules.
+
+2013-04-15  Tobias Burnus  <burnus@net-b.de>
+
+       * intrinsic.texi (SYSTEM_CLOCK): Recommend kind=8.
+
+2013-04-15  Janne Blomqvist  <jb@gcc.gnu.org>
+
+       PR fortran/56919
+       * intrinsics.texi (SYSTEM_CLOCK): Update documentation.
+
+2013-04-15  Tobias Burnus  <burnus@net-b.de>
+
+       * class.c (gfc_find_intrinsic_vtab): Removed unused var.
+       * dependency.c (check_data_pointer_types): Fix check.
+       * frontend-passes.c (check_data_pointer_types): Remove
+       superfluous statement.
+       * parse.c (decode_omp_directive): Add missing break.
+       * resolve.c (resolve_typebound_subroutine: Free variable.
+       * trans-decl.c (create_function_arglist): Correct condition.
+
+2013-04-14  Mikael Morin  <mikael@gcc.gnu.org>
+
+       PR fortran/56816
+       * match.c (gfc_match_select_type): Add syntax error. Move namespace
+       allocation and cleanup...
+       * parse.c (decode_statement): ... here.
+
+2013-04-13  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/55959
+       * expr.c (gfc_simplify_expr): Branch is not unreachable.
+
+2013-04-12  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/56266
+       * primary.c (gfc_match_varspec): Turn gcc_assert into MATCH_ERROR.
+
+2013-04-12  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/56929
+       * trans-array.c (duplicate_allocatable): Fix handling
+       of scalar coarrays.
+
+2013-04-12  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/56261
+       * gfortran.h (gfc_explicit_interface_required): New prototype.
+       * expr.c (gfc_check_pointer_assign): Check if an explicit interface is
+       required in a proc-ptr assignment.
+       * interface.c (check_result_characteristics): Extra check.
+       * resolve.c (gfc_explicit_interface_required): New function.
+       (resolve_global_procedure): Use new function
+       'gfc_explicit_interface_required'. Do a full interface check.
+
+2013-04-12  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/56845
+       * trans-decl.c (gfc_trans_deferred_vars): Restrict
+       static CLASS init to SAVE and -fno-automatic.
+
+2013-04-12  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/56845
+       * trans-decl.c (gfc_trans_deferred_vars): Set _vptr for
+       allocatable static BT_CLASS.
+       * trans-expr.c (gfc_class_set_static_fields): New function.
+       * trans.h (gfc_class_set_static_fields): New prototype.
+
+2013-04-11  Janne Blomqvist  <jb@gcc.gnu.org>
+
+       * gfortran.h: Remove enum gfc_try, replace gfc_try with bool type.
+       * arith.c: Replace gfc_try with bool type.
+       * array.c: Likewise.
+       * check.c: Likewise.
+       * class.c: Likewise.
+       * cpp.c: Likewise.
+       * cpp.h: Likewise.
+       * data.c: Likewise.
+       * data.h: Likewise.
+       * decl.c: Likewise.
+       * error.c: Likewise.
+       * expr.c: Likewise.
+       * f95-lang.c: Likewise.
+       * interface.c: Likewise.
+       * intrinsic.c: Likewise.
+       * intrinsic.h: Likewise.
+       * io.c: Likewise.
+       * match.c: Likewise.
+       * match.h: Likewise.
+       * module.c: Likewise.
+       * openmp.c: Likewise.
+       * parse.c: Likewise.
+       * parse.h: Likewise.
+       * primary.c: Likewise.
+       * resolve.c: Likewise.
+       * scanner.c: Likewise.
+       * simplify.c: Likewise.
+       * symbol.c: Likewise.
+       * trans-intrinsic.c: Likewise.
+       * trans-openmp.c: Likewise.
+       * trans-stmt.c: Likewise.
+       * trans-types.c: Likewise.
+
+2013-04-09  Tobias Burnus  <burnus@net-b.de>
+
+       * gfortran.texi (KIND Type Parameters,
+       Internal representation of LOGICAL variables): Add crossrefs.
+       (Intrinsic Types): Mention issues with _Bool interop.
+       (Naming and argument-passing conventions): New section.
+
+2013-04-08  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/56782
+       * frontend-passes.c (callback_reduction):  Don't do
+       any simplification if there is only a single element
+       which has an iterator.
+
+2013-04-07  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/56849
+       * iresolve.c (gfc_resolve_reshape): Set shape also
+       with order=.
+
+2013-04-04  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/40881
+       * match.c (gfc_match_return): Remove standard notification.
+       * primary.c (gfc_match_actual_arglist): Add standard notification.
+
+2013-04-04  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/50269
+       * gcc/fortran/check.c (is_c_interoperable,
+       gfc_check_c_loc): Correct c_loc array checking
+       for Fortran 2003 and Fortran 2008.
+
+2013-04-03  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/56284
+       PR fortran/40881
+       * decl.c (gfc_match_formal_arglist): Warn about alternate-return
+       arguments.
+       * interface.c (check_dummy_characteristics): Return if symbols are NULL.
+
+2013-04-01  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/56500
+       * symbol.c (gfc_set_default_type): Build class container for
+       IMPLICIT CLASS.
+
+2013-03-31  Tobias Burnus  <burnus@net-b.de>
+
+       * class.c (finalization_scalarizer, finalizer_insert_packed_call,
+       generate_finalization_wrapper): Avoid segfault with absent SIZE=
+       argument to TRANSFER and use correct result kind for SIZE.
+       * intrinsic.c (gfc_isym_id_by_intmod): Also handle ids of
+       nonmodules.
+       * trans.c (gfc_build_final_call): Handle coarrays.
+
+2013-03-30  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       * trans-expr.c (build_memcmp_call):  New function.
+       (gfc_build_compare_string):  If the strings
+       compared have constant and equal lengths and
+       the strings are kind=1, or, for kind=4 strings,
+       the test is for (in)equality, use memcmp().
+
+2013-03-29  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/35203
+       * trans-decl.c (create_function_arglist): Pass hidden argument
+       for passed-by-value optional+value dummies.
+       * trans-expr.c (gfc_conv_expr_present,
+       gfc_conv_procedure_call): Handle those.
+
+2013-03-28  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/45159
+       * gfortran.h (gfc_dep_difference):  Add prototype.
+       * dependency.c (discard_nops):  New function.
+       (gfc_dep_difference):  New function.
+       (check_section_vs_section):  Use gfc_dep_difference
+       to calculate the difference of starting indices.
+       * trans-expr.c (gfc_conv_substring):  Use
+       gfc_dep_difference to calculate the length of
+       substrings where possible.
+
+2013-03-28  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/55806
+       * frontend-passes.c (optimize_code):  Keep track of
+       current code to make code insertion possible.
+       (combine_array_constructor):  New function.
+       (optimize_op):  Call it.
+
+2013-03-27  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/56650
+       PR fortran/36437
+       * check.c (gfc_check_sizeof, gfc_check_c_sizeof,
+       gfc_check_storage_size): Update checks.
+       * intrinsic.texi (SIZEOF): Correct class.
+       * intrinsic.h (gfc_simplify_sizeof,
+       gfc_simplify_storage_size): New prototypes.
+       * intrinsic.c (add_functions): Use them.
+       * simplify.c (gfc_simplify_sizeof,
+       gfc_simplify_storage_size): New functions.
+
+2013-03-27  Janne Blomqvist  <jb@gcc.gnu.org>
+
+       PR fortran/25708
+       * module.c (module_locus): Use long for position.
+       (module_content): New variable.
+       (module_pos): Likewise.
+       (prev_character): Remove.
+       (bad_module): Free data instead of closing mod file.
+       (set_module_locus): Use module_pos.
+       (get_module_locus): Likewise.
+       (module_char): use buffer rather than stdio file.
+       (module_unget_char): Likewise.
+       (read_module_to_tmpbuf): New function.
+       (gfc_use_module): Call read_module_to_tmpbuf.
+
+2013-03-26  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/56649
+       * simplify.c (gfc_simplify_merge): Simplify more.
+
+2013-03-25  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/38536
+       PR fortran/38813
+       PR fortran/38894
+       PR fortran/39288
+       PR fortran/40963
+       PR fortran/45824
+       PR fortran/47023
+       PR fortran/47034
+       PR fortran/49023
+       PR fortran/50269
+       PR fortran/50612
+       PR fortran/52426
+       PR fortran/54263
+       PR fortran/55343
+       PR fortran/55444
+       PR fortran/55574
+       PR fortran/56079
+       PR fortran/56378
+       * check.c (gfc_var_strlen): Properly handle 0-sized string.
+       (gfc_check_c_sizeof): Use is_c_interoperable, add checks.
+       (is_c_interoperable, gfc_check_c_associated, gfc_check_c_f_pointer,
+       gfc_check_c_f_procpointer, gfc_check_c_funloc, gfc_check_c_loc): New
+       functions.
+       * expr.c (check_inquiry): Add c_sizeof, compiler_version and
+       compiler_options.
+       (gfc_check_pointer_assign): Refine function result check.
+       gfortran.h (gfc_isym_id): Add GFC_ISYM_C_ASSOCIATED,
+       GFC_ISYM_C_F_POINTER, GFC_ISYM_C_F_PROCPOINTER, GFC_ISYM_C_FUNLOC,
+       GFC_ISYM_C_LOC.
+       (iso_fortran_env_symbol, iso_c_binding_symbol): Handle
+       NAMED_SUBROUTINE.
+       (generate_isocbinding_symbol): Update prototype.
+       (get_iso_c_sym): Remove.
+       (gfc_isym_id_by_intmod, gfc_isym_id_by_intmod_sym): New prototypes.
+       * intrinsic.c (gfc_intrinsic_subroutine_by_id): New function.
+       (gfc_intrinsic_sub_interface): Use it.
+       (add_functions, add_subroutines): Add missing C-binding intrinsics.
+       (gfc_intrinsic_func_interface): Add special case for c_loc.
+       gfc_isym_id_by_intmod, gfc_isym_id_by_intmod_sym): New functions.
+       (gfc_intrinsic_func_interface, gfc_intrinsic_sub_interface): Use them.
+       * intrinsic.h (gfc_check_c_associated, gfc_check_c_f_pointer,
+       gfc_check_c_f_procpointer, gfc_check_c_funloc, gfc_check_c_loc,
+       gfc_resolve_c_loc, gfc_resolve_c_funloc): New prototypes.
+       * iresolve.c (gfc_resolve_c_loc, gfc_resolve_c_funloc): New
+       functions.
+       * iso-c-binding.def: Split PROCEDURE into NAMED_SUBROUTINE and
+       NAMED_FUNCTION.
+       * iso-fortran-env.def: Add NAMED_SUBROUTINE for completeness.
+       * module.c (create_intrinsic_function): Support subroutines and
+       derived-type results.
+       (use_iso_fortran_env_module): Update calls.
+       (import_iso_c_binding_module): Ditto; update calls to
+       generate_isocbinding_symbol.
+       * resolve.c (find_arglists): Skip for intrinsic symbols.
+       (gfc_resolve_intrinsic): Find intrinsic subs via id.
+       (is_scalar_expr_ptr, gfc_iso_c_func_interface,
+       set_name_and_label, gfc_iso_c_sub_interface): Remove.
+       (resolve_function, resolve_specific_s0): Remove calls to those.
+       (resolve_structure_cons): Fix handling.
+       * symbol.c (gen_special_c_interop_ptr): Update c_ptr/c_funptr
+       generation.
+       (gen_cptr_param, gen_fptr_param, gen_shape_param,
+       build_formal_args, get_iso_c_sym): Remove.
+       (std_for_isocbinding_symbol): Handle NAMED_SUBROUTINE.
+       (generate_isocbinding_symbol): Support hidden symbols and
+       using c_ptr/c_funptr symtrees for nullptr defs.
+       * target-memory.c (gfc_target_encode_expr): Fix handling
+       of c_ptr/c_funptr.
+       * trans-expr.c (conv_isocbinding_procedure): Remove.
+       (gfc_conv_procedure_call): Remove call to it.
+       (gfc_trans_subcomponent_assign, gfc_conv_expr): Update handling
+       of c_ptr/c_funptr.
+       * trans-intrinsic.c (conv_isocbinding_function,
+       conv_isocbinding_subroutine): New.
+       (gfc_conv_intrinsic_function, gfc_conv_intrinsic_subroutine):
+       Call them.
+       * trans-io.c (transfer_expr): Fix handling of c_ptr/c_funptr.
+       * trans-types.c (gfc_typenode_for_spec,
+       gfc_get_derived_type): Ditto.
+       (gfc_init_c_interop_kinds): Handle NAMED_SUBROUTINE.
+
+2013-03-18  Tobias Burnus  <burnus@net-b.de>
+
+       * gfortran.h (gfc_option_t): Remove flag_whole_file.
+       * invoke.texi (-fno-whole-file): Remove.
+       * lang.opt (fwhole-file): Change to Ignore.
+       * options.c (gfc_init_options, gfc_post_options,
+       gfc_handle_option): Remove !flag_whole_file handling
+       * parse.c (resolve_all_program_units, translate_all_program_units,
+       gfc_parse_file): Ditto.
+       * resolve.c (resolve_global_procedure): Ditto.
+       * trans-decl.c (gfc_get_symbol_decl, gfc_get_extern_function_decl,
+       gfc_create_module_variable): Ditto.
+       * trans-types.c (gfc_get_derived_type): Ditto.
+
+2013-03-15  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/56615
+       * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Pack arrays
+       if they are not simply contiguous.
+
+2013-03-11  Tobias Burnus  <burnus@net-b.de>
+
+       * gfortran.texi (STRUCTURE and RECORD): State more clearly how
+       to convert them into derived types.
+
+2013-03-10  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/56575
+       * expr.c (gfc_default_initializer): Check that a class declared
+       type has any components.
+       * resolve.c (resolve_fl_derived0): On failing the test for C437
+       set the type to BT_UNKNOWN to prevent repeat error messages.
+
+2013-03-03  Mikael Morin  <mikael@gcc.gnu.org>
+
+       PR fortran/56477
+       * expr.c (gfc_check_pointer_assign): Avoid NULL pointer dereference.
+
+2013-03-03  Mikael Morin  <mikael@gcc.gnu.org>
+
+       PR fortran/54730
+       * array.c (gfc_match_array_constructor): Set a checkpoint before
+       matching a typespec.  Drop it on success, restore it otherwise.
+
+2013-03-03  Mikael Morin  <mikael@gcc.gnu.org>
+
+       PR fortran/54730
+       * gfortran.h (struct gfc_undo_change_set): New field 'previous'.
+       (gfc_new_undo_checkpoint, gfc_drop_last_undo_checkpoint,
+       gfc_restore_last_undo_checkpoint): New prototypes.
+       * symbol.c (default_undo_chgset_var): Update initialization.
+       (single_undo_checkpoint_p, gfc_new_undo_checkpoint,
+       free_undo_change_set_data, pop_undo_change_set,
+       gfc_drop_last_undo_checkpoint, enforce_single_undo_checkpoint):
+       New functions.
+       (save_symbol_data): Handle multiple change sets.  Make sure old_symbol
+       field's previous value is not overwritten.  Clear gfc_new field.
+       (restore_old_symbol): Restore previous old_symbol field.
+       (gfc_restore_last_undo_checkpoint): New function, using body renamed
+       from gfc_undo_symbols.  Restore the previous change set as current one.
+       (gfc_undo_symbols): New body.
+       (gfc_commit_symbols, gfc_commit_symbol, gfc_enforce_clean_symbol_state):
+       Call enforce_single_undo_checkpoint.
+       (gfc_symbol_done_2): Ditto.  Free change set data.
+
+2013-03-03  Mikael Morin  <mikael@gcc.gnu.org>
+
+       * symbol.c (restore_old_symbol): Fix thinko.
+
+2013-03-03  Mikael Morin  <mikael@gcc.gnu.org>
+
+       * symbol.c (gfc_undo_symbols): Move code...
+       (restore_old_symbol): ... here as a new function.
+
+2013-03-03  Mikael Morin  <mikael@gcc.gnu.org>
+
+       * Make-lang.in (F95_PARSER_OBJS): Add dependency to vec.h.
+       * gfortran.h: Include vec.h.
+       (gfc_undo_change_set): New struct.
+       * symbol.c (tentative_tbp): Remove struct.
+       (changed_syms, tentative_tbp_list): Remove variables.
+       (default_undo_chgset_var, latest_undo_chgset): New variables.
+       (save_symbol_data, gfc_get_sym_tree, gfc_undo_symbols,
+       gfc_commit_symbols, gfc_commit_symbol,
+       gfc_enforce_clean_symbol_state, gfc_get_typebound_proc):
+       Use latest_undo_chgset instead of changed_syms and tentative_tbp_list.
+
+2013-03-01  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/56491
+       * iresolve.c (resolve_bound): Use gfc_get_string instead of xstrdup.
+       * symbol.c (free_components): Free proc-pointer components.
+
+2013-03-01  Tobias Burnus  <burnus@net-b.de>
+
+       * trans-decl.c (gfc_trans_deferred_vars): Free expr after use.
+       * trans-io.c (build_dt): Ditto.
+
+2013-02-24  Joseph Myers  <joseph@codesourcery.com>
+
+       * resolve.c (generate_component_assignments): Don't use UTF-8
+       ligature in diagnostic.
+
+2013-02-21  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/56385
+       * trans-array.c (structure_alloc_comps): Handle procedure-pointer
+       components with allocatable result.
+
+2013-02-21  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/56416
+       * gfortran.texi (Part II: Language Reference, Extensions,
+       Non-Fortran Main Program): Sort @menu to match actual section order.
+       * intrinsic.texi (Intrinsic Procedures): Ditto.
+       (C_F_POINTER, PRECISION): Move to the alphabetically correct place.
+
+2013-02-15  Tobias Burnus  <burnus@net-b.de>
+           Mikael Morin  <mikael@gcc.gnu.org>
+
+       PR fortran/56318
+       * simplify.c (gfc_simplify_matmul): Fix result shape
+       and matmul result.
+
+2013-02-15  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/53818
+       * resolve.c (apply_default_init_local): Don't create an
+       initializer for a result variable.
+
+2013-02-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/56224
+       * gfortran.h (gfc_add_include_path):  Add boolean argument
+       for warn.
+       * scanner.c (gfc_add_include_path):  Pass along warn argument
+       to add_path_to_list.
+       * options.c (gfc_post_options):  Add true warn argument to
+       gfc_add_include_path.
+       (gfc_handle_module_path_options):  Likewise.
+       (gfc_handle_option): Also gfc_add_include_path for intrinsic
+       modules, without warning.
+
+2013-02-14  Paul Thomas  <pault@gcc.gnu.org>
+           Tobias Burnus  <burnus@net-b.de>
+
+       PR testsuite/56138
+       * trans-decl.c (gfc_get_symbol_decl): Fix deferred-length
+       results for functions without extra result variable.
+
+       Revert:
+       2013-01-30  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/56138
+       * trans-decl.c (gfc_trans_deferred_vars): Fix deferred-length
+       results for functions without extra result variable.
+
+2013-02-12  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/46952
+       * resolve.c (resolve_call): Do not check deferred procedures for
+       recursiveness.
+
+2013-02-09  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/55362
+       * check.c (array_check): It is an error if a procedure is
+       passed.
+
+2013-02-08  Mikael Morin  <mikael@gcc.gnu.org>
+
+       PR fortran/54107
+       * trans-types.c (gfc_get_function_type): Change a NULL backend_decl
+       to error_mark_node on entry.  Detect recursive types.  Build a variadic
+       procedure type if the type is recursive.  Restore the initial
+       backend_decl.
+
+2013-02-07  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/54339
+       * gfortran.texi (Standards): Mention TS29113.
+       (Varying Length Character): Mention deferred-length
+       strings.
+       (Fortran 2003 Status): Add unlimited polymorphic.
+       (TS 29113 Status): Add TYPE(*) and DIMENSION(..).
+       (C Interop): Update the section about TS29113.
+
+2013-02-06  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/55789
+       * trans-array.c (trans_array_constructor): Remove condition
+       'dynamic' = true if the loop ubound is a VAR_DECL.
+
+2013-02-04  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/56008
+       PR fortran/47517
+       * trans-array.c (gfc_alloc_allocatable_for_assignment): Save
+       the lhs descriptor before it is modified for reallocation. Use
+       it to deallocate allocatable components in the reallocation
+       block.  Nullify allocatable components for newly (re)allocated
+       arrays.
+
+2013-02-04  Mikael Morin  <mikael@gcc.gnu.org>
+
+       PR fortran/54195
+       * resolve.c (resolve_typebound_procedures): Recurse through
+       resolve_symbol.
+
+2013-02-04  Mikael Morin  <mikael@gcc.gnu.org>
+
+       PR fortran/54107
+       PR fortran/54195
+       * gfortran.h (struct gfc_symbol): New field 'resolved'.
+       * resolve.c (resolve_fl_var_and_proc): Don't skip result symbols.
+       (resolve_symbol): Skip duplicate calls.  Don't check the current
+       namespace.
+
+2013-02-02  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/50627
+       PR fortran/56054
+       * decl.c (gfc_match_end):  Remove half-ready namespace
+       from parent if the end of a block is missing.
+       * parse.c (parse_module):  Do not put namespace into
+       gsymbol on error.
+
+2013-01-30  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/56138
+       * trans-decl.c (gfc_trans_deferred_vars): Fix deferred-length
+       results for functions without extra result variable.
+
+2013-01-29  Janus Weil  <janus@gcc.gnu.org>
+           Mikael Morin  <mikael@gcc.gnu.org>
+
+       PR fortran/54107
+       * gfortran.h (gfc_component): Delete members 'formal' and 'formal_ns'.
+       (gfc_copy_formal_args,gfc_copy_formal_args_ppc,gfc_expr_replace_symbols,
+       gfc_expr_replace_comp): Delete.
+       (gfc_sym_get_dummy_args): New prototype.
+       * dependency.c (gfc_check_fncall_dependency): Use
+       'gfc_sym_get_dummy_args'.
+       * expr.c (gfc_is_constant_expr): Ditto.
+       (replace_symbol,gfc_expr_replace_symbols,replace_comp,
+       gfc_expr_replace_comp): Deleted.
+       * frontend-passes.c (doloop_code,do_function): Use
+       'gfc_sym_get_dummy_args'.
+       * interface.c (gfc_check_operator_interface,gfc_compare_interfaces,
+       gfc_procedure_use,gfc_ppc_use,gfc_arglist_matches_symbol,
+       gfc_check_typebound_override): Ditto.
+       * module.c (MOD_VERSION): Bump module version.
+       (mio_component): Do not read/write 'formal' and 'formal_ns'.
+       * resolve.c (resolve_procedure_interface,resolve_fl_derived0): Do not
+       copy formal args, but just keep a pointer to the interface.
+       (resolve_function,resolve_call,resolve_typebound_generic_call,
+       resolve_ppc_call,resolve_expr_ppc,generate_component_assignments,
+       resolve_fl_procedure,gfc_resolve_finalizers,check_generic_tbp_ambiguity,
+       resolve_typebound_procedure,check_uop_procedure): Use
+       'gfc_sym_get_dummy_args'.
+       * symbol.c (free_components): Do not free 'formal' and 'formal_ns'.
+       (gfc_copy_formal_args,gfc_copy_formal_args_ppc): Deleted.
+       (gfc_sym_get_dummy_args): New function.
+       * trans-array.c (get_array_charlen,gfc_walk_elemental_function_args):
+       Use 'gfc_sym_get_dummy_args'.
+       * trans-decl.c (build_function_decl,create_function_arglist,
+       build_entry_thunks,init_intent_out_dt,gfc_trans_deferred_vars,
+       add_argument_checking): Ditto.
+       * trans-expr.c (gfc_map_fcn_formal_to_actual,gfc_conv_procedure_call,
+       gfc_conv_statement_function): Ditto.
+       * trans-stmt.c (gfc_conv_elemental_dependencies): Ditto.
+       * trans-types.c (create_fn_spec,gfc_get_function_type): Ditto.
+
+2013-01-28  Tobias Burnus  <burnus@net-b.de>
+           Mikael Morin  <mikael@gcc.gnu.org>
+
+       PR fortran/53537
+       * symbol.c (gfc_find_sym_tree): Don't look for the symbol outside an
+       interface block.
+       (gfc_get_ha_symtree): Let gfc_find_sym_tree lookup the parent namespace.
+       * decl.c (gfc_match_data_decl): Ditto.
+       (variable_decl): Remove undeclared type error.
+       (gfc_match_import): Use renamed instead of original name.
+
+2013-01-27  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/55984
+       PR fortran/56047
+       * gfortran.h : Add associate_var to symbol_attr.
+       * resolve.c (resolve_assoc_var): Set associate_var attribute.
+       If the target class_ok is set, set it for the associate
+       variable.
+       * check.c (allocatable_check): Associate variables should not
+       have the allocatable attribute even if their symbols do.
+       * class.c (gfc_build_class_symbol): Symbols with associate_var
+       set will always have a good class container.
+
+2013-01-23  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/56081
+       * resolve.c (resolve_select): Add argument 'select_type', reject
+       non-scalar expressions.
+       (resolve_select_type,resolve_code): Pass new argument to
+       'resolve_select'.
+
+2013-01-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR fortran/56052
+       * trans-decl.c (gfc_get_symbol_decl): Set DECL_ARTIFICIAL
+       and DECL_IGNORED_P on select_type_temporary and don't set
+       DECL_BY_REFERENCE.
+
+2013-01-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/55919
+       * scanner.c (add_path_to_list): Copy path to temporary and strip
+       trailing directory separators before calling stat().
+
+2013-01-17  Richard Biener  <rguenther@suse.de>
+
+       * trans-stmt.c (gfc_trans_do): Conditionally compute countm1
+       dependent on sign of step, avoids repeated evaluation of
+       step sign test.  Avoid undefined overflow issues by using unsigned
+       arithmetic.
+
+2013-01-16  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/55983
+       * class.c (find_typebound_proc_uop): Check for f2k_derived instead of
+       asserting it.
+
+2013-01-16  Jakub Jelinek  <jakub@redhat.com>
+           Tobias Burnus  <burnus@net-b.de>
+
+       PR driver/55884
+       * lang.opt (fintrinsic-modules-path): Don't accept Joined.
+       (fintrinsic-modules-path=): New.
+       * options.c (gfc_handle_option, gfc_get_option_string,
+       gfc_get_option_string): Handle the latter.
+
+2013-01-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR fortran/52865
+       * trans-stmt.c (gfc_trans_do): Put countm1-- before conditional
+       and use value of countm1 before the decrement in the condition.
+
+2013-01-15  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/54286
+       * expr.c (gfc_check_pointer_assign): Check for presence of
+       's2' before using it.
+
+2013-01-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/55806
+       * frontend-passes.c (optimize_reduction):  New function,
+       including prototype.
+       (callback_reduction):  Likewise.
+       (gfc_run_passes):  Also run optimize_reduction.
+       (copy_walk_reduction_arg):  New function.
+       (dummy_code_callback):  New function.
+
+2013-01-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR fortran/55935
+       * trans-expr.c (gfc_conv_structure): Call
+       unshare_expr_without_location on the ctor elements.
+
+2013-01-13  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/54286
+       * expr.c (gfc_check_pointer_assign): Ensure that both lvalue
+       and rvalue interfaces are presented to gfc_compare_interfaces.
+       Simplify references to interface names by using the symbols
+       themselves. Call gfc_compare_interfaces with s1 and s2 inter-
+       changed to overcome the asymmetry of this function. Do not
+       repeat the check for the presence of s1 and s2.
+
+2013-01-12  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/55072
+       * trans-array.c (gfc_conv_array_parameter): No packing was done for
+       full arrays of derived type.
+
+2013-01-08  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/55868
+       * class.c (get_unique_type_string): Change $tar to STAR and
+       replace sprintf by strcpy where there is no formatting.
+       * decl.c (gfc_match_decl_type_spec): Change $tar to STAR.
+
+2013-01-09  Mikael Morin  <mikael@gcc.gnu.org>
+
+       PR fortran/47203
+       * module.c (check_for_ambiguous): Get the current program unit using
+       gfc_current_ns.
+
+2013-01-09  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/55758
+       * resolve.c (resolve_symbol): Reject non-C_Bool logicals
+       in BIND(C) procedures with -std=f*.
+
+2013-01-08  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/55618
+       * trans-expr.c (gfc_conv_procedure_call): Dereference scalar
+       character function arguments to elemental procedures in
+       scalarization loops.
+
+2013-01-07  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/55763
+       * gfortran.h (gfc_check_assign_symbol): Update prototype.
+       * decl.c (add_init_expr_to_sym, do_parm): Update call.
+       * expr.c (gfc_check_assign_symbol): Handle BT_CLASS and
+       improve error location; support components.
+       (gfc_check_pointer_assign): Handle component assignments.
+       * resolve.c (resolve_fl_derived0): Call gfc_check_assign_symbol.
+       (resolve_values): Update call.
+       (resolve_structure_cons): Avoid double diagnostic.
+
+2013-01-07  Tobias Burnus  <burnus@net-b.de>
+           Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/55852
+       * expr.c (gfc_build_intrinsic_call): Avoid clashes
+       with user's procedures.
+       * gfortran.h (gfc_build_intrinsic_call): Update prototype.
+       * simplify.c (gfc_simplify_size): Update call.
+       * class.c (finalization_scalarizer, finalization_get_offset,
+       finalizer_insert_packed_call, generate_finalization_wrapper):
+       Clean up by using gfc_build_intrinsic_call.
+
+2013-01-07  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/55763
+       * resolve.c (resolve_select_type): Reject intrinsic types for
+       a non-unlimited-polymorphic selector.
+
+2013-01-06  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/53876
+       PR fortran/54990
+       PR fortran/54992
+       * trans-array.c (build_array_ref): Check the TYPE_CANONICAL
+       to see if it is GFC_CLASS_TYPE_P.
+       * trans-expr.c (gfc_get_vptr_from_expr): The same.
+       (gfc_conv_class_to_class): If the types are not the same,
+       cast parmese->expr to the type of ctree.
+       * trans-types.c (gfc_get_derived_type): GFC_CLASS_TYPE_P of
+       CLASS components must be set.
+
+2013-01-06  Mikael Morin  <mikael@gcc.gnu.org>
+
+       PR fortran/42769
+       PR fortran/45836
+       PR fortran/45900
+       * module.c (read_module): Don't reuse local symtree if the associated
+       symbol isn't exactly the one wanted.  Don't reuse local symtree if it is
+       ambiguous.
+       * resolve.c (resolve_call): Use symtree's name instead of symbol's to
+       lookup the symtree.
+
+2013-01-05  Steven G. Kargl  <kargl@gcc.gnu.org>
+           Mikael Morin  <mikael@gcc.gnu.org>
+
+       PR fortran/55827
+       * class.c (gfc_fix_class_refs): Adapt ts initialization for the case
+       e->symtree == NULL.
+       * trans-expr.c (gfc_conv_function_expr): Init sym earlier. Use it.
+
+2013-01-05  Tobias Burnus  <burnus@net-b.de>
+
+       * class.c (finalize_component): Used passed offset expr.
+       (finalization_get_offset): New static function.
+       (finalizer_insert_packed_call, generate_finalization_wrapper): Use it
+       to handle noncontiguous arrays.
+
+2013-01-04  Tobias Burnus  <burnus@net-b.de>
+
+       * trans.c (gfc_build_final_call): New function.
+       * trans.h (gfc_build_final_call, gfc_conv_scalar_to_descriptor):
+       New function prototypes.
+       * trans-expr.c (gfc_conv_scalar_to_descriptor): Renamed from
+       conv_scalar_to_descriptor, removed static attribute.
+       (gfc_conv_procedure_call): Honor renaming.
+
+2013-01-04  Tobias Burnus  <burnus@net-b.de>
+
+       * intrinsic.c (add_functions): New internal intrinsic
+       function GFC_PREFIX ("stride").
+       * gfortran.h (gfc_isym_id): Add GFC_ISYM_STRIDE.
+       * intrinsic.h (gfc_resolve_stride): New prototypes.
+       * iresolve.c (gfc_resolve_stride): New function.
+       * trans-intrinsic.c (conv_intrinsic_stride): New static
+       function.
+       (gfc_conv_intrinsic_function): Use it.
+
+2013-01-04  Tobias Burnus  <burnus@net-b.de>
+
+       * class.c (gfc_find_intrinsic_vtab): Add _final
+       component.
+       * decl.c (gfc_match_null): Remove superfluous
+       variadic argument to gfc_match.
+
+2013-01-04  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/55172
+       * match.c (copy_ts_from_selector_to_associate): Remove call to
+       gfc_resolve_expr and replace it with explicit setting of the
+       array reference type.
+       * resolve.c (resolve_select_type): It is an error if the
+       selector is coindexed.
+
+2013-01-04  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/55763
+       * decl.c (gfc_match_null): Parse and reject MOLD.
+
+2013-01-04  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/55854
+       PR fortran/55763
+       * class.c (gfc_class_null_initializer): Fix finding the vtab.
+       (gfc_find_intrinsic_vtab): Use BT_VOID for some components.
+
+2013-01-03  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/55855
+       * expr.c (gfc_check_assign): Use 'gfc_expr_attr' to evaluate attributes
+       of rvalue. Correct hyphenation in error message.
+
+2013-01-03  Jakub Jelinek  <jakub@redhat.com>
+
+       * gfortranspec.c (lang_specific_driver): Update copyright notice
+       dates.
+\f
+Copyright (C) 2013 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.
index 54cfdd6fd68234450899320301ac667f148e64a7..6151d73827ef911b1711addc8a593f7219d62838 100644 (file)
@@ -11903,9 +11903,6 @@ resolve_typebound_procedures (gfc_symbol* derived)
   resolve_bindings_derived = derived;
   resolve_bindings_result = true;
 
-  /* Make sure the vtab has been generated.  */
-  gfc_find_derived_vtab (derived);
-
   if (derived->f2k_derived->tb_sym_root)
     gfc_traverse_symtree (derived->f2k_derived->tb_sym_root,
                          &resolve_typebound_procedure);
index 25079742c519ac4fe4c57c8599ab32ac0afbe12c..17ea414fc7697366953c3782557ebcb6ae9fd6b6 100644 (file)
@@ -1,3 +1,8 @@
+2014-01-02  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/59654
+       * gfortran.dg/dynamic_dispatch_12.f90: New.
+
 2014-01-01  Jakub Jelinek  <jakub@redhat.com>
 
        * lib/target-supports.exp (check_effective_target_avx512f): Make sure
diff --git a/gcc/testsuite/gfortran.dg/dynamic_dispatch_12.f90 b/gcc/testsuite/gfortran.dg/dynamic_dispatch_12.f90
new file mode 100644 (file)
index 0000000..d37e1f6
--- /dev/null
@@ -0,0 +1,74 @@
+! { dg-do run }
+!
+! PR 59654: [4.8/4.9 Regression] [OOP] Broken function table with complex OO use case
+!
+! Contributed by Thomas Clune <Thomas.L.Clune@nasa.gov>
+
+module TestResult_mod
+  implicit none
+
+  type TestResult
+    integer :: numRun = 0
+  contains
+    procedure :: run
+    procedure, nopass :: getNumRun
+  end type
+
+contains
+
+  subroutine run (this)
+    class (TestResult) :: this
+    this%numRun = this%numRun + 1
+  end subroutine
+
+  subroutine getNumRun()
+   end subroutine
+
+end module
+
+
+module BaseTestRunner_mod
+  implicit none
+
+  type :: BaseTestRunner
+  contains
+    procedure, nopass :: norun
+  end type
+
+contains
+
+  function norun () result(result)
+    use TestResult_mod, only: TestResult
+    type (TestResult) :: result
+  end function
+
+end module
+
+
+module TestRunner_mod
+  use BaseTestRunner_mod, only: BaseTestRunner
+  implicit none
+end module
+
+
+program main
+  use TestRunner_mod, only: BaseTestRunner
+  use TestResult_mod, only: TestResult
+  implicit none
+
+  type (TestResult) :: result
+
+  call runtest (result)
+  
+contains
+
+  subroutine runtest (result)
+    use TestResult_mod, only: TestResult
+    class (TestResult) :: result
+    call result%run()
+    if (result%numRun /= 1) call abort()
+  end subroutine
+
+end
+
+! { dg-final { cleanup-modules "TestResult_mod BaseTestRunner_mod TestRunner_mod" } }