diff options
author | janus <janus@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-01-02 17:27:11 +0000 |
---|---|---|
committer | janus <janus@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-01-02 17:27:11 +0000 |
commit | 839ddc8e4712502286d41f6f71da3c4959126306 (patch) | |
tree | 6a36ad0fc0ba9c807be3826e1bcf4c8a1f4bcee4 /gcc/fortran/ChangeLog-2013 | |
parent | 5569181c5c1547629f31b8da4218ac514d04a4d7 (diff) | |
download | gcc-839ddc8e4712502286d41f6f71da3c4959126306.tar.gz |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206281 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/fortran/ChangeLog-2013')
-rw-r--r-- | gcc/fortran/ChangeLog-2013 | 2083 |
1 files changed, 2083 insertions, 0 deletions
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. |