OSDN Git Service

2010-12-04 Daniel Kraft <d@domob.eu>
[pf3gnuchains/gcc-fork.git] / gcc / fortran / ChangeLog
index fe335a9..a1d06c5 100644 (file)
@@ -1,3 +1,256 @@
+2010-12-04  Daniel Kraft  <d@domob.eu>
+
+       PR fortran/46794
+       * trans-expr.c (gfc_conv_power_op): Handle kind of result expression
+       correctly for integer kind 1 and 2 operands.
+
+2010-12-03  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/44352
+       * dump-parse-tree.c (show_symbol):  Don't show formal namespace
+       for statement functions in order to avoid infinite recursion.
+
+2010-12-03  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/45159
+       * dependency.c (check_section_vs_section):  Pre-calculate
+       the relationship between the strides and the relationship
+       between the start values.  Use an integer constant one for
+       that purpose.
+       Forward dependencies for positive strides apply for where
+       the lhs start <= rhs start and lhs stride <= rhs stride
+       and vice versa for negative stride.  No need to compare
+       end expressions in either case (assume no bounds violation).
+
+2010-12-03  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       * trans-array.c (gfc_could_be_alias):  Handle BT_CLASS
+       as well as BT_DERIVED.
+       (gfc_array_allocate):  Likewise.
+       (gfc_conv_array_parameter):  Likewise.
+       (structure_alloc_comps):  Likewise.
+       (gfc_is_reallocatable_lhs):  Likewise.
+       (gfc_trans_deferred_array):  Likewise.
+
+2010-12-02  Jakub Jelinek  <jakub@redhat.com>
+
+       PR fortran/46753
+       * trans-openmp.c (gfc_trans_omp_do): Use build2_loc instead of
+       fold_build2_loc for OMP_FOR conditions.
+
+2010-11-30  Janne Blomqvist  <jb@gcc.gnu.org>
+
+       PR fortran/28105
+       * trans-array.c (gfc_unlikely): Helper function to mark boolean
+       expr as unlikely.
+       (gfc_array_index_size): Check whether the size overflows.
+       (gfc_array_allocate): Check whether size overflows and generate
+       error.
+
+2010-11-30  Joseph Myers  <joseph@codesourcery.com>
+
+       * trans-common.c: Don't include toplev.h.
+
+2010-11-29  Joseph Myers  <joseph@codesourcery.com>
+
+       * gfortran.h (alloca): Don't include definitions.
+       (NULL): Don't define.
+
+2010-11-28  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/46662
+       * resolve.c (update_ppc_arglist): Add check for abstract passed object.
+
+2010-11-28  Paul Thomas  <pault@gcc.gnu.org>
+
+        PR fortran/35810
+       * trans-array.c (gfc_trans_array_constructor): If the loop->to
+       is a VAR_DECL, assume this is dynamic. In this case, use the
+       counter to obtain the value and set loop->to appropriately.
+       (gfc_conv_ss_descriptor): Always save the offset of a variable
+       in info.saved_offset.
+       (gfc_conv_ss_startstride): Do not attempt bound checking of the
+       lhs of an assignment, if allocatable and f2003 is allowed.
+       (gfc_conv_loop_setup): If possible, do not use an allocatable
+       lhs variable for the loopspec.
+       (gfc_is_reallocatable_lhs): New function.
+       (get_std_lbound): New function.
+       (gfc_alloc_allocatable_for_assignment): New function.
+       * gfortran.h : Add flag_realloc_lhs to the options structure.
+       * lang.opt : Add option f(no-)realloc-lhs.
+       * invoke.texi : Document option f(no-)realloc-lhs.
+       * options.c (gfc_init_options, gfc_post_options,
+       gfc_handle_option): Incorporate f(no-)realloc-lhs with default
+       to frealloc_lhs for -std > f95.
+       * trans-array.h : Add primitive for previous.
+       * trans-expr.c (gfc_conv_string_length): Return if character
+       length is a variable and the expression is NULL.
+       (gfc_conv_procedure_call): If the call is of the kind x = f(...)
+       and the lhs is allocatable and reallocation on assignment OK,
+       call gfc_alloc_allocatable_for_assignment. Do not generate the
+       function call unless direct by reference.
+       (realloc_lhs_loop_for_fcn_call): New function.
+       (realloc_lhs_bounds_for_intrinsic_call): New function.
+       (gfc_trans_arrayfunc_assign): Reallocation assignments need
+       a loopinfo and for the loop bounds to be set.  With intrinsic
+       functions, free the lhs data and let the library allocate the
+       data array. Done by the new functions above.
+       (gfc_trans_assignment_1): If the lhs is allocatable and
+       reallocation on assignment is allowed, mark the lhs and use
+       gfc_alloc_allocatable_for_assignment to make the reallocation.
+       * trans.h : Add is_alloc_lhs bitfield to gfc_ss structure.
+
+2010-11-27  Tobias Burnus  <burnus@net-b.de>
+           Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR fortran/46678
+       trans-decl.c (gfc_trans_auto_character_variable): Use gfc_init_block
+       instead of gfc_start_block.
+
+2010-11-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR fortran/46301
+       trans-expr.c (gfc_trans_assignment): Add error message for not
+       implemented assignment to deferred-length character variable.
+
+2010-11-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR bootstrap/45700
+       * trans.h (build1_stat_loc, build2_stat_loc, build3_stat_loc,
+       build4_stat_loc): Removed.
+       (build1_loc, build2_loc, build3_loc, build4_loc): Removed.
+
+2010-11-25  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/46581
+       * trans.h (gfc_process_block_locals): Removed second argument.
+       * trans-decl.c (trans_associate_var): Moved to trans-stmt.c.
+       (gfc_trans_deferred_vars): Skip ASSOCIATE variables.
+       (gfc_process_block_locals): Don't mark associate names to be
+       initialized.
+       * trans-stmt.c (trans_associate_var): Moved here from trans-decl.c.
+       (gfc_trans_block_construct): Call 'trans_associate_var' from here
+       to make sure SELECT TYPE with associate-name is treated correctly.
+
+2010-11-24  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/46638
+       * target-memory.c (gfc_interpret_derived): Correctly handle
+       component offset.
+
+2010-11-23  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/46545
+       * gfortran.texi (KIND Type Parameters): Quadmath and F2008 changes.
+
+2010-11-22  Michael Matz  <matz@suse.de>
+
+       * gfortranspec.c (library): New global, moved from ...
+       (lang_specific_driver): ... here.
+       (lang_specific_pre_link): Test it here before including
+       libgfortran.spec.
+
+2010-11-21  Michael Matz  <matz@suse.de>
+           Tobias Burnus  <burnus@net-b.de>
+
+       PR driver/46516
+       * gfortranspec.c (lang_specific_driver,
+       lang_specific_pre_link): Load libgfortran.spec in
+       lang_specific_pre_link unless found in the -L path.
+
+2010-11-20  Janne Blomqvist  <jb@gcc.gnu.org>
+
+       * f95-lang.c (gfc_init_decl_processing): Set size_type_node as
+       unsigned int of pointer size and set sizetype based on that.
+       * trans-types.c (gfc_init_types): Don't set size_type_node to an
+       unsigned type.
+
+2010-11-17  Joseph Myers  <joseph@codesourcery.com>
+
+       * f95-lang.c (gfc_be_parse_file): Take no arguments.
+
+2010-11-16  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+           Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/32049
+       * gfortranspec.c (find_spec_file): New function.
+       (lang_specific_driver): Try to find .spec file and use it.
+       * trans-io.c (iocall): Define IOCALL_X_REAL128/COMPLEX128(,write).
+       (gfc_build_io_library_fndecls): Build decl for __float128 I/O.
+       (transfer_expr): Call __float128 I/O functions.
+       * trans-types.c (gfc_init_kinds): Allow kind-16 belonging
+       to __float128.
+
+2010-11-15  Tobias Burnus  <burnus@net.b.de>
+
+       PR fortran/46484
+       * check.c (variable_check): Don't treat functions calls as variables;
+       optionally accept function themselves.
+       (gfc_check_all_any, gfc_check_loc, gfc_check_move_alloc,
+       gfc_check_null, gfc_check_present, gfc_check_cpu_time,
+       gfc_check_date_and_time, gfc_check_mvbits, gfc_check_random_number,
+       gfc_check_random_seed, gfc_check_system_clock,
+       gfc_check_dtime_etime, gfc_check_dtime_etime_sub,
+       gfc_check_itime_idate,gfc_check_ltime_gmtime): Update call.
+
+2010-11-13  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/45742
+       * trans-common.c (build_field): Add TREE_SIDE_EFFECTS for volatile.
+       * trans-decl.c (gfc_finish_var_decl): Ditto.
+       (create_function_arglist): Handle volatile dummy arguments.
+
+2010-11-12  Joseph Myers  <joseph@codesourcery.com>
+
+       * Make-lang.in (gfortranspec.o): Use $(OPTS_H).
+       * gfortran.h (gfc_handle_option): Take location_t parameter.
+       * options.c (gfc_handle_option): Take location_t parameter.
+
+2010-11-12  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR fortran/45794
+       trans-expr.c (gfc_conv_procedure_call): Avoid NULL array spec.
+       
+2010-11-11  Nathan Froyd  <froydnj@codesourcery.com>
+
+       PR c/44782
+       * options.c (gfc_post_options): Initialize gfc_option.max_errors.
+       (gfc_handle_option) [OPT_fmax_errors_]: Remove.
+       * lang.opt (fmax-errors=): Remove.
+
+2010-11-11  Steven G. Kargl <kargl@gcc.gnu.org>
+
+       * symbol.c (verify_bind_c_derived_type):  Accept BIND(C) on an empty
+       derived type.
+
+2010-11-11  Jan Hubicka  <jh@suse.cz>
+
+       * options.c (gfc_post_options): Remove flag_whopr.
+
+2010-11-11  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/46413
+       * resolve.c (resolve_transfer): Reject I/O transfer of
+       polymorphic type.
+
+       PR fortran/46205
+       * resolve.c (resolve_code): Reject nonscalar FORALL masks.
+
+2010-11-11  Janus Weil  <janus@gcc.gnu.org>
+
+       * resolve.c (resolve_procedure_interface): Copy 'is_bind_c' attribute.
+
+2010-11-10  Joseph Myers  <joseph@codesourcery.com>
+
+       * trans-array.c (gfc_trans_deferred_array): Use "front-end"
+       spelling in diagnostic.
+       * trans.c (gfc_allocate_array_with_status): Add missing space in
+       diagnostic.
+
+2010-11-10  Joseph Myers  <joseph@codesourcery.com>
+
+       * cpp.c (asm_file_name): Don't declare here.
+
 2010-11-10  Tobias Burnus  <burnus@net-b.de>
 
        PR fortran/46411