OSDN Git Service

PR fortran/30723
[pf3gnuchains/gcc-fork.git] / gcc / fortran / ChangeLog
index 01eb910..625e304 100644 (file)
@@ -1,3 +1,66 @@
+2007-05-14  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/30723
+       * trans.h (gfor_fndecl_internal_malloc, gfor_fndecl_internal_malloc64,
+       gfor_fndecl_internal_free): Remove prototypes.
+       (gfor_fndecl_os_error, gfc_call_free, gfc_call_malloc): Add prototypes.
+       * trans.c (gfc_call_malloc, gfc_call_free): New functions.
+       * f95-lang.c (gfc_init_builtin_functions): Add __builtin_free
+       and __builtin_malloc builtins.
+       * trans-decl.c (gfor_fndecl_internal_malloc,
+       gfor_fndecl_internal_malloc64, gfor_fndecl_internal_free): Remove.
+       (gfor_fndecl_os_error): Add.
+       (gfc_build_builtin_function_decls): Don't create internal_malloc,
+       internal_malloc64 and internal_free library function declaration.
+       Create os_error library call function declaration.
+       * trans-array.c (gfc_trans_allocate_array_storage,
+       gfc_trans_auto_array_allocation, gfc_trans_dummy_array_bias,
+       gfc_conv_array_parameter, gfc_duplicate_allocatable): Use
+       gfc_call_malloc and gfc_call_free instead of building calls to
+       internal_malloc and internal_free.
+       * trans-expr.c (gfc_conv_string_tmp): Likewise.
+       * trans-stmt.c (gfc_do_allocate, gfc_trans_assign_need_temp,
+       gfc_trans_pointer_assign_need_temp, gfc_trans_forall_1,
+       gfc_trans_where_2: Likewise.
+       * trans-intrinsic.c (gfc_conv_intrinsic_ctime,
+       gfc_conv_intrinsic_fdate, gfc_conv_intrinsic_ttynam,
+       gfc_conv_intrinsic_array_transfer, gfc_conv_intrinsic_trim): Likewise.
+
+2007-05-14  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/31725
+       * trans-expr.c (gfc_conv_substring): Evaluate substring bounds
+       only once.
+
+2007-05-14  Rafael Avila de Espindola  <espindola@google.com>
+
+       * f95-lang.c (LANG_HOOKS_UNSIGNED_TYPE): Remove.
+       * trans-intrinsic.c (gfc_conv_intrinsic_ishft): Use unsigned_type_for
+       instead of gfc_unsigned_type.
+       * trans-stmt.c (gfc_trans_do): Use unsigned_type_for instead of
+       gfc_unsigned_type.
+       * trans-types.c (gfc_unsigned_type): Remove.
+       * trans-types.h (gfc_unsigned_type): Remove.
+
+2007-05-12  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/30746
+       * resolve.c (check_host_association): New function that detects
+       incorrect host association and corrects it.
+       (gfc_resolve_expr): Call the new function for variables and
+       functions.
+       * match.h : Remove prototype for gfc_match_rvalue.
+       * gfortran.h : Add prototype for gfc_match_rvalue.
+
+2007-05-11 Paul Thomas <pault@gcc.gnu.org>
+
+       PR fortran/30876
+       * trans-expr.c (gfc_conv_function_call): Reduce indirection for
+       direct assignments of recursive array valued functions.
+       * primary.c (gfc_match_rvalue): Correct error for recursive
+       function calls such that directly recursive calls of scalar
+       function without an explicit result are disallowed.
+
 2007-05-11 Paul Thomas <pault@gcc.gnu.org>
 
        PR fortran/30878