OSDN Git Service

2010-12-11 Jerry DeLisle <jvdelisle@gcc.gnu.org>
[pf3gnuchains/gcc-fork.git] / gcc / fortran / ChangeLog
index a79b91d..90337d2 100644 (file)
@@ -1,3 +1,174 @@
+2010-12-11  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR fortran/46705
+       * gfortran.h: New enum gfc_instring.
+       (gfc_next_char_literal): Update prototype.
+       * scanner.c (gfc_next_char_literal): Use new enum. Only give missing
+       '&' warning for INSTRING_WARN. (gfc_next_char): Use new enum.
+       (gfc_gobble_whitespace): Likewise.
+       * io.c (next_char): Use new enum. (next_char_not_space): Likewise.
+       (format_lex): Likewise.
+       * match.c (gfc_match_parens): Likewise.
+       (gfc_match_special_char): Likewise. (gfc_match_name_C): Likewise.
+       * parse.c (next_fixed): Likewise.
+       * primary.c (match_hollerith_constant): Likewise.
+       (next_string_char): Likewise.
+
+2010-12-11  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/46370
+       * primary.c (gfc_match_varspec): Pass information about codimension
+       to gfc_match_array_ref also for BT_CLASS.
+       * resolve.c (resolve_procedure): Correct check for C612.
+
+2010-12-11  Mikael Morin   <mikael@gcc.gnu.org>
+           Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR fortran/46842
+       * trans-array.c (dim_ok): New helper function.
+       (gfc_conv_expr_descriptor): Use new helper function to check
+       function array is full.
+
+2010-12-10  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/46540
+       * trans-types.c (gfc_init_kinds): Handle
+       --disable-libquadmath-support.
+
+2010-12-09  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       * check.c (gfc_check_sngl): Insert missing space in error message.
+
+2010-12-09  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       * check.c (gfc_check_float): Insert missing space in error message.
+
+2010-12-07  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/44352
+       * trans-expr.c (gfc_string_to_single_character): Return if not
+       POINTER_TYPE_P.
+       (gfc_trans_string_copy): gfc_build_addr_expr if src or dest is
+       not a pointer.
+       (gfc_trans_string_copy): Make sure the argument string type
+       has a string length, fix indention, and remove not needed
+       gfc_build_addr_expr.
+
+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