OSDN Git Service

2010-06-18 Tobias Burnus <burnus@net-b.de>
[pf3gnuchains/gcc-fork.git] / gcc / fortran / ChangeLog
index 5597c03..dfaeeec 100644 (file)
@@ -1,3 +1,420 @@
+2010-06-18  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/44556
+       * resolve.c (resolve_allocate_deallocate): Properly check
+       part-refs in stat=/errmsg= for invalid use.
+
+2010-06-17  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/44558
+       * resolve.c (resolve_typebound_function,resolve_typebound_subroutine):
+       Return directly in case of an error.
+
+2010-06-16  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/44549
+       * gfortran.h (gfc_get_typebound_proc): Modified Prototype.
+       * decl.c (match_procedure_in_type): Give a unique gfc_typebound_proc
+       structure to each procedure in a procedure list.
+       * module.c (mio_typebound_proc): Add NULL argument to
+       'gfc_get_typebound_proc'.
+       * symbol.c (gfc_get_typebound_proc): Add a new argument, which is used
+       to initialize the new structure.
+
+2010-06-15  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/43388
+       * gfortran.h (gfc_expr): Add new member 'mold'.
+       * match.c (gfc_match_allocate): Implement the MOLD tag.
+       * resolve.c (resolve_allocate_expr): Ditto.
+       * trans-stmt.c (gfc_trans_allocate): Ditto.
+
+2010-06-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR fortran/44536
+       * trans-openmp.c (gfc_omp_predetermined_sharing): Don't return
+       OMP_CLAUSE_DEFAULT_SHARED for artificial vars with
+       GFC_DECL_SAVED_DESCRIPTOR set.
+       (gfc_omp_report_decl): New function.
+       * trans.h (gfc_omp_report_decl): New prototype.
+       * f95-lang.c (LANG_HOOKS_OMP_REPORT_DECL): Redefine.
+
+2010-06-13  Daniel Franke  <franke.daniel@gmail.com>
+
+       PR fortran/31588
+       PR fortran/43954
+       * gfortranspec.c (lang_specific_driver): Removed deprecation
+       warning for -M.
+       * lang.opt: Add options -M, -MM, -MD, -MMD, -MF, -MG, -MP, -MT, -MQ.
+       * lang-specs.h (CPP_FORWARD_OPTIONS): Add -M* options.
+       * cpp.h (gfc_cpp_makedep): New.
+       (gfc_cpp_add_dep): New.
+       (gfc_cpp_add_target): New.
+       * cpp.c (gfc_cpp_option): Add deps* members.
+       (gfc_cpp_makedep): New.
+       (gfc_cpp_add_dep): New.
+       (gfc_cpp_add_target): New.
+       (gfc_cpp_init_options): Initialize new options.
+       (gfc_cpp_handle_option): Handle new options.
+       (gfc_cpp_post_options): Map new options to libcpp-options.
+       (gfc_cpp_init): Handle deferred -MQ and -MT options.
+       (gfc_cpp_done): If requested, write dependencies to file.
+       * module.c (gfc_dump_module): Add a module filename as target.
+       * scanner.c (open_included_file): New parameter system; add the
+       included file as dependency.
+       (gfc_open_included_file): Add the included file as dependency.
+       (gfc_open_intrinsic_module): Likewise.
+       * invoke.texi: Removed deprecation warning for -M.
+       * gfortran.texi: Removed Makefile-dependencies project.
+
+2010-06-12  Daniel Franke  <franke.daniel@gmail.com>
+
+        * resolve.c (resolve_global_procedure): Improved checking if an
+        explicit interface is required.
+
+2010-06-12  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       * trans-decl.c (gfc_build_intrinsic_function_decls): Fix
+       return type.
+       * trans-intrinsic.c (gfc_conv_intrinsic_fdate): Fix argument type.
+       (gfc_conv_intrinsic_ttynam): Likewise.
+       (gfc_conv_intrinsic_trim): Likewise.
+
+2010-06-12  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/40117
+       * decl.c (match_procedure_in_type): Allow procedure lists (F08).
+
+2010-06-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       * trans-intrinsic.c (gfc_build_intrinsic_lib_fndecls): Fix comment.
+
+2010-06-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       * mathbuiltins.def: Add builtins that do not directly correspond
+       to a Fortran intrinsic, with new macro OTHER_BUILTIN.
+       * f95-lang.c (gfc_init_builtin_functions): Define OTHER_BUILTIN.
+       * trans-intrinsic.c (gfc_intrinsic_map_t): Remove
+       code_{r,c}{4,8,10,16} fields. Add
+       {,complex}{float,double,long_double}_built_in fields.
+       (gfc_intrinsic_map): Adjust definitions of DEFINE_MATH_BUILTIN,
+       DEFINE_MATH_BUILTIN_C and LIB_FUNCTION accordingly. Add
+       definition of OTHER_BUILTIN.
+       (real_compnt_info): Remove unused struct.
+       (builtin_decl_for_precision, builtin_decl_for_float_kind): New
+       functions.
+       (build_round_expr): Call builtin_decl_for_precision instead of
+       series of if-else.
+       (gfc_conv_intrinsic_aint): Call builtin_decl_for_float_kind
+       instead of a switch.
+       (gfc_build_intrinsic_lib_fndecls): Match
+       {real,complex}{4,8,10,16}decl into the C-style built_in_decls.
+       (gfc_get_intrinsic_lib_fndecl): Do not hardcode floating-point
+       kinds.
+       (gfc_conv_intrinsic_lib_function): Go through all the extended
+       gfc_intrinsic_map.
+       (gfc_trans_same_strlen_check): Call builtin_decl_for_float_kind
+       instead of a switch.
+       (gfc_conv_intrinsic_abs): Likewise.
+       (gfc_conv_intrinsic_mod): Likewise.
+       (gfc_conv_intrinsic_sign): Likewise.
+       (gfc_conv_intrinsic_fraction): Likewise.
+       (gfc_conv_intrinsic_nearest): Likewise.
+       (gfc_conv_intrinsic_spacing): Likewise.
+       (gfc_conv_intrinsic_rrspacing): Likewise.
+       (gfc_conv_intrinsic_scale): Likewise.
+       (gfc_conv_intrinsic_set_exponent): Likewise.
+
+2010-06-11  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/42051
+       PR fortran/43896
+       * trans-expr.c (gfc_conv_derived_to_class): Handle array-valued
+       functions with CLASS formal arguments.
+
+2010-06-10  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/44207
+       * resolve.c (conformable_arrays): Handle allocatable components.
+
+2010-06-10  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/38273
+       * gfortran.texi: Document that Cray pointers cannot be function
+       results.
+
+2010-06-10  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/36234
+       * gfortran.texi: Document lack of support for syntax
+       "complex FUNCTION name*16()", and existence of alternative
+       legacy syntax "complex*16 FUNCTION name()".
+
+2010-06-10  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/43032
+       * intrinsic.texi (FLUSH): Note the difference between FLUSH and
+       POSIX's fsync(), and how to call the latter from Fortran code.
+
+2010-06-10  Daniel Franke  <franke.daniel@gmail.com>
+
+       PR fortran/44457
+       * interface.c (compare_actual_formal): Reject actual arguments with
+       array subscript passed to ASYNCHRONOUS dummys.
+
+2010-06-10  Daniel Kraft  <d@domob.eu>
+
+       PR fortran/38936
+       * gfortran.h (enum gfc_statement): Add ST_ASSOCIATE, ST_END_ASSOCIATE.
+       (struct gfc_symbol): New field `assoc'.
+       (struct gfc_association_list): New struct.
+       (struct gfc_code): New struct `block' in union, move `ns' there
+       and add association list.
+       (gfc_free_association_list): New method.
+       (gfc_has_vector_subscript): Made public;
+       * match.h (gfc_match_associate): New method.
+       * parse.h (enum gfc_compile_state): Add COMP_ASSOCIATE.
+       * decl.c (gfc_match_end): Handle ST_END_ASSOCIATE.
+       * interface.c (gfc_has_vector_subscript): Made public.
+       (compare_actual_formal): Rename `has_vector_subscript' accordingly.
+       * match.c (gfc_match_associate): New method.
+       (gfc_match_select_type): Change reference to gfc_code's `ns' field.
+       * primary.c (match_variable): Don't allow names associated to expr here.
+       * parse.c (decode_statement): Try matching ASSOCIATE statement.
+       (case_exec_markers, case_end): Add ASSOCIATE statement.
+       (gfc_ascii_statement): Hande ST_ASSOCIATE and ST_END_ASSOCIATE.
+       (parse_associate): New method.
+       (parse_executable): Handle ST_ASSOCIATE.
+       (parse_block_construct): Change reference to gfc_code's `ns' field.
+       * resolve.c (resolve_select_type): Ditto.
+       (resolve_code): Ditto.
+       (resolve_block_construct): Ditto and add comment.
+       (resolve_select_type): Set association list in generated BLOCK to NULL.
+       (resolve_symbol): Resolve associate names.
+       * st.c (gfc_free_statement): Change reference to gfc_code's `ns' field
+       and free association list.
+       (gfc_free_association_list): New method.
+       * symbol.c (gfc_new_symbol): NULL new field `assoc'.
+       * trans-stmt.c (gfc_trans_block_construct): Change reference to
+       gfc_code's `ns' field.
+
+2010-06-10  Kai Tietz  <kai.tietz@onevision.com>
+
+       * error.c (error_print): Pre-initialize loc by NULL.
+       * openmp.c (resolve_omp_clauses): Add explicit
+       braces to avoid ambigous else.
+       * array.c (match_subscript): Pre-initialize m to MATCH_ERROR.
+
+2010-06-10  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * gfc-internals.texi: Move to GFDL 1.3.
+       * gfortran.texi: Ditto.
+       * intrinsic.texi: Ditto.
+       * invoke.texi: Ditto.
+
+2010-06-09  Daniel Franke  <franke.daniel@gmail.com>
+
+        PR fortran/44347
+        * check.c (gfc_check_selected_real_kind): Verify that the
+        actual arguments are scalar.
+
+2010-06-09  Daniel Franke  <franke.daniel@gmail.com>
+
+       PR fortran/44359
+       * intrinsic.c (gfc_convert_type_warn): Further improve -Wconversion.
+
+2010-06-09  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/44430
+       * dump-parse-tree.c (show_symbol): Avoid infinite loop.
+
+2010-06-09  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       * fortran/symbol.c (check_conflict):  Remove an invalid conflict check.
+
+2010-06-09  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       * fortran/intrinsic.c (add_functions): Change gfc_check_btest,
+       gfc_check_ibclr, and gfc_check_ibset to gfc_check_bitfcn.
+       * fortran/intrinsic.h: Remove prototypes for gfc_check_btest,
+       gfc_check_ibclr, and gfc_check_ibset.  Add prototype for
+       gfc_check_bitfcn.
+       * fortran/check.c (nonnegative_check, less_than_bitsize1, 
+       less_than_bitsize2): New functions.
+       (gfc_check_btest): Renamed to gfc_check_bitfcn.  Use
+       nonnegative_check and less_than_bitsize1.
+       (gfc_check_ibclr, gfc_check_ibset): Removed.
+       (gfc_check_ibits,gfc_check_mvbits): Use nonnegative_check and
+       less_than_bitsize1.
+
+2010-06-09  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/44211
+       * resolve.c (resolve_typebound_function,resolve_typebound_subroutine):
+       Resolve references.
+
+2010-06-09  Kai Tietz  <kai.tietz@onevision.com>
+
+       * resolve.c (resolve_deallocate_expr): Avoid warning
+       about possible use of iunitialized sym.
+       (resolve_allocate_expr): Pre-initialize sym by NULL.
+
+2010-06-09  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/43040
+       * f95-lang.c (gfc_init_builtin_functions): Remove comment.
+
+2010-06-08  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
+
+       * trans-types.c (gfc_get_nodesc_array_type): Use typed GC
+       allocation.
+       (gfc_get_array_type_bounds): Likewise.
+
+       * trans-decl.c (gfc_allocate_lang_decl): Likewise.
+       (gfc_find_module): Likewise.
+
+       * f95-lang.c (pushlevel): Likewise.
+
+       * trans.h (struct lang_type): Add variable_size GTY option.
+       (struct lang_decl): Likewise.
+
+2010-06-08  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/44446
+       * symbol.c (check_conflict): Move protected--external/procedure check ...
+       * resolve.c (resolve_select_type): ... to the resolution stage.
+
+2010-06-07  Tobias Burnus  <burnus@net-b.de>
+
+       * options.c (gfc_handle_option): Fix -fno-recursive.
+
+2010-06-07  Tobias Burnus  <burnus@net-b.de>
+
+       * gfc-internals.texi (copyrights-gfortran): Fix copyright year format.
+       * gfortran.texi (copyrights-gfortran): Ditto.
+
+2010-06-07  Joseph Myers  <joseph@codesourcery.com>
+
+       * lang.opt (fshort-enums): Define using Var and VarExists.
+       * options.c (gfc_handle_option): Don't set flag_short_enums here.
+
+2010-06-05  Paul Thomas  <pault@gcc.gnu.org>
+           Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/43945
+       * resolve.c (get_declared_from_expr): Move to before
+       resolve_typebound_generic_call.  Make new_ref and class_ref
+       ignorable if set to NULL.
+       (resolve_typebound_generic_call): Once we have resolved the
+       generic call, check that the specific instance is that which
+       is bound to the declared type.
+       (resolve_typebound_function,resolve_typebound_subroutine): Avoid
+       freeing 'class_ref->next' twice.
+
+2010-06-05  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/43895
+       * trans-array.c (structure_alloc_comps): Dereference scalar
+       'decl' if it is a REFERENCE_TYPE. Tidy expressions containing
+       TREE_TYPE (decl).
+
+2010-06-04  Joseph Myers  <joseph@codesourcery.com>
+
+       * gfortranspec.c (append_arg, lang_specific_driver): Use
+       GCC-specific formats in diagnostics.
+
+2010-06-02  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/44360
+       * parse.c (gfc_fixup_sibling_symbols): Do not "fix" use-associated
+       symbols.
+
+2010-06-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR fortran/44371
+       * match.c (gfc_match_stopcode): Move gfc_match_eos call inside 
+       condition block.
+
+2010-05-31  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       * fortran/gfortran.texi:  Fix typos in description of variable-format-
+       expressions.
+
+2010-05-31  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/36928
+       * dependency.c (gfc_check_section_vs_section):  Check
+       for interleaving array assignments without conflicts.
+
+2010-05-30  Janus Weil  <janus@gcc.gnu.org>
+
+       * gcc/fortran/gfortran.h (CLASS_DATA): New macro for accessing the
+       $data component of a class container.
+       * gcc/fortran/decl.c (attr_decl1): Use macro CLASS_DATA.
+       * gcc/fortran/expr.c (gfc_check_pointer_assign,gfc_check_assign_symbol,
+       gfc_has_ultimate_allocatable,gfc_has_ultimate_pointer): Ditto.
+       * gcc/fortran/interface.c (matching_typebound_op): Ditto.
+       * gcc/fortran/match.c (gfc_match_allocate, gfc_match_deallocate): Ditto.
+       * gcc/fortran/parse.c (parse_derived): Ditto.
+       * gcc/fortran/primary.c (gfc_match_varspec, gfc_variable_attr,
+       gfc_expr_attr): Ditto.
+       * gcc/fortran/resolve.c (resolve_structure_cons, find_array_spec,
+       resolve_deallocate_expr, resolve_allocate_expr, resolve_select_type,
+       resolve_fl_var_and_proc, resolve_typebound_procedure,
+       resolve_fl_derived): Ditto.
+       * gcc/fortran/symbol.c (gfc_type_compatible): Restructured.
+       * gcc/fortran/trans-array.c (structure_alloc_comps): Use macro
+       CLASS_DATA.
+       * gcc/fortran/trans-decl.c (gfc_get_symbol_decl,
+       gfc_trans_deferred_vars): Ditto.
+       * gcc/fortran/trans-stmt.c (gfc_trans_allocate): Ditto.
+
+2010-05-28  Tobias Burnus  <burnus@net-b.de>
+
+       * options.c (gfc_handle_option): Fix handling of -fno-whole-file.
+
+2010-05-28  Joseph Myers  <joseph@codesourcery.com>
+
+       * gfortranspec.c (append_arg, lang_specific_driver): Use
+       fatal_error instead of fatal.  Use warning instead of fprintf for
+       warnings.
+
+2010-05-28  Joseph Myers  <joseph@codesourcery.com>
+
+       * cpp.c (gfc_cpp_init_0): Use xstrerror instead of strerror.
+       * module.c (write_char, gfc_dump_module, gfc_use_module): Use
+       xstrerror instead of strerror.
+
+2010-05-26  Joseph Myers  <joseph@codesourcery.com>
+
+       * cpp.c (cb_cpp_error): Save and restore
+       global_dc->warn_system_headers, not variable warn_system_headers.
+
+2010-05-26  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * fortran/f95-lang.c: Do not include libfuncs.h, expr.h, and except.h.
+
+2010-05-26  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * trans-common.c: Do not include rtl.h, include output.h instead.
+       * trans-decl.c: Likewise.
+
+2010-05-26  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/40011
+       * resolve.c (resolve_global_procedure): Resolve the gsymbol's
+       namespace before trying to reorder the gsymbols.
+
+2010-05-25  Daniel Franke  <franke.daniel@gmail.com>
+
+       PR fortran/30668
+       PR fortran/31346
+       PR fortran/34260
+       * resolve.c (resolve_global_procedure): Add check for global
+       procedures with implicit interfaces and assumed-shape or optional
+       dummy arguments. Verify that function return type, kind and string
+       lengths match.
+
 2010-05-21  Tobias Burnus  <burnus@net-b.de>
 
        * gfortran.h: Do not include system.h.