OSDN Git Service

2009-09-13 Richard Guenther <rguenther@suse.de>
[pf3gnuchains/gcc-fork.git] / gcc / fortran / ChangeLog
index d6d6a91..7cf6e86 100644 (file)
@@ -1,8 +1,226 @@
+2009-09-13  Richard Guenther  <rguenther@suse.de>
+       Rafael Avila de Espindola  <espindola@google.com>
+
+       * f95-lang.c (gfc_maybe_initialize_eh): Do not init
+       eh_personality_libfunc.
+
+2009-09-11  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/41242
+       * resolve.c (resolve_ordinary_assign): Don't call resolve_code,
+       to avoid that subsequent codes are resolved more than once.
+       (resolve_code): Make sure that type-bound assignment operators are
+       resolved correctly.
+
+
+2009-09-10  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/31292
+       * fortran/decl.c(gfc_match_modproc): Check that module procedures
+       from a module can USEd in module procedure statements in other
+       program units.  Update locus for better error message display.
+       Detect intrinsic procedures in module procedure statements.
+
+2009-09-09  Richard Guenther  <rguenther@suse.de>
+
+       PR fortran/41297
+       * trans-expr.c (gfc_trans_scalar_assign): Correct typo that
+       left 'tmp' unused in derived type assignment.
+
+2009-09-07  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/41197
+       * resolve_c (resolve_allocate_deallocate):  Complain
+       if stat or errmsg varaible is an array.
+
+2009-09-05  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/41258
+       * primary.c (gfc_match_varspec): Do not look for typebound
+       procedures unless the derived type has a f2k_derived namespace.
+
+2009-09-03  Diego Novillo  <dnovillo@google.com>
+
+       * f95-lang.c (lang_hooks): Remove const qualifier.
+
+2009-09-01  Richard Guenther  <rguenther@suse.de>
+
+       * f95-lang.c (gfc_mark_addressable): Remove.
+       (LANG_HOOKS_MARK_ADDRESSABLE): Likewise.
+
+2009-08-31  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR fortran/39229
+       * scanner.c (next_char): Fix typo in comment.
+       (gfc_get_char_literal): Warn if truncate flag is set for both fixed and
+       free form source, adjusting error locus as needed.
+       * parse.c (next_fixed): Clear the truncate flag.
+       (next_statement): Remove truncate warning.
+
+2009-08-31  Janus Weil  <janus@gcc.gnu.org>
+           Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/40940
+       * array.c (gfc_match_array_constructor): Rename gfc_match_type_spec.
+       * decl.c (gfc_match_type_spec): Rename to gfc_match_decl_type_spec,
+       and reject CLASS with -std=f95.
+       (gfc_match_implicit, gfc_match_data_decl,gfc_match_prefix,
+       match_procedure_interface): Rename gfc_match_type_spec.
+       * gfortran.h (gfc_type_compatible): Add prototype.
+       * match.h (gfc_match_type_spec): Rename to gfc_match_decl_type_spec.
+       * match.c (match_intrinsic_typespec): Rename to match_type_spec, and
+       add handling of derived types.
+       (gfc_match_allocate): Rename match_intrinsic_typespec and check
+       type compatibility of derived types.
+       * symbol.c (gfc_type_compatible): New function to check if two types
+       are compatible.
+
+2009-08-31  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/40996
+       * check.c (gfc_check_allocated): Implement allocatable scalars.
+       * resolve.c (resolve_allocate_expr,resolve_fl_var_and_proc): Ditto.
+       * trans-intrinsic.c (gfc_conv_allocated): Ditto.
+
+2009-08-30  Daniel Kraft  <d@domob.eu>
+
+       PR fortran/37425
+       * dump-parse-tree.c (show_typebound_proc): Renamed from `show_typebound'
+       and accept gfc_typebound_proc and name instead of the symtree, needed
+       for intrinsic operator output.
+       (show_typebound_symtree): New method calling `show_typebound_proc'.
+       (show_f2k_derived): Output type-bound operators also.
+       (show_symbol): Moved output of `Procedure bindings:' label to
+       `show_f2k_derived'.
+       * gfortran.texi (Fortran 2003 status): Mention support of
+       array-constructors with explicit type specification, type-bound
+       procedures/operators, type extension, ABSTRACT types and DEFERRED.
+       Link to Fortran 2003 wiki page.
+       (Fortran 2008 status): Fix typo.  Link to Fortran 2008 wiki page.
+       * gfc-internals.texi (Type-bound Procedures): Document the new
+       members/attributes of gfc_expr.value.compcall used for type-bound
+       operators.
+       (Type-bound Operators): New section documenting their internals.
+
+2009-08-27  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/40869
+       * expr.c (gfc_check_pointer_assign): Enable interface check for
+       pointer assignments involving procedure pointer components.
+       * gfortran.h (gfc_compare_interfaces): Modified prototype.
+       * interface.c (gfc_compare_interfaces): Add argument 'name2', to be
+       used instead of s2->name. Don't rely on the proc_pointer attribute,
+       but instead on the flags handed to this function.
+       (check_interface1,compare_parameter): Add argument for
+       gfc_compare_interfaces.
+       * resolve.c (check_generic_tbp_ambiguity): Ditto.
+
+2009-08-27  Daniel Kraft  <d@domob.eu>
+
+       PR fortran/37425
+       * gfortran.h (gfc_expr): Optionally store base-object in compcall value
+       and add a new flag to distinguish assign-calls generated.
+       (gfc_find_typebound_proc): Add locus argument.
+       (gfc_find_typebound_user_op), (gfc_find_typebound_intrinsic_op): Ditto.
+       (gfc_extend_expr): Return if failure was by a real error.
+       * interface.c (matching_typebound_op): New routine.
+       (build_compcall_for_operator): New routine.
+       (gfc_extend_expr): Handle type-bound operators, some clean-up and
+       return if failure was by a real error or just by not finding an
+       appropriate operator definition.
+       (gfc_extend_assign): Handle type-bound assignments.
+       * module.c (MOD_VERSION): Incremented.
+       (mio_intrinsic_op): New routine.
+       (mio_full_typebound_tree): New routine to make typebound-procedures IO
+       code reusable for type-bound user operators.
+       (mio_f2k_derived): IO of type-bound operators.
+       * primary.c (gfc_match_varspec): Initialize new fields in gfc_expr and
+       pass locus to gfc_find_typebound_proc.
+       * resolve.c (resolve_operator): Only output error about no matching
+       interface if gfc_extend_expr did not already fail with an error.
+       (extract_compcall_passed_object): Use specified base-object if present.
+       (update_compcall_arglist): Handle ignore_pass field.
+       (resolve_ordinary_assign): Update to handle extended code for
+       type-bound assignments, too.
+       (resolve_code): Handle EXEC_ASSIGN_CALL statement code.
+       (resolve_tb_generic_targets): Pass locus to gfc_find_typebound_proc.
+       (resolve_typebound_generic), (resolve_typebound_procedure): Ditto.
+       (resolve_typebound_intrinsic_op), (resolve_typebound_user_op): Ditto.
+       (ensure_not_abstract_walker), (resolve_fl_derived): Ditto.
+       (resolve_typebound_procedures): Remove not-implemented error.
+       (resolve_typebound_call): Handle assign-call flag.
+       * symbol.c (find_typebound_proc_uop): New argument to pass locus for
+       error message about PRIVATE, verify that a found procedure is not marked
+       as erraneous.
+       (gfc_find_typebound_intrinsic_op): Ditto.
+       (gfc_find_typebound_proc), (gfc_find_typebound_user_op): New locus arg.
+
+2009-08-22  Bud Davis <bdavis9659@sbcglobal.net>
+
+       PR fortran/28093
+       * io.c: reverted previous patch.
+
+2009-08-25  Janne Blomqvist  <jb@gcc.gnu.org>
+
+       * gfortran.texi: Fix ENCODE example.
+
+2009-08-25  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/41139
+       * primary.c (gfc_match_varspec): Make sure EXPR_PPC is only used for
+       calls to procedure pointer components, other references to procedure
+       pointer components are EXPR_VARIABLE.
+       * resolve.c (resolve_actual_arglist): Bugfix (there can be calls without
+       actual arglist).
+       * trans-expr.c (gfc_get_proc_ptr_comp): Renamed to 'get_proc_ptr_comp',
+       removed argument 'se' and made static. Avoid inserting a temporary
+       variable for calling the PPC.
+       (conv_function_val): Renamed gfc_get_proc_ptr_comp.
+       (gfc_conv_procedure_call): Distinguish functions returning a procedure
+       pointer from calls to a procedure pointer. Distinguish calls to
+       procedure pointer components from procedure pointer components as
+       actual arguments.
+       * trans-stmt.h (gfc_get_proc_ptr_comp): Make it static.
+
+2009-08-24  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR fortran/41162
+       * io.c (check_format): Fix to not error on slash after P. Fix some
+       error loci.
+       
+2009-08-24  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR fortran/41154
+       * io.c (check_format): Fix to not error on right paren after P.
+
+2009-08-24  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR fortran/40660
+       * trans-io.c (build_dt): Pass UNKNOWN_LOCATION to build_call_expr_loc.
+       (transfer_array_desc): Same.
+
+2009-08-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR fortran/35754
+       * io.c (check_format): Add checks for comma and the allowed
+       format specifiers after the 'P' specifier. Fix typo in error message
+       and adjust locus.
+
+2009-08-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR fortran/37446
+       * io.c (enum format_token): Change FMT_EXT to FMT_EN and FMT_ES.
+       (format_lex): Likewise.
+       (token_to_string): New function.
+       (check_format): Use the new tokens and the new function. Add
+       check for positive width.
+
 2009-08-22  Steven G. Kargl  <kargl@gcc.gnu.org>
 
        * fortran/decl.c: Disallow procedure pointers with -std=f95.
 
 2009-08-22 Steven K. kargl  <kargl@gcc.gnu.org>
+          Paul Thomas  <pault@gcc.gnu.org>
 
        * fortran/decl.c (match_char_spec): Rename to gfc_match_char_spec,
        and remove static.
        allocation-object are conformable.
        (gfc_match_allocate): Use new functions.  Match SOURCE= tag.
 
-2009-08-22     Bud Davis <bdavis9659@sbcglobal.net>
+2009-08-22  Bud Davis <bdavis9659@sbcglobal.net>
 
        PR fortran/28093
        * io.c : added variable to store original len of fmt
        (gfc_trans_pointer_assignment): Ditto.
        * trans-types.c (gfc_get_derived_type): Ditto.
 
-2009-08-20  Tobias Schlüter  <tobi@gcc.gnu.org>
+2009-08-20  Tobias Schlüter  <tobi@gcc.gnu.org>
 
        * trans-stmt.c (gfc_trans_do): Add a few missing folds.
 
        * gfc-internals.texi (Type-bound procedures): Document a little bit
        about internal handling of DEFERRED bindings.
 
-2009-03-29  Tobias Schlueter  <tobi@gcc.gnu.org>
+2009-03-29  Tobias Schlüter  <tobi@gcc.gnu.org>
 
        PR fortran/38507
        * gfortran.h (gfc_st_label): Fix comment.