OSDN Git Service

2007-08-27 Tobias Burnus <burnus@net-b.de>
[pf3gnuchains/gcc-fork.git] / gcc / fortran / ChangeLog
index 1ad6866..e2ec1af 100644 (file)
@@ -1,3 +1,815 @@
+2007-08-27  Tobias Burnus  <burnus@net-b.de>
+
+       * simplify.c (gfc_simplify_lgamma): Fix mpfr_lgamma call.
+
+2007-08-26  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-08-26  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * gfortran.h (gfc_isym_id): Add GFC_ISYM_GAMMA and
+       GFC_ISYM_LGAMMA.
+
+2007-08-26  Asher Langton  <langton2@llnl.gov>
+           Tobias Burnus  <burnus@net-b.de>
+
+       * gfortran.h (gfc_option_t): Add flag_recursive.
+       * lang.opt: Add -frecursive option and update -fopenmp.
+       * invoke.texi (-frecursive): Document new option.
+       (-fopenmp,-fno-automatic,-fmax-stack-var-size): Update.
+       * options.c (gfc_init_options, gfc_post_options,
+       gfc_handle_option): Add -frecursive and modify -fopenmp.
+       (gfc_post_options): Add warning for conflicting flags.
+
+2007-08-26  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/31298
+       * module.c (mio_symbol_ref,mio_interface_rest):  Return pointer_info.
+       (load_operator_interfaces): Support multible loading of an operator.
+
+2007-08-26  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/32985
+       * match.c (gfc_match_common): Remove SEQUENCE diagnostics.
+       * resolve.c (resolve_common_blocks): Add SEQUENCE diagnostics;
+       fix walking through the tree.
+
+2007-08-26  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/32980
+       * intrinsic.h (gfc_simplify_gamma,gfc_simplify_lgamma,
+       gfc_resolve_gamma,gfc_resolve_lgamma): New function declations.
+       * mathbuiltins.def: Define GAMMA and LGAMMA.
+       * intrinsic.c (add_functions): Add GAMMA, DGAMMA, LGAMMA, ALGAMA
+       and DLGAMA.
+       * simplify.c (gfc_simplify_gamma,gfc_simplify_lgamma): New functions.
+       * iresolve.c (gfc_resolve_gamma,gfc_resolve_lgamma): New functions.
+       * intrinsic.texi: Add documentation for GAMMA and LGAMMA.
+
+2007-08-26  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/33188
+       * parse.c (parse_derived): Support empty derived type
+       definitions for Fortran 2003.
+
+2007-08-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * trans-openmp.c (gfc_omp_privatize_by_reference): Constify.
+       * trans.h (gfc_omp_privatize_by_reference): Likewise.
+
+2007-08-24  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/33178
+       * intrinsic.c (gfc_intrinsic_func_interface): Fix initialization
+       expression check.
+
+2007-08-24  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/32972
+       * iresolve.c:  Don't convert array masks.
+
+2007-08-24  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/33139
+       * trans-array.c (gfc_conv_expr_descriptor): Copy bounds for
+       whole-array pointer assignments.
+
+2007-08-23  Jakub Jelinek  <jakub@redhat.com>
+
+       * decl.c (variable_decl): Don't share charlen structs if
+       length == NULL.
+       * trans-decl.c (create_function_arglist): Assert
+       f->sym->ts.cl->backend_decl is NULL instead of unsharing
+       charlen struct here.
+
+2007-08-23  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/33095
+       * trans-intrinsic.c (gfc_conv_intrinsic_minmax): Remove
+       runtime error checking.
+
+2007-08-22  Roger Sayle  <roger@eyesopen.com>
+           Tobias Schlüter <tobias.schlueter@physik.uni-muenchen.de>
+
+       * match.c (intrinsic_operators): Delete.
+       (gfc_match_intrinsic_op): Rewrite matcher to avoid calling
+       gfc_match_strings.
+
+2007-08-22  Christopher D. Rickett  <crickett@lanl.gov>
+
+       PR fortran/33020
+       * resolve.c (gfc_iso_c_sub_interface): Remove setting of type and
+       kind for optional SHAPE parameter of C_F_POINTER.
+
+2007-08-22  Janus Weil  <jaydub66@gmail.com>
+
+       * decl.c (match_attr_spec): Pass on errors from gfc_match_bind_c.
+       (gfc_match_bind_c): Bugfix in check for NAME= with abstract interfaces.
+       (gfc_match_mopdproc): Bugfix to reject module procedures in
+       abstract interfaces.
+
+2007-08-22  Kai Tietz  <kai.tietz@onevision.com>
+
+       * f95-lang.c: (gfc_init_decl_processing): Choose sizetype by using
+       Pmode.
+
+2007-08-21  Paul Brook  <paul@codesourcery.com>
+           Nathan Sidwell  <nathan@codesourcery.com>
+           Mark Mitchell  <mark@codesourcery.com>
+           Joseph Myers  <joseph@codesourcery.com>
+
+       * gfortranspec.c (lang_specific_driver): Use pkgversion_string.
+       * Make-lang.in (gfortran.pod): Define BUGURL.
+       * invoke.texi: Use BUGURL for bug-reporting instructions.
+
+2007-08-19  Roger Sayle  <roger@eyesopen.com>
+
+       * match.c (intrinsic_operators): Make static.
+       (gfc_op2string): New function for converting a gfc_intrinsic_op to
+       to a "const char*", replacing the macro of the same name.
+       * gfortran.h (intrinsic_operators): Delete prototype.
+       (gfc_op2string): Replace macro with function prototype.
+
+2007-08-18  Tobias Burnus  <burnus@net-b.de>
+
+       * gfortran.h (gfc_is_intrinsic_typename): Add declaration.
+       * symbol.c (gfc_is_intrinsic_typename): New function.
+       * parse.c (decode_statement): Check for space in ABSTRACT INTERFACE.
+       (parse_interface): Use gfc_is_intrinsic_typename.
+       * decl.c (gfc_match_derived_decl): Ditto.
+       * module.c (gfc_match_use): Use gcc_unreachable() for
+       INTERFACE_ABSTRACT in switch().
+
+2007-08-18  Roger Sayle  <roger@eyesopen.com>
+
+       * primary.c (match_logical_constant_string): New function to match
+       a ".true." or a ".false.".
+       (match_logical_constant): Use it instead of gfc_match_strings.
+
+2007-08-18  Paul Thomas  <pault@gcc.gnu.org>
+           Janus Weil  <jaydub66@gmail.com>
+
+       * interface.c (gfc_match_interface,gfc_match_abstract_interface,
+       gfc_match_end_interface,gfc_add_interface): Add abstract interface.
+       * dump-parse-tree.c (gfc_show_attr): Ditto.
+       * gfortran.h (interface_type,symbol_attribute): Ditto.
+       * module.c (gfc_match_use,ab_attribute,attr_bits,
+       mio_symbol_attribute): Ditto.
+       * resolve.c (resolve_function): Ditto.
+       * match.h: Ditto.
+       * parse.c (decode_statement): Ditto.
+       (parse_interface): Ditto, check for C1203 (name of abstract interface
+       cannot be the same as an intrinsic type).
+       * decl.c (gfc_match_bind_c): Check for NAME= with abstract interfaces.
+       (access_attr_decl): Handle Abstract interfaces.
+
+2007-08-18  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/32881
+       * expr.c (gfc_check_pointer_assign): If the rhs is the
+       initialization expression for the rhs, there is no error.
+
+2007-08-18  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/32875
+       * trans-array.c (get_array_ctor_strlen): Set the character
+       length of a zero length array to zero.
+
+2007-08-16  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/33072
+       * module.c (gfc_match_use): Mark user operators as such.
+       (find_use_name_n): Distinguish between operators and other symbols.
+       (find_use_name,number_use_names,mio_namelist,
+        load_operator_interfaces,load_generic_interfaces,read_module,
+        write_generic): Update find_use_name_n calls.
+
+2007-08-15  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/29459
+       * trans.c (gfc_create_var_np): Do not emit warnings for
+       anonymous variables.
+
+2007-08-15  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/33066
+       * decl.c (gfc_get_type_attr_spec): Fix whitespace.
+       (gfc_match_derived_decl): Fix logic.
+
+2007-08-14  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/33073
+       * trans-intrinsic.c (build_fixbound_expr): Convert to result type
+       in all cases.
+
+2007-08-14  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/32594
+       * trans-expr.c (gfc_conv_substring_expr): Only call
+       gfc_conv_substring if expr->ref is not NULL.
+       * expr.c (gfc_is_constant_expr): If e->ref is NULL, the substring
+       expression might be a constant.
+       (gfc_simplify_expr): Handle missing start and end, as well as
+       missing ref.
+
+2007-08-13  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/32926
+       * match.c (gfc_match_call): Do not create a new symtree in the
+       case where the existing symbol is external and not referenced.
+
+2007-08-13  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/32827
+       * decl.c (variable_decl): Check for an imported symbol
+       by looking for its symtree and testing for the imported
+       attribute.
+       (gfc_match_import): Remove change of symbol's namespace
+       and set the attribute imported instead.
+       * symbol.c (gfc_get_sym_tree): It is not an error if a
+       symbol is imported.
+       * gfortran.h : Add the 'imported' to symbol_attribute.
+
+2007-08-13  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/32962
+       * trans-array.c (gfc_conv_array_transpose): Set the offset
+       of the destination to zero if the loop is zero based.
+
+2007-08-12  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/29600
+       * intrinsic.c (add_functions): Add optional KIND argument to ACHAR.
+       * iresolve.c (gfc_resolve_achar): Handle the KIND argument.
+       * check.c (gfc_check_achar): Check for the optional KIND argument.
+       * simplify.c (gfc_simplify_achar): Use KIND argument.
+       * intrinsic.h (gfc_check_achar, gfc_simplify_achar,
+       gfc_resolve_achar): Adjust prototypes.
+
+2007-08-12  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/30964
+       PR fortran/33054
+       * trans-expr.c (gfc_conv_function_call): When no formal argument
+       list is available, we still substitute missing optional arguments.
+       * check.c (gfc_check_random_seed): Correct the check on the
+       number of arguments to RANDOM_SEED.
+       * intrinsic.c (add_subroutines): Add a resolution function to
+       RANDOM_SEED.
+       * iresolve.c (gfc_resolve_random_seed): New function.
+       * intrinsic.h (gfc_resolve_random_seed): New prototype.
+
+2007-08-12  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/32860
+       * error.c (error_uinteger): New function.
+       (error_integer): Call error_uinteger.
+       (error_print): Handle %u, %lu, %li and %ld format specifiers.
+       * interface.c (compare_actual_formal): Use the new %lu specifier.
+
+2007-08-12  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/31629
+       * lang.opt (-fmodule-private): New option.
+       * gfortran.h (gfc_option_t): Add flag_module_private member.
+       * invoke.texi (-fmodule-private): Document the new option.
+       * module.c (gfc_check_access): Allow the -fmodule-private option
+       to modify the default behaviour.
+       * options.c (gfc_init_options): Initialize flag_module_private.
+       (gfc_handle_option): Handle -fmodule-private.
+
+2007-08-12  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/29600
+       * intrinsic.c (add_functions): Add KIND arguments to COUNT,
+       IACHAR, ICHAR, INDEX, LBOUND, LEN, LEN_TRIM, SCAN, SIZE, UBOUND
+       and VERIFY.
+       * iresolve.c (gfc_resolve_count): Add kind argument.
+       (gfc_resolve_iachar): New function.
+       (gfc_resolve_ichar): Add kind argument.
+       (gfc_resolve_index_func): Likewise.
+       (gfc_resolve_lbound): Likewise.
+       (gfc_resolve_len): Likewise.
+       (gfc_resolve_len_trim): Likewise.
+       (gfc_resolve_scan): Likewise.
+       (gfc_resolve_size): New function.
+       (gfc_resolve_ubound): Add kind argument.
+       (gfc_resolve_verify): Likewise.
+       * trans-decl.c (gfc_get_extern_function_decl): Allow specific
+       intrinsics to have 4 arguments.
+       * check.c (gfc_check_count): Add kind argument.
+       (gfc_check_ichar_iachar): Likewise.
+       (gfc_check_index): Likewise.
+       (gfc_check_lbound): Likewise.
+       (gfc_check_len_lentrim): New function.
+       (gfc_check_scan): Add kind argument.
+       (gfc_check_size): Likewise.
+       (gfc_check_ubound): Likewise.
+       (gfc_check_verify): Likewise.
+       * intrinsic.texi: Update documentation for COUNT, IACHAR, ICHAR,
+       INDEX, LBOUND, LEN, LEN_TRIM, SCAN, SIZE, UBOUND and VERIFY.
+       * simplify.c (get_kind): Whitespace fix.
+       (int_expr_with_kind): New function.
+       (gfc_simplify_iachar): Add kind argument.
+       (gfc_simplify_iachar): Likewise.
+       (gfc_simplify_ichar): Likewise.
+       (gfc_simplify_index): Likewise.
+       (simplify_bound_dim): Likewise.
+       (simplify_bound): Likewise.
+       (gfc_simplify_lbound): Likewise.
+       (gfc_simplify_len): Likewise.
+       (gfc_simplify_len_trim): Likewise.
+       (gfc_simplify_scan): Likewise.
+       (gfc_simplify_shape): Pass NULL as kind argument to gfc_simplify_size.
+       (gfc_simplify_size): Add kind argument.
+       (gfc_simplify_ubound): Likewise.
+       (gfc_simplify_verify): Likewise.
+       * intrinsic.h: Update prototypes and add new ones.
+       * trans-intrinsic.c (gfc_conv_intrinsic_index): Rename into
+       gfc_conv_intrinsic_index_scan_verify.
+       (gfc_conv_intrinsic_scan, gfc_conv_intrinsic_verify): Remove.
+       (gfc_conv_intrinsic_function): Call
+       gfc_conv_intrinsic_index_scan_verify to translate the INDEX,
+       SCAN and VERIFY intrinsics.
+
+2007-08-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/31189
+       * invoke.texi (-fbacktrace): Document the new behaviour.
+
+2007-08-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/32937
+       * trans-array.c (gfc_conv_expr_descriptor): Use
+       gfc_conv_const_charlen to generate backend_decl of right type.
+       * trans-expr.c (gfc_conv_expr_op): Use correct return type.
+       (gfc_build_compare_string): Use int type instead of default
+       integer kind for single character comparison.
+       (gfc_conv_aliased_arg): Give backend_decl the right type.
+       * trans-decl.c (gfc_build_intrinsic_function_decls): Make
+       compare_string return an int.
+
+2007-08-11  Ian Lance Taylor  <iant@google.com>
+
+       * f95-lang.c (gfc_get_alias_set): Change return type to
+       alias_set_type.
+
+2007-08-10  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/31270
+       * trans.c (gfc_trans_runtime_check): Reorder arguments and
+       add extra variable arguments. Hand them to the library function.
+       * trans.h (gfc_trans_runtime_check): Update prototype.
+       * trans-array.c (gfc_trans_array_bound_check): Issue more
+       detailled error messages.
+       (gfc_conv_array_ref): Likewise.
+       (gfc_conv_ss_startstride): Likewise.
+       (gfc_trans_dummy_array_bias): Reorder arguments to
+       gfc_trans_runtime_check.
+       * trans-expr.c (gfc_conv_substring): Issue more detailled
+       error messages.
+       (gfc_conv_function_call): Reorder arguments to gfc_trans_runtime_check.
+       * trans-stmt.c (gfc_trans_goto): Likewise.
+       * trans-io.c (set_string): Reorder arguments to
+       gfc_trans_runtime_check and issue a more detailled error message.
+       * trans-decl.c (gfc_build_builtin_function_decls): Make
+       runtime_error and runtime_error_at handle a variable number of
+       arguments.
+       * trans-intrinsic.c (gfc_conv_intrinsic_bound): Reorder arguments
+       to gfc_trans_runtime_check.
+       (gfc_conv_intrinsic_minmax): Likewise.
+       (gfc_conv_intrinsic_repeat): Issue more detailled error messages.
+
+2007-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * gfortranspec.c (lang_specific_driver): Use CONST_CAST.
+       * options.c (gfc_post_options): Likewise.
+       * parse.c (parse_omp_structured_block): Likewise.
+       * st.c (gfc_free_statement): Likewise.
+
+2007-08-10  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/32933
+       * trans-decl.c (gfc_build_builtin_function_decls): Change
+       prototype for associated.
+       * trans-intrinsic.c (gfc_conv_intrinsic_minmax): Convert the
+       result of __builtin_isnan into a boolean.
+       (gfc_conv_intrinsic_strcmp): Cleanup.
+       (gfc_conv_associated): Convert the result of the associated
+       function into a boolean.
+
+2007-08-09  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/32987
+       * io.c (format_token): Add FMT_ERROR.
+       (next_char_not_space): Print error/warning when
+       '\t' are used in format specifications.
+       (format_lex): Propagate error.
+       (check_format): Ditto.
+
+2007-08-09  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/33001
+       * arith.c (arith_error): Point in the error message
+       to -fno-range-check.
+
+2007-08-09  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/32902
+       * intrinsic.texi (SIZEOF): Add mention to C_SIZE_T.
+
+2007-08-06  Christopher D. Rickett  <crickett@lanl.gov>
+
+       PR fortran/32732
+       * trans-expr.c (gfc_conv_scalar_char_value): Convert the tree and
+       actual arg expressions for scalar characters passed by-value to
+       bind(c) routines.
+       (gfc_conv_function_call): Call gfc_conv_scalar_char_value.
+       * trans.h: Add prototype for gfc_conv_scalar_char_value.
+       * trans-decl.c (generate_local_decl): Convert by-value character
+       dummy args of bind(c) procedures using
+       gfc_conv_scalar_char_value.
+
+2007-08-06  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/30947
+       * iresolve.c (gfc_resolve_alarm_sub): Suffix the subroutine name
+       with the kind of the STATUS argument.
+
+2007-08-06  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/30948
+       * intrinsic.c (add_functions): Fix name of argument to CHDIR.
+
+2007-08-06  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/30933
+       * iresolve.c (gfc_resolve_exit): Convert argument to default
+       integer kind.
+
+2007-08-06  Daniel Franke  <franke.daniel@gmail.com>
+
+       * resolve.c (derived_pointer): Removed, replaced callers by access 
+       to appropiate attribute bit.
+       (derived_inaccessable): Shortcut recursion depth.
+       (resolve_fl_namelist): Fixed checks for private components in namelists.
+
+2007-08-06  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/29828
+       * trans.h (gfor_fndecl_string_minmax): New prototype.
+       * trans-decl.c (gfor_fndecl_string_minmax): New variable.
+       (gfc_build_intrinsic_function_decls): Create gfor_fndecl_string_minmax.
+       * check.c (gfc_check_min_max): Allow for character arguments.
+       * trans-intrinsic.c (gfc_conv_intrinsic_minmax_char): New function.
+       (gfc_conv_intrinsic_function): Add special case for MIN and MAX
+       intrinsics with character arguments.
+       * simplify.c (simplify_min_max): Add simplification for character
+       arguments.
+
+2007-08-06  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/31612
+       * invoke.texi: Adjust documentation for option -fsyntax-only.
+
+2007-08-05  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+           Tobias Burnus  <burnus@gcc.gnu.org>
+
+       PR fortran/32979
+       * intrinsic.h (gfc_check_isnan): Add prototype.
+       * gfortran.h (gfc_isym_id): Add GFC_ISYM_ISNAN.
+       * intrinsic.c (add_functions): Add ISNAN intrinsic.
+       * check.c (gfc_check_isnan): New function.
+       * trans-intrinsic.c (gfc_conv_intrinsic_isnan): New function.
+       (gfc_conv_intrinsic_function): Call gfc_conv_intrinsic_isnan
+       to translate ISNAN.
+       * intrinsic.texi: Document ISNAN.
+
+2007-08-04  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/31214
+       * symbol.c (get_unique_symtree): Moved from module.c.
+       * module.c (get_unique_symtree): Moved to symbol.c.
+       * decl.c (get_proc_name): Transfer the typespec from the local
+       symbol to the module symbol, in the case that an entry is also
+       a module procedure.  Ensure the local symbol is cleaned up by
+       pointing to it with a unique symtree.
+
+       * dump_parse_tree (gfc_show_code_node): Add EXEC_ASSIGN_CALL.
+
+2008-08-04  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/32969
+       * iresolve.c (gfc_resolve_rrspacing): Convert argument(s) to
+       expected KIND.
+       (gfc_resolve_scale): Ditto.
+       (gfc_resolve_set_exponent): Ditto.
+       (gfc_resolve_spacing): Ditto.
+       PR fortran/32968
+       * trans-intrinsic.c (gfc_conv_intrinsic_si_kind,
+       gfc_conv_intrinsic_sr_kind): Convert the argument(s) to the
+       expected KIND, and fold the result to the expected KIND.
+
+2007-08-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/31202
+       * f95-lang.c (gfc_init_builtin_functions): Defin builtins for 
+       lround{f,,l} and llround{f,,l}.
+       * trans-intrinsic.c (build_fix_expr): Generate calls to the
+       {l,}round{f,,l} functions.
+
+2007-08-01  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR libfortran/32954
+       * intrinsic.c (resolve_mask_arg):  New function.
+       (gfc_resolve_maxloc):  Use resolve_mask_arg for mask resolution.
+       (gfc_resolve_maxval):  Likewise.
+       (gfc_resolve_minloc):  Likewise.
+       (gfc_resolve_minval):  Likewise.
+       (gfc_resolve_pack):  Likewise.
+       (gfc_resolve_product):  Likewise.
+       (gfc_resolve_sum):  Likewise.
+       (gfc_resolve_unpack):  Likewise.
+
+2007-08-01  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/32936
+       * match.c (gfc_match_allocate): Better check that STAT is
+       a variable.
+
+       * check.c (gfc_check_allocated): Reorder checks to improve
+       error message.
+
+2007-08-01  Nick Clifton  <nickc@redhat.com>
+
+       * arith.c: Change copyright header to refer to version 3 of the
+       GNU General Public License and to point readers at the COPYING3
+       file and the FSF's license web page.
+       * openmp.c, interface.c, intrinsic.c, trans-array.c, trans-expr.c,
+       symbol.c, iso-fortran-env.def, intrinsic.h, decl.c, trans-array.h,
+       matchexp.c, dump-parse-tree.c, trans-common.c, array.c,
+       Make-lang.in, trans-openmp.c, gfortran.h, error.c,
+       iso-c-binding.def, lang.opt, data.c, trans-const.c, trans-stmt.c,
+       expr.c, trans-const.h, trans-stmt.h, module.c, trans.c, scanner.c,
+       trans-types.c, trans.h, gfortranspec.c, trans-types.h,
+       lang-specs.h, io.c, bbt.c, resolve.c, f95-lang.c, st.c,
+       iresolve.c, match.c, trans-decl.c, trans-io.c, target-memory.c,
+       match.h, target-memory.h, parse.c, arith.h, check.c, dependency.c,
+       parse.h, types.def, convert.c, dependency.h, primary.c,
+       trans-intrinsic.c, options.c, misc.c, simplify.c: Likewise.
+
+2007-08-01  Daniel Franke  <franke.daniel@gmail.com>
+
+       * trans-decl.c (generate_local_decl): Emit warning on unused parameter
+       on "-Wall -Wextra" or "-Wunused-parameter" but not on "-Wall", changed
+       messages that start with lower case to upper case.
+       * invoke.texi (-Wparameter-unused): Document differences between gcc
+       and gfortran regarding this option.
+
+2007-08-01  Daniel Franke  <franke.daniel@gmail.com>
+
+       PR fortran/32945
+       * expr.c (check_specification_function): Skip check if no symtree 
+       is available.
+
+2007-08-01  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/31609
+       * resolve.c (resolve_entries): Entries declared to be module
+       procedures must point to the function namespace.
+
+2007-07-31  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/32938
+       * trans-stmt.c (gfc_trans_return): Convert to correct type.
+
+2007-07-31  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/32942
+       * trans-intrinsic.c (gfc_conv_intrinsic_exponent): Convert to correct
+       type.
+
+2007-07-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       * invoke.texi: Document -fsign-zero flag.
+
+2007-07-29  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/31211
+       * trans-expr.c (gfc_conv_expr_reference): Add block for case of
+       scalar pointer functions so that NULL result is correctly
+       handled.
+
+       PR fortran/32682
+       * trans-array.c (gfc_trans_array_constructor): On detecting a
+       multi-dimensional parameter array, set the loop limits.
+
+2007-07-29  Daniel Franke  <franke.daniel@gmail.com>
+
+       PR fortran/32906
+       * resolve.c (resolve_fl_parameter): Check for constant shape arrays,
+       adjusted error message.
+
+2007-07-29  Daniel Franke  <franke.daniel@gmail.com>
+
+       * invoke.texi: Removed -w from option summary.
+
+2007-07-29  Daniel Franke  <franke.daniel@gmail.com>
+
+       PR fortran/32879
+       * intrinsic.texi (IRAND, RAND, RANDOM_NUMBER): Document algorithm
+       used for random number generator.
+
+2007-07-28  Kazu Hirata  <kazu@codesourcery.com>
+
+       * gfortran.h, interface.c, resolve.c, symbol.c: Fix comment
+       typos.
+       * intrinsic.texi, invoke.texi: Fix typos.
+
+2007-07-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR fortran/31609
+       * resolve.c (generic_sym): Check for a same symbol and if so, return to
+       avoid infinite recursion.
+
+2007-07-28  Daniel Franke  <franke.daniel@gmail.com>
+
+       PR fortran/31818
+       PR fortran/32876
+       PR fortran/32905
+       * gfortran.h (symbol_attribute): Added bits for pointer_comp, 
+       private_comp.
+       * parse.c (parse_derived): Set pointer_comp/private_comp bits if 
+       the derived type ultimately contains pointer components or private 
+       components.
+       * module.c (ab_attribute): New values AB_POINTER_COMP, AB_PRIVATE_COMP.
+       (attr_bits): Added names for new ab_attributes.
+       (mio_symbol_attribute): Save/restore new attribute bits in modules.
+       * match.c (gfc_match_namelist): Removed check for namelist objects
+       of assumed shape.
+       * resolve.c (resolve_fl_namelist): Added check for pointer or
+       private components in nested types. Added check for namelist objects
+       of assumed shape.
+
+2007-07-28  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/32880
+       * trans-expr.c (gfc_trans_scalar_assign): Revert to fixed order
+       for lse and rse pre expressions, for derived types with
+       allocatable components.  Instead, assign the lhs to a temporary
+       and deallocate after the assignment.
+
+2007-07-28  Janne Blomqvist  <jb@gcc.gnu.org>
+
+       PR fortran/32909
+       * trans-stmt.c (gfc_trans_character_select): Replace occurrences
+       of gfc_c_int_type_node with integer_type_node.
+       * trans-decl.c (gfc_build_intrinsic_function_decls): Likewise.
+       (gfc_build_builtin_function_decls): Likewise.
+       (gfc_generate_function_code): Likewise.
+       * trans-io.c (gfc_build_io_library_fndecls): Likewise.
+
+2007-07-27  Janne Blomqvist  <jb@gcc.gnu.org>
+
+       * trans-decl.c (gfc_build_builtin_function_decls): Use existing
+       gfc_array_index_type rather than creating another typenode for
+       gfc_index_integer_kind.
+
+2007-07-27  Janne Blomqvist  <jb@gcc.gnu.org>
+
+       * trans-io.c (gfc_build_io_library_fndecls): Change to use
+       gfc_array_index_type for array descriptor triplets instead of
+       gfc_int4_type_node.
+
+2007-07-26  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/32899
+       * resolve.c (resolve_operator): Add INTRINSIC_EQ_OS comparison.
+
+2007-07-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+           Daniel Franke  <franke.daniel@gmail.com>
+
+       PR fortran/32760
+       * primary.c (match_variable): Do not call gfc_add_flavor if symbol has
+       attribute of ACCESS_PUBLIC or ACCESS_PRIVATE already marked.
+
+2007-07-27  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/32035
+       * trans-stmt.c (gfc_trans_character_select): Replace the
+       mechanism with labels by a SWITCH_EXPR.
+       * trans-decl.c (gfc_build_builtin_function_decls): Change
+       return type for select_string.
+
+2007-07-27  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/32903
+       * trans-decl.c (gfc_trans_deferred_vars): Set intent(out)
+       derived types as referenced, if they have the the default
+       initializer set.
+
+2007-07-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * gfortran.h (generate_isocbinding_symbol): Constify.
+       * symbol.c (gen_special_c_interop_ptr, gen_cptr_param,
+       generate_isocbinding_symbol): Likewise.
+
+2007-07-24  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/31205
+       PR fortran/32842
+       * trans-expr.c (gfc_conv_function_call): Remove the default
+       initialization of intent(out) derived types.
+       * symbol.c (gfc_lval_expr_from_sym): New function.
+       * matchexp.c (gfc_get_parentheses): Return argument, if it is
+       character and posseses a ref.
+       * gfortran.h : Add prototype for gfc_lval_expr_from_sym.
+       * resolve.c (has_default_initializer): Move higher up in file.
+       (resolve_code): On detecting an interface assignment, check
+       if the rhs and the lhs are the same symbol.  If this is so,
+       enclose the rhs in parenetheses to generate a temporary and
+       prevent any possible aliasing.
+       (apply_default_init): Remove code making the lval and call
+       gfc_lval_expr_from_sym instead.
+       (resolve_operator): Give a parentheses expression a type-
+       spec if it has no type.
+       * trans-decl.c (gfc_trans_deferred_vars): Apply the a default
+       initializer, if any, to an intent(out) derived type, using
+       gfc_lval_expr_from_sym and gfc_trans_assignment.  Check if
+       the dummy is present.
+
+2007-07-24  Daniel Franke  <franke.daniel@gmail.com>
+
+       PR fortran/32867
+       * expr.c (check_init_expr): Simplify matched functions.
+
+2007-07-24  Daniel Franke  <franke.daniel@gmail.com>
+
+       PR fortran/32778
+       * intrinsic.c (add_sym): Do not exclude any symbols, even if not part
+       of the selected standard.
+       (make generic): Likewise.
+       (make alias): Likewise, set standard the alias belongs to.
+       (add_subroutines): Call make_noreturn unconditionally.
+       (check_intrinsic_standard): Change return value to try.
+       (gfc_intrinsic_func_interface): Check return value of above function.
+       (gfc_intrinsic_sub_interface): Likewise.
+
+2007-07-24  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/30814
+       * trans-decl.c (generate_function_code):  Add argument
+       for flag_bounds_check to the array for set_options.
+       * invoke.texi (-fbounds-check): Document new libarary run-time
+       behaviour.
+
+2007-07-23  Daniel Franke  <franke.daniel@gmail.com>
+
+       PR fortran/25104
+       PR fortran/31639
+       * expr.c (check_transformational): Reject valid transformational
+       intrinsics to avoid ICE.
+       (check_inquiry): Report error for assumed character lengths for
+       all supported standards.
+       (check_init_expr): Whitespace fix.
+
+2007-07-23  Christopher D. Rickett  <crickett@lanl.gov>
+
+       PR fortran/32797
+       PR fortran/32800
+       * decl.c (verify_bind_c_sym): Use the result symbol for functions
+       with a result clause.  Warn if implicitly typed.  Verify the type
+       and rank of the SHAPE argument, if given.
+       * resolve.c (gfc_iso_c_sub_interface): Use gfc_procedure_use to
+       check the actual args against the formal, sorting them if
+       necessary.
+       * symbol.c (gen_shape_param): Initialize type of SHAPE param to
+       BT_VOID.
+
+2007-07-23  Christopher D. Rickett  <crickett@lanl.gov>
+
+       PR fortran/32732
+       * trans-decl.c (generate_local_decl): Convert the TREE_TYPE for by
+       value character dummy args of BIND(C) procedures.
+       * trans-expr.c (gfc_conv_variable): Do not build address
+       expression for BT_CHARACTER dummy args.
+
+2007-07-23  Christopher D. Rickett  <crickett@lanl.gov>
+           Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/32600
+       * trans-expr.c (gfc_conv_function_call): Handle c_funloc.
+       * trans-types.c: Add pfunc_type_node.
+       (gfc_init_types,gfc_typenode_for_spec): Use it.
+       * resolve.c (gfc_iso_c_func_interface): Fix whitespace and
+       improve error message.
+
 2007-07-22  Daniel Franke  <franke.daniel@gmail.com>
 
        PR fortran/32710
 
 2007-07-01  Janne Blomqvist  <jb@gcc.gnu.org>
 
-        * trans.h: Remove decls for 64-bit allocation functions.
-        * trans-array.c (gfc_grow_array): Always pick the standard realloc
-        function decl.
-        (gfc_array_allocate): Likewise.
-        * trans-decl.c: Remove trees for 64-bit allocation functions.
-        (gfc_build_builtin_function_decls): Don't build fndecls for 64-bit
-        allocations functions, use index_int_type for normal allocation
-        functions.
+       * trans.h: Remove decls for 64-bit allocation functions.
+       * trans-array.c (gfc_grow_array): Always pick the standard realloc
+       function decl.
+       (gfc_array_allocate): Likewise.
+       * trans-decl.c: Remove trees for 64-bit allocation functions.
+       (gfc_build_builtin_function_decls): Don't build fndecls for 64-bit
+       allocations functions, use index_int_type for normal allocation
+       functions.
 
 2007-06-30  Daniel Franke  <franke.daniel@gmail.com>