OSDN Git Service

2010-08-04 Tobias Burnus <burnus@net-b.de>
[pf3gnuchains/gcc-fork.git] / gcc / fortran / ChangeLog
index 34c8f64..7504f49 100644 (file)
@@ -1,3 +1,785 @@
+2010-08-04  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/45183
+       PR fortran/44857
+       * resolve.c (resolve_structure_cons): Fix
+       freeing of charlen.
+
+2010-08-04  Mikael Morin  <mikael@gcc.gnu.org>
+
+       PR fortran/42051
+       PR fortran/44064
+       * symbol.c (changed_syms): Made static again.
+       (gfc_symbol_state): Don't conditionalize on GFC_DEBUG. 
+       Changed conditional internal error into assert.
+       Rename function to ...
+       (gfc_enforce_clean_symbol_state): ... this.
+       * gfortran.h (gfc_symbol_state, gfc_enforce_clean_symbol_state): 
+       Rename the former to the latter.
+       * parse.c (decode_statement, decode_omp_directive,
+       decode_gcc_attribute): Update callers accordingly. Don't conditionalize
+       on GFC_DEBUG.
+       (changed_syms): Remove declaration.
+       (next_statement): Use gfc_enforce_clean_symbol_state.
+
+2010-08-04  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/44857
+       * resolve.c (resolve_structure_cons): Fix handling of
+       initialization structure constructors with character
+       elements of the wrong length.
+       * array.c (gfc_check_iter_variable): Add NULL check.
+       (gfc_resolve_character_array_constructor): Also truncate
+       character length.
+
+2010-08-04  Tobias Burnus  <burnus@net-b.de>
+
+       * trans-io.c (gfc_build_io_library_fndecls): Fix return
+       value of some libgfortran functions.
+
+2010-08-03  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/45159
+       * dependency.c (gfc_deb_compare_expr):  Remove any integer
+       conversion functions to larger types from both arguments.
+       Remove handling these functions futher down.
+
+2010-08-03  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/44584
+       PR fortran/45161
+       * class.c (add_procs_to_declared_vtab1): Don't add erroneous procedures.
+       * resolve.c (resolve_tb_generic_targets): Check for errors.
+
+2010-08-02  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/45159
+       * depencency.c (gfc_dep_resolver):  Fix logic for when a loop
+       can be reversed.
+
+2010-08-02  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/36854
+       * dependency.h:  Add prototype for gfc_are_identical_variables.
+       * frontend-passes.c:  Include depencency.h.
+       (optimimize_equality):  Use gfc_are_identical_variables.
+       * dependency.c (identical_array_ref): New function.
+       (gfc_are_identical_variables):  New function.
+       (gfc_deb_compare_expr):  Use gfc_are_identical_variables.
+       * dependency.c (gfc_check_section_vs_section).  Rename gfc_
+       prefix from statc function.
+       (check_section_vs_section): Change arguments to gfc_array_ref,
+       adjust function body accordingly.
+
+2010-08-02  Mikael Morin  <mikael@gcc.gnu.org>
+           Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/42051
+       PR fortran/44064
+       PR fortran/45151
+       * intrinsic.c (gfc_get_intrinsic_sub_symbol): Commit changed symbol. 
+       * symbol.c (gen_cptr_param, gen_fptr_param, gen_shape_param,
+       gfc_copy_formal_args, gfc_copy_formal_args_intr,
+       gfc_copy_formal_args_ppc, generate_isocbinding_symbol): Ditto.
+       * parse.c (parse_derived_contains, parse_spec, parse_progunit): 
+       Call reject_statement in case of error. 
+       (match_deferred_characteritics): Call gfc_undo_symbols in case match
+       fails.
+
+2010-08-01  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/44912
+       * class.c (gfc_build_class_symbol): Make '$vptr' component private.
+       (gfc_find_derived_vtab): Make vtabs and vtypes public.
+       * module.c (read_module): When reading module files, always import
+       vtab and vtype symbols.
+
+2010-07-31  Mikael Morin  <mikael@gcc.gnu.org>
+
+       PR fortran/42051
+       PR fortran/44064
+       * symbol.c (changed_syms): Made non-static.
+       * parse.c (changed_syms): Declare new external. 
+       (next_statement): Assert changed_syms is NULL at the beginning.
+
+2010-07-30  Janus Weil  <janus@gcc.gnu.org>
+           Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/44929
+       * match.c (match_type_spec): Try to parse derived types before
+       intrinsic types.
+
+2010-07-30  Mikael Morin  <mikael@gcc.gnu.org>
+
+       * gfortran.h (gfc_release_symbol): New prototype.
+       * symbol.c (gfc_release_symbol): New. Code taken from free_sym_tree.
+       (gfc_undo_symbols, free_sym_tree, gfc_free_finalizer):
+       Use gfc_release_symbol.
+       * parse.c (gfc_fixup_sibling_symbols): Ditto.
+       * resolve.c (resolve_symbol): Ditto.
+
+2010-07-29  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/45087
+       PR fortran/45125
+       * trans-decl.c (gfc_get_extern_function_decl): Correctly handle
+       external procedure declarations in modules.
+       (gfc_get_symbol_decl): Modify assert.
+
+2010-07-29  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/44962
+       * resolve.c (resolve_fl_derived): Call gfc_resolve_array_spec.
+
+2010-07-29  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/45004
+       * trans-stmt.h (gfc_trans_class_init_assign): New prototype.
+       (gfc_trans_class_assign): Modified prototype.
+       * trans.h (gfc_conv_intrinsic_move_alloc): New prototype.
+       * trans-expr.c (gfc_trans_class_init_assign): Split off from ...
+       (gfc_trans_class_assign): ... here. Modified actual arguments.
+       * trans-intrinsic.c (gfc_conv_intrinsic_move_alloc): New function to
+       handle the MOVE_ALLOC intrinsic with scalar and class arguments.
+       * trans.c (trans_code): Call 'gfc_conv_intrinsic_move_alloc'.
+
+2010-07-29  Mikael Morin  <mikael@gcc.gnu.org>
+
+       PR fortran/42051
+       PR fortran/44064
+       * class.c (gfc_find_derived_vtab): Accept or discard newly created
+       symbols before returning.
+
+2010-07-29  Joseph Myers  <joseph@codesourcery.com>
+
+       * lang.opt (cpp): Remove Joined and Separate markers.
+       (cpp=): New internal option.
+       * lang-specs.h (F951_CPP_OPTIONS): Generate -cpp= option.
+       * cpp.c (gfc_cpp_handle_option): Handle OPT_cpp_ instead of
+       OPT_cpp.
+
+2010-07-29  Daniel Kraft  <d@domob.eu>
+
+       PR fortran/45117
+       * array.c (resolve_array_bound): Fix error message to properly handle
+       non-variable expressions.
+
+2010-07-28  Mikael Morin  <mikael@gcc.gnu.org>
+
+       * decl.c (free_value): Also free repeat field.
+       * data.c (gfc_assign_data_value): Always free offset before returning.
+
+2010-07-28  Daniel Kraft  <d@domob.eu>
+
+       * gfortran.h (gfc_build_intrinsic_call): New method.
+       * expr.c (gfc_build_intrinsic_call): New method.
+       * simplify.c (range_check): Ignore non-constant value.
+       (simplify_bound_dim): Handle non-variable expressions and
+       fix memory leak with non-free'ed expression.
+       (simplify_bound): Handle non-variable expressions.
+       (gfc_simplify_shape): Ditto.
+       (gfc_simplify_size): Ditto, but only in certain cases possible.
+
+2010-07-28  Joseph Myers  <joseph@codesourcery.com>
+
+       * gfortranspec.c (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG):
+       Remove.
+
+2010-07-28  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/45077
+       * trans-types.c (gfc_get_derived_type): Fix DT declaration
+       from modules for whole-file mode.
+
+2010-07-27  Joseph Myers  <joseph@codesourcery.com>
+
+       * gfortran.h (gfc_handle_option): Update prototype and return
+       value type.
+       * options.c (gfc_handle_option): Update prototype and return value
+       type.
+
+2010-07-27  Joseph Myers  <joseph@codesourcery.com>
+
+       * cpp.c (gfc_cpp_init_options): Update prototype.  Use number of
+       decoded options in allocating deferred_opt.
+       * cpp.h (gfc_cpp_init_options): Update prototype.
+       * f95-lang.c (LANG_HOOKS_OPTION_LANG_MASK): Define.
+       * gfortran.h (gfc_option_lang_mask): New.
+       (gfc_init_options): Update prototype.
+       * options.c (gfc_option_lang_mask): New.
+       (gfc_init_options): Update prototype.  Pass new arguments to
+       gfc_cpp_init_options.
+
+2010-07-26  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/40873
+       * trans-decl.c (gfc_get_extern_function_decl): Fix generation
+       for functions which are later in the same file.
+       (gfc_create_function_decl, build_function_decl,
+       build_entry_thunks): Add global argument.
+       * trans.c (gfc_generate_module_code): Update
+       gfc_create_function_decl call.
+       * trans.h (gfc_create_function_decl): Update prototype.
+       * resolve.c (resolve_global_procedure): Also resolve for
+       IFSRC_IFBODY.
+
+2010-07-26  Richard Henderson  <rth@redhat.com>
+
+       PR target/44132
+       * f95-lang.c (LANG_HOOKS_WRITE_GLOBALS): New.
+       (gfc_write_global_declarations): New.
+
+2010-07-26  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/45066
+       * trans-io.c (build_dt): Use NULL_TREE rather than NULL
+       for call to transfer_namelist_element.
+       * trans-decl.c (gfc_get_symbol_decl): Also set sym->backend_decl
+       for -fwhole-file.
+
+2010-07-25  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/40628
+       * Make-lang.in:  Add fortran/frontend-passes.o.
+       * gfortran.h:  Add prototype for gfc_run_passes.
+       * resolve.c (gfc_resolve):  Call gfc_run_passes.
+       * frontend-passes.c:  New file.
+
+2010-07-25  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR fortran/42852
+       * scanner.c (gfc_next_char_literal): Enable truncation warning for
+       free-form '&'.
+
+2010-07-25  Mikael Morin  <mikael@gcc.gnu.org>
+
+       PR fortran/44660
+       * gfortran.h (gfc_namespace): New field old_equiv.
+       (gfc_free_equiv_until): New prototype.
+       * match.c (gfc_free_equiv_until): New, renamed from gfc_free_equiv with
+       a parameterized stop condition.
+       (gfc_free_equiv): Use gfc_free_equiv_until.
+       * parse.c (next_statement): Save equivalence list.
+       (reject_statement): Restore equivalence list. 
+
+2010-07-25  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR fortran/42852
+       * scanner.c (gfc_next_char_literal): Move check for truncation earlier
+       in the function so that it does not get missed by early exits.
+       (load_line): Add checks for quoted strings and free form comments to
+       disable warnings on comments. Add check for ampersand as first
+       character after truncation and don't warn for this case, but warn if
+       there are subsequent non-whitespace characters.
+
+2010-07-24  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/40011
+       * parse.c (gfc_parse_file): Do not override
+       gfc_global_ns_list items.
+
+2010-07-24  Tobias Burnus  <burnus@net-b.de>
+
+       * options.c (gfc_init_options): Enable -fwhole-file by default.
+       * interface.c (compare_parameter): Assume a Hollerith constant is
+       compatible with all other argument types.
+
+2010-07-23  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/44945
+       * trans-decl.c (gfc_get_symbol_decl): Use module decl with
+       -fwhole-file also for derived types.
+       * trans-types.c (copy_dt_decls_ifequal): Remove static and
+       rename to gfc_copy_dt_decls_ifequal.
+       (gfc_get_derived_type): Update call.
+       * trans-types.h (gfc_copy_dt_decls_ifequal): Add prototype.
+
+2010-07-23  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/45030
+       * resolve.c (resolve_global_procedure): Properly handle ENTRY.
+
+2010-07-23  Jakub Jelinek  <jakub@redhat.com>
+
+       * trans-types.c (gfc_get_array_descriptor_base,
+       gfc_get_array_type_bounds): Set TYPE_NAMELESS.
+       * trans-decl.c (gfc_build_qualified_array): Set DECL_NAMELESS
+       instead of clearing DECL_NAME.
+       (gfc_build_dummy_array_decl): Set DECL_NAMELESS.
+
+2009-07-23  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/24524
+       * trans-array.c (gfc_init_loopinfo): Initialize the reverse
+       field.
+       gfc_trans_scalarized_loop_end: If reverse set in dimension n,
+       reverse the scalarization loop.
+       gfc_conv_resolve_dependencies: Pass the reverse field of the
+       loopinfo to gfc_dep_resolver.
+       trans-expr.c (gfc_trans_assignment_1): Enable loop reversal for
+       assignment by resetting loop.reverse.
+       gfortran.h : Add the gfc_reverse enum.
+       trans.h : Add the reverse field to gfc_loopinfo.
+       dependency.c (gfc_check_dependency): Pass null to the new arg
+       of gfc_dep_resolver.
+       (gfc_check_section_vs_section): Check for reverse dependencies.
+       (gfc_dep_resolver): Add reverse argument and deal with the loop
+       reversal logic.
+       dependency.h : Modify prototype for gfc_dep_resolver to include
+       gfc_reverse *.
+
+2010-07-23  Daniel Kraft  <d@domob.eu>
+
+       PR fortran/44709
+       * gfortran.h (gfc_find_symtree_in_proc): New method.
+       * symbol.c (gfc_find_symtree_in_proc): New method.
+       * match.c (match_exit_cycle): Look for loop name also in parent
+       namespaces within current procedure.
+
+2010-07-22  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/45019
+       * dependency.c (gfc_check_dependency): Add argument alising check.
+       * symbol.c (gfc_symbols_could_alias): Add argument alising check.
+
+2010-07-22  Daniel Kraft  <d@domob.eu>
+
+       * trans-stmt.c (gfc_trans_return): Put back in the handling of se.post,
+       now in the correct place.
+
+2010-07-21  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/44929
+       * Revert my commit r162325.
+
+2010-07-21  Daniel Kraft  <d@domob.eu>
+
+       * trans.h (gfc_get_return_label): Removed.
+       (gfc_generate_return): New method.
+       (gfc_trans_deferred_vars): Update gfc_wrapped_block rather than
+       returning a tree directly.
+       * trans-stmt.c (gfc_trans_return): Use `gfc_generate_return'.
+       (gfc_trans_block_construct): Update for new interface to
+       `gfc_trans_deferred_vars'.
+       * trans-decl.c (current_function_return_label): Removed.
+       (current_procedure_symbol): New variable.
+       (gfc_get_return_label): Removed.
+       (gfc_trans_deferred_vars): Update gfc_wrapped_block rather than
+       returning a tree directly.
+       (get_proc_result), (gfc_generate_return): New methods.
+       (gfc_generate_function_code): Clean up and do init/cleanup here
+       also with gfc_wrapped_block.  Remove return-label but rather
+       return directly.
+
+2010-07-19  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/44929
+       * fortran/match.c (match_type_spec): Check for derived type before
+       intrinsic types.
+
+2010-07-19  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/42385
+       * interface.c (matching_typebound_op): Add argument for the
+       return of the generic name for the procedure.
+       (build_compcall_for_operator): Add an argument for the generic
+       name of an operator procedure and supply it to the expression.
+       (gfc_extend_expr, gfc_extend_assign): Use the generic name in
+       calls to the above procedures.
+       * resolve.c (resolve_typebound_function): Catch procedure
+       component calls for CLASS objects, check that the vtable is
+       complete and insert the $vptr and procedure components, to make
+       the call.
+       (resolve_typebound_function): The same.
+       * trans-decl.c (gfc_trans_deferred_vars): Do not deallocate
+       an allocatable scalar if it is a result.
+
+2010-07-19  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/44353
+       * match.c (gfc_match_iterator): Reverted.
+
+2010-07-18  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/44353
+       * match.c (gfc_match_iterator): Remove error that iterator
+       cannot be INTENT(IN).
+
+2010-07-17  Mikael Morin  <mikael@gcc.gnu.org>
+
+       * trans-array.c (gfc_free_ss): Don't free beyond ss rank.
+       Access subscript through the "dim" field index.
+       (gfc_trans_create_temp_array): Access ss info through the "dim" field
+       index.
+       (gfc_conv_array_index_offset): Ditto.
+       (gfc_conv_loop_setup): Ditto.
+       (gfc_conv_expr_descriptor): Ditto.
+       (gfc_conv_ss_startstride): Ditto.  Update call to
+       gfc_conv_section_startstride.
+       (gfc_conv_section_startstride): Set values along the array dimension.
+       Get array dimension directly from the argument.
+
+2010-07-15  Jakub Jelinek  <jakub@redhat.com>
+
+       * trans.h (gfc_string_to_single_character): New prototype.
+       * trans-expr.c (string_to_single_character): Renamed to ...
+       (gfc_string_to_single_character): ... this.  No longer static.
+       (gfc_conv_scalar_char_value, gfc_build_compare_string,
+       gfc_trans_string_copy): Adjust callers.
+       * config-lang.in (gtfiles): Add fortran/trans-stmt.c.
+       * trans-stmt.c: Include ggc.h and gt-fortran-trans-stmt.h.
+       (select_struct): Move to toplevel, add GTY(()).
+       (gfc_trans_character_select): Optimize SELECT CASE
+       with character length 1.
+
+2010-07-15  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * f95-lang.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
+       * trans-common.c: Likewise.
+       * trans-decl.c: Likewise.
+       * trans-types.c: Likewise.
+       * trans.c: Likewise.
+
+2010-07-15  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/44936
+       * resolve.c (resolve_typebound_generic_call): Resolve generic
+       non-polymorphic type-bound procedure calls to the correct specific
+       procedure.
+       (resolve_typebound_subroutine): Remove superfluous code.
+
+2010-07-15  Daniel Kraft  <d@domob.eu>
+
+       PR fortran/44709
+       * trans.h (struct gfc_wrapped_block): New struct.
+       (gfc_start_wrapped_block), (gfc_add_init_cleanup): New methods.
+       (gfc_finish_wrapped_block): New method.
+       (gfc_init_default_dt): Add new init code to block rather than
+       returning it.
+       * trans-array.h (gfc_trans_auto_array_allocation): Use gfc_wrapped_block
+       (gfc_trans_dummy_array_bias): Ditto.
+       (gfc_trans_g77_array): Ditto.
+       (gfc_trans_deferred_array): Ditto.
+       * trans.c (gfc_add_expr_to_block): Call add_expr_to_chain.
+       (add_expr_to_chain): New method based on old gfc_add_expr_to_block.
+       (gfc_start_wrapped_block), (gfc_add_init_cleanup): New methods.
+       (gfc_finish_wrapped_block): New method.
+       * trans-array.c (gfc_trans_auto_array_allocation): use gfc_wrapped_block
+       (gfc_trans_g77_array), (gfc_trans_dummy_array_bias): Ditto.
+       (gfc_trans_deferred_array): Ditto.
+       * trans-decl.c (gfc_trans_dummy_character): Ditto.
+       (gfc_trans_auto_character_variable), (gfc_trans_assign_aux_var): Ditto.
+       (init_intent_out_dt): Ditto.
+       (gfc_init_default_dt): Add new init code to block rather than
+       returning it.
+       (gfc_trans_deferred_vars): Use gfc_wrapped_block to collect all init
+       and cleanup code and put it all together.
+
+2010-07-15  Jakub Jelinek  <jakub@redhat.com>
+
+       * trans.h (gfc_build_compare_string): Add CODE argument.
+       * trans-intrinsic.c (gfc_conv_intrinsic_strcmp): Pass OP to
+       gfc_build_compare_string.
+       * trans-expr.c (gfc_conv_expr_op): Pass CODE to
+       gfc_build_compare_string.
+       (string_to_single_character): Rename len variable to length.
+       (gfc_optimize_len_trim): New function.
+       (gfc_build_compare_string): Add CODE argument.  If it is EQ_EXPR
+       or NE_EXPR and one of the strings is string literal with LEN_TRIM
+       bigger than the length of the other string, they compare unequal.
+
+       PR fortran/40206
+       * trans-stmt.c (gfc_trans_character_select): Always use NULL for high
+       in CASE_LABEL_EXPR and use NULL for low for the default case.
+
+2010-07-14  Mikael Morin  <mikael@gcc.gnu.org>
+
+       * trans-array.c (gfc_conv_section_upper_bound): Remove
+       (gfc_conv_section_startstride): Don't set the upper bound in the 
+       vector subscript case.
+       (gfc_conv_loop_setup): Don't use gfc_conv_section_upper_bound
+
+2010-07-14  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/44925
+       * gfortran.h (gfc_is_data_pointer): Remove prototype.
+       * dependency.c (gfc_is_data_pointer): Make it static.
+       * intrinsic.texi: Update documentation on C_LOC.
+       * resolve.c (gfc_iso_c_func_interface): Fix pointer and target checks
+       and add a check for polymorphic variables.
+
+2010-07-14  Jakub Jelinek  <jakub@redhat.com>
+
+       * trans-expr.c (string_to_single_character): Also optimize
+       string literals containing a single char followed only by spaces.
+       (gfc_trans_string_copy): Remove redundant string_to_single_character
+       calls.
+
+       * trans-decl.c (gfc_build_intrinsic_function_decls,
+       gfc_build_builtin_function_decls): Mark functions as
+       DECL_PURE_P or TREE_READONLY.
+
+2010-07-13  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * trans-decl.c (build_entry_thunks): Call build_call_expr_loc_vec
+       instead of build_function_call_expr.
+       * trans-intrinsic.c (gfc_conv_intrinsic_sr_kind): Likewise.
+
+2010-07-13  Tobias Burnus  <burnus@net-b.de>
+           Daniel Franke  <franke.daniel@gmail.com>
+
+       PR fortran/43665
+       * trans.h (gfc_build_library_function_decl_with_spec): New prototype.
+       * trans-decl.c (gfc_build_library_function_decl_with_spec): Removed
+       static.
+       * trans-io (gfc_build_io_library_fndecls): Add "fn spec" annotations.
+
+2010-07-13  Daniel Franke  <franke.daniel@gmail.com>
+           Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/43665
+       * trans-decl.c (gfc_build_intrinsic_function_decls): Add
+       noclobber/noescape annotations to function calls.
+       (gfc_build_builtin_function_decls): Likewise.
+
+2010-07-13  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/44434
+       PR fortran/44565
+       PR fortran/43945
+       PR fortran/44869
+       * gfortran.h (gfc_find_derived_vtab): Modified prototype.
+       * class.c (gfc_build_class_symbol): Modified call to
+       'gfc_find_derived_vtab'.
+       (add_proc_component): Removed, moved code into 'add_proc_comp'.
+       (add_proc_comps): Renamed to 'add_proc_comp', removed treatment of
+       generics.
+       (add_procs_to_declared_vtab1): Removed unnecessary argument 'resolved'.
+       Removed treatment of generics.
+       (copy_vtab_proc_comps): Removed unnecessary argument 'resolved'.
+       Call 'add_proc_comp' instead of duplicating code.
+       (add_procs_to_declared_vtab): Removed unnecessary arguments 'resolved'
+       and 'declared'.
+       (add_generic_specifics,add_generics_to_declared_vtab): Removed.
+       (gfc_find_derived_vtab): Removed unnecessary argument 'resolved'.
+       Removed treatment of generics.
+       * iresolve.c (gfc_resolve_extends_type_of): Modified call to
+       'gfc_find_derived_vtab'.
+       * resolve.c (resolve_typebound_function,resolve_typebound_subroutine):
+       Removed treatment of generics.
+       (resolve_select_type,resolve_fl_derived): Modified call to
+       'gfc_find_derived_vtab'.
+       * trans-decl.c (gfc_get_symbol_decl): Ditto.
+       * trans-expr.c (gfc_conv_derived_to_class,gfc_trans_class_assign):
+       Ditto.
+       * trans-stmt.c (gfc_trans_allocate): Ditto.
+
+2010-07-12  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR fortran/37077
+       * trans-io.c (build_dt): Set common.unit to flag chracter(kind=4)
+       internal unit.
+
+2010-07-12  Mikael Morin  <mikael@gcc.gnu.org>
+
+       * expr.c (gfc_get_int_expr): Don't initialize mpfr data twice.
+       * resolve.c (build_default_init_expr): Ditto.
+
+2010-07-11  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/44702
+       * module.c (sort_iso_c_rename_list): Remove.
+       (import_iso_c_binding_module,use_iso_fortran_env_module):
+       Allow multiple imports of the same symbol.
+
+2010-07-11  Mikael Morin  <mikael@gcc.gnu.org>
+
+       * arith.c (gfc_arith_done_1): Release mpfr internal caches.
+
+2010-07-11  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/44869
+       * decl.c (build_sym,attr_decl1): Only build the class container if the
+       symbol has sufficient attributes.
+       * expr.c (gfc_check_pointer_assign): Use class_pointer instead of
+       pointer attribute for classes.
+       * match.c (gfc_match_allocate,gfc_match_deallocate): Ditto.
+       * module.c (MOD_VERSION): Bump.
+       (enum ab_attribute,attr_bits): Add AB_CLASS_POINTER.
+       (mio_symbol_attribute): Handle class_pointer attribute.
+       * parse.c (parse_derived): Use class_pointer instead of pointer
+       attribute for classes.
+       * primary.c (gfc_variable_attr,gfc_expr_attr): Ditto.
+       * resolve.c (resolve_structure_cons,resolve_deallocate_expr,
+       resolve_allocate_expr,resolve_fl_derived): Ditto.
+       (resolve_fl_var_and_proc): Check for class_ok attribute.
+
+2010-07-10  Mikael Morin  <mikael@gcc.gnu.org>
+
+       * trans-io.c (gfc_build_st_parameter): Update calls to
+       gfc_add_field_to_struct.
+       * trans-stmt.c (ADD_FIELD): Ditto.
+       * trans-types.c
+       (gfc_get_derived_type): Ditto. Don't create backend_decl for C_PTR's
+       C_ADDRESS field.
+       (gfc_add_field_to_struct_1): Set TYPE_FIELDS(context) instead of
+       fieldlist, remove fieldlist from argument list.
+       (gfc_add_field_to_struct): Update call to gfc_add_field_to_struct_1
+       and remove fieldlist from argument list.
+       (gfc_get_desc_dim_type, gfc_get_array_descriptor_base,
+       gfc_get_mixed_entry_union): Move setting
+       TYPE_FIELDS to gfc_add_field_to_struct_1 and update calls to it.
+       * trans-types.h (gfc_add_field_to_struct): Update prototype.
+
+2010-07-10  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/44773
+       * trans-expr.c (arrayfunc_assign_needs_temporary): No temporary
+       if the lhs has never been host associated, as well as not being
+       use associated, a pointer or a target.
+       * resolve.c (resolve_variable): Mark variables that are host
+       associated.
+       * gfortran.h: Add the host_assoc bit to the symbol_attribute
+       structure.
+
+2010-07-09  Janus Weil  <janus@gcc.gnu.org>
+
+       * intrinsic.texi: Add documentation for SAME_TYPE_AS, EXTENDS_TYPE_OF,
+       STORAGE_SIZE, C_NULL_PTR and C_NULL_FUNPTR. Modify documentation of
+       SIZEOF and C_SIZEOF.
+
+2010-07-08  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/44649
+       * gfortran.h (gfc_isym_id): Add GFC_ISYM_C_SIZEOF,GFC_ISYM_STORAGE_SIZE.
+       * intrinsic.h (gfc_check_c_sizeof,gfc_check_storage_size,
+       gfc_resolve_storage_size): New prototypes.
+       * check.c (gfc_check_c_sizeof,gfc_check_storage_size): New functions.
+       * intrinsic.c (add_functions): Add STORAGE_SIZE.
+       * iresolve.c (gfc_resolve_storage_size): New function.
+       * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Handle polymorphic
+       arguments.
+       (gfc_conv_intrinsic_storage_size): New function.
+       (gfc_conv_intrinsic_function): Handle STORAGE_SIZE.
+
+2010-07-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR fortran/44847
+       * match.c (match_exit_cycle): Error on EXIT also from collapsed
+       !$omp do loops.  Error on CYCLE to non-innermost collapsed
+       !$omp do loops.
+
+2010-07-08  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/18918
+       * array.c (gfc_match_array_ref): Better error message for
+       coarrays with too few ranks.
+       (match_subscript): Move one diagnostic to caller.
+       * gfortran.h (gfc_get_corank): Add prottype.
+       * expr.c (gfc_get_corank): New function.
+       * iresolve.c (resolve_bound): Fix rank for cobounds.
+       (gfc_resolve_lbound,gfc_resolve_lcobound, gfc_resolve_ubound,
+       gfc_resolve_ucobound, gfc_resolve_this_image): Update
+       resolve_bound call.
+
+2010-07-06  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/44742
+       * array.c (gfc_expand_constructor): Add optional diagnostic.
+       * gfortran.h (gfc_expand_constructor): Update prototype.
+       * expr.c (gfc_simplify_expr, check_init_expr,
+       gfc_reduce_init_expr): Update gfc_expand_constructor call.
+       * resolve.c (gfc_resolve_expr): Ditto.
+
+2010-07-06  Tobias Burnus  <burnus@net-b.de>
+
+       * trans-decl.c: Include diagnostic-core.h besides toplev.h.
+       * trans-intrinsic.c: Ditto.
+       * trans-types.c: Ditto.
+       * convert.c: Include diagnostic-core.h instead of toplev.h.
+       * options.c: Ditto.
+       * trans-array.c: Ditto.
+       * trans-const.c: Ditto.
+       * trans-expr.c: Ditto.
+       * trans-io.c: Ditto.
+       * trans-openmp.c: Ditto.
+       * trans.c: Ditto.
+
+2010-07-06  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/PR44693
+       * check.c (dim_rank_check):  Also check intrinsic functions.
+       Adjust permissible rank for functions which reduce the rank of
+       their argument.  Spread is an exception, where DIM can
+       be one larger than the rank of array.
+
+2010-07-05  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/44797
+       * fortran/io.c (resolve_tag): Check EXIST tag is a default logical.
+
+2010-07-05  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/44596
+       * trans-types.c (gfc_get_derived_type): Derived type fields
+       with the vtype attribute must have TYPE_REF_CAN_ALIAS_ALL set
+       but build_pointer_type_for_mode must be used for this.
+
+2010-07-05  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * trans.h (gfc_conv_procedure_call): Take a VEC instead of a tree.
+       * trans-intrinsic.c (gfc_conv_intrinsic_funcall): Adjust for new
+       type of gfc_conv_procedure_call.
+       (conv_generic_with_optional_char_arg): Likewise.
+       * trans-stmt.c (gfc_trans_call): Likewise.
+       * trans-expr.c (gfc_conv_function_expr): Likewise.
+       (gfc_conv_procedure_call): Use build_call_vec instead of
+       build_call_list.
+
+2010-07-04  Daniel Kraft  <d@domob.eu>
+
+       * gfc-internals.texi (gfc_code): Document BLOCK and ASSOCIATE.
+
+2010-07-04  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/44596
+       PR fortran/44745
+       * trans-types.c (gfc_get_derived_type): Derived type fields
+       with the vtype attribute must have TYPE_REF_CAN_ALIAS_ALL set.
+
+2010-07-02  Mikael Morin  <mikael@gcc.gnu.org>
+
+       PR fortran/44662
+       * decl.c (match_procedure_in_type): Clear structure before using.
+       (gfc_match_generic): Ditto.
+
+2010-07-02  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * trans-types.h (gfc_add_field_to_struct): Add tree ** parameter.
+       * trans-types.c (gfc_add_field_to_struct_1): New function, most
+       of which comes from...
+       (gfc_add_field_to_struct): ...here.  Call it.  Add new parameter.
+       (gfc_get_desc_dim_type): Call gfc_add_field_to_struct_1 for
+       building fields.
+       (gfc_get_array_descriptor_base): Likewise.
+       (gfc_get_mixed_entry_union): Likewise.
+       (gfc_get_derived_type): Add extra chain parameter for
+       gfc_add_field_to_struct.
+       * trans-stmt.c (gfc_trans_character_select): Likewise.
+       * trans-io.c (gfc_build_st_parameter): Likewise.
+
+2010-06-29  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/44718
+       * resolve.c (is_external_proc): Prevent procedure pointers from being
+       regarded as external procedures.
+
+2010-06-29  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/44696
+       * trans-intrinsic.c (gfc_conv_associated): Handle polymorphic variables
+       passed as second argument of ASSOCIATED.
+
 2010-06-29  Paul Thomas  <pault@gcc.gnu.org>
 
        PR fortran/44582