OSDN Git Service

PR fortran/29784
[pf3gnuchains/gcc-fork.git] / gcc / fortran / ChangeLog
index f35b0dc..9a16c5f 100644 (file)
@@ -1,3 +1,295 @@
+2007-10-26  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/29784
+       * gfortran.texi: Document that there is no logical/integer
+       conversion performed during I/O operations.
+
+2007-10-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR fortran/33849
+       * resolve.c (resolve_actual_arglist): Fix error message text.
+
+2007-10-22  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/31244
+       * gfortran.h (gfc_data_value): Change repeat from unsigned int
+       to mpz_t.
+       * decl.c(top_val_list): Remove msg variable.  Use mpz_t for
+       repeat count.
+       * resolve.c (values):  Change left from unsigned int to mpz_t.
+       (next_data_value): Change for mpz_t.
+       (check_data_variable): Change ??? to FIXME in a comment.  Use
+       "mpz_t left".
+       (resolve_data ): Use "mpz_t left".
+
+2007-10-21  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/33749
+       * resolve.c (resolve_ordinary_assign): New function that takes
+       the code to resolve an assignment from resolve_code. In
+       addition, it makes a temporary of any vector index, on the
+       lhs, using gfc_get_parentheses.
+       (resolve_code): On EXEC_ASSIGN call the new function.
+
+2007-10-20  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/33818
+       * resolve.c (resolve_variable): Check that symbol is in the same
+       namespace as the entry function.
+
+2007-10-20  Paul Thomas  <pault@gcc.gnu.org>
+           FX Coudert <fxcoudert@gcc.gnu.org>
+
+       PR fortran/31608
+       * trans-array.c (gfc_conv_expr_descriptor): For all except
+       indirect references, use gfc_trans_scalar_assign instead of
+       gfc_add_modify_expr.
+       * iresolve.c (check_charlen_present): Separate creation of cl
+       if necessary and add code to treat an EXPR_ARRAY.
+       (gfc_resolve_char_achar): New function.
+       (gfc_resolve_achar, gfc_resolve_char): Call it.
+       (gfc_resolve_transfer): If the MOLD expression does not have a
+       character length expression, get it from a constant length.
+
+2007-10-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR fortran/33544
+       * simplify.c (gfc_simplify_transfer): Only warn for short transfer when
+       -Wsurprising is given.
+       * invoke.texi: Document revised behavior.
+
+2007-10-18  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR fortran/33795
+       * gfortran.texi: Document GFORTRAN_UNBUFFERED_PRECONNECTED
+       environment variable.  Delete mention of environment variable
+       GFORTRAN_UNBUFFERED_n.
+
+2007-10-18  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/33233
+       * resolve.c (check_host_association): Check singly contained
+       namespaces and start search for symbol in current namespace.
+
+2007-10-18  Paul Thomas  <pault@gcc.gnu.org>
+           Dominique d'Humieres  <dominiq@lps.ens.fr>
+
+       PR fortran/33733
+       * simplify.c (gfc_simplify_transfer): Return null if the source
+       expression is EXPR_FUNCTION.
+
+2007-10-17 Christopher D. Rickett <crickett@lanl.gov>
+
+       PR fortran/33760
+       * symbol.c (gen_special_c_interop_ptr): Remove code to create
+       constructor for c_null_ptr and c_null_funptr with value of 0.
+       * expr.c (check_init_expr): Prevent check on constructors for
+       iso_c_binding derived types.
+       * resolve.c (resolve_structure_cons): Verify that the user isn't
+       trying to invoke a structure constructor for one of the
+       iso_c_binding derived types.
+
+2007-10-15 Christopher D. Rickett <crickett@lanl.gov>
+
+       PR fortran/32600
+       * trans-expr.c (gfc_conv_function_call): Generate code to inline
+       c_associated.
+       * symbol.c (get_iso_c_sym): Preserve from_intmod and intmod_sym_id
+       attributes in the resolved symbol.
+       * resolve.c (gfc_iso_c_sub_interface): Remove dead code.
+
+2007-10-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR fortran/33055
+       * trans-io.c (create_dummy_iostat): New function to create a unique
+       dummy variable expression to use with IOSTAT.
+       (gfc_trans_inquire): Use the new function to pass unit number error info
+       to run-time library if a regular IOSTAT variable was not given.
+
+2007-10-14  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/33745
+       * trans-array.c (gfc_conv_ss_startstride): Fix dimension check.
+       (gfc_trans_array_bound_check, gfc_conv_array_ref,
+       gfc_conv_ss_startstride): Simplify error message.
+       * resolve.c (check_dimension): Fix dimension-type switch;
+       improve error message.
+
+2007-10-13  Tobias Schlüter  <tobi@gcc.gnu.org>
+           Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/33254
+       PR fortran/33727
+       * trans-array.c (get_array_ctor_var_strlen): Check upper bound for
+       constness instead of lower bound.
+       (get_array_ctor_strlen): Add bounds-checking code.
+
+2007-10-12  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/33542
+       * resolve.c (resolve_actual_arglist): If the actual argument is
+       ambiguous, then there is an error.
+
+2007-10-12  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/33664
+       * expr.c (gfc_specification_expr): If a function is not
+       external, intrinsic or pure is an error.  Set the symbol pure
+       to prevent repeat errors.
+
+2007-10-10  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/33636
+       * expr.c (find_array_section): Check for constructor constantness.
+
+2007-10-08  Tobias Schlüter  <tobi@gcc.gnu.org>
+
+       PR fortran/33689
+       * resolve.c (gfc_resolve_expr): Fix indentation.
+       (resolve_fl_variable_derived): Rename argument.
+       (resolve_fl_variable): Fix case in message.  Clarify logic.
+       Correctly simplify array bounds.
+
+2007-10-07  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR libfortran/33683
+       * mathbuiltins.def (GAMMA):  Change function name to
+       "tgamma" instad of "gamma".
+
+2007-10-07  Tobias Schlüter  <tobi@gcc.gnu.org>
+
+       PR fortran/20851
+       * expr.c (check_inquiry): Typo fix in error message.
+       (check_init_expr): Same * 3.
+       (check_restricted): Verify that no dummy arguments appear in
+       restricted expressions in ELEMENTAL procedures.
+       * resolve.c (resolve_fl_variable): Exchange order of checks to
+       avoid side-effect.
+
+2007-10-06  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR fortran/33609
+       * simplify.c (range_check): Return gfc_bad_expr if incoming expression 
+       is NULL.
+
+2007-10-06  Tobias Schlüter  <tobi@gcc.gnu.org>
+
+       * simplify.c (gfc_simplify_size): Fix typo.
+
+2007-10-06  Tobias Schlüter  <tobi@gcc.gnu.org>
+
+       PR fortran/25076
+       * resolve.c (gfc_find_forall_index): Move towards top,
+       renaming to ...
+       (find_forall_index): ... this.  Add check for NULL expr.
+       (resolve_forall_iterators): Verify additional constraint.
+       (resolve_forall): Remove checks obsoleted by new code in
+       resolve_forall_iterators.
+
+2007-10-05  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       * gfortran.h (gfc_get_data_variable, gfc_get_data_value,
+       gfc_get_data): Move to decl.c.
+       (global_used): Rename into gfc_global_used.
+       (gfc_formalize_init_value, gfc_get_section_index,
+       gfc_assign_data_value, gfc_assign_data_value_range,
+       gfc_advance_section): Move to data.h.
+       (gfc_set_in_match_data): Remove.
+       * decl.c (gfc_get_data_variable, gfc_get_data_value,
+       gfc_get_data): Move here.
+       (gfc_set_in_match_data): Rename into set_in_match_data.
+       (gfc_match_data): Likewise.
+       (add_global_entry): Rename global_used into gfc_global_used.
+       * data.c: Include data.h.
+       * trans.h (gfc_todo_error): Remove.
+       * trans-array.c (gfc_trans_array_constructor,
+       gfc_conv_ss_startstride, gfc_conv_loop_setup): Change
+       gfc_todo_error into assertions.
+       * resolve.c (resolve_global_procedure): Rename global_used into
+       gfc_global_used.
+       * parse.c (gfc_global_used, parse_module, add_global_procedure,
+       add_global_program): Likewise.
+       * trans-intrinsic.c (gfc_walk_intrinsic_function): Rename
+       global_used into gfc_global_used.
+       * Make-lang.in: Add dependencies on fortran/data.h.
+       * data.h: New file.
+
+2007-10-04  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/33529
+       * decl.c (match_char_kind): New function.
+       (match_char_spec): Use match_char_kind.
+
+2007-10-04  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/33502
+       * scanner.c (gfc_advance_line): Call debug_hooks->end_source_file
+       and debug_hooks->start_source_file when appropriate, and set
+       dbg_emitted.
+       (gfc_define_undef_line): New function.
+       (load_file): Don't error out on #define and #undef lines.
+       * parse.c (next_statement): Call gfc_define_undef_line.
+       (gfc_parse_file): Call debug_hooks->start_source_file and
+       debug_hooks->end_source_file for the main source file if
+       required.
+       * gfortran.h (gfc_linebuf): Add dbg_emitted field.
+       (gfc_define_undef_line): New prototype.
+
+2007-10-04  Tobias Schlüter  <tobi@gcc.gnu.org>
+
+       PR fortran/33626
+       * resolve.c (resolve_operator): Always copy the type for
+       expressions in parentheses.
+
+2007-10-04  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/33646
+       PR fortran/33542
+       * interface.c (check_interface1): Revert patch of 10-02.
+
+2007-10-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/26682
+       * trans-decl.c (build_function_decl): Set "externally_visible"
+       attribute on the MAIN program decl.
+
+2007-10-03  Tobias Schlüter  <tobi@gcc.gnu.org>
+
+       PR fortran/33198
+       * resolve.c (has_default_initializer): Move to top.  Make bool.
+       (resolve_common_blocks): Simplify logic.  Add case for derived
+       type initialization.
+       (resolve_fl_variable_derived): Split out from ...
+       (resolve_fl_variable): ... here, while adapting to new h_d_i
+       interface.
+
+2007-10-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/26682
+       * options.c (gfc_post_options): Issue an error when
+       -fwhole-program is used.
+
+2007-10-02  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/33542
+       * interface.c (check_interface1): Specific procedures are
+       always ambiguous if they have the same name.
+
+2007-10-02  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/33566
+       * primary.c (gfc_match_rvalue): Make all expressions with array
+       references to structure parameters into variable expressions.
+
+2007-10-02  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/33554
+       * trans-decl.c (init_intent_out_dt): New function.
+       (gfc_trans_deferred_vars): Remove the code for default
+       initialization of INTENT(OUT) derived types and put it
+       in the new function.  Call it earlier than before, so
+       that array offsets and lower bounds are available.
+
 2007-10-02  Paul Thomas  <pault@gcc.gnu.org>
 
        PR fortran/33550