summaryrefslogtreecommitdiff
path: root/gcc/fortran/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/fortran/ChangeLog')
-rw-r--r--gcc/fortran/ChangeLog479
1 files changed, 479 insertions, 0 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 0db8ce51016..18509132034 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,482 @@
+2010-06-29 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/44718
+ * resolve.c (is_external_proc): Prevent procedure pointers from being
+ regarded as external procedures.
+
+2010-06-29 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/44696
+ * trans-intrinsic.c (gfc_conv_associated): Handle polymorphic variables
+ passed as second argument of ASSOCIATED.
+
+2010-06-29 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/44582
+ * trans-expr.c (arrayfunc_assign_needs_temporary): New function
+ to determine if a function assignment can be made without a
+ temporary.
+ (gfc_trans_arrayfunc_assign): Move all the conditions that
+ suppress the direct function call to the above new functon and
+ call it.
+
+2010-06-28 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/40158
+ * interface.c (argument_rank_mismatch): New function.
+ (compare_parameter): Call new function instead of generating
+ the error directly.
+
+2010-06-28 Nathan Froyd <froydnj@codesourcery.com>
+
+ * trans-openmp.c (dovar_init): Define. Define VECs containing it.
+ (gfc_trans_omp_do): Use a VEC to accumulate variables and their
+ initializers.
+
+2010-06-28 Steven Bosscher <steven@gcc.gnu.org>
+
+ * Make-lang.in: Update dependencies.
+
+2010-06-27 Nathan Froyd <froydnj@codesourcery.com>
+
+ * gfortran.h (gfc_code): Split backend_decl field into cycle_label
+ and exit_label fields.
+ * trans-openmp.c (gfc_trans_omp_do): Assign to new fields
+ individually.
+ * trans-stmt.c (gfc_trans_simple_do): Likewise.
+ (gfc_trans_do): Likewise.
+ (gfc_trans_do_while): Likewise.
+ (gfc_trans_cycle): Use cycle_label directly.
+ (gfc_trans_exit): Use exit_label directly.
+
+2010-06-27 Daniel Kraft <d@domob.eu>
+
+ * dump-parse-tree.c (show_symbol): Dump target-expression for
+ associate names.
+ (show_code_node): Make distinction between BLOCK and ASSOCIATE.
+ (show_namespace): Use show_level for correct indentation of
+ "inner namespaces" (contained procedures or BLOCK).
+
+2010-06-27 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/44678
+ * dump-parse-tree.c (show_code_node): Show namespace for
+ EXEC_BLOCK.
+
+2010-06-26 Tobias Burnus <burnus@net-b.de>
+
+ * decl.c (gfc_match_decl_type_spec): Support
+ TYPE(intrinsic-type-spec).
+
+2010-06-25 Tobias Burnus <burnus@net-b.de>
+
+ * intrinsic.h (gfc_check_selected_real_kind,
+ gfc_simplify_selected_real_kind): Update prototypes.
+ * intrinsic.c (add_functions): Add radix support to
+ selected_real_kind.
+ * check.c (gfc_check_selected_real_kind): Ditto.
+ * simplify.c (gfc_simplify_selected_real_kind): Ditto.
+ * trans-decl.c (gfc_build_intrinsic_function_decls):
+ Change call from selected_real_kind to selected_real_kind2008.
+ * intrinsic.texi (SELECTED_REAL_KIND): Update for radix.
+ (PRECISION, RANGE, RADIX): Add cross @refs.
+
+2010-06-25 Tobias Burnus <burnus@net-b.de>
+
+ * decl.c (gfc_match_entry): Mark ENTRY as GFC_STD_F2008_OBS.
+ * gfortran.texi (_gfortran_set_options): Update for
+ GFC_STD_F2008_OBS addition.
+ * libgfortran.h: Add GFC_STD_F2008_OBS.
+ * options.c (set_default_std_flags, gfc_handle_option): Handle
+ GFC_STD_F2008_OBS.
+ io.c (check_format): Fix allow_std check.
+
+2010-06-25 Tobias Burnus <burnus@net-b.de>
+
+ * decl.c (gfc_match_entry): Allow END besides
+ END SUBROUTINE/END FUNCTION for contained procedures.
+
+2010-06-25 Tobias Burnus <burnus@net-b.de>
+
+ * parse.c (next_free, next_fixed): Allow ";" as first character.
+
+2010-06-24 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/44614
+ * decl.c (variable_decl): Fix IMPORT diagnostic for CLASS.
+
+2010-06-22 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/44616
+ * resolve.c (resolve_fl_derived): Avoid checking for abstract on class
+ containers.
+
+2010-06-21 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/40632
+ * interface.c (compare_parameter): Add gfc_is_simply_contiguous
+ checks.
+ * symbol.c (gfc_add_contiguous): New function.
+ (gfc_copy_attr, check_conflict): Handle contiguous attribute.
+ * decl.c (match_attr_spec): Ditto.
+ (gfc_match_contiguous): New function.
+ * resolve.c (resolve_fl_derived, resolve_symbol): Handle
+ contiguous.
+ * gfortran.h (symbol_attribute): Add contiguous.
+ (gfc_is_simply_contiguous): Add prototype.
+ (gfc_add_contiguous): Add prototype.
+ * match.h (gfc_match_contiguous): Add prototype.
+ * parse.c (decode_specification_statement,
+ decode_statement): Handle contiguous attribute.
+ * expr.c (gfc_is_simply_contiguous): New function.
+ * dump-parse-tree.c (show_attr): Handle contiguous.
+ * module.c (ab_attribute, attr_bits, mio_symbol_attribute):
+ Ditto.
+ * trans-expr.c (gfc_add_interface_mapping): Copy
+ attr.contiguous.
+ * trans-array.c (gfc_conv_descriptor_stride_get,
+ gfc_conv_array_parameter): Handle contiguous arrays.
+ * trans-types.c (gfc_build_array_type, gfc_build_array_type,
+ gfc_sym_type, gfc_get_derived_type, gfc_get_array_descr_info):
+ Ditto.
+ * trans.h (gfc_array_kind): Ditto.
+ * trans-decl.c (gfc_get_symbol_decl): Ditto.
+
+2010-06-20 Joseph Myers <joseph@codesourcery.com>
+
+ * options.c (gfc_handle_option): Don't handle N_OPTS.
+
+2010-06-19 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/44584
+ * resolve.c (resolve_fl_derived): Reverse ordering of conditions
+ to avoid ICE.
+
+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