OSDN Git Service

testsuite
[pf3gnuchains/gcc-fork.git] / gcc / fortran / ChangeLog
index 23dfbdf..869cd89 100644 (file)
@@ -1,3 +1,288 @@
+2008-10-02  Steven Bosscher  <steven@gcc.gnu.org>
+
+       PR fortran/37635
+       * intrinsic.c (add_functions): Add LEADZ and TRAILZ as generics.
+       * intrinsic.h (gfc_simplify_leadz, gfc_simplify_trailz): New protos.
+       * gfortran.h <enum gfc_isym_id>: (GFC_ISYM_LEADZ, GFC_ISYM_TRAILZ): New.
+       * f95-lang (gfc_init_builtin_functions): Add BUILT_IN_CLZ,
+       BUILT_IN_CLZL, BUILT_IN_CLZLL, BUILT_IN_CTZ, BUILT_IN_CTZL, and
+       BUILT_IN_CTZLL.
+       * trans-intrinsic.c (gfc_conv_intrinsic_leadz,
+       gfc_conv_intrinsic_trails): New code-generation functions for LEADZ
+       and TRAILZ intrinsics.
+       (gfc_conv_intrinsic_function): Use them
+       * intrinsic.texi: Add documentation for LEADZ and TRAILZ.
+       * simplify.c (gfc_simplify_leadz, gfc_simplify_trailz): New functions.
+
+2008-09-30  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/36592
+       * symbol.c (check_conflict): If a symbol in a COMMON block is a
+       procedure, it must be a procedure pointer.
+       (gfc_add_in_common): Symbols in COMMON blocks may be variables or
+       procedure pointers.
+       * trans-types.c (gfc_sym_type): Make procedure pointers in COMMON
+       blocks work.
+
+2008-09-25  Jerry DeLisle  <jvdelisle@gcc.gnu.org
+
+       PR fortran/37498
+       * trans-io.c (build_dt): Revert previous patch..
+       * ioparm.def: Delete IOPARM_dt_f2003.
+
+2008-09-25  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/37504
+       * expr.c (gfc_check_pointer_assign): Allow assignment of
+       protected pointers.
+       * match.c (gfc_match_assignment,gfc_match_pointer_assignment):
+       Remove unreachable code.
+
+2008-09-24  Tobias Burnus  <burnus@net-b.de>
+
+       * options.c (set_default_std_flags,gfc_init_options):
+       Add comment: keep in sync with libgfortran.
+
+2008-09-24  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/37626
+       * trans-array.c (gfc_trans_deferred_array): Don't auto-deallocate
+       result variables.
+
+2008-09-23  Daniel Kraft  <d@domob.eu>
+
+       PR fortran/37588
+       * gfortran.h (gfc_compare_actual_formal): Removed, made private.
+       (gfc_arglist_matches_symbol): New method.
+       * interface.c (compare_actual_formal): Made static.
+       (gfc_procedure_use): Use new name of compare_actual_formal.
+       (gfc_arglist_matches_symbol): New method.
+       (gfc_search_interface): Moved code partially to new
+       gfc_arglist_matches_symbol.
+       * resolve.c (resolve_typebound_generic_call): Resolve actual arglist
+       before checking against formal and use new gfc_arglist_matches_symbol
+       for checking.
+       (resolve_compcall): Set type-spec of generated expression.
+
+2008-09-23  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/37580
+       * expr.c (gfc_check_pointer_assign): Add checks for pointer
+       remapping.
+
+2008-09-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org
+
+       PR fortran/37498
+       * trans-io.c (gfc_build_io_library_fndecls): Bump pad size.
+       (build_dt): Set mask bit for IOPARM_dt_f2003.
+       * ioparm.def: Add IOPARM_dt_f2003.
+
+2008-09-22  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/37486
+       * gfortran.h (gfc_option_t): New members flag_align_commons and
+       warn_align_commons. 
+       * lang.opt: New options falign-commons and Walign-commons.
+       * invoke.texi: Documentation for new options.
+       * options.c (gfc_init_options): Initialize new options.
+       (gfc_handle_options): Handle new options.
+       * trans-common.c (translate_common): Implement new options.
+       (gfc_trans_common): Set correct locus.
+
+2008-09-21  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/37583
+       * decl.c (scalarize_intrinsic_call): Both subroutines and
+       functions can give a true for get_proc_mame's last argument so
+       remove the &&gfc_current_ns->proc_name->attr.function.
+       resolve.c (resolve_actual_arglist): Add check for recursion by
+       reference to procedure as actual argument.
+
+2008-09-21  Daniel Kraft  <d@domob.eu>
+
+       PR fortran/35846
+       * trans.h (gfc_conv_string_length): New argument `expr'.
+       * trans-expr.c (flatten_array_ctors_without_strlen): New method.
+       (gfc_conv_string_length): New argument `expr' that is used in a new
+       special case handling if cl->length is NULL.
+       (gfc_conv_subref_array_arg): Pass expr to gfc_conv_string_length.
+       * trans-array.c (gfc_conv_expr_descriptor): Ditto.
+       (gfc_trans_auto_array_allocation): Pass NULL as new expr.
+       (gfc_trans_g77_array), (gfc_trans_dummy_array_bias): Ditto.
+       (gfc_trans_deferred_array): Ditto.
+       (gfc_trans_array_constructor): Save and restore old values of globals
+       used for bounds checking.
+       * trans-decl.c (gfc_trans_dummy_character): Ditto.
+       (gfc_trans_auto_character_variable): Ditto.
+
+2008-09-21  Daniel Kraft  <d@domob.eu>
+
+       * decl.c (match_procedure_in_type): Changed misleading error message
+       for not yet implemented PROCEDURE(interface) syntax.
+
+2008-09-18  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/35945
+       * resolve.c (resolve_fl_variable_derived):  Remove derived type
+       comparison for use associated derived types.  Host association
+       of a derived type will not arise if there is a local derived type
+       whose use name is the same.
+
+       PR fortran/36700
+       * match.c (gfc_match_call):  Use the existing symbol even if
+       it is a function.
+
+2008-09-18  Daniel Kraft  <d@domob.eu>
+
+       PR fortran/37507
+       * trans.h (gfc_trans_runtime_error): New method.
+       (gfc_trans_runtime_error_vararg): New method.
+       (gfc_allocate_array_with_status): New argument `expr' for locus/varname.
+       (gfc_deallocate_array_with_status): Ditto.
+       * trans-array.h (gfc_array_deallocate): Ditto.
+       * trans.c (gfc_trans_runtime_error): New method.
+       (gfc_trans_runtime_error_vararg): New method, moved parts of the code
+       from gfc_trans_runtime_check here.
+       (gfc_trans_runtime_error_check): Moved code partly to new method.
+       (gfc_call_malloc): Fix tab-indentation.
+       (gfc_allocate_array_with_status): New argument `expr' and call
+       gfc_trans_runtime_error for error reporting to include locus.
+       (gfc_deallocate_with_status): Ditto.
+       * trans-stmt.c (gfc_trans_deallocate): Pass expr as new argument.
+       * trans-array.c (gfc_array_allocate): Ditto.
+       (gfc_array_deallocate): New argument `expr', passed on.
+       (gfc_trans_dealloc_allocated): Pass NULL for expr.
+       * trans-openmp.c (gfc_omp_clause_default): Ditto.
+
+2008-09-18  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/37274
+       PR fortran/36374
+       * module.c (check_for_ambiguous): New function to test loaded
+       symbol for ambiguity with fixup symbol.
+       (read_module): Call check_for_ambiguous.
+       (write_symtree): Do not write the symtree for symbols coming
+       from an interface body.
+
+       PR fortran/36374
+       * resolve.c (count_specific_procs ): New function to count the
+       number of specific procedures with the same name as the generic
+       and emit appropriate errors for and actual argument reference.
+       (resolve_assumed_size_actual): Add new argument no_formal_args.
+       Correct logic around passing generic procedures as arguments.
+       Call count_specific_procs from two locations.
+       (resolve_function): Evaluate and pass no_formal_args.
+       (resolve call): The same and clean up a bit by using csym more
+       widely.
+
+       PR fortran/36454
+       * symbol.c (gfc_add_access): Access can be updated if use
+       associated and not private.
+
+2008-09-17  Jakub Jelinek  <jakub@redhat.com>
+
+       PR fortran/37536
+       * trans-stmt.c (gfc_trans_do): Optimize integer type non-simple
+       do loop initialization.
+
+2008-09-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+           Tobias Burnus  <burnus@net.b.de>
+
+       PR fortran/35840
+       * io.c (match_vtag): Add tag name to error message.
+       (match_out_tag): Cleanup whitespace.
+       (gfc_resolve_dt): Resolve id and async tags. 
+
+2008-09-13  Daniel Kraft  <d@domob.eu>
+
+       PR fortran/35770
+       * primary.c (gfc_match_varspec): Added missing type-spec clearing
+       after wrong implicit character typing.
+
+2008-09-12  Richard Guenther  <rguenther@suse.de>
+
+       * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Use
+       build_fold_addr_expr to properly mark the argument
+       addressable.
+
+2008-09-11  Daniel Kraft  <d@domob.eu>
+
+       PR fortran/36214
+       * simplify.c (simplify_cmplx): Added linebreak to long line.
+       * target-memory.c (gfc_convert_boz): Fix indentation.
+       (gfc_interpret_float): Set mpfr precision to right value before
+       calling mpfr_init.
+
+2008-09-10  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * expr.c (find_array_element): Reformat comment.
+
+2008-09-10  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * expr.c (find_array_element): Reformat.
+
+2008-09-10  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/37420
+       * trans-decl.c (get_proc_pointer_decl): Fix -Wunused-variable.
+
+2008-09-09  Daniel Kraft  <d@domob.eu>
+
+       PR fortran/37429
+       * resolve.c (expression_rank): Added assertion to guard against
+       EXPR_COMPCALL expressions.
+       (resolve_compcall): Set expression's rank from the target procedure's.
+
+2008-09-09  Daniel Kraft  <d@domob.eu>
+
+       PR fortran/37411
+       * trans-array.c (gfc_conv_array_parameter): Added assertion that the
+       symbol has an array spec.
+
+2008-09-08  Daniel Kraft  <d@domob.eu>
+
+       PR fortran/37199
+       * trans-expr.c (gfc_add_interface_mapping): Set new_sym->as.
+       (gfc_map_intrinsic_function): Added checks against NULL bounds in
+       array specs.
+
+2008-09-08  Tobias Burnus  <burnus@net.b.de>
+
+       PR fortran/37400
+       * symbol.c (gfc_set_default_type): Copy char len.
+
+2008-09-06  Steven G. Kargl  <kargls@comcast.net>
+
+       PR fortran/36153
+       * fortran/resolve.c (resolve_function): Shortcircuit for SIZE and
+       UBOUND if 2nd argument is KIND.
+
+2008-09-06  Steven G. Kargl  <kargls@comcast.net>
+
+       PR fortran/33229
+       * resolve.c (resolve_function): An intrinsic subroutine should not be
+       called as a function.
+
+2008-09-05  Daniel Kraft  <d@domob.eu>
+
+       PR fortran/35837
+       * resolve.c (resolve_types): Restore gfc_current_ns on exit.
+       * symbol.c (gfc_save_all): Removed blank line.
+
+2008-09-05  Daniel Kraft  <d@domob.eu>
+
+       PR fortran/36746
+       * primary.c (gfc_match_rvalue): Removed logic to handle implicit
+       typing to a derived-type if a component reference is found.
+       (gfc_match_varspec): Moved it here.
+
+2008-09-04  Richard Guenther  <rguenther@suse.de>
+
+       * trans-array.c (gfc_conv_array_parameter): Use correct types
+       in building COND_EXPRs.
+       * trans-expr.c (gfc_conv_missing_dummy): Likewise.
+       * trans-intrinsics.c (gfc_conv_intrinsic_merge): Likewise.
+
 2008-09-04  Daniel Kraft  <d@domob.eu>
 
        * PR fortran/37099