X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2Ffortran%2FChangeLog;h=5efa90cdcfa32ce3ecc3dfebfe1126bb8c3b3a3e;hp=09bfccfe003630197717b3e522fcb48948e1c642;hb=22c1d3019e6a942f8f11eb6cb3ec036343e8b6e3;hpb=cf210371e6e8faf320959db3a6ed010379e2d4e8 diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 09bfccfe003..5efa90cdcfa 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,226 @@ +2010-02-10 Joost VandeVondele + Tobias Burnus + + PR fortran/40823 + * decl.c (gfc_match_subroutine): Explicitly set sym->declared_at. + +2010-02-10 Tobias Burnus + + 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 + + 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 + + PR fortran/42999 + * array.c (gfc_constant_ac): Do not prevent expansion of constructors + with iterators. + +2010-02-09 Jakub Jelinek + + * module.c (fix_mio_expr): Declare sym. + +2010-02-09 Paul Thomas + + PR fortran/41869 + * module.c (fix_mio_expr): Fix for private generic procedures. + +2010-02-09 Daniel Kraft + + 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 + + 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 + + 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 + + PR fortran/42936 + * interface.c (compare_parameter): Disable rank-checking + for NULL(). + +2010-02-02 Tobias Burnus + + PR fortran/42650 + * parse.c (decode_specification_statement): Use sym->result not sym. + +2010-02-01 Tobias Burnus + + PR fortran/42922 + * decl.c (variable_decl): Allow default initializer in + TYPE declarations in PURE functions. + +2010-01-31 Janus Weil + + 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 + + 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 + + PR fortran/42858 + * array.c (gfc_array_dimen_size): Fix intrinsic procedure + check. + +2010-01-24 Paul Thomas + + 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 + + PR fortran/39304 + * array.c (gfc_array_dimen_size): Use correct specific + function in the check. + +2010-01-21 Paul Thomas + + 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 + + * module.c (mio_f2k_derived): Use enumerator as initializer of + enum variable. + + PR bootstrap/42812 + * gfortran.h (struct gfc_namespace) : Change to signed + bitfield of width 2. + +2010-01-19 Janus Weil + + 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 + + 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 + + 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 + + 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 + + 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 + + PR fortran/41478 + * trans-array.c (duplicate_allocatable): Static version of + gfc_duplicate_allocatable with provision to handle scalar + components. New boolean argument to switch off call to malloc + if true. + (gfc_duplicate_allocatable): New function to call above with + new argument false. + (gfc_copy_allocatable_data): New function to call above with + new argument true. + (structure_alloc_comps): Do not apply indirect reference to + scalar pointers. Add new section to copy allocatable components + of arrays. Extend copying of allocatable components to include + scalars. + (gfc_copy_only_alloc_comp): New function to copy allocatable + component derived types, without allocating the base structure. + * trans-array.h : Add primitive for gfc_copy_allocatable_data. + Add primitive for gfc_copy_only_alloc_comp. + * trans-expr.c (gfc_conv_procedure_call): After calls to + transformational functions with results that are derived types + with allocatable components, copy the components in the result. + (gfc_trans_arrayfunc_assign): Deallocate allocatable components + of lhs derived types before allocation. + +2010-01-14 Paul Thomas + + PR fortran/42481 + * module.c (load_generic_interfaces): If a procedure that is + use associated but not generic is given an interface that + includes itself, then make it generic. + 2010-01-11 Joseph Myers Shujing Zhao