+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.
+ * fortran/gfortran.h: Add *expr3 entity to gfc_code. Add prototype
+ for gfc_match_char_spec.
+ * fortran/trans-stmt.c (gfc_trans_allocate): Translate the SOURCE=
+ tag.
+ * fortran/match.c (match_intrinsic_typespec): New function to match
+ F2003 intrinsic-type-spec.
+ (conformable_arrays): New function. Check SOURCE= and
+ allocation-object are conformable.
+ (gfc_match_allocate): Use new functions. Match SOURCE= tag.
+
+2009-08-22 Bud Davis <bdavis9659@sbcglobal.net>
+
+ PR fortran/28093
+ * io.c : added variable to store original len of fmt
+ * io.c (check_format): Consume H items using next_char
+ in both modes to handle consecutive single quotes.
+ Test for extra characters in fmt, issue warning.
+
+2009-08-21 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/41106
+ * primary.c (gfc_variable_attr): Make it work also on EXPR_FUNCTION.
+ (gfc_expr_attr): Use gfc_variable_attr for procedure pointer components.
+ * resolve.c (resolve_fl_derived): Handle CHARACTER-valued procedure
+ pointer components.
+ * trans-expr.c (gfc_conv_component_ref): Ditto.
+ (gfc_conv_variable): Ditto.
+ (gfc_conv_procedure_call): Ditto.
+ (gfc_trans_pointer_assignment): Ditto.
+ * trans-types.c (gfc_get_derived_type): Ditto.
+
+2009-08-20 Tobias Schlüter <tobi@gcc.gnu.org>
+
+ * trans-stmt.c (gfc_trans_do): Add a few missing folds.
+
+2009-08-20 Michael Matz <matz@suse.de>
+
+ PR fortran/41126
+ * trans-expr.c (gfc_conv_string_tmp): Check type compatibility
+ instead of equality.
+
+2009-08-20 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/41121
+ * resolve.c (resolve_symbol): Don't resolve formal_ns of intrinsic
+ procedures.
+
+2009-08-18 Michael Matz <matz@suse.de>
+
+ * trans-expr.c (gfc_conv_substring): Don't evaluate casted decl early,
+ change order of length calculation to (end - start) + 1.
+ (gfc_get_interface_mapping_array): Adjust call to
+ gfc_get_nodesc_array_type.
+ * trans-array.c (gfc_trans_create_temp_array,
+ gfc_build_constant_array_constructor, gfc_conv_expr_descriptor): Ditto.
+ * trans-stmt.c (gfc_trans_pointer_assign_need_temp): Ditto.
+ * trans.c (gfc_add_modify): Assignment between base type and nontarget
+ type are equal enough.
+ (gfc_call_malloc): Use prvoid_type_node for return value of
+ __builtin_malloc.
+ (gfc_allocate_with_status): Ditto.
+ * trans-types.c (gfc_array_descriptor_base): Double size of this array.
+ (gfc_init_types): Build prvoid_type_node.
+ (gfc_build_array_type): New bool parameter "restricted".
+ (gfc_get_nodesc_array_type): Ditto, build restrict qualified pointers,
+ if it's true.
+ (gfc_get_array_descriptor_base): Ditto.
+ (gfc_get_array_type_bounds): Ditto.
+ (gfc_sym_type): Use symbol attributes to feed calls to above functions.
+ (gfc_get_derived_type): Ditto.
+ * trans.h (struct lang_type): Add nontarget_type member.
+ * trans-types.h (prvoid_type_node): Declare.
+ (gfc_get_array_type_bounds, gfc_get_nodesc_array_type): Declare new
+ parameter.
+ * trans-decl.c (gfc_finish_var_decl): Give scalars that can't be
+ aliased a type with a different alias set than the base type.
+ (gfc_build_dummy_array_decl): Adjust call to gfc_get_nodesc_array_type.
+
+2009-08-18 Janus Weil <janus@gcc.gnu.org>
+ Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/40870
+ * trans-types.c (gfc_get_ppc_type): Include formal args in backend_decl
+ using the interface symbol. Character types are returned by reference.
+ (gfc_get_derived_type): Prevent infinite recursion loop
+ if a PPC has a derived-type formal arg.
+
+2008-08-17 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/41062
+ * trans-decl.c (gfc_trans_use_stmts): Keep going through use
+ list if symbol is not use associated.
+
+2009-08-17 Daniel Kraft <d@domob.eu>
+
+ PR fortran/37425
+ * resolve.c (get_checked_tb_operator_target): New routine to do checks
+ on type-bound operators in common between intrinsic and user operators.
+ (resolve_typebound_intrinsic_op): Call it.
+ (resolve_typebound_user_op): Ditto.
+
2009-08-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/41075
* 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.