OSDN Git Service

gcc/fortran:
[pf3gnuchains/gcc-fork.git] / gcc / fortran / ChangeLog
index 4a02e5c..7ffa51d 100644 (file)
@@ -1,3 +1,265 @@
+2007-12-25  Daniel Franke  <franke.daniel@gmail.com>
+
+       PR fortran/34533
+       * intrinsic.h (gfc_check_etime): Renamed to ...
+       (gfc_check_dtime_etime): ... this.
+       (gfc_check_etime_sub): Renamed to ...
+       (gfc_check_dtime_etime_sub): ... this.
+       (gfc_resolve_dtime_sub): New prototype.
+       * check.c (gfc_check_etime): Renamed to ...
+       (gfc_check_dtime_etime): ... this.
+       (gfc_check_etime_sub): Renamed to ...
+       (gfc_check_dtime_etime_sub): ... this.
+       * iresolve.c (gfc_resolve_dtime_sub): New implementation.
+       * intrinsic.c (add_functions): Removed alias from ETIME to DTIME,
+       added stand-alone intrinsic DTIME.
+       (add_subroutines): Adjusted check and resolve function names for
+       DTIME and ETIME.
+       * trans-intrinsic.c (gfc_conv_intrinsic_function): Added DTIME
+       to known functions in switch.
+       * intrinsic.texi (DTIME): Added paragraph about thread-safety,
+       fixed return value section.
+       (CPU_TIME): Clarified intent and added implementation notes.
+
+2007-12-23  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/34421
+       * resolve.c (resolve_entries): Add standard error for functions
+       returning characters with different length.
+
+2007-12-23  Daniel Franke  <franke.daniel@gmail.com>
+
+       PR fortran/34536 
+       * matchexp.c (match_ext_mult_operand): Print warning for unary 
+       operators following arithmetic ones by default.
+       (match_ext_add_operand): Likewise.
+
+2007-12-22  Daniel Franke  <franke.daniel@gmail.com>
+
+       PR fortran/34559
+       * simplify.c (gfc_simplify_repeat): Added safeguard for empty
+       string literals.
+
+2007-12-22  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/34549
+       * check.c (gfc_check_cshift):  Add check that shift is
+       type INTEGER.
+
+2007-12-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR fortran/34540
+       * iresolve.c (gfc_resolve_cshift): Take optional dim path
+       only if the argument is an optional itself.
+       * iresolve.c (gfc_resolve_eoshift): Same.
+
+2007-12-21  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/34438
+       * trans-decl.c (gfc_finish_var_decl): Do not mark derived types
+       with default initializers as TREE_STATIC unless they are in the
+       main program scope.
+       (gfc_get_symbol_decl): Pass derived types with a default
+       initializer to gfc_defer_symbol_init.
+       (init_default_dt): Apply default initializer to a derived type.
+       (init_intent_out_dt): Call init_default_dt.
+       (gfc_trans_deferred_vars): Ditto.
+
+       * module.c (read_module): Check sym->module is there before
+       using it in a string comparison.
+
+>>>>>>> .r131138
+2007-12-20  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/34482
+       * gfortran.texi (BOZ): Document behavior for complex
+       numbers.
+       * target-memory.h (gfc_convert_boz): Update prototype.
+       * target-memory.c (gfc_convert_boz): Add error check
+       and convert BOZ to smallest possible bit size.
+       * resolve.c (resolve_ordinary_assign): Check return value.
+       * expr.c (gfc_check_assign): Ditto.
+       * simplify.c (simplify_cmplx, gfc_simplify_dble,
+       gfc_simplify_float, gfc_simplify_real): Ditto.
+
+2007-12-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR fortran/34325
+       * match.h: New function declaration.
+       * match.c (gfc_match_parens): New function to look for mismatched
+       parenthesis. (gfc_match_if): Use new function to catch missing '('.
+
+2007-12-19  Daniel Franke  <franke.daniel@gmail.com>
+
+       PR fortran/34495
+       * expr.c (check_init_expr): Check whether variables with flavor
+       FL_PARAMETER do have a value assigned. Added error messages where
+       appropriate.
+       * simplify.c (gfc_simplify_transfer): Added check if the MOLD
+       argument is a constant if working with initialization
+       expressions.
+
+2007-12-17  Tobias Burnus  <burnus@net-b.de>
+
+       * intrinsic.c (add_functions): Undo change; mark float and
+       sngl as STD_F77.
+       * intrinsic.texi (FLOAT, SNGL): Change standard to F77 and later.
+       * gfortran.texi (BOZ): Make note about FLOAT etc. clearer.
+
+2007-12-16  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/34495
+       * intrinsic.c (add_functions): Mark float and sngl as STD_GNU.
+       (gfc_intrinsic_func_interface): Reject REAL, DBLE and CMPLX
+       in initialization expressions for -std=f95.
+
+2007-12-16  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/34305
+       * resolve.c (compare_bound):  If either of the types of
+       the arguments isn't INTEGER, return CMP_UNKNOWN.
+
+2007-12-16  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/34246
+       * trans-types.c (gfc_init_types): Change build_type_variant
+       to build_qualified_type.
+       (gfc_sym_type): Return gfc_character1_type_node for
+       character-returning bind(C) functions.
+       * trans-expr.c (gfc_conv_function_call): Do not set
+       se->string_length for character-returning bind(c) functions.
+       (gfc_trans_string_copy,gfc_trans_scalar_assign):
+       Support also single characters.
+
+2007-12-16  Bernhard Fischer  <aldot@gcc.gnu.org>
+
+       * errors.c (gfc_notify_std): As originally stated but improperly
+       changed, disregard warnings_are_errors for deciding which buffer
+       to use for warnings.
+
+2007-12-16  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/31213
+       PR fortran/33888
+       PR fortran/33998
+       * trans-array.c (gfc_trans_array_constructor_value): If the
+       iterator variable does not have a backend_decl, use a local
+       temporary.
+       (get_elemental_fcn_charlen): New function to map the character
+       length of an elemental function onto its actual arglist.
+       (gfc_conv_expr_descriptor): Call the above so that the size of
+       the temporary can be evaluated.
+       * trans-expr.c : Include arith.h and change prototype of
+       gfc_apply_interface_mapping_to_expr to return void.  Change all
+       references to gfc_apply_interface_mapping_to_expr accordingly.
+       (gfc_free_interface_mapping): Free the 'expr' field.
+       (gfc_add_interface_mapping): Add an argument for the actual
+       argument expression. This is copied to the 'expr' field of the
+       mapping.  Only stabilize the backend_decl if the se is present.
+       Copy the character length expression and only add it's backend
+       declaration if se is present.  Return without working on the
+       backend declaration for the new symbol if se is not present.
+       (gfc_map_intrinsic_function) : To simplify intrinsics 'len',
+       'size', 'ubound' and 'lbound' and then to map the result.
+       (gfc_map_fcn_formal_to_actual): Performs the formal to actual
+       mapping for the case of a function found in a specification
+       expression in the interface being mapped.
+       (gfc_apply_interface_mapping_to_ref): Remove seen_result and
+       all its references. Remove the inline simplification of LEN
+       and call gfc_map_intrinsic_function instead.  Change the
+       order of mapping of the actual arguments and simplifying
+       intrinsic functions.  Finally, if a function maps to an
+       actual argument, call gfc_map_fcn_formal_to_actual.
+       (gfc_conv_function_call): Add 'e' to the call to
+       gfc_add_interface_mapping.
+       * dump-parse-tree.c (gfc_show_symbol_n): New function for
+       diagnostic purposes.
+       * gfortran.h : Add prototype for gfc_show_symbol_n.
+       * trans.h : Add 'expr' field to gfc_add_interface_mapping.
+       Add 'expr' to prototype for gfc_show_symbol_n.
+       * resolve.c (resolve_generic_f0): Set specific function as
+       referenced.
+
+2007-12-14  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/34438
+       * resolve.c (resolve_symbol): Do not emit public-variable-
+       of-private-derived-type error for non-module variables.
+
+2007-12-14  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/34398
+       * expr.c (gfc_check_assign): Add range checks for assignments of BOZs.
+       * resolve.c (resolve_ordinary_assign): Ditto.
+       * arith.c (gfc_range_check): Fix return value for complex numbers.
+
+2007-12-14  Daniel Franke  <franke.daniel@gmail.com>
+
+       PR fortran/34324
+       * module.c (parse_atom): Fixed parsing of modules files whose
+       lines are terminated by CRLF.
+
+2007-12-13  Anton Korobeynikov  <asl@math.spbu.ru>
+
+       * trans-decl.c (gfc_build_builtin_function_decls): Correct decl
+       construction for select_string() and internal_unpack()
+
+2007-12-13  Duncan Sands  <baldrick@free.fr>
+           Anton Korobeynikov  <asl@math.spbu.ru>
+
+       * trans-expr.c (gfc_conv_structure): Make sure record constructors
+       for static variables are marked constant.
+
+2007-12-12  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/34254
+       * decl.c (match_char_kind): Support use-associated/imported
+       kind parameters.
+       (gfc_match_kind_spec): Support als BT_CHARACTER, when
+       re-scanning kind spec.
+
+2007-12-11  Aldy Hernandez  <aldyh@redhat.com>
+
+       * decl.c (add_global_entry): Make type unsigned.
+
+2007-12-11  Bernhard Fischer  <aldot@gcc.gnu.org>
+
+       * decl.c (match_prefix): Make seen_type a boolean.
+       (add_global_entry): Cache type distinction.
+       * trans-decl.c: Whitespace cleanup.
+
+2007-12-10  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/34425
+       * interface.c (get_expr_storage_size): Use signed integer when
+       obtaining the bounds.
+
+2007-12-09  Jakub Jelinek  <jakub@redhat.com>
+
+       PR fortran/22244
+       * trans.h (struct array_descr_info): Forward declaration.
+       (gfc_get_array_descr_info): New prototype.
+       (enum gfc_array_kind): New type.
+       (struct lang_type): Add akind field.
+       (GFC_TYPE_ARRAY_AKIND): Define.
+       * trans-types.c: Include dwarf2out.h.
+       (gfc_build_array_type): Add akind argument.  Adjust
+       gfc_get_array_type_bounds call.
+       (gfc_get_nodesc_array_type): Include proper debug info even for
+       assumed-size arrays.
+       (gfc_get_array_type_bounds): Add akind argument, set
+       GFC_TYPE_ARRAY_AKIND to it.
+       (gfc_sym_type, gfc_get_derived_type): Adjust gfc_build_array_type
+       callers.
+       (gfc_get_array_descr_info): New function.
+       * trans-array.c (gfc_trans_create_temp_array,
+       gfc_conv_expr_descriptor): Adjust gfc_get_array_type_bounds
+       callers.
+       * trans-stmt.c (gfc_trans_pointer_assign_need_temp): Likewise.
+       * trans-types.h (gfc_get_array_type_bounds): Adjust prototype.
+       * Make-lang.in (fortran/trans-types.o): Depend on dwarf2out.h.
+       * f95-lang.c (LANG_HOOKS_GET_ARRAY_DESCR_INFO): Define.
+
 2007-12-09  Paul Thomas  <pault@gcc.gnu.org>
 
        PR fortran/32129
        PR fortran/34345
        PR fortran/18026
        PR fortran/29471
-
        * gfortran.texi (BOZ literal constants): Improve documentation
        and adapt for BOZ changes.
        * Make-lang.ini (resolve.o): Add target-memory.h dependency.