summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJanus Weil <janus@gcc.gnu.org>2014-01-02 18:27:11 +0100
committerJanus Weil <janus@gcc.gnu.org>2014-01-02 18:27:11 +0100
commitd0f33855c98870e23ffd927f0f3d7647903fbe98 (patch)
tree6a36ad0fc0ba9c807be3826e1bcf4c8a1f4bcee4
parent2898d2049428bfa070de658f55b2b3590b5419e5 (diff)
downloadgcc-d0f33855c98870e23ffd927f0f3d7647903fbe98.tar.gz
re PR fortran/59654 ([OOP] Broken function table with complex OO use case)
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
-rw-r--r--gcc/fortran/ChangeLog2082
-rw-r--r--gcc/fortran/ChangeLog-20132083
-rw-r--r--gcc/fortran/resolve.c3
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gfortran.dg/dynamic_dispatch_12.f9074
5 files changed, 2167 insertions, 2080 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 6c7cea7c4a4..e78d6b65f67 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,2082 +1,10 @@
-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.
-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
index 00000000000..6c7cea7c4a4
--- /dev/null
+++ b/gcc/fortran/ChangeLog-2013
@@ -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.
+
+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.
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c
index 54cfdd6fd68..6151d73827e 100644
--- a/gcc/fortran/resolve.c
+++ b/gcc/fortran/resolve.c
@@ -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);
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 25079742c51..17ea414fc76 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -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
index 00000000000..d37e1f6a9b5
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/dynamic_dispatch_12.f90
@@ -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" } }