OSDN Git Service

fortran/
[pf3gnuchains/gcc-fork.git] / gcc / fortran / ChangeLog
index f6b54d7..11cbdde 100644 (file)
@@ -1,3 +1,517 @@
+2014-03-29  Mikael Morin  <mikael@gcc.gnu.org>
+
+       PR fortran/60677
+       * trans-intrinsic.c (gfc_conv_intrinsic_ichar): Enlarge argument
+       list buffer.
+
+2014-03-29  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/60522
+       * frontend-passes.c (cfe_code):  Do not walk subtrees
+       for WHERE.
+
+2014-03-20  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/60543
+       PR fortran/60283
+       * gfortran.h (gfc_unset_implicit_pure): New prototype.
+       * resolve.c (gfc_unset_implicit_pure): New.
+       (resolve_structure_cons, resolve_function,
+       pure_subroutine, resolve_ordinary_assign): Use it.
+       * decl.c (match_old_style_init, gfc_match_data,
+       match_pointer_init, variable_decl): Ditto.
+       * expr.c (gfc_check_pointer_assign): Ditto.
+       * intrinsic.c (gfc_intrinsic_sub_interface): Ditto.
+       * io.c (match_vtag, gfc_match_open, gfc_match_close,
+       match_filepos, gfc_match_inquire, gfc_match_print,
+       gfc_match_wait, check_io_constraints): Ditto.
+       * match.c (gfc_match_critical, gfc_match_stopcode,
+       lock_unlock_statement, sync_statement, gfc_match_allocate,
+       gfc_match_deallocate): Ditto.
+       * parse.c (decode_omp_directive): Ditto.
+       * symbol.c (gfc_add_save): Ditto.
+
+2014-03-09  Janus Weil  <janus@gcc.gnu.org>
+
+       Backport from 4.8
+       2014-03-08  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/60450
+       * simplify.c (gfc_simplify_shape): Only clear shape if it was really
+       created successfully.
+
+2014-03-02  Mikael Morin  <mikael@gcc.gnu.org>
+
+       PR fortran/60341
+       * frontend-passes.c (optimize_comparison): Guard two union accesses
+       with the corresponding tag checks.
+
+2014-02-22  Mikael Morin  <mikael@gcc.gnu.org>
+
+       PR fortran/59599
+       * trans-intrinsic.c (gfc_conv_intrinsic_ichar): Calculate the
+       number of arguments.
+
+2014-02-20  Janus Weil  <janus@gcc.gnu.org>
+
+       Backport from mainline
+       2014-02-17  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/55907
+       * resolve.c (build_default_init_expr): Don't initialize character
+       variable if -fno-automatic is given.
+
+2014-02-08  Mikael Morin  <mikael@gcc.gnu.org>
+
+       PR fortran/57033
+       * primary.c (gfc_convert_to_structure_constructor): Avoid null pointer
+       dereference.
+
+2014-02-08  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/59906
+       * trans-array.c (gfc_add_loop_ss_code): In the case of character
+       SS_REFERENCE, use gfc_conv_string_parameter to ensure that a
+       pointer to the string is stored.
+       * trans-expr.c (gfc_conv_expr_reference): Likewise, use
+       gfc_conv_string_parameter to ensure that a pointer to is passed
+       to the elemental function.
+
+2014-02-03  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/59941
+       * expr.c (replace_comp): Check for isym to avoid ICE.
+
+2014-01-27  Mikael Morin  <mikael@gcc.gnu.org>
+
+       PR fortran/58007
+       * module.c (skip_list): Don't use default argument value.
+       (load_derived_extensions, read_module): Update callers.
+
+2014-01-26  Mikael Morin  <mikael@gcc.gnu.org>
+
+       PR fortran/58007
+       * module.c (fp2, find_pointer2): Remove.
+       (mio_component_ref): Don't forcedfully set the containing derived type
+       symbol for loading.  Remove unused argument.
+       (mio_ref): Update caller
+       (skip_list): New argument nest_level.  Initialize level with the new
+       argument.
+       (read_module): Add forced pointer components association for derived
+       type symbols.
+
+2014-01-11  Janus Weil  <janus@gcc.gnu.org>
+
+       Backport from mainline
+       2013-12-29  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/59612
+       PR fortran/57042
+       * dump-parse-tree.c (show_typespec): Check for charlen.
+       * invoke.texi: Fix documentation of -fdump-fortran-optimized and
+       -fdump-parse-tree.
+
+2013-11-17  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/58771
+       * trans-io.c (transfer_expr): If the backend_decl for a derived
+       type is missing, build it with gfc_typenode_for_spec.
+
+2013-11-02  Janus Weil  <janus@gcc.gnu.org>
+
+       Backport from mainline
+       2013-09-23  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/58355
+       * decl.c (check_extended_derived_type): Prevent segfault, modify error
+       message.
+
+2013-08-11  Janus Weil  <janus@gcc.gnu.org>
+
+       Backport from trunk:
+       2013-08-09  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/58058
+       * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Free the temporary
+       string, if necessary.
+
+2013-07-08  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/57785
+       * simplify.c (compute_dot_product): Complex conjugate for
+       dot_product.
+       (gfc_simplify_dot_product, gfc_simplify_matmul): Update call.
+
+2013-06-06  Tobias Burnus  <burnus@net-b.de>
+
+       Backport from mainline
+       2012-08-27  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/54370
+       * trans-stmt.c (gfc_trans_do_while): Don't change the logical
+       kind for negation of the condition.
+
+2013-06-01  Janus Weil  <janus@gcc.gnu.org>
+           Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/57217
+       * interface.c (check_dummy_characteristics): Symmetrize type check.
+
+2013-05-22  Janne Blomqvist  <jb@gcc.gnu.org>
+
+       * intrinsic.texi (RANDOM_SEED): Improve example.
+
+2013-05-07  Tobias Burnus  <burnus@net-b.de>
+
+       Backport from mainline
+       2013-05-02  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/57142
+       * simplify.c (gfc_simplify_size): Renamed from
+       simplify_size; fix kind=8 handling.
+       (gfc_simplify_size): New function.
+       (gfc_simplify_shape): Add range check.
+       * resolve.c (resolve_function): Fix handling
+       for ISYM_SIZE.
+
+2013-04-26  Janus Weil  <janus@gcc.gnu.org>
+
+       Backports from trunk:
+
+       PR fortran/56968
+       * expr.c (gfc_check_pointer_assign): Handle generic functions returning
+       procedure pointers.
+
+       PR fortran/53685
+       PR fortran/57022
+       * check.c (gfc_calculate_transfer_sizes): Fix for array-valued SOURCE
+       expressions.
+       * target-memory.h (gfc_element_size): New prototype.
+       * target-memory.c (size_array): Remove.
+       (gfc_element_size): New function.
+       (gfc_target_expr_size): Modified to always return the full size of the
+       expression.
+
+2013-04-18  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/56994
+       * invoke.texi (NEAREST): S argument is not optional.
+
+2013-04-11  Release Manager
+
+       * GCC 4.7.3 released.
+
+2013-03-15  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/56615
+       * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Pack arrays
+       if they are not simply contiguous.
+
+2013-03-13  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/56575
+       * expr.c (gfc_default_initializer): Check that a class declared
+       type has any components.
+       * resolve.c (resolve_fl_derived0): On failing the test for C437
+       set the type to BT_UNKNOWN to prevent repeat error messages.
+
+2013-03-10  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/55362
+       * check.c (array_check): It is an error if a procedure is
+       passed.
+
+2013-02-22  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/56385
+       * trans-array.c (structure_alloc_comps): Handle procedure-pointer
+       components with allocatable result.
+
+2013-02-17  Tobias Burnus  <burnus@net-b.de>
+           Mikael Morin  <mikael@gcc.gnu.org>
+
+       Backport from trunk
+       2013-01-28  Tobias Burnus  <burnus@net-b.de>
+                   Mikael Morin  <mikael@gcc.gnu.org>
+
+       PR fortran/53537
+       * symbol.c (gfc_find_sym_tree): Don't look for the symbol outside an
+       interface block.
+       (gfc_get_ha_symtree): Let gfc_find_sym_tree lookup the parent namespace.
+       * decl.c (gfc_match_data_decl): Ditto.
+       (variable_decl): Remove undeclared type error.
+       (gfc_match_import): Use renamed instead of original name.
+
+2013-02-15  Tobias Burnus  <burnus@net-b.de>
+           Mikael Morin  <mikael@gcc.gnu.org>
+
+       PR fortran/56318
+       * simplify.c (gfc_simplify_matmul): Fix result shape
+       and matmul result.
+
+2013-02-02  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       Backport from trunk
+       PR fortran/50627
+       PR fortran/56054
+       * decl.c (gfc_match_end):  Remove half-ready namespace
+       from parent if the end of a block is missing.
+       * parse.c (parse_module):  Do not put namespace into
+       gsymbol on error.
+
+2013-02-01  Jakub Jelinek  <jakub@redhat.com>
+
+       Backported from mainline
+       2013-01-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR fortran/56052
+       * trans-decl.c (gfc_get_symbol_decl): Set DECL_ARTIFICIAL
+       and DECL_IGNORED_P on select_type_temporary and don't set
+       DECL_BY_REFERENCE.
+
+2013-01-24  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/56081
+       * resolve.c (resolve_select): Add argument 'select_type', reject
+       non-scalar expressions.
+       (resolve_select_type,resolve_code): Pass new argument to
+       'resolve_select'.
+
+2013-01-17  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/55983
+       * class.c (find_typebound_proc_uop): Check for f2k_derived instead of
+       asserting it.
+
+2013-01-13  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/55072
+       * trans-array.c (gfc_conv_array_parameter): No packing was done for
+       full arrays of derived type.
+
+2013-01-13  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/55618
+       * trans-expr.c (gfc_conv_procedure_call): Dereference scalar
+       character function arguments to elemental procedures in
+       scalarization loops.
+
+2013-01-08  Mikael Morin  <mikael@gcc.gnu.org>
+
+       PR fortran/42769
+       PR fortran/45836
+       PR fortran/45900
+       * module.c (read_module): Don't reuse local symtree if the associated
+       symbol isn't exactly the one wanted.  Don't reuse local symtree if it is
+       ambiguous.
+       * resolve.c (resolve_call): Use symtree's name instead of symbol's to
+       lookup the symtree.
+
+2013-01-07  Tobias Burnus  <burnus@net-b.de>
+           Thomas Koenig  <tkoenig@gcc.gnu.org>
+           Jakub Jelinek  <jakub@redhat.com>
+
+       PR fortran/55852
+       * expr.c (gfc_build_intrinsic_call): Avoid clashes
+       with user's procedures.
+       * gfortran.h (gfc_build_intrinsic_call): Update prototype.
+       (GFC_PREFIX): Define.
+       * simplify.c (gfc_simplify_size): Update call.
+
+2013-01-07  Steven G. Kargl  <kargl@gcc.gnu.org>
+           Mikael Morin  <mikael@gcc.gnu.org>
+
+       PR fortran/55827
+       * class.c (gfc_fix_class_refs): Adapt ts initialization for the case
+       e->symtree == NULL.
+       * trans-expr.c (gfc_conv_function_expr): Init sym earlier. Use it.
+
+2012-12-20  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/54818
+       * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Ensure that
+       the string length is of type gfc_charlen_type_node.
+
+2012-11-24  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/55314
+       Backport from trunk
+       * resolve.c (resolve_allocate_deallocate):  Compare all
+       subscripts when deciding if to reject a (de)allocate
+       statement.
+
+2012-11-23  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/55352
+       * trans-decl.c (generate_local_decl): Don't warn for explicitly imported
+       but unused module variables which are in a namelist or common block.
+
+2012-11-06  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/54917
+       * target-memory.c (gfc_target_expr_size,gfc_target_interpret_expr):
+       Handle BT_CLASS.
+
+2012-10-14  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/54784
+       * trans-stmt.c (gfc_trans_allocate): Correctly determine the reference
+       to the _data component for polymorphic allocation with SOURCE.
+
+2012-09-20  Release Manager
+
+       * GCC 4.7.2 released.
+
+2012-09-13  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/54556
+       * resolve.c (resolve_formal_arglist): Allow VALUE arguments
+       with implicit_pure.
+       (gfc_impure_variable): Don't check gfc_pure such that the
+       function also works for gfc_implicit_pure procedures.
+
+2012-09-12  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/54225
+       PR fortran/53306
+       * array.c (match_subscript, gfc_match_array_ref): Fix
+       diagnostic of coarray's '*'.
+
+2012-09-10  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/54435
+       PR fortran/54443
+       * match.c (gfc_match_select_type): Make sure to only access CLASS_DATA
+       for BT_CLASS.
+
+2012-09-08  Mikael Morin  <mikael@gcc.gnu.org>
+
+       PR fortran/54208
+       * simplify.c (simplify_bound_dim): Resolve array spec before
+       proceeding with simplification.
+
+2012-07-06  Mikael Morin  <mikael@gcc.gnu.org>
+
+       PR fortran/53732
+       * trans-array.c (gfc_add_loop_ss_code): Disable self recursive calls
+       handling nested loop(s) if the subscript flag is true.
+
+2012-06-22  Tobias Burnus  <burnus@net-b.de>
+
+       Backport from mainline
+       2012-06-17  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/53691
+       PR fortran/53685
+       * check.c (gfc_calculate_transfer_sizes): Return if
+       SIZE= is not constant or source-size cannot be determined.
+
+2012-06-14  Tobias Burnus  <burnus@net-b.de>
+
+       Backport from mainline
+       2012-06-04  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/50619
+       * resolve.c (build_default_init_expr): Don't initialize
+       ASSOCIATE names.
+
+2012-06-14  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/53597
+       * decl.c (match_attr_spec): Only mark module variables
+       as SAVE_IMPLICIT for Fortran 2008 and later.
+
+2012-06-14  Release Manager
+
+       * GCC 4.7.1 released.
+
+2012-06-01  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/53521
+       * trans.c (gfc_deallocate_scalar_with_status): Properly
+       handle the case size == 0.
+
+2012-05-23  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/53389
+       * trans-array.c (gfc_add_loop_ss_code): Don't evaluate expression, if
+       ss->is_alloc_lhs is set.
+
+2012-05-07  Tobias Burnus  <burnus@net-b.de>
+
+       Backport from mainline:
+       2012-05-07  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/53255
+       * resolve.c (resolve_typebound_static): Fix handling
+       of overridden specific to generic operator.
+
+2012-05-05  Tobias Burnus  <burnus@net-b.de>
+
+       Backport from mainline:
+       2012-05-04  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/53111
+       * resolve.c (resolve_fl_derived): Fix -std=f95
+       diagnostic for generic vs. DT names.
+
+2012-05-02  Tobias Burnus  <burnus@net-b.de>
+
+       Backport from mainline
+       2012-04-12  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/52864
+       * expr.c (gfc_check_vardef_context): Fix assignment check for
+       pointer components.
+
+2012-04-30  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/53148
+       Backport from trunk
+       * frontend-passes.c (create_var):  If the statement has a label,
+       put the label around the block.
+
+2012-04-07  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/52893
+       Backport from trunk
+       * frontend-passes.c:  Keep track of wether we are in an implicit
+       DO loop; do not do function elimination if we are.
+
+2012-04-07  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/52668
+       Backport from trunk
+       * module.c:  Only mark symbols as use_only if they have been
+       imported via an only list.
+
+2012-03-22  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/52452
+       * resolve.c (resolve_intrinsic): Don't search for a
+       function if we know that it is a subroutine.
+
+2012-03-22  Release Manager
+
+       * GCC 4.7.0 released.
+
+2012-03-10  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/52469
+       * trans-types.c (gfc_get_function_type): Handle backend_decl
+       of a procedure pointer.
+
+2012-02-29  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/52386
+       * trans-expr.c (fcncall_realloc_result): Dereference the
+       descriptor if needed.
+
+2012-02-22  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/52335
+       * io.c (gfc_match_open): Remove bogus F2003 DELIM= check.
+
 2012-02-18  Tobias Burnus  <burnus@net-b.de>
 
        PR fortran/52295
 
        PR fortran/50981
        * trans-array.c (gfc_walk_elemental_function_args): Fix
-       passing of deallocated allocatables/pointers as absent argument. 
+       passing of deallocated allocatables/pointers as absent argument.
 
 2012-01-16  Tobias Burnus  <burnus@net-b.de>
 
 2012-01-16  Paul Thomas  <pault@gcc.gnu.org>
 
        * trans-array.c (gfc_trans_create_temp_array): In the case of a
-       class array temporary, detect a null 'eltype' on entry and use 
+       class array temporary, detect a null 'eltype' on entry and use
        'initial' to provde the class reference and so, through the
        vtable, the element size for the dynamic type.
        * trans-stmt.c (gfc_conv_elemental_dependencies): For class