OSDN Git Service

2009-08-15 Tobias Burnus <burnus@net-b.de>
[pf3gnuchains/gcc-fork.git] / gcc / fortran / ChangeLog
index a064c8a..8ed5945 100644 (file)
@@ -1,3 +1,123 @@
+2009-08-15  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/41080
+       * gfortranspec.c (lookup_option): Remove gfortran-specific
+       version of -dumpversion.
+
+2009-08-14  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/41070
+       * resolve.c (resolve_structure_cons): Make sure that ts.u.derived is
+       only used if type is BT_DERIVED.
+
+2009-08-13  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/40941
+       * gfortran.h (gfc_typespec): Put 'derived' and 'cl' into union.
+       * decl.c (build_struct): Make sure 'cl' is only used
+       if type is BT_CHARACTER.
+       * symbol.c (gfc_set_default_type): Ditto.
+       * resolve.c (resolve_symbol, resolve_fl_derived): Ditto.
+       (resolve_equivalence,resolve_equivalence_derived): Make sure 'derived'
+       is only used if type is BT_DERIVED.
+       * trans-io.c (transfer_expr): Make sure 'derived' is only used if type
+       is BT_DERIVED or BT_INTEGER (special case: C_PTR/C_FUNPTR).
+       * array.c: Mechanical replacements to accomodate union in gfc_typespec.
+       * check.c: Ditto.
+       * data.c: Ditto.
+       * decl.c: Ditto.
+       * dump-parse-tree.c: Ditto.
+       * expr.c: Ditto.
+       * interface.c: Ditto.
+       * iresolve.c: Ditto.
+       * match.c: Ditto.
+       * misc.c: Ditto.
+       * module.c: Ditto.
+       * openmp.c: Ditto.
+       * parse.c: Ditto.
+       * primary.c: Ditto.
+       * resolve.c: Ditto.
+       * simplify.c: Ditto.
+       * symbol.c: Ditto.
+       * target-memory.c: Ditto.
+       * trans-array.c: Ditto.
+       * trans-common.c: Ditto.
+       * trans-const.c: Ditto.
+       * trans-decl.c: Ditto.
+       * trans-expr.c: Ditto.
+       * trans-intrinsic.c: Ditto.
+       * trans-io.c: Ditto.
+       * trans-stmt.c: Ditto.
+       * trans-types.c: Ditto.
+
+2009-08-13  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/40995
+       * resolve.c (resolve_symbol): Move some checking code to
+       resolve_intrinsic, and call this from here.
+       (resolve_intrinsic): Some checking code moved here from resolve_symbol.
+       Make sure each intrinsic is only resolved once.
+
+2009-08-12  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/41034
+       * symbol.c (gfc_copy_attr): Merge bits instead of replace
+       bits in gfc_copy_attr.
+       * gfc_check_pointer_assign (gfc_check_pointer_assign):
+       Initialize ext_attr bits by zero.
+
+2009-08-11  Richard Guenther  <rguenther@suse.de>
+
+       * trans-types.c (gfc_get_derived_type): Do not clear TYPE_CANONICAL.
+
+2009-08-11  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/41022
+       * trans-expr.c (gfc_conv_procedure_call): Handle procedure pointer
+       components as actual arguments.
+
+2009-08-10  Daniel Kraft  <d@domob.eu>
+
+       PR fortran/37425
+       * gfortran.h (struct gfc_namespace): New fields tb_uop_root and tb_op.
+       (gfc_find_typebound_user_op): New routine.
+       (gfc_find_typebound_intrinsic_op): Ditto.
+       (gfc_check_operator_interface): Now public routine.
+       * decl.c (gfc_match_generic): Match OPERATOR(X) or ASSIGNMENT(=).
+       * interface.c (check_operator_interface): Made public, renamed to
+       `gfc_check_operator_interface' accordingly and hand in the interface
+       as gfc_symbol rather than gfc_interface so it is useful for type-bound
+       operators, too.  Return boolean result.
+       (gfc_check_interfaces): Adapt call to `check_operator_interface'.
+       * symbol.c (gfc_get_namespace): Initialize new field `tb_op'.
+       (gfc_free_namespace): Free `tb_uop_root'-based tree.
+       (find_typebound_proc_uop): New helper function.
+       (gfc_find_typebound_proc): Use it.
+       (gfc_find_typebound_user_op): New method.
+       (gfc_find_typebound_intrinsic_op): Ditto.
+       * resolve.c (resolve_tb_generic_targets): New helper function.
+       (resolve_typebound_generic): Use it.
+       (resolve_typebound_intrinsic_op), (resolve_typebound_user_op): New.
+       (resolve_typebound_procedures): Resolve operators, too.
+       (check_uop_procedure): New, code from gfc_resolve_uops.
+       (gfc_resolve_uops): Moved main code to new `check_uop_procedure'.
+
+2009-08-10  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/40940
+       * decl.c (gfc_match_type_spec): Match CLASS statement and warn about
+       missing polymorphism.
+       * gfortran.h (gfc_typespec): Add field 'is_class'.
+       * misc.c (gfc_clear_ts): Initialize 'is_class' to zero.
+       * resolve.c (type_is_extensible): New function to check if a derived
+       type is extensible.
+       (resolve_fl_variable_derived): Add error checks for CLASS variables.
+       (resolve_typebound_procedure): Disallow non-polymorphic passed-object
+       dummy arguments, turning warning into error.
+       (resolve_fl_derived): Use 'type_is_extensible'. Disallow non-polymorphic
+       passed-object dummy arguments for procedure pointer components,
+       turning warning into error. Add error check for CLASS components.
+
 2009-08-05  Tobias Burnus  <burnus@net-b.de>
 
        PR fortran/40955