X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Ffortran%2FChangeLog;h=dd809d9c23d7909b638fc03e3099e145942c9cfe;hb=895e6dfa853f665e87eb759d7230abbf28676b46;hp=1c29ff473b3813d7daf7a0e48dc4e58c3839850b;hpb=aea8962c06271d18c0807fc3632f5b56d07865d3;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 1c29ff473b3..dd809d9c23d 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,339 @@ +2010-03-14 Tobias Burnus + + 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 + + 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 result. + +2010-03-08 Janus Weil + + 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 + + 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 + + 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 + + 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 + + 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 + + PR fortran/43199 + * resolve.c (find_array_spec): Handle REF_COMPONENT with + CLASS components. + +2010-02-28 Tobias Burnus + + 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 + + PR fortran/43185 + * resolve.c (resolve_fl_variable_derived): Imply SAVE + for module variables for Fortran 2008. + +2010-02-25 Jakub Jelinek + + 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 + + PR fortran/43042 + * trans-expr.c (gfc_conv_initializer): Call directly + gfc_conv_constant for C_NULL_(FUN)PTR. + +2010-02-22 Paul Thomas + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + 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