OSDN Git Service

2007-11-17 Tobias Burnus <burnus@net-b.de>
[pf3gnuchains/gcc-fork.git] / gcc / fortran / ChangeLog
index 5a81ebe..b12355c 100644 (file)
@@ -1,3 +1,694 @@
+2007-11-17  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/34133
+       * decl.c (gfc_match_suffix,gfc_match_subroutine): Disallow
+       bind(c) attribute for internal procedures.
+
+2007-11-17  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/25252
+       * interface.c (gfc_current_interface_head,
+       gfc_set_current_interface_head): New functions.
+       * decl.c (gfc_match_modproc): Move check for syntax error earlier.
+       On syntax error, restore previous state of the interface.
+       * gfortran.h (gfc_current_interface_head,
+       gfc_set_current_interface_head): New prototypes.
+
+2007-11-17  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/30285
+       * module.c (struct written_common, written_commons): New structure.
+       (compare_written_commons, free_written_common, write_common_0):
+       New functions.
+       (write_common): Call recursive function write_common_0.
+
+2007-11-17  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/34108
+       * io.c (check_format_string): Only check character expressions.
+       (match_dt_format): Return MATCH_ERROR if that is what
+       gfc_match_st_label said.
+
+2007-11-16  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/33957
+       * expr.c (check_inquiry): Don't call gfc_error now.
+
+2007-11-16  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/33739
+       PR fortran/34084
+       * scanner.c (start_source_file, end_source_file,
+       exit_remaining_files, gfc_advance_line): Revert rev. 130016.
+
+2007-11-16  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/34008
+       * trans-stmt.c (gfc_conv_elemental_dependencies): Add check for
+       INTENT_INOUT as well as INTENT_OUT.
+       (gfc_trans_call): Remove redundant gcc_asserts in dependency
+       check.
+
+2007-11-16  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/33986
+       * trans-array.c (gfc_conv_array_parameter ): Allow allocatable
+       function results.
+
+2007-11-15  Tobias Burnus  <burnus@net-b.de>
+       PR fortran/33917
+       * decl.c (match_procedure_decl): Pre-resolve interface.
+       * resolve.c (resolve_symbol): Reject interfaces later
+       declared in procedure statements.
+
+2007-11-13  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR fortran/33162
+       * decl.c (match_procedure_decl): Remove TODO and allow intrinsics in
+       PROCEDURE declarations.  Set attr.untyped to allow the interface to be
+       resolved later where the symbol type will be set.
+       * interface.c (compare_intr_interfaces): Remove static from pointer
+       declarations.  Add type and kind checks for dummy function arguments.
+       (compare_actual_formal_intr): New function to compare an actual
+       argument with an intrinsic function. (gfc_procedures_use): Add check for
+       interface that points to an intrinsic function, use the new function.
+       * resolve.c (resolve_specific_f0): Resolve the intrinsic interface.
+       (resolve_specific_s0): Ditto.
+
+2007-11-13  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/34080
+       * iresolve.c (gfc_resolve_transfer): Do not try to convert
+       to a constant MOLD expression, if it is an assumed size
+       dummy.
+
+2007-11-10  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       * trans-common.c: Remove prototype for gfc_get_common.
+
+2007-11-10  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/33592
+       * trans.c (gfc_call_realloc): Fix the logic and rename variables.
+
+2007-11-08  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/33739
+       * scanner.c (start_source_file, end_source_file,
+       exit_remaining_files): New functions.
+       (gfc_advance_line): Use the new functions.
+
+2007-11-08  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/34028
+       * trans-intrinsic.c (gfc_conv_intrinsic_ishft): Use correct type.
+
+2007-11-08  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/33917
+       * interface.c (check_sym_interfaces): Disallow PROCEDURE-declared
+       procedures for MODULE PROCEDURE.
+       * decl.c (match_procedure_in_interface): Do not mark as procedure.
+
+2007-11-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/33881
+       * trans-array.c (gfc_conv_array_parameter): Evaluate
+       se->string_length instead of the expr->ts.cl->backend_decl.
+
+2007-11-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       * gfortran.h: Shorten comment.
+       * trans-types.c (gfc_get_function_type): Allow argument to have
+       flavor FL_PROGRAM.
+       * trans-decl.c (gfc_sym_mangled_function_id): Mangle main program
+       name into MAIN__.
+       (build_function_decl): Fix comment.
+       * parse.c (main_program_symbol): Give the main program its proper
+       name, if any. Set its flavor to FL_PROGRAM.
+       (gfc_parse_file): Likewise.
+
+2007-11-02  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       * intrinsic.texi (ALLOCATED): Fix typo.
+
+2007-10-31  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/33941
+       * modules.c (intrinsics): Use only alphabetic names for
+       intrinsic operators.
+
+2007-10-31  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR fortran/33162
+       * interface.c (compare_intr_interfaces): New function to check intrinsic
+       function arguments against formal arguments. (compare_interfaces): Fix
+       logic in comparison of function and subroutine attributes.
+       (compare_parameter): Use new function for intrinsic as argument.
+       * resolve.c (resolve_actual_arglist): Allow an intrinsic without
+       function attribute to be checked further.  Set function attribute if
+       intrinsic symbol is found, return FAILURE if not.
+
+2007-10-31  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/33897
+       * decl.c (gfc_match_entry): Do not make ENTRY name
+       global for contained procedures.
+       * parse.c (gfc_fixup_sibling_symbols): Fix code for
+       determining whether a procedure is external.
+
+2007-10-30  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/33596
+       * trans-intrinsic.c (gfc_conv_intrinsic_isnan): Strip NOP_EXPR
+       from the result of build_call_expr.
+
+2007-10-29  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/31217
+       PR fortran/33811
+       PR fortran/33686
+
+       * trans-array.c (gfc_conv_loop_setup): Send a complete type to
+       gfc_trans_create_temp_array if the temporary is character.
+       * trans-stmt.c (gfc_trans_assign_need_temp): Do likewise for
+       allocate_temp_for_forall_nest.
+       (forall_replace): New function.
+       (forall_replace_symtree): New function.
+       (forall_restore): New function.
+       (forall_restore_symtree): New function.
+       (forall_make_variable_temp): New function.
+       (check_forall_dependencies): New function.
+       (cleanup_forall_symtrees): New function.
+       gfc_trans_forall_1): Add and initialize pre and post blocks.
+       Call check_forall_dependencies to check for all dependencies
+       and either trigger second forall block to copy temporary or
+       copy lval, outside the forall construct and replace all
+       dependent references. After assignment clean-up and coalesce
+       the blocks at the end of the function.
+       * gfortran.h : Add prototypes for gfc_traverse_expr and
+       find_forall_index.
+       expr.c (gfc_traverse_expr): New function to traverse expression
+       and visit all subexpressions, under control of a logical flag,
+       a symbol and an integer pointer. The slave function is caller
+       defined and is only called on EXPR_VARIABLE.
+       (expr_set_symbols_referenced): Called by above to set symbols
+       referenced.
+       (gfc_expr_set_symbols_referenced): Rework of this function to
+       use two new functions above.
+       * resolve.c (find_forall_index): Rework with gfc_traverse_expr,
+       using forall_index.
+       (forall_index): New function used by previous.
+       * dependency.c (gfc_check_dependency): Use gfc_dep_resolver for
+       all references, not just REF_ARRAY.
+       (gfc_dep_resolver): Correct the logic for substrings so that
+       overlapping arrays are handled correctly.
+
+2007-10-28  Tobias Schlüter  <tobi@gcc.gnu.org>
+
+       PR fortran/32147
+       * module.c (write_symbol): Fix whitespace.
+       (write_symbol0): Walk symtree from left-to-right instead
+       breadth-first.
+       (write_symbol1): Similarly change walk of pointer info tree.
+       (write_module): Insert linebreak.
+       * symbol.c (gfc_traverse_symtree): Change to left-to-right order.
+       (traverse_ns): Likewise.
+
+2007-10-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+       PR fortran/31306
+       * decl.c (char_len_param_value): Add check for conflicting attributes of
+       function argument.
+
+2007-10-27  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/33862
+       * lang-specs.h: Support .ftn and .FTN extension, use CPP for .FOR.
+       * options.c (form_from_filename): Support .ftn extension.
+       * gfortran.texi: Document support of .for and .ftn file extension.
+
+2007-10-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR fortran/33162
+       * intrinsic.h: Add prototypes for four new functions, gfc_check_datan2,
+       gfc_check_dprod, gfc_check_fn_d, and gfc_check_x_yd.
+       * intrinsic.c (add_functions): Add double precision checks for dabs,
+       dacos, dacosh, dasin, dasinh, datan, datanh, datan2, dbesj0, dbesj1,
+       dbesy0, dbesy1, dcos, dcosh, ddim, derf, derfc, dexp, dgamma,
+       dlgama, dlog, dlog10, dmod, dsign, dsin, dsinh, dsqrt, dtan, and dtanh.
+       Add real check dprod.
+       * check.c (gfc_check_datan2): New function to check for double precision
+       argumants. (gfc_check_dprod, gfc_check_fn_d, and gfc_check_x_yd): Ditto.
+
+2007-10-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       * invoke.texi: Fix typo in -fmax-errors=.
+
+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
+       * decl.c (get_proc_name): Return rc if rc is non-zero; ie. if
+       the name is a reference to an ambiguous symbol.
+
+2007-10-02  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/31154
+       PR fortran/31229
+       PR fortran/33334
+       * decl.c : Declare gfc_function_kind_locs and
+       gfc_function_type_locus.
+       (gfc_match_kind_spec): Add second argument kind_expr_only.
+       Store locus before trying to match the expression. If the
+       current state corresponds to a function declaration and there
+       is no match to the expression, read to the parenthesis, return
+       kind = -1, dump the expression and return.
+       (gfc_match_type_spec): Renamed from match_type_spec and all
+       references changed.  If an interface or an external function,
+       store the locus, set kind = -1 and return.  Otherwise, if kind
+       is already = -1, use gfc_find_symbol to try to find a use
+       associated or imported type.
+       match.h : Prototype for gfc_match_type_spec.
+       * parse.c (match_deferred_characteristics): New function.
+       (parse_spec): If in a function, statement is USE or IMPORT
+       or DERIVED_DECL and the function kind=-1, call
+       match_deferred_characteristics.  If kind=-1 at the end of the
+       specification expressions, this is an error.
+       * parse.h : Declare external gfc_function_kind_locs and
+       gfc_function_type_locus.
+
+2007-09-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * module.c (mio_expr): Avoid -Wcast-qual warning.
+
+2007-09-27  Tobias Schlüter  <tobi@gcc.gnu.org>
+
+       * arith.c (reduce_binary_aa): Fix capitalization.
+       * check.c (gfc_check_dot_product): Likewise.
+       (gfc_check_matmul): Likewise.
+       * expr.c (gfc_check_conformance): Likewise.
+       (gfc_check_assign): Likewise.
+       (gfc_default_initializer): Simplify logic.
+       * trans.c (gfc_msg_bounds): Make const.
+       (gfc_msg_fault): Likewise.
+       (gfc_msg_wrong_return): Likewise.
+       * trans.h: Add const to corresponding extern declarations.
+
+2007-09-27  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/33568
+       * trans-intrinsic.c (gfc_conv_intrinsic_aint): Allow for the 
+       possibility of the optional KIND argument by making arg
+       an array, counting the number of arguments and using arg[0].
+
+2007-09-26  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/30780
+       * invoke.texi: Add note to -ffpe-trap option. Fix typos.
+
+2007-09-23  Tobias Schlüter  <tobi@gcc.gnu.org>
+
+       PR fortran/33269
+       * io.c (check_format_string): Move NULL and constant checks into
+       this function.
+       (check_io_constraints): Call gfc_simplify_expr() before calling
+       check_format_string().  Remove NULL and constant checks.
+
+2007-09-24  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/33538
+       * scanner.c, parse.c, gfortran.h: Revert revision 128671.
+
+2007-09-23  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/33528
+       * scanner.c (preprocessor_line): Call linemap_add when exiting
+       a file.
+       (gfc_new_file): Adjust debug code for USE_MAPPED_LOCATION.
+
+2007-09-22  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/33522
+       * trans-types.c (gfc_get_desc_dim_type): Mark artificial
+       variables with TREE_NO_WARNING.
+       (gfc_get_array_descriptor_base): Likewise.
+
+2007-09-22  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/33337
+       PR fortran/33376
+       * trans-decl.c (gfc_create_module_variable): Output
+       derived type parameters.
+       * arith.c (gfc_parentheses): Return the argument if
+       it is a constant expression.
+       * primary.c (gfc_match_rvalue): Remove the clearing of
+       the module name and the use_assoc attribute for derived
+       type parameter expressions.
+
+2007-09-22  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/33502
+       * scanner.c (gfc_advance_line): Call debug_hooks->start_source_file
+       and debug_hooks->end_source_file when entering and exiting
+       included files.
+       (gfc_define_undef_line): New function.
+       (load_file): Ignore #define and #undef preprocessor lines
+       while reading source files.
+       * parse.c (next_statement): Handle #define and #undef
+       preprocessor lines.
+       (gfc_parse_file): Call debug_hooks->start_source_file and
+       debug_hooks->end_source_file for the main source file if
+       requested by the debug format.
+       * gfortran.h (gfc_define_undef_line): Add prototype.
+
+2007-09-22  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/33445
+       * scanner.c (skip_free_comments): Warn if !$OMP& is used
+       if no OpenMP directive is to be continued.
+
+2007-09-21  Paul Thomas  <pault@gcc.gnu.org>
+
+       *trans-expr.c (gfc_trans_pointer_assignment): Convert array
+       descriptor for subref pointer assignements, rather than using
+       the loop info version.
+
+2007-09-21  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/33037
+       * simplify.c (gfc_simplify_transfer): Warn if source size
+       is smaller than result size.
+
+2007-09-20  Asher Langton  <langton2@llnl.gov>
+
+       PR fortran/20441
+       * gfortran.h : Add init_local_* enums and init_flag_* flags to
+       gfc_option_t.
+       * lang.opt: Add -finit-local-zero, -finit-real, -finit-integer,
+       -finit-character, and -finit-logical flags.
+       * invoke.texi: Document new options.
+       * resolve.c (build_init_assign): New function.
+       (apply_init_assign): Move part of function into build_init_assign.
+       (build_default_init_expr): Build local initializer (-finit-*).
+       (apply_default_init_local): Apply local initializer (-finit-*).
+       (resolve_fl_variable): Try to add local initializer (-finit-*).
+       * options.c (gfc_init_options, gfc_handle_option,
+       gfc_post_options): Handle -finit-local-zero, -finit-real,
+       -finit-integer, -finit-character, and -finit-logical flags.
+
 2007-09-20  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
 
        PR fortran/33221