OSDN Git Service

gcc/fortran/
[pf3gnuchains/gcc-fork.git] / gcc / fortran / ChangeLog
index 8b6c4ce..55fc753 100644 (file)
@@ -1,3 +1,208 @@
+2009-12-28 Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/42353
+       * symbol.c (gfc_find_derived_vtab): Make vtabs and vtypes private.
+
+2009-12-27  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+           Daniel Kraft  <d@domob.eu>
+
+       PR fortran/22552
+       * lang.opt (Wimplicit-procedure): New option.
+       * gfortran.h (struct gfc_option_t): New member `warn_implicit_procedure'
+       * options.c (gfc_handle_option): Handle -Wimplicit-procedure.
+       * interface.c (gfc_procedure_use): Warn about procedure never
+       explicitly declared if requested by the new flag.
+       * invoke.texi: Document new flag -Wimplicit-procedure.
+
+2009-12-17 Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/42144
+       * trans-expr.c (select_class_proc): Skip abstract base types.
+
+2009-12-16  Kazu Hirata  <kazu@codesourcery.com>
+
+       * gfc-internals.texi, gfortran.texi, invoke.texi: Fix typos.
+       Follow spelling conventions.
+
+2009-12-15  Tobias Burnus  <burnus@net-b.de>
+           Daniel Franke  <franke.daniel@gmail.com>
+
+       PR fortran/41235
+       * resolve.c (resolve_global_procedure): Add check for
+       presence of an explicit interface for nonconstant,
+       nonassumed character-length functions.
+       (resolve_fl_procedure): Remove check for nonconstant
+       character-length functions.
+
+2009-12-14  Daniel Franke  <franke.daniel@gmail.com>
+
+       PR fortran/42354
+       * expr.c (check_init_expr): Do not check for specification functions.
+
+2009-12-11 Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/42257
+       * module.c (write_dt_extensions): Check for accessibility.
+
+2009-12-11  Daniel Franke  <franke.daniel@gmail.com>
+
+       PR fortran/40290
+       * expr.c (gfc_type_convert_binary): Added warn-on-conversion flag,
+       passed on to gfc_convert_type_warn() instead of gfc_convert_type();
+       enabled warnings on all callers but ...
+       * arith.c (eval_intrinsic): Disabled warnings on implicit type
+       conversion.
+       * gfortran.h gfc_type_convert_binary): Adjusted prototype.
+
+2009-12-11 Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/42335
+       * symbol.c (select_type_insert_tmp): Add an extra check for
+       error recovery.
+
+2009-12-10  Daniel Franke  <franke.daniel@gmail.com>
+
+       PR fortran/40287
+       * iresolve.c (resolve_mask_arg): Disabled warning on conversion
+       to LOGICAL(1).
+
+2009-12-10  Daniel Franke  <franke.daniel@gmail.com>
+
+       PR fortran/41369
+       * parse.c (match_deferred_characteristics): Removed check for empty
+       types in function return values.
+
+2009-12-10  Daniel Franke  <franke.daniel@gmail.com>
+
+       PR fortran/34402
+       * expr.c (check_alloc_comp_init): New.
+       (check_init_expr): Verify that allocatable components
+       are not data-initalized.
+
+2008-12-08  Daniel Kraft  <d@domob.eu>
+
+       PR fortran/41177
+       * gfortran.h (struct symbol_attribute): New flag `class_pointer'.
+       * symbol.c (gfc_build_class_symbol): Set the new flag.
+       * resolve.c (update_compcall_arglist): Remove wrong check for
+       non-scalar base-object.
+       (check_typebound_baseobject): Add the correct version here as well
+       as some 'not implemented' message check in the old case.
+       (resolve_typebound_procedure): Check that the passed-object dummy
+       argument is scalar, non-pointer and non-allocatable as it should be.
+
+2009-12-08  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/40961
+       PR fortran/40377
+       * gfortran.texi (Non-Fortran Main Program): Add
+       _gfortran_set_fpe documentation.
+       (Interoperability with C): Mention array storage order.
+
+2009-12-07  Daniel Franke  <franke.daniel@gmail.com>
+
+       PR fortran/41940
+       * match.c (gfc_match_allocate): Improved error message for
+       allocatable scalars that are allocated with a shape.
+
+2009-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       PR other/40302
+       * arith.c: Remove HAVE_mpc* checks throughout.
+       * expr.c: Likewise.
+       * gfortran.h: Likewise.
+       * resolve.c: Likewise.
+       * simplify.c: Likewise.
+       * target-memory.c: Likewise.
+       * target-memory.h: Likewise.
+
+2009-12-06  Daniel Franke  <franke.daniel@gmail.com>
+
+       PR fortran/40904
+       * intrinsics.texi: Fixed description of COUNT.
+
+2009-12-01  Janne Blomqvist  <jb@gcc.gnu.org>
+
+       PR fortran/42131
+       * trans-stmt.c (gfc_trans_do): Sign test using ternary operator.
+
+2009-11-30  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/42053
+       * resolve.c (resolve_select_type): Check for duplicate CLASS IS blocks.
+
+2009-11-30  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/41631
+       * decl.c (gfc_match_derived_decl): Set extension level.
+       * gfortran.h (symbol_attribute): Expand 'extension' bit field to 8 bit.
+       * iresolve.c (gfc_resolve_extends_type_of): Return value of
+       'is_extension_of' has kind=4.
+       * match.c (select_type_set_tmp,gfc_match_class_is): Create temporary
+       for CLASS IS blocks.
+       * module.c (MOD_VERSION): Bump module version.
+       (ab_attribute,attr_bits): Remove AB_EXTENSION.
+       (mio_symbol_attribute): Handle expanded 'extension' field.
+       * resolve.c (resolve_select_type): Implement CLASS IS blocks.
+       (resolve_fl_variable_derived): Show correct type name.
+       * symbol.c (gfc_build_class_symbol): Set extension level.
+
+2009-11-30  Janus Weil  <janus@gcc.gnu.org>
+
+       * intrinsic.h (gfc_resolve_extends_type_of): Add prototype.
+       * intrinsic.c (add_functions): Use 'gfc_resolve_extends_type_of'.
+       * iresolve.c (gfc_resolve_extends_type_of): New function, which
+       replaces the call to EXTENDS_TYPE_OF by the library function
+       'is_extension_of' and modifies the arguments.
+       * trans-intrinsic.c (gfc_conv_extends_type_of): Removed.
+       (gfc_conv_intrinsic_function): FOR EXTENDS_TYPE_OF, don't call
+       gfc_conv_extends_type_of but gfc_conv_intrinsic_funcall.
+
+2009-11-30  Paul Thomas  <pault@gcc.gnu.org>
+           Janus Weil  <janus@gcc.gnu.org>
+
+       * decl.c (encapsulate_class_symbol): Replaced by
+       'gfc_build_class_symbol'.
+       (build_sym,build_struct): Call 'gfc_build_class_symbol'.
+       (gfc_match_derived_decl): Replace vindex by hash_value.
+       * dump-parse-tree.c (show_symbol): Replace vindex by hash_value.
+       * gfortran.h (symbol_attribute): Add field 'vtab'.
+       (gfc_symbol): Replace vindex by hash_value.
+       (gfc_class_esym_list): Ditto.
+       (gfc_get_derived_type,gfc_build_class_symbol,gfc_find_derived_vtab):
+       New prototypes.
+       * module.c (mio_symbol): Replace vindex by hash_value.
+       * resolve.c (vindex_expr): Rename to 'hash_value_expr'.
+       (resolve_class_compcall,resolve_class_typebound_call): Renamed
+       'vindex_expr'.
+       (resolve_select_type): Replace $vindex by $vptr->$hash.
+       * symbol.c (gfc_add_save): Handle vtab symbols.
+       (gfc_type_compatible): Rewrite.
+       (gfc_build_class_symbol): New function which replaces
+       'encapsulate_class_symbol'.
+       (gfc_find_derived_vtab): New function to set up a vtab symbol for a
+       derived type.
+       * trans-decl.c (gfc_create_module_variable): Handle vtab symbols.
+       * trans-expr.c (select_class_proc): Replace vindex by hash_value.
+       (gfc_conv_derived_to_class): New function to construct a temporary
+       CLASS variable from a derived type expression.
+       (gfc_conv_procedure_call): Call 'gfc_conv_derived_to_class'.
+       (gfc_conv_structure): Initialize the $extends and $size fields of
+       vtab symbols.
+       (gfc_trans_class_assign): Replace $vindex by $vptr. Remove the $size
+       assignment.
+       * trans-intrinsic.c (gfc_conv_same_type_as): Replace $vindex by
+       $vptr->$hash, and replace vindex by hash_value.
+       * trans-stmt.c (gfc_trans_allocate): Insert $vptr references, replace
+       $vindex by $vptr. Remove the $size assignment.
+       * trans-types.c (gfc_get_derived_type): Make it non-static.
+
+2009-11-30  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/42131
+       * trans-stmt.c (gfc_trans_do):  Calculate loop count
+       without if statements.
+
 2009-11-28  Jakub Jelinek  <jakub@redhat.com>
 
        * trans-common.c (create_common): Remove unused offset variable.