+2006-10-08 Erik Edelmann <edelmann@gcc.gnu.org>
+ Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/20541
+ * interface.c (gfc_compare_derived_types): Add comparison of
+ the allocatable field.
+ * intrinsic.c (add_subroutines): Add MOVE_ALLOC.
+ * trans-expr.c (gfc_conv_aliased_arg, gfc_trans_subarray_assign,
+ gfc_trans_subcomponent_assign, gfc_conv_string_parameter,
+ gfc_trans_scalar_assign): Add extra arguments l_is_temp
+ and r_is_var to references to latter function.
+ (gfc_conv_function_call): Add enum for types of argument and
+ an associated variable parm_kind. Deallocate components of
+ INTENT(OUT) and non-variable arrays.
+ (gfc_trans_subcomponent_assign): Add block to assign arrays
+ to allocatable components.
+ (gfc_trans_scalar_assign): Add block to handle assignments of
+ derived types with allocatable components, using the above new
+ arguments to control allocation/deallocation of memory and the
+ copying of allocated arrays.
+ * trans-array.c (gfc_array_allocate): Remove old identification
+ of pointer and replace with that of an allocatable array. Add
+ nullify of structures with allocatable components.
+ (gfc_conv_array_initializer): Treat EXPR_NULL.
+ (gfc_conv_array_parameter): Deallocate allocatable components
+ of non-variable structures.
+ (gfc_trans_dealloc_allocated): Use second argument of library
+ deallocate to inhibit, without error, freeing NULL pointers.
+ (get_full_array_size): New function to return the size of a
+ full array.
+ (gfc_duplicate_allocatable): New function to allocate and copy
+ allocated data.
+ (structure_alloc_comps): New recursive function to deallocate,
+ nullify or copy allocatable components.
+ (gfc_nullify_alloc_comp, gfc_deallocate_alloc_comp,
+ gfc_copy_alloc_comp): New interface functions to call previous.
+ (gfc_trans_deferred_array): Add the code to nullify allocatable
+ components, when entering scope, and to deallocate them on
+ leaving. Do not call gfc_trans_static_array_pointer and return
+ for structures with allocatable components and default
+ initializers.
+ * symbol.c (gfc_set_component_attr): Set allocatable field.
+ (gfc_get_component_attr): Set the allocatable attribute.
+ * intrinsic.h : Prototype for gfc_check_move_alloc.
+ * decl.c (build_struct): Apply TR15581 constraints for
+ allocatable components.
+ (variable_decl): Default initializer is always NULL for
+ allocatable components.
+ (match_attr_spec): Allow, or not, allocatable components,
+ according to the standard in force.
+ * trans-array.h : Prototypes for gfc_nullify_alloc_comp,
+ gfc_deallocate_alloc_comp, gfc_copy_alloc_comp and
+ gfc_duplicate_allocatable.
+ * gfortran.texi : Add mention of TR15581 extensions.
+ * gfortran.h : Add attribute alloc_comp, add
+ gfc_components field allocatable and add the prototype
+ for gfc_expr_to_initialize.
+ * trans-stmt.c (generate_loop_for_temp_to_lhs,
+ generate_loop_for_rhs_to_temp, gfc_trans_where_assign,
+ gfc_trans_where_3): Add extra arguments to calls to
+ gfc_trans_scalar_assign and set appropriately.
+ (gfc_trans_allocate): Nullify allocatable components.
+ (gfc_trans_deallocate): Deallocate to ultimate allocatable
+ components but stop at ultimate pointer components.
+ * module.c (mio_symbol_attribute, mio_symbol_attribute,
+ mio_component): Add module support for allocatable
+ components.
+ * trans-types.c (gfc_get_derived_type): Treat allocatable
+ components.
+ * trans.h : Add two boolean arguments to
+ gfc_trans_scalar_assign.
+ * resolve.c (resolve_structure_cons): Check conformance of
+ constructor element and the component.
+ (resolve_allocate_expr): Add expression to nullify the
+ constructor expression for allocatable components.
+ (resolve_transfer): Inhibit I/O of derived types with
+ allocatable components.
+ (resolve_fl_derived): Skip check of bounds of allocatable
+ components.
+ * trans-decl.c (gfc_get_symbol_decl): Add derived types
+ with allocatable components to deferred variable.
+ (gfc_trans_deferred_vars): Make calls for derived types
+ with allocatable components to gfc_trans_deferred_array.
+ (gfc_generate_function_code): Nullify allocatable
+ component function result on entry.
+ * parse.c (parse_derived): Set symbol attr.allocatable if
+ allocatable components are present.
+ * check.c (gfc_check_allocated): Enforce attr.allocatable
+ for intrinsic arguments.
+ (gfc_check_move_alloc): Check arguments of move_alloc.
+ * primary.c (gfc_variable_attr): Set allocatable attribute.
+ * intrinsic.texi : Add index entry and section for
+ for move_alloc.
+
+2006-10-08 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/29115
+ * resolve.c (resolve_structure_cons): It is an error if the
+ pointer component elements of a derived type constructor are
+ not pointer or target.
+
+
+ PR fortran/29211
+ * trans-stmt.c (generate_loop_for_temp_to_lhs,
+ generate_loop_for_rhs_to_temp): Provide a string length for
+ the temporary by copying that of the other side of the scalar
+ assignment.
+
+2006-10-08 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/28585
+ * intrinsic.c (add_functions): Add new_line Fortran 2003 intrinsic.
+ * intrinsic.h: Add gfc_simplify_new_line and gfc_check_new_line
+ prototypes.
+ * check.c (gfc_check_new_line): New function.
+ * simplify.c (gfc_simplify_new_line): New function.
+ * intrinsic.texi: Document new_line intrinsic.
+
+2006-10-07 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ PR fortran/16580
+ PR fortran/29288
+ * gcc/fortran/intrinsic.c (add_sym): Define the actual_ok when a
+ gfc_intrinsic_sym structure is filled.
+ (gfc_intrinsic_actual_ok): New function.
+ (add_sym_0s, add_sym_1s, add_sym_2s, add_sym_3s, add_sym_4s,
+ add_sym_5s): Intrinsic subroutines are not allowed as actual
+ arguments, so we remove argument actual_ok.
+ (add_functions): Correct the values for actual_ok of all intrinsics.
+ Add comments for gfc_check_access_func and gfc_resolve_index_func.
+ (add_subroutines): Remove the actual_ok argument, which was never used.
+ * gcc/fortran/intrinsic.h (gfc_intrinsic_actual_ok): New prototype.
+ * gcc/fortran/gfortran.h (gfc_resolve_index_func): New prototype.
+ * gcc/fortran/resolve.c (resolve_actual_arglist): Check whether
+ an intrinsic used as an argument list is allowed there.
+ * gcc/fortran/iresolve.c (gfc_resolve_index_func): New function.
+ (gfc_resolve_len): Change intrinsic function name to agree with
+ libgfortran.
+ * gcc/fortran/trans-decl.c (gfc_get_extern_function_decl): Add
+ new case, because some specific intrinsics take 3 arguments.
+ * gcc/fortran/intrinsic.texi: DIMAG is a GNU extension.
+
+2006-10-06 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/28415
+ * trans-decl.c (gfc_finish_var_decl): With -fno-automatic, don't
+ make artificial variables or pointer to variable automatic array
+ TREE_STATIC.
+
+ * scanner.c (skip_free_comments): Return bool instead of void.
+ (gfc_next_char_literal): Don't return ' ' if & is missing after
+ !$omp or !$. Use skip_{free,fixed}_comments directly instead
+ of gfc_skip_comments.
+
+2006-10-04 Brooks Moses <bmoses@stanford.edu>
+
+ * gfortran.texi: (Current Status): update and rewrite to reflect
+ actual status more accurately.
+
+2006-10-04 Brooks Moses <bmoses@stanford.edu>
+
+ * gfortran.texi: Consistently refer to the compiler as "GNU
+ Fortran".
+ * intrinsic.texi: Ditto.
+ * invoke.texi: Ditto.
+
+2006-10-04 Richard Henderson <rth@redhat.com>
+ Jakub Jelinek <jakub@redhat.com>
+
+ * f95-lang.c (gfc_init_builtin_functions): Add __emutls_get_address
+ and __emutls_register_common.
+ * openmp.c (gfc_match_omp_threadprivate): Don't error if !have_tls.
+ * trans-common.c (build_common_decl): Don't check have_tls.
+ * trans-decl.c (gfc_finish_var_decl): Likewise.
+ * types.def (BT_WORD, BT_FN_PTR_PTR): New.
+ (BT_FN_VOID_PTR_WORD_WORD_PTR): New.
+
+2006-10-04 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/29343
+ * resolve.c (resolve_allocate_expr): Exclude derived types from
+ search for dependences between allocated variables and the
+ specification expressions for other allocations in the same
+ statement.
+
+2006-10-04 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/29098
+ * resolve.c (resolve_structure_cons): Do not return FAILURE if
+ component expression is NULL.
+
+2006-10-03 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/20779
+ PR fortran/20891
+ * resolve.c (find_sym_in_expr): New function that returns true
+ if a symbol is found in an expression.
+ (resolve_allocate_expr): Check whether the STAT variable is
+ itself allocated in the same statement. Use the call above to
+ check whether any of the allocated arrays are used in array
+ specifications in the same statement.
+
+2006-10-03 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ * arith.c (gfc_check_real_range): Use correct exponent range for
+ subnormal numbers.
+
+2006-10-03 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/29284
+ PR fortran/29321
+ PR fortran/29322
+ * trans-expr.c (gfc_conv_function_call): Check the expression
+ and the formal symbol are present when testing the actual
+ argument.
+
+ PR fortran/25091
+ PR fortran/25092
+ * resolve.c (resolve_entries): It is an error if the entries
+ of an array-valued function do not have the same shape.
+
+2006-10-03 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ PR middle-end/27478
+ * trans-decl.c (gfc_get_fake_result_decl): Mark var as
+ TREE_ADDRESSABLE.
+
+2006-10-02 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR fortran/19262
+ * gfortran.h (gfc_option_t): Add max_continue_fixed and
+ max_continue_free.
+ * options.c (gfc_init_options): Initialize fixed form and free form
+ consecutive continuation line limits.
+ * scanner.c (gfc_scanner_init_1): Initialize continue_line
+ and continue_count. (gfc_next_char_literal): Count the number of
+ continuation lines in the current statement and warn if limit
+ is exceeded.
+
+2006-10-02 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR fortran/19260
+ * scanner.c (gfc_next_char_literal): Add check for missing '&'
+ and warn if in_string, otherwise return ' '.
+
+2006-10-02 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ PR fortran/29210
+ * primary.c (match_sym_complex_part): Named constants as real or
+ imaginary part of complex a named constant are only allowed in
+ Fortran 2003.
+
+2006-10-01 Brooks Moses <bmoses@stanford.edu>
+
+ * gfortran.texi: Corrected references to MALLOC intrinsic.
+ * invoke.texi: Minor cleanup and clarification to the Dialect
+ Options section.
+
+2006-09-30 Brooks Moses <bmoses@stanford.edu>
+
+ * invoke.texi: Add mention of BOZ constants and integer
+ overflow to -fno-range-check.
+ * gfortran.texi: Add mention of -fno-range-check to
+ section on BOZ contants.
+
+2006-09-30 Bernhard Fischer <aldot@gcc.gnu.org>
+
+ * resolve.c: Fix commentary typo. Fix whitespace.
+
+2006-09-28 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ fortran/29147
+ * arith.c (gfc_check_integer_range): Disable range checking via
+ -fno-range-check.
+
+2006-09-28 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ * arith.c: Change conditional test for inclusion of arctangent().
+ (gfc_check_real_range): Change conditional test for use of
+ mpfr_subnormalize.
+ * simplify.c (gfc_simplify_atan2): Fix conditional for use of
+ mpfr_atan2() instead of arctangent().
+ (gfc_simplify_exponent): Fix conditional for use of mpfr_get_exp().
+ (gfc_simplify_log): Fix conditional for use of mpfr_atan2() instead
+ of arctangent().
+ (gfc_simplify_nearest): Fix conditional for use of mpfr_nextafter().
+
+2006-09-27 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ * arith.c: Conditionally include arctangent2().
+ (gfc_check_real_range): Use mpfr_subnormalize in preference to local
+ hack.
+ * trans-intrinsic.c (gfc_get_intrinsic_lib_fndecl): Append
+ l for long double functions.
+ * simplify.c: Wrap Copyright to new line.
+ (gfc_simplify_atan2): Use mpfr_atan2 in preference to arctangent2().
+ (gfc_simplify_log): Ditto.
+
+
+ PR fortran/28276
+ * simplify.c (gfc_simplify_exponent): Use mpfr_get_exp in
+ preference to broken local hack.
+
+ PR fortran/27021
+ * simplify.c (gfc_simplify_nearest): Use mpfr_nexttoward and
+ mpfr_subnormalize to handle numbers near zero in preference to broken
+ local hack.
+
+2006-09-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/29097
+ * scanner.c (include_line): Handle conditional include.
+
+2006-09-25 Tobias Schluter <tobias.schlueter@physik.uni-muenchen.de>
+
+ PR fortran/21203
+ * error.c (show_loci): No need to risk an ICE to output a
+ slightly nicer error message.
+
+2006-09-19 Paul Thomas <pault@gcc.gnu.org>
+ Steven Bosscher <steven@gcc.gnu.org>
+
+ PR fortran/29101
+ * trans-stmt.c (gfc_trans_character_select): Store the label
+ from select_string and then clean up any temporaries from the
+ conversion of the select expression, before branching to the
+ selected case.
+
+2006-09-18 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/28526
+ * primary.c (match_variable): If the compiler is in a module
+ specification block, an interface block or a contains section,
+ reset host_flag to force the changed symbols mechanism.
+
+ PR fortran/29101
+ * trans-stmt.c (gfc_trans_character_select): Add the post block
+ for the expression to the main block, after the call to
+ select_string and the last label.
+
+2006-09-18 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/29060
+ * iresolve.c (resolve_spread): Build shape for result if the
+ source shape is available and dim and ncopies are constants.
+
+2006-09-18 Tobias Schl\81üter <tobias.schlueter@physik.uni-muenchen.de>
+
+ PR fortran/28817
+ PR fortran/21918
+ * trans-decl.c (generate_local_decl): Change from 'warning' to
+ 'gfc_warning' to have line numbers correctly reported.
+
+2006-09-15 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/29051
+ * decl.c (match_old_style_init): Set the 'where' field of the
+ gfc_data structure 'newdata'.
+
+ * match.c (match_case_eos): Add a comprehensible error message.
+
+2006-09-13 Wolfgang Gellerich <gellerich@de.ibm.com>
+
+ * trans-expr.c (gfc_add_interface_mapping): For characters, dereference
+ pointer if necessary and then perform the cast.
+
+2006-09-11 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ * intrinsic.c: Update Copyright date.
+ * intrinsic.h: Ditto.
+
+2006-09-11 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/28890
+ * trans-expr.c (gfc_conv_function_call): Obtain the string length
+ of a dummy character(*) function from the symbol if it is not
+ already translated. For a call to a character(*) function, use
+ the passed, hidden string length argument, which is available
+ from the backend_decl of the formal argument.
+ * resolve.c (resolve_function): It is an error if a function call
+ to a character(*) function is other than a dummy procedure or
+ an intrinsic.
+
+2006-09-10 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/28959
+ * trans-types.c (gfc_get_derived_type): Use the parent namespace of
+ the procedure if the type's own namespace does not have a parent.
+
+2006-09-10 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/28923
+ * expr.c (find_array_section): Only use the array lower and upper
+ bounds for the start and end of the sections, where the expr is
+ NULL.
+
+2006-09-10 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/28914
+ * trans-array.c (gfc_trans_array_constructor_value): Create a temporary
+ loop variable to hold the current loop variable in case it is modified
+ by the array constructor.
+
+2006-09-07 Steven G. Kargl <kargls@comcast.net>
+
+ * gfortran.h (gfc_integer_info): Eliminate max_int.
+ * arith.c (gfc_arith_init_1): Remove initialization of max_int.
+ (gfc_arith_done_1): Remove clearing of max_int.
+ (gfc_check_integer_range): Fix range chekcing of overflow.
+ * simplify.c (gfc_simplify_not): Construct mask that was max_int.
+
+2006-09-05 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/28908
+ * gfortran.h : Restore the gfc_dt_list structure and reference
+ to it in gfc_namespace.
+ * resolve.c (resolve_fl_derived): Restore the building of the
+ list of derived types for the current namespace. Modify the
+ restored code so that a check is made to see if the symbol is
+ already in the list.
+ (resolve_fntype): Make sure that the specification block
+ version of the derived type is used for a module function that
+ returns that type.
+ * symbol.c (gfc_free_dt_list): Restore.
+ (gfc_free_namespace): Restore call to previous.
+ * trans-types.c (copy_dt_decls_ifequal): Restore.
+ (gfc_get_derived_type): Restore all the paraphenalia for
+ association of derived types, including calls to previous.
+ Modify the restored code such that all derived types are built
+ if their symbols are found in the parent namespace; not just
+ non-module types. Add backend_decls to like derived types in
+ sibling namespaces, as well as that of the derived type.
+
+2006-08-30 Kazu Hirata <kazu@codesourcery.com>
+
+ * match.c: Fix a comment typo.
+
+2006-08-30 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/28885
+ * trans-expr.c (gfc_conv_aliased_arg): Ensure that the temp
+ declaration is retained for INTENT(OUT) arguments.
+
+ PR fortran/28873
+ PR fortran/20067
+ * resolve.c (resolve_generic_f): Make error message more
+ comprehensible.
+ (resolve_generic_s): Restructure search for specific procedures
+ to be similar to resolve_generic_f and change to similar error
+ message. Ensure that symbol reference is refreshed, in case
+ the search produces a NULL.
+ (resolve_specific_s): Restructure search, as above and as
+ resolve_specific_f. Ensure that symbol reference is refreshed,
+ in case the search produces a NULL.
+
+ PR fortran/25077
+ PR fortran/25102
+ * interface.c (check_operator_interface): Throw error if the
+ interface assignment tries to change intrinsic type assigments
+ or has less than two arguments. Also, it is an error if an
+ interface operator contains an alternate return.
+
+ PR fortran/24866
+ * parse.c (gfc_fixup_sibling_symbols): Do not modify the symbol
+ if it is a dummy in the contained namespace.
+
+2006-08-29 Steven G. Kargl <kargls@comcast.net>
+
+ PR fortran/28866
+ * match.c: Wrap copyright.
+ (gfc_match_assignment): Return MATCH_NO for failed lvalue. Remove
+ gotos. Move error handling of FL_PARAMETER to ...
+ * gfc_match_if: Deal with MATCH_NO from above.
+ * primary.c: Wrap copyright.
+ (match_variable): ... here. Improve error messages.
+
+2006-08-29 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/28788
+ * symbol.c (gfc_use_derived): Never eliminate the symbol,
+ following reassociation of use associated derived types.
+
+2006-08-26 Steven G. Kargl <kargls@comcast.net>
+
+ * arith.h: Update Copyright dates. Fix whitespace.
+ * arith.c: Update Copyright dates. Fix whitespace. Fix comments.
+ (gfc_arith_done_1): Clean up pedantic_min_int and subnormal.
+
+2006-08-26 Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.texi: Note variable initialization causes SAVE attribute.
+ * intrinsic.texi: Clarify support for KIND=16 and KIND=10.
+ Mention -std=f2003. Cross reference INQUIRE from ACCESS intrinsic.
+ Add missing ) in ACOS.
+
+2006-08-26 Daniel Franke <franke.daniel@gmail.com>
+
+ * intrinsic.texi: Update Copyright date. Added documentation
+ for ACOSH, AND, ASINH, ATANH, CHDIR, FGET, FGETC, FPUT, FPUTC,
+ GETCWD, OR and XOR intrinsics, removed inadvertently introduced
+ doc-stubs for EQV and NEQV, corrected some typographical errors.
+
+2006-08-24 Daniel Franke <franke.daniel@gmail.com>,
+ Brooks Moses <bmoses@stanford.edu>
+
+ * intrinsic.texi: Added doc-stubs for undocumented intrinsics,
+ added a "See Also" section, renamed the "Options" section to
+ "Standard", improved the index, and made numerous minor
+ typo corrections and grammatical fixes.
+
+2006-08-24 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/28788
+ * symbol.c (shift_types): Shift the derived type references in
+ formal namespaces.
+ (gfc_use_derived): Return if the derived type symbol is already
+ in another namspace. Add searches for the derived type in
+ sibling namespaces.
+
+ PR fortran/28771
+ * decl.c (add_init_expr_to_sym): Restore the original but
+ restricted to parameter arrays to fix a regression.
+
+2006-08-23 Steven G. Kargl <kargls@comcast.net>
+
+ * gfortran.texi: Fix last commit where a "no" was deleted and
+ a grammatical error was introduced.
+
+2006-08-23 Steven G. Kargl <kargls@comcast.net>
+
+ * gfortran.texi: Spell check. Add a few contributors to
+ Chapter 9. Expand the description of BOZ constant handling.
+
+2006-08-20 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR fortran/25828
+ * gfortran.texi: Mention STREAM I/O among supported F2003
+ features.
+
+2006-08-20 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/28601
+ PR fortran/28630
+ * gfortran.h : Eliminate gfc_dt_list structure and reference
+ to it in gfc_namespace.
+ * resolve.c (resolve_fl_derived): Remove the building of the
+ list of derived types for the current namespace.
+ * symbol.c (find_renamed_type): New function to find renamed
+ derived types by symbol name rather than symtree name.
+ (gfc_use_derived): Search parent namespace for identical
+ derived type and use it, even if local version is complete,
+ except in interface bodies. Ensure that renamed derived types
+ are found by call to find_renamed_type. Recurse for derived
+ type components.
+ (gfc_free_dt_list): Remove.
+ (gfc_free_namespace): Remove call to previous.
+ * trans-types.c (copy_dt_decls_ifequal): Remove.
+ (gfc_get_derived_type): Remove all the paraphenalia for
+ association of derived types, including calls to previous.
+ * match.c (gfc_match_allocate): Call gfc_use_derived to
+ associate any derived types that are being allocated.
+
+ PR fortran/20886
+ * resolve.c (resolve_actual_arglist): The passing of
+ a generic procedure name as an actual argument is an
+ error.
+
+ PR fortran/28735
+ * resolve.c (resolve_variable): Check for a symtree before
+ resolving references.
+
+ PR fortran/28762
+ * primary.c (match_variable): Return MATCH_NO if the symbol
+ is that of the program.
+
+ PR fortran/28425
+ * trans-expr.c (gfc_trans_subcomponent_assign): Translate
+ derived type component expressions other than another derived
+ type constructor.
+
+ PR fortran/28496
+ * expr.c (find_array_section): Correct errors in
+ the handling of a missing start value for the
+ index triplet in an array reference.
+
+ PR fortran/18111
+ * trans-decl.c (gfc_build_dummy_array_decl): Before resetting
+ reference to backend_decl, set it DECL_ARTIFICIAL.
+ (gfc_get_symbol_decl): Likewise for original dummy decl, when
+ a copy is made of an array.
+ (create_function_arglist): Likewise for the _entry paramter
+ in entry_masters.
+ (build_entry_thunks): Likewise for dummies in entry thunks.
+
+ PR fortran/28600
+ * trans-decl.c (gfc_get_symbol_decl): Ensure that the
+ DECL_CONTEXT of the length of a character dummy is the
+ same as that of the symbol declaration.
+
+ PR fortran/28771
+ * decl.c (add_init_expr_to_sym): Remove setting of charlen for
+ an initializer of an assumed charlen variable.
+
+ PR fortran/28660
+ * trans-decl.c (generate_expr_decls): New function.
+ (generate_dependency_declarations): New function.
+ (generate_local_decl): Call previous if not either a dummy or
+ a declaration in an entry master.
+
+2006-08-19 Erik Edelmann <eedelman@gcc.gnu.org>
+
+ PR fortran/25217
+ * resolve.c (resolve_fl_variable): Set a default initializer for
+ derived types with INTENT(OUT) even if 'flag' is true.
+ * trans-expr.c (gfc_conv_function_call): Insert code to
+ reinitialize INTENT(OUT) arguments of derived type with default
+ initializers.
+
+2006-08-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR fortran/25828
+ * gfortran.h: Add new pointer for stream position to st_inquire.
+ Rename gfc_large_io_int_kind to gfc_intio_kind.
+ * trans-types.c (gfc_init_kinds): use gfc_intio_kind.
+ * io.c: Add new IO tag for file position going in and another for out.
+ (match_dt_element): Match new tag_spos.
+ (gfc_resolve_dt): Resolve new tag_spos.
+ (gfc_free_inquire): Free inquire->strm_pos.
+ (match_inquire_element): Match new tag_strm_out.
+ (gfc_resolve_inquire): Resolve new tag_strm_out.
+ * trans-io.c: Rename IOPARM_type_large_io_int to IOPARM_type_intio.
+ (gfc_build_st_parameter): Same.
+ (gfc_build_io_library_fndecls) Same. and add build pointer type pintio.
+ (gfc_trans_inquire): Translate strm_pos for inquire.
+ * ioparm.def: Reorder flags to accomodate addition of new inquire
+ flag for strm_pos_out and add it in.
+
+2006-08-06 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/28590
+ * parse.c (parse_derived): Remove the test for sequence type
+ components of a sequence type.
+ * resolve.c (resolve_fl_derived): Put the test here so that
+ pointer components are tested.
+
+2006-08-05 Steven G. Kargl <kargls@comcast.nt>
+
+ PR fortran/28548
+ * resolve.c(resolve_elemental_actual): Add flags.h to use -pedantic
+ and exclude conversion functions in conditional. Change gfc_error
+ to gfc_warning.
+ (warn_unused_label) Rename to ...
+ (warn_unused_fortran_label) avoid warn_unused_label in flags.h.
+
+2006-07-30 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ * intrinsic.c (add_functions): Add ACCESS, CHMOD, RSHIFT, LSHIFT.
+ (add_subroutines): Add LTIME, GMTIME and CHMOD.
+ * intrinsic.h (gfc_check_access_func, gfc_check_chmod,
+ gfc_check_chmod_sub, gfc_check_ltime_gmtime, gfc_simplify_rshift,
+ gfc_simplify_lshift, gfc_resolve_access, gfc_resolve_chmod,
+ gfc_resolve_rshift, gfc_resolve_lshift, gfc_resolve_chmod_sub,
+ gfc_resolve_gmtime, gfc_resolve_ltime): Add prototypes.
+ * gfortran.h (gfc_generic_isym_id): Add GFC_ISYM_ACCESS,
+ GFC_ISYM_CHMOD, GFC_ISYM_LSHIFT, GFC_ISYM_RSHIFT.
+ * iresolve.c (gfc_resolve_access, gfc_resolve_chmod,
+ gfc_resolve_rshift, gfc_resolve_lshift, gfc_resolve_chmod_sub,
+ gfc_resolve_gmtime, gfc_resolve_ltime): New functions.
+ * check.c (gfc_check_access_func, gfc_check_chmod,
+ gfc_check_chmod_sub, gfc_check_ltime_gmtime): New functions.
+ * trans-intrinsic.c (gfc_conv_intrinsic_rlshift): New function.
+ (gfc_conv_intrinsic_function): Add cases for the new GFC_ISYM_*.
+
+2006-07-28 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ * Make-lang.in: Use $(HEADER_H) instead of header.h in dependencies.
+
+2006-07-26 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ * intrinsic.c (add_functions): Add INT2, SHORT, INT8, LONG,
+ LSTAT, MCLOCK and MCLOCK8 intrinsic functions.
+ (add_subroutines): Add LSTAT intrinsic subroutine.
+ * gfortran.h (gfc_generic_isym_id): Add GFC_ISYM_INT2,
+ GFC_ISYM_INT8, GFC_ISYM_LONG, GFC_ISYM_LSTAT, GFC_ISYM_MCLOCK
+ and GFC_ISYM_MCLOCK8.
+ * iresolve.c (gfc_resolve_int2, gfc_resolve_int8,
+ gfc_resolve_long, gfc_resolve_lstat, gfc_resolve_mclock,
+ gfc_resolve_mclock8, gfc_resolve_lstat_sub): New functions.
+ * check.c (gfc_check_intconv): New function.
+ * trans-intrinsic.c (gfc_conv_intrinsic_function): Add cases for
+ the added GFC_ISYM_*.
+ * simplify.c (gfc_simplify_intconv, gfc_simplify_int2,
+ gfc_simplify_int8, gfc_simplify_long): New functions.
+ * intrinsic.h (gfc_check_intconv, gfc_simplify_int2,
+ gfc_simplify_int8, gfc_simplify_long, gfc_resolve_int2,
+ gfc_resolve_int8, gfc_resolve_long, gfc_resolve_lstat,
+ gfc_resolve_mclock, gfc_resolve_mclock8, gfc_resolve_lstat_sub):
+ Add prototypes.
+
+2006-07-24 Erik Edelmann <eedelman@gcc.gnu.org>
+
+ PR fortran/28416
+ * trans-array.c (gfc_conv_array_parameter): Give special treatment for
+ ALLOCATABLEs if they are themselves dummy variables.
+
+2006-07-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR fortran/25289
+ * gfortran.h: Declare gfc_large_io_int_kind.
+ * trans-types.c (gfc_init_kinds): Set gfc_large_io_int_kind
+ to size 8 or 4.
+ * trans-io.c (enum iofield_type): Add large_io_int type.
+ (gfc_build_st_parameter): Same.
+ (gfc_build_io_library_fndecls): Same.
+ * ioparm_def: Use large_io_int to define rec.
+
+2006-07-22 Steven Bosscher <steven@gcc.gnu.org>
+
+ PR fortran/28439
+ * trans-stmt.c (gfc_trans_arithmetic_if): Evaluate the condition once.
+
+2006-07-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/28390
+ * trans-openmp.c (gfc_trans_omp_do): Look for LASTPRIVATE in
+ code->exp.omp_clauses rather than in the 3rd function argument.
+
+2006-07-16 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/28384
+ * trans-common.c (translate_common): If common_segment is NULL
+ emit error that common block does not exist.
+
+ PR fortran/20844
+ * io.c (check_io_constraints): It is an error if an ADVANCE
+ specifier appears without an explicit format.
+
+ PR fortran/28201
+ * resolve.c (resolve_generic_s): For a use_associated function,
+ do not search for an alternative symbol in the parent name
+ space.
+
+ PR fortran/20893
+ * resolve.c (resolve_elemental_actual): New function t combine
+ all the checks of elemental procedure actual arguments. In
+ addition, check of array valued optional args(this PR) has
+ been added.
+ (resolve_function, resolve_call): Remove parts that treated
+ elemental procedure actual arguments and call the above.
+
+2006-07-14 Steven G. Kargl <kargls@comcast.net>
+
+ * trans-expr.c (gfc_trans_string_copy): Evaluate the string lengths
+
+006-07-13 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/28353
+ * trans-expr.c (gfc_conv_aliased_arg): Missing formal arg means
+ that intent is INOUT (fixes regression).
+
+ PR fortran/25097
+ * check.c (check_present): The only permitted reference is a
+ full array reference.
+
+ PR fortran/20903
+ * decl.c (variable_decl): Add error if a derived type is not
+ from the current namespace if the namespace is an interface
+ body.
+
+2006-07-12 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ PR fortran/28163
+ * trans-expr.c (gfc_trans_string_copy): Generate inline code
+ to perform string copying instead of calling a library function.
+ * trans-decl.c (gfc_build_intrinsic_function_decls): Don't build
+ decl for copy_string.
+ * trans.h (gfor_fndecl_copy_string): Remove prototype.
+
+2006-07-11 Feng Wang <fengwang@nudt.edu.cn>
+
+ PR fortran/28213
+ * trans-io.c (transfer_expr): Deal with Hollerith constants used in
+ I/O list.
+
+2006-07-07 Kazu Hirata <kazu@codesourcery.com>
+
+ * intrinsic.texi: Fix typos.
+
+2006-07-07 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/28237
+ PR fortran/23420
+ * io.c (resolve_tag): Any integer that is not an assigned
+ variable is an error.
+
+2006-07-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ PR fortran/28129
+ * trans-array.c (gfc_trans_array_bound_check): Add a locus
+ argument, and use it in the error messages.
+ (gfc_conv_array_index_offset): Donc perform bounds checking on
+ the last dimension of assumed-size arrays.
+
+2006-07-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ PR fortran/27874
+ * trans-stmt.c (compute_inner_temp_size): Don't perform bounds
+ checking when calculating the bounds of scalarization.
+
+2006-07-05 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ PR fortran/20892
+ * interface.c (gfc_match_interface): Don't allow dummy procedures
+ to have a generic interface.
+
+2006-07-04 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/28174
+ * trans-array.c (gfc_conv_expr_descriptor): When building temp,
+ ensure that the substring reference uses a new charlen.
+ * trans-expr.c (gfc_conv_aliased_arg): Add the formal intent to
+ the argument list, lift the treatment of missing string lengths
+ from the above and implement the use of the intent.
+ (gfc_conv_function_call): Add the extra argument to the call to
+ the above.
+
+ PR fortran/28167
+ * trans-array.c (get_array_ctor_var_strlen): Treat a constant
+ substring reference.
+ * array.c (gfc_resolve_character_array_constructor): Remove
+ static attribute and add the gfc_ prefix, make use of element
+ charlens for the expression and pick up constant string lengths
+ for expressions that are not themselves constant.
+ * gfortran.h : resolve_character_array_constructor prototype
+ added.
+ * resolve.c (gfc_resolve_expr): Call resolve_character_array_
+ constructor again after expanding the constructor, to ensure
+ that the character length is passed to the expression.
+
+2006-07-04 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+ Daniel Franke <franke.daniel@gmail.com>
+
+ * intrinsic.c (add_subroutines): Add ITIME and IDATE.
+ * intrinsic.h (gfc_check_itime_idate,gfc_resolve_idate,
+ fc_resolve_itime): New protos.
+ * iresolve.c (gfc_resolve_itime, gfc_resolve_idate): New functions.
+ * check.c (gfc_check_itime_idate): New function.
+ * intrinsic.texi: Document the new intrinsics.
+
+2006-07-03 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ * intrinsics/date_and_time.c (itime0,idate0,itime_i4,itime_i8,
+ idate_i4,idate_i8): New functions.
+
+
+2006-07-03 Asher Langton <langton2@llnl.gov>
+
+ * decl.c (match_old_style_init): Add data attribute to symbol.
+
+2006-07-03 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ * iresolve.c (gfc_resolve_cpu_time, gfc_resolve_random_number):
+ Remove ATTRIBUTE_UNUSED for used argument.
+
2006-07-03 Francois-Xavier Coudert <coudert@clipper.ens.fr>
* intrinsic.texi: Document new intrinsics.
* options.c (gfc_init_options, gfc_handle_option): Set new option.
sort nearby misplaced options.
* intrinsic.c (add_sym, make_generic, make_alias): Use it.
-
+
2006-05-02 Paul Thomas <pault@gcc.gnu.org>
- PR fortran/27269
- * module.c: Add static flag in_load_equiv.
- (mio_expr_ref): Return if no symtree and in_load_equiv.
- (load_equiv): If any of the equivalence members have no symtree, free
- the equivalence and the associated expressions.
+ PR fortran/27269
+ * module.c: Add static flag in_load_equiv.
+ (mio_expr_ref): Return if no symtree and in_load_equiv.
+ (load_equiv): If any of the equivalence members have no symtree, free
+ the equivalence and the associated expressions.
- PR fortran/27324
- * trans-common.c (gfc_trans_common): Invert the order of calls to
- finish equivalences and gfc_commit_symbols.
+ PR fortran/27324
+ * trans-common.c (gfc_trans_common): Invert the order of calls to
+ finish equivalences and gfc_commit_symbols.
2006-04-29 Francois-Xavier Coudert <coudert@clipper.ens.fr>
* expr.c (gfc_check_assign): Allow cray pointee to be assumes-size.
2006-03-30 Paul Thomas <paulthomas2@wanadoo.fr>
- Bud Davis <bdavis9659@sbcglobal.net>
+ Bud Davis <bdavis9659@sbcglobal.net>
PR 21130
* module.c (load_needed): Traverse entire tree before returning.
* trans-intrinsic.c (gfc_conv_intrinsic_size): Set it for SIZE.
2006-03-06 Paul Thomas <pault@gcc.gnu.org>
- Erik Edelmann <eedelman@gcc.gnu.org>
+ Erik Edelmann <eedelman@gcc.gnu.org>
* trans-array.c (gfc_trans_dealloc_allocated): New function.
(gfc_trans_deferred_array): Use it, instead of inline code.
2006-02-19 Thomas Koenig <Thomas.Koenig@online.de>
- * gfortran.texi: Document environment variables which
- influence runtime behavior.
+ * gfortran.texi: Document environment variables which
+ influence runtime behavior.
2006-02-19 H.J. Lu <hongjiu.lu@intel.com>
2006-02-14 Thomas Koenig <Thomas.Koenig@online.de>
- PR fortran/25045
- * check.c (dim_check): Perform all checks if dim is optional.
- (gfc_check_minloc_maxloc): Use dim_check and dim_rank_check
- to check dim argument.
- (check_reduction): Likewise.
+ PR fortran/25045
+ * check.c (dim_check): Perform all checks if dim is optional.
+ (gfc_check_minloc_maxloc): Use dim_check and dim_rank_check
+ to check dim argument.
+ (check_reduction): Likewise.
2006-02-14 Tobias Schl\81üter <tobias.schlueter@physik.uni-muenchen.de>