OSDN Git Service

2010-03-14 Tobias Burnus <burnus@net-b.de>
[pf3gnuchains/gcc-fork.git] / gcc / fortran / ChangeLog
index af6dd52..dd809d9 100644 (file)
@@ -1,3 +1,186 @@
+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