OSDN Git Service

2010-04-08 Bud Davis <bdavis9659@sbcglobal.net>
[pf3gnuchains/gcc-fork.git] / gcc / fortran / ChangeLog
index 204d242..0b6bfae 100644 (file)
@@ -1,3 +1,629 @@
+2010-04-08  Bud Davis  <bdavis9659@sbcglobal.net>
+
+       PR fortran/28039
+       * io.c (check_format_string):  Added check for additional non 
+       blank characters after the format string was successfully 
+       parsed.
+       * io.c (check_format): Changed the error messages for positive
+       int required and period required to drop through the error logic
+       and report with gfc_error instead of gfc_error_now.  Corrected
+       format postion for hollerith strings.
+
+2010-04-08  Tobias Burnus  <burnus@net-b.de>
+
+       * module.c (use_iso_fortran_env_module): Fix standard check.
+
+2010-04-07  Jakub Jelinek  <jakub@redhat.com>
+
+       * parse.c (parse_derived, parse_enum): Avoid set but not used
+       warning.
+
+2010-04-07  Janne Blomqvist  <jb@gcc.gnu.org>
+
+       PR fortran/40539
+       * gfortran.texi: Add section about representation of
+       LOGICAL variables.
+
+2010-04-07  Simon Baldwin  <simonb@google.com>
+
+       * cpp.c (cb_cpp_error): Add warning reason argument, set a value
+       for diagnostic_override_option_index if CPP_W_WARNING_DIRECTIVE.
+
+2010-04-07  Richard Guenther  <rguenther@suse.de>
+
+       * options.c (gfc_init_options): Do not set.
+
+2010-04-06  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/18918
+       * array.c (gfc_match_array_spec): Add error for -fcoarray=none.
+       * match.c (gfc_match_critical, sync_statement): Ditto.
+       * gfortran.h (gfc_fcoarray): New enum.
+       (gfc_option_t): Use it.
+       * lang.opt (fcoarray): Add new flag.
+       * invoke.texi (fcoarray): Document it.
+       * options.c (gfc_init_options,gfc_handle_option): Handle -fcoarray=.
+       (gfc_handle_coarray_option): New function.
+
+2010-04-06  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/18918
+       * gfortran.h (gfc_array_spec): Add cotype.
+       * array.c (gfc_match_array_spec,gfc_set_array_spec): Use it
+       and defer error diagnostic.
+       * resolve.c (resolve_fl_derived): Add missing check.
+       (resolve_symbol): Add cotype/type check.
+       * parse.c (parse_derived): Fix setting of coarray_comp.
+
+2010-04-06  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/18918
+       * array.c (gfc_free_array_spec,gfc_resolve_array_spec,
+       match_array_element_spec,gfc_copy_array_spec,
+       gfc_compare_array_spec): Include corank.
+       (match_array_element_spec,gfc_set_array_spec): Support codimension.
+       * decl.c (build_sym,build_struct,variable_decl,
+       match_attr_spec,attr_decl1,cray_pointer_decl,
+       gfc_match_volatile): Add codimension.
+       (gfc_match_codimension): New function.
+       * dump-parse-tree.c (show_array_spec,show_attr): Support codimension.
+       * gfortran.h (symbol_attribute,gfc_array_spec): Ditto.
+       (gfc_add_codimension): New function prototype.
+       * match.h (gfc_match_codimension): New function prototype.
+       (gfc_match_array_spec): Update prototype
+       * match.c (gfc_match_common): Update gfc_match_array_spec call.
+       * module.c (MOD_VERSION): Bump.
+       (mio_symbol_attribute): Support coarray attributes.
+       (mio_array_spec): Add corank support.
+       * parse.c (decode_specification_statement,decode_statement,
+       parse_derived): Add coarray support.
+       * resolve.c (resolve_formal_arglist, was_declared,
+       is_non_constant_shape_array, resolve_fl_variable,
+       resolve_fl_derived, resolve_symbol): Add coarray support.
+       * symbol.c (check_conflict, gfc_add_volatile, gfc_copy_attr,
+       gfc_build_class_symbol): Add coarray support.
+       (gfc_add_codimension): New function.
+
+2010-04-06  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/18918
+       * iso-fortran-env.def: Add the integer parameters atomic_int_kind,
+       atomic_logical_kind, iostat_inquire_internal_unit, stat_locked,
+       stat_locked_other_image, stat_stopped_image and stat_unlocked of
+       Fortran 2008.
+       * intrinsic.texi (iso_fortran_env): Ditto.
+       * libgfortran.h (libgfortran_stat_codes): New enum.
+       * module.c (use_iso_fortran_env_module): Honour -std= when loading
+       constants from the intrinsic module.
+
+2010-04-06  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/39997
+       * intrinsic.c (add_functions): Add num_images.
+       * decl.c (gfc_match_end): Handle END CRITICAL.
+       * intrinsic.h (gfc_simplify_num_images): Add prototype.
+       * dump-parse-tree.c (show_code_node): Dump CRITICAL, ERROR STOP,
+       and SYNC.
+       * gfortran.h (gfc_statement): Add enum items for those.
+       (gfc_exec_op) Ditto.
+       (gfc_isym_id): Add num_images.
+       * trans-stmt.c (gfc_trans_stop): Handle ERROR STOP.
+       (gfc_trans_sync,gfc_trans_critical): New functions.
+       * trans-stmt.h (gfc_trans_stop,gfc_trans_sync,
+       gfc_trans_critical): Add/update prototypes.
+       * trans.c (gfc_trans_code): Handle CRITICAL, ERROR STOP,
+       and SYNC statements.
+       * trans.h (gfor_fndecl_error_stop_string) Add variable.
+       * resolve.c (resolve_sync): Add function.
+       (gfc_resolve_blocks): Handle CRITICAL.
+       (resolve_code): Handle CRITICAL, ERROR STOP,
+       (resolve_branch): Add CRITICAL constraint check.
+       and SYNC statements.
+       * st.c (gfc_free_statement): Add new statements.
+       * trans-decl.c (gfor_fndecl_error_stop_string): Global variable.
+       (gfc_build_builtin_function_decls): Initialize it.
+       * match.c (gfc_match_if): Handle ERROR STOP and SYNC.
+       (gfc_match_critical, gfc_match_error_stop, sync_statement,
+       gfc_match_sync_all, gfc_match_sync_images, gfc_match_sync_memory):
+       New functions.
+       (match_exit_cycle): Handle CRITICAL constraint.
+       (gfc_match_stopcode): Handle ERROR STOP.
+       * match.h (gfc_match_critical, gfc_match_error_stop,
+       gfc_match_sync_all, gfc_match_sync_images,
+       gfc_match_sync_memory): Add prototype.
+       * parse.c (decode_statement, gfc_ascii_statement,
+       parse_executable): Handle new statements.
+       (parse_critical_block): New function.
+       * parse.h (gfc_compile_state): Add COMP_CRITICAL.
+       * intrinsic.texi (num_images): Document new function.
+       * simplify.c (gfc_simplify_num_images): Add function.
+
+2010-04-06  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/43178
+       * trans-array.c (gfc_conv_expr_descriptor): Update
+       gfc_trans_scalar_assign call.
+       (has_default_initializer): New function.
+       (gfc_trans_deferred_array): Nullify less often.
+       * trans-expr.c (gfc_conv_subref_array_arg,
+       gfc_trans_subcomponent_assign): Update call to
+       gfc_trans_scalar_assign.
+       (gfc_trans_scalar_assign): Add parameter and pass it on.
+       (gfc_trans_assignment_1): Optionally, do not dealloc before
+       assignment.
+       * trans-openmp.c (gfc_trans_omp_array_reduction): Update
+       call to gfc_trans_scalar_assign.
+       * trans-decl.c (gfc_get_symbol_decl): Do not always apply
+       initializer to static variables.
+       (gfc_init_default_dt): Add dealloc parameter and pass it on.
+       * trans-stmt.c (forall_make_variable_temp,
+       generate_loop_for_temp_to_lhs, generate_loop_for_rhs_to_temp,
+       gfc_trans_forall_1, gfc_trans_where_assign, gfc_trans_where_3
+       gfc_trans_allocate): Update gfc_trans_assignment call.
+       * trans.h (gfc_trans_scalar_assign, gfc_init_default_dt,
+       gfc_init_default_dt, gfc_trans_assignment): Add bool dealloc
+       parameter to prototype.
+
+2010-03-31  Paul Thomas  <pault@gcc.gnu.org>
+
+       * ioparm.def : Update copyright.
+       * lang.opt : ditto
+       * trans-array.c : ditto
+       * trans-array.h : ditto
+       * expr.c: ditto
+       * trans-types.c: ditto
+       * dependency.c : ditto
+       * gfortran.h : ditto
+       * options.c : ditto
+       * trans-io.c : ditto
+       * trans-intrinsic.c : ditto
+       * libgfortran.h : ditto
+       * invoke.texi : ditto
+       * intrinsic.texi : ditto
+       * trans.c : ditto
+       * trans.h : ditto
+       * intrinsic.c : ditto
+       * interface.c : ditto
+       * iresolve.c : ditto
+       * trans-stmt.c : ditto
+       * trans-stmt.h : ditto
+       * parse,c : ditto
+       * match.h : ditto
+       * error.c : ditto
+
+2010-03-20  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/43450
+       * trans-decl.c (gfc_create_module_variable): With -fwhole-file
+       do not assert the context of derived types.
+
+2010-03-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR fortran/43409
+       * ioparm.def: Change inquire size variable to type pointer to
+       GFC_IO_INT type.
+
+2010-03-18  Paul Thomas  <pault@gcc.gnu.org>
+
+        PR fortran/43039
+        * trans-expr.c (conv_parent_component_references): Ensure that
+       'dt' has a backend_decl.
+
+        PR fortran/43043
+        * trans-expr.c (gfc_conv_structure): Ensure that the derived
+       type has a backend_decl.
+
+        PR fortran/43044
+        * resolve.c (resolve_global_procedure): Check that the 'cl'
+       structure is not NULL.
+
+2010-03-18  Shujing Zhao  <pearly.zhao@oracle.com>
+
+       * lang.opt (-ffixed-line-length-, ffree-line-length-): Remove
+       redundant tab.
+
+2010-03-17  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/43331
+       * trans-array.c (gfc_conv_array_index_offset,gfc_conv_array_ref,
+       gfc_conv_ss_startstride): Remove no-longer-needed cp_was_assumed
+       check.
+       * decl.c (gfc_match_derived_decl): Don't mark assumed-size Cray
+       pointees as having explizit size.
+       * expr.c (gfc_check_assign): Remove now unreachable Cray pointee
+       check.
+       * trans-types.c (gfc_is_nodesc_array): Add cp_was_assumed to assert.
+       (gfc_sym_type): Don't mark Cray pointees as restricted pointers.
+       * resolve.c (resolve_symbol): Handle cp_was_assumed.
+       * trans-decl.c (gfc_trans_deferred_vars): Ditto.
+       (gfc_finish_var_decl): Don't mark Cray pointees as restricted
+       pointers.
+
+2010-03-14  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/43362
+       * resolve.c (resolve_structure_cons): Add missing PURE constraint.
+       (resolve_ordinary_assign): Add check to avoid segfault.
+
+2010-03-12  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/43291
+       PR fortran/43326
+       * resolve.c (resolve_compcall): Add new boolean dummy argument
+       'class_members'. Only resolve expression at end if false.
+       Remove redundant, static variable 'class_object'.
+       (check_class_members): Add extra argument to call of
+       resolve_compcall.
+       (resolve_typebound_function): Renamed resolve_class_compcall.
+       Do all the detection of class references here. Correct calls to
+       resolve_compcall for extra argument.
+       (resolve_typebound_subroutine): resolve_class_typebound_call
+       renamed. Otherwise same as resolve_typebound_function.
+       (gfc_resolve_expr): Call resolve_typebound_function.
+       (resolve_code): Call resolve_typebound_subroutine.
+
+2010-03-10  Tobias Burnus  <burnus@net-b.de
+
+       PR fortran/43303
+       * symbol.c (get_iso_c_sym): Set sym->result.
+
+2010-03-08  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/43256
+       * resolve.c (resolve_compcall): Don't set 'value.function.name' here
+       for TBPs, otherwise they will not be resolved properly.
+       (resolve_function): Use 'value.function.esym' instead of
+       'value.function.name' to check if we're dealing with a TBP.
+       (check_class_members): Set correct type of passed object for all TBPs,
+       not only generic ones, except if the type is abstract.
+
+2010-03-04  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/43244
+       * decl.c (gfc_match_final_decl): Make sure variable names starting with
+       'final...' are not misinterpreted as FINAL statements.
+
+2010-03-03  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/43243
+       * trans-array.c (gfc_conv_array_parameter): Contiguous refs to
+       allocatable ultimate components do not need temporaries, whilst
+       ultimate pointer components do.
+
+2010-03-03  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/43169
+       * resolve.c (resolve_code): Correctly set gfc_current_ns for
+       EXEC_SELECT_TYPE.
+       (gfc_impure_variable): Make it work with sub-namespaces (BLOCK etc).
+       (gfc_pure): Ditto.
+
+2010-03-02  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/43180
+       * trans-array.c (gfc_conv_array_parameter): A full array of
+       derived type need not be restricted to a symbol without an
+       array spec to use the call to gfc_conv_expr_descriptor.
+
+       PR fortran/43173
+       * trans-array.c (gfc_conv_array_parameter): Contiguous refs to
+       allocatable arrays do not need temporaries.
+
+2010-03-01  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/43199
+       * resolve.c (find_array_spec): Handle REF_COMPONENT with
+       CLASS components.
+
+2010-02-28  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/43205
+       * trans-expr.c (is_zero_initializer_p): Move up in the file.
+       (gfc_conv_initializer): Handle zero initializer as special case.
+
+2010-02-27  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/43185
+       * resolve.c (resolve_fl_variable_derived): Imply SAVE
+       for module variables for Fortran 2008.
+
+2010-02-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/43166
+       * trans-common.c (build_common_decl): Also update DECL_MODE,
+       and DECL_SIZE when encountering a larger common block and call
+       layout_decl.
+
+2010-02-24  Tobias Burnus  <burnus@net-b.de>              
+
+       PR fortran/43042
+       * trans-expr.c (gfc_conv_initializer): Call directly
+       gfc_conv_constant for C_NULL_(FUN)PTR.              
+
+2010-02-22  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/43072
+       * dependency.c (gfc_full_array_ref_p): Check for contiguous by
+       checking the rest of the dimensions for elements.
+
+2010-02-21  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/35259
+       * gfortran.h (gfc_option_t): New flag -fprotect-parens.
+       * lang.opt: Ditto.
+       * option.c (gfc_init_options,gfc_handle_option): Ditto.
+       * trans-expr.c (gfc_conv_expr_op): Use the flag.
+       * invoke.texi: Document new -fno-protect-parens flag.
+
+2010-02-20  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/36932
+       PR fortran/36933
+       PR fortran/43072
+       PR fortran/43111
+       * dependency.c (gfc_check_argument_var_dependency): Use enum
+       value instead of arithmetic vaue for 'elemental'.
+       (check_data_pointer_types): New function.
+       (gfc_check_dependency): Call check_data_pointer_types.
+       * trans-array.h : Change fourth argument of
+       gfc_conv_array_parameter to boolean.
+       * trans-array.c (gfc_conv_array_parameter): A contiguous array
+       can be a dummy but it must not be assumed shape or deferred.
+       Change fourth argument to boolean. Array constructor exprs will
+       always be contiguous and do not need packing and unpacking.
+       * trans-expr.c (gfc_conv_procedure_call): Clean up some white
+       space and change fourth argument of gfc_conv_array_parameter
+       to boolean.
+       (gfc_trans_arrayfunc_assign): Change fourth argument of
+       gfc_conv_array_parameter to boolean.
+       * trans-io.c (gfc_convert_array_to_string): The same.
+       * trans-intrinsic.c (gfc_conv_intrinsic_loc): The same.
+
+2010-02-20  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/42958
+       * libgfortran.h: Add GFC_RTCHECK_MEM.
+       * invoke.texi (-fcheck=): Document -fcheck=mem.
+       * tranc.c (gfc_call_malloc): Remove negative-size run-time error
+       and enable malloc-success check only with -fcheck=mem.
+       * option.c (gfc_handle_runtime_check_option): Add -fcheck=mem.
+
+2010-02-16  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/43040
+       * gfortran.h (gfc_isym_id): Rename GFS_ISYM_GAMMA to GFS_ISYM_TGAMMA.
+       * intrinsic.c (add_functions): Ditto.
+       * iresolve.c (gfc_resolve_gamma): Call tgamma instead of gamma.
+       * mathbuiltins.def: Use TGAMMA instead of GAMMA with "tgamma".
+
+2010-02-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR fortran/32382
+       * trans-stmt.h: Add prototype for gfc_trans_code_cond. Add tree cond to
+       gfc_trans_do prototype.
+       * trans-stmt.c (gfc_trans_simple_do): Add optional argument to pass in
+       a loop exit condition.  If exit condition is given, build the loop exit
+       code, checking IO results of implied do loops in READ and WRITE.
+       (gfc_trans_do): Likewise.
+       * trans.c (trans_code): New static work function, previously
+       gfc_trans_code. Passes exit condition to gfc_trans_do.
+       (gfc_trans_code): Calls trans_code with NULL_TREE condition.
+       (gfc_trans_code_cond): Calls trans_code with loop exit condition.
+       * trans-io.c (build_dt): Build an exit condition to allow checking IO
+       result status bits in the dtparm structure. Use this condition in call
+       to gfc_trans_code_cond.
+
+2010-02-13  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/41113
+       PR fortran/41117
+       * trans-array.c (gfc_conv_array_parameter): Use
+       gfc_full_array_ref_p to detect full and contiguous variable
+       arrays. Full array components and contiguous arrays do not need
+       internal_pack and internal_unpack.
+
+2010-02-11  Jakub Jelinek  <jakub@redhat.com>
+
+       PR fortran/43030
+       * resolve.c (gfc_resolve_dim_arg): Call gfc_clear_ts.
+
+       PR fortran/43029
+       * decl.c (enumerator_decl): Don't call gfc_free_enum_history
+       here.
+       (gfc_match_enumerator_def): But here whenever enumerator_decl returns
+       MATCH_ERROR.
+
+2010-02-10  Joost VandeVondele <jv244@cam.ac.uk>
+           Tobias Burnus <burnus@net-b.de>
+
+       PR fortran/40823
+       * decl.c (gfc_match_subroutine): Explicitly set sym->declared_at.
+
+2010-02-10  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/43015
+       * trans-decl.c (gfc_generate_function_code): Only check
+       actual-vs.-dummy character bounds if not bind(C).
+
+2010-02-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR fortran/42309
+       * trans-expr.c (gfc_conv_subref_array_arg): Avoid accessing
+       info->dimen after info has been freed.
+
+2010-02-09  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR fortran/42999
+       * array.c (gfc_constant_ac): Do not prevent expansion of constructors
+       with iterators.
+
+2010-02-09  Jakub Jelinek  <jakub@redhat.com>
+
+       * module.c (fix_mio_expr): Declare sym.
+
+2010-02-09  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/41869
+       * module.c (fix_mio_expr): Fix for private generic procedures.
+
+2010-02-09  Daniel Kraft  <d@domob.eu>
+
+       PR fortran/39171
+       * resolve.c (resolve_charlen): Change warning about negative CHARACTER
+       length to be correct and issue only with -Wsurprising.
+       * invoke.texi (Wsurprising): Mention this new warning that is
+       turned on by -Wsurprising.
+
+2010-02-09  Daniel Kraft  <d@domob.eu>
+
+       PR fortran/41507
+       * intrinsic.texi (MAXVAL): Remove wrong claim that array argument
+       can be CHARACTER type.
+       (MINVAL), (MAXLOC), (MINLOC): Ditto.
+
+2010-02-05  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/42309
+       * trans-expr.c (gfc_conv_subref_array_arg): Add new argument
+       'formal_ptr'. If this is true, give returned descriptor unity
+       lbounds, in all dimensions, and the appropriate offset.
+       (gfc_conv_procedure_call); If formal is a pointer, set the last
+       argument of gfc_conv_subref_array_arg to true.
+       * trans.h : Add last argument for gfc_conv_subref_array_arg.
+       * trans-io.c (set_internal_unit, gfc_trans_transfer): Set the
+       new arg of gfc_conv_subref_array_arg to false.
+       * trans-stmt.c (forall_make_variable_temp): The same.
+
+2010-02-03  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/42936
+       * interface.c (compare_parameter): Disable rank-checking
+       for NULL().
+
+2010-02-02  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/42650
+       * parse.c (decode_specification_statement): Use sym->result not sym.
+
+2010-02-01  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/42922
+       * decl.c (variable_decl): Allow default initializer in
+       TYPE declarations in PURE functions.
+
+2010-01-31  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/42888
+       * resolve.c (resolve_allocate_expr): Move default initialization code
+       here from gfc_trans_allocate.
+       * trans.c (gfc_trans_code): Call gfc_trans_class_assign also for
+       EXEC_INIT_ASSIGN.
+       * trans-expr.c (gfc_trans_class_assign): Handle default initialization
+       of CLASS variables via memcpy.
+       * trans-stmt.c (gfc_trans_allocate): Move default initialization code
+       to resolve_allocate_expr.
+
+2010-01-31  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/38324
+       * expr.c (gfc_get_full_arrayspec_from_expr): New function.
+       * gfortran.h : Add prototype for above.
+       * trans-expr.c (gfc_trans_alloc_subarray_assign): New function.
+       (gfc_trans_subcomponent_assign): Call new function to replace
+       the code to deal with allocatable components.
+       * trans-intrinsic.c (gfc_conv_intrinsic_bound): Call
+       gfc_get_full_arrayspec_from_expr to replace existing code.
+
+2010-01-25  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/42858
+       * array.c (gfc_array_dimen_size): Fix intrinsic procedure
+       check.
+
+2010-01-24  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/41044
+       PR fortran/41167
+       * expr.c (remove_subobject_ref): If the constructor is NULL use
+       the expression as the source.
+       (simplify_const_ref): Change the type of expression if
+       there are component references.  Allow for substring to be at
+       the end of an arbitrarily long chain of references.  If an
+       element is found that is not in an EXPR_ARRAY, assume that this
+       is scalar initialization of array. Call remove_subobject_ref in
+       this case with NULL second argument.
+
+2010-01-24  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/39304
+       * array.c (gfc_array_dimen_size): Use correct specific
+       function in the check.
+
+2010-01-21  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/42736
+       * trans-stmt.c (gfc_conv_elemental_dependencies): If temporary
+       is required, turn any trailing array elements after a range
+       into ranges so that offsets can be calculated.
+
+2010-01-20  Joern Rennecke  <amylaar@spamcop.net>
+
+       * module.c (mio_f2k_derived): Use enumerator as initializer of
+       enum variable.
+
+       PR bootstrap/42812
+       * gfortran.h  (struct gfc_namespace) <resolved>: Change to signed
+       bitfield of width 2.
+
+2010-01-19  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/42804
+       * resolve.c (extract_compcall_passed_object): Set locus for
+       passed-object argument.
+       (extract_ppc_passed_object): Set locus and correctly remove PPC
+       reference.
+
+2010-01-19  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/42783
+       * trans-decl.c (add_argument_checking): Do not use the backend
+       decl directly to test for the presence of an optional dummy
+       argument.  Use gfc_conv_expr_present, remembering to set the
+       symbol referenced.
+
+       PR fortran/42772
+       * trans-decl.c (gfc_generate_function_code): Small white space
+       changes. If 'recurcheckvar' is NULL do not try to reset it.
+
+2010-01-19  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/42545
+       * resolve.c (resolve_fl_derived): Set the accessibility of the parent
+       component for extended types.
+       * symbol.c (gfc_find_component): Remove a wrongly-worded error message
+       and take care of parent component accessibility.
+
+2010-01-17  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/42677
+       * gfortran.h (symbol_attribute): Remove 'ambiguous_interfaces'.
+       * interface.c (check_interface1): Move a warning message here from
+       resolve_fl_procedure.
+       (check_sym_interfaces): Removed 'attr.ambiguous_interfaces'.
+       * module.c (read_module): Remove call to gfc_check_interfaces, since
+       this comes too early here.
+       * resolve.c (resolve_fl_procedure): Move warning message to
+       check_interface1.
+
+2010-01-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+       PR fortran/42684
+       * interface.c (check_interface1): Pass symbol name rather than NULL to
+       gfc_compare_interfaces. (gfc_compare_interfaces): Add assert to
+       trap MULL.
+       * resolve.c (check_generic_tbp_ambiguity): Pass symbol name rather
+       than NULL to gfc_compare_interfaces.
+
 2010-01-14  Paul Thomas  <pault@gcc.gnu.org>
 
         PR fortran/41478