OSDN Git Service

PR fortran/29784
[pf3gnuchains/gcc-fork.git] / gcc / fortran / ChangeLog
index 6a5914b..9a16c5f 100644 (file)
@@ -1,3 +1,596 @@
+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
+       * gfortran.h (symbol_attribute): Add zero_comp field.
+       * symbol.c (gfc_use_derived): Handle case of emtpy derived types.
+       * decl.c (gfc_match_data_decl): Likewise.
+       (gfc_match_derived_decl): Likewise.
+       * module.c (ab_attribute, attr_bits): Add AB_ZERO_COMP member.
+       (mio_symbol_attribute): Write and read AB_ZERO_COMP.
+       * resolve.c (resolve_symbol): Handle case of emtpy derived types.
+       * parse.c (parse_derived): Likewise.
+
+2007-09-20  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/33288
+       * arith.c (reduce_unary, reduce_binary_ac, reduce_binary_ca,
+       reduce_binary_aa): Call ourselves recursively if an element of
+       the constructor is itself a constant array.
+
+2007-09-20  Tobias Schlüter  <tobi@gcc.gnu.org>
+
+       * io.c (resolve_tag_format): New function using code split out
+       and simplified from ...
+       (resolve_tag): ... this function.  Simplify logic.  Unify
+       IOSTAT, IOLENGTH and SIZE handling.
+
+2007-09-20  Christopher D. Rickett  <crickett@lanl.gov>
+
+       PR fortran/33497
+       * resolve.c (gfc_iso_c_func_interface): Use information from
+       subcomponent if applicable.
+
+2007-09-20  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/33325
+       * intrinsic.text: Add documentation of the intrinsic modules.
+       * gfortran.texi: Link to intrinsic-modules section and to
+       the GOMP manual.
+
+2007-09-18  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/31119
+       * trans-array.c (gfc_conv_ss_startstride): Only perform bounds
+       checking for optional args when they are present.
+
+2007-09-18  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/33231
+       * resolve.c (resolve_elemental_actual): Check for conformance
+       of intent out/inout dummies.
+
+2007-09-17  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/33106
+       * resolve.c (resolve_symbol): Reject public variable of
+       private derived-types for Fortran 95.
+
+2007-09-17  Tobias Burnus  <burnus@net-b.de>
+
+       * resolve.c (resolve_fl_procedure): Allow private dummies
+       for Fortran 2003.
+
+2007-09-17  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       * trans-types.c (gfc_get_desc_dim_type): Do not to try
+       emit debug info.
+       (gfc_get_array_descriptor_base): Likewise.
+       (gfc_get_mixed_entry_union): Likewise
+       (gfc_get_derived_type): Set decl location for fields and
+       derived type itself.
+
+2007-09-16  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/29396
+       PR fortran/29606
+       PR fortran/30625
+       PR fortran/30871
+       * trans.h : Add extra argument to gfc_build_array_ref. Rename
+       gfc_conv_aliased_arg to gfc_conv_subref_array_arg.  Move
+       prototype of is_aliased_array to gfortran.h and rename it
+       gfc_is_subref_array.  Add field span to lang_decl, add a new
+       decl lang specific flag accessed by GFC_DECL_SUBREF_ARRAY_P
+       and a new type flag GFC_DECL_SUBREF_ARRAY_P.
+       * trans.c (gfc_build_array_ref): Add the new argument, decl.
+       If this is a subreference array pointer, use the lang_decl
+       field 'span' to calculate the offset in bytes and use pointer
+       arithmetic to address the element.
+       * trans-array.c (gfc_conv_scalarized_array_ref,
+       gfc_conv_array_ref): Add the backend declaration as the third
+       field, if it is likely to be a subreference array pointer.
+       (gfc_conv_descriptor_dimension, gfc_trans_array_ctor_element,
+       gfc_trans_array_constructor_element, structure_alloc_comps,
+       gfc_conv_array_index_offset): For all other references to
+       gfc_build_array_ref, set the third argument to NULL.
+       (gfc_get_dataptr_offset): New function.
+       (gfc_conv_expr_descriptor): If the rhs of a pointer assignment
+       is a subreference array, then calculate the offset to the
+       subreference of the first element and set the descriptor data
+       pointer to this, using gfc_get_dataptr_offset.
+       trans-expr.c (gfc_get_expr_charlen): Use the expression for the
+       character length for a character subreference.
+       (gfc_conv_substring, gfc_conv_subref_array_arg): Add NULL for
+       third argument in call to gfc_build_array_ref.
+       (gfc_conv_aliased_arg): Rename to gfc_conv_subref_array_arg.
+       (is_aliased_array): Remove.
+       (gfc_conv_function_call): Change reference to is_aliased_array
+       to gfc_is_subref_array and reference to gfc_conv_aliased_arg to
+       gfc_conv_subref_array_arg.
+       (gfc_trans_pointer_assignment): Add the array element length to
+       the lang_decl 'span' field.
+       * gfortran.h : Add subref_array_pointer to symbol_attribute and
+       add the prototype for gfc_is_subref_array.
+       * trans-stmt.c : Add NULL for third argument in all references
+       to gfc_build_array_ref.
+       * expr.c (gfc_is_subref_array): Renamed is_aliased_array.
+       If this is a subreference array pointer, return true.
+       (gfc_check_pointer_assign): If the rhs is a subreference array,
+       set the lhs subreference_array_pointer attribute.
+       * trans-decl.c (gfc_get_symbol_decl): Allocate the lang_decl
+       field if the symbol is a subreference array pointer and set an
+       initial value of zero for the 'span' field.
+       * trans-io.c (set_internal_unit): Refer to is_subref_array and
+       gfc_conv_subref_array_arg.
+       (nml_get_addr_expr): Add NULL third argument to
+       gfc_build_array_ref. 
+       (gfc_trans_transfer): Use the scalarizer for a subreference
+       array.
+
+2007-09-13  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       * iresolve.c (resolve_mask_arg): If a mask is an array
+       expression, convert it to kind=1.
+
+2007-09-13  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/33343
+       * expr.c (gfc_check_conformance): Print ranks in the error message.
+       * resolve.c (resolve_elemental_actual): Check also conformance of
+       the actual arguments for elemental functions.
+
+2007-09-13  Tobias Burnus  <burnus@net-b.de>
+
+       * symbol.c (gfc_add_elemental,gfc_add_pure,gfc_add_recursive):
+       Allow prefixes only to be specified once.
+
+2007-09-13  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/33412
+       * symbol.c (check_conflict): Add conflict of ELEMENTAL with Bind(C).
+
 2007-09-12  Tobias Burnus  <burnus@net-b.de>
 
        PR fortran/33297