OSDN Git Service

2012-01-09 Mikael Morin <mikael@gcc.gnu.org>
[pf3gnuchains/gcc-fork.git] / gcc / fortran / ChangeLog
index 5093f7d..755e11e 100644 (file)
-2011-12-15  Paul Thomas  <pault@gcc.gnu.org>
-
-       * trans-expr.c (gfc_walk_function_expr): Detect elemental
-       procedure components as well as elemental procedures.
-       * trans-array.c (gfc_conv_procedure_call): Ditto.
-       * trans-decl.c (gfc_trans_deferred_vars): Correct erroneous
-       break for class pointers to continue.
-
-2011-12-15  Toon Moene  <toon@moene.org>
-
-       PR fortran/51310
-       * resolve.c (build_default_init_expr): Allow non-allocatable,
-       non-compile-time-constant-shape arrays to have a default
-       initializer.
-       * invoke.texi: Delete the restriction on automatic arrays not
-
-2011-12-15  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/51550
-       PR fortran/47545
-       PR fortran/49050
-       PR fortran/51075        
-       * resolve.c (resolve_fl_derived0): Print not-implemented error
-       for deferred-length character components.
-
-2011-12-15  Tobias Burnus  <burnus@net-b.de>
-
-       * primary.c (gfc_match_varspec): Match array spec for
-       polymorphic coarrays.
-       (gfc_match_rvalue): If a symbol of unknown flavor has a
-       codimension, mark it as a variable.
-       * simplify.c (gfc_simplify_image_index): Directly call
-       simplify_cobound.
-       * trans-intrinsic.c (trans_this_image): Fix handling of
-       corank = 1 arrays.
-
-2011-12-15  Jakub Jelinek  <jakub@redhat.com>
-
-       PR debug/51517
-       * trans-decl.c (gfc_get_symbol_decl): Don't set DECL_INITAL on span.
-       (gfc_trans_deferred_vars): Instead add its runtime initialization
-       here.
-
-2011-12-11  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/50923
-       * trans-decl.c (generate_local_decl): Set TREE_NO_WARNING only
-       if the front end has printed a warning.
-       (gfc_generate_function_code): Fix unset-result warning.
-
-2011-12-11  Paul Thomas  <pault@gcc.gnu.org>
-       Tobias Burnus  <burnus@gcc.gnu.org>
-
-       PR fortran/41539
-       PR fortran/43214
-       PR fortran/43969
-       PR fortran/44568
-       PR fortran/46356
-       PR fortran/46990
-       PR fortran/49074
-       * interface.c (symbol_rank): Return the rank of the _data
-       component of class objects.
-       (compare_parameter): Also compare the derived type of the class
-       _data component for type mismatch.  Similarly, return 1 if the
-       formal and _data ranks match.
-       (compare_actual_formal): Do not compare storage sizes for class
-       expressions. It is an error if an actual class array, passed to
-       a formal class array is not full.
-       * trans-expr.c (gfc_class_data_get, gfc_class_vptr_get,
-       gfc_vtable_field_get, gfc_vtable_hash_get, gfc_vtable_size_get,
-       gfc_vtable_extends_get, gfc_vtable_def_init_get,
-       gfc_vtable_copy_get): New functions for class API.
-       (gfc_conv_derived_to_class): For an array reference in an
-       elemental procedure call retain the ss to provide the
-       scalarized array reference. Moved in file.
-       (gfc_conv_class_to_class): New function.
-       (gfc_conv_subref_array_arg): Use the type of the
-       class _data component as a basetype.
-       (gfc_conv_procedure_call): Ensure that class array expressions
-       have both the _data reference and an array reference. Use 
-       gfc_conv_class_to_class to handle class arrays for elemental
-       functions in scalarized loops, class array elements and full
-       class arrays. Use a call to gfc_conv_subref_array_arg in order
-       that the copy-in/copy-out for passing class arrays to derived
-       type arrays occurs correctly.
-       (gfc_conv_expr): If it is missing, add the _data component
-       between a class object or component and an array reference.
-       (gfc_trans_class_array_init_assign): New function.
-       (gfc_trans_class_init_assign): Call it for array expressions.
-       * trans-array.c (gfc_add_loop_ss_code): Do not use a temp for
-       class scalars since their size will depend on the dynamic type.
-       (build_class_array_ref): New function.
-       (gfc_conv_scalarized_array_ref): Call build_class_array_ref.
-       (gfc_array_init_size): Add extra argument, expr3, that represents
-       the SOURCE argument. If present,use this for the element size.
-       (gfc_array_allocate): Also add argument expr3 and use it when
-       calling gfc_array_init_size.
-       (structure_alloc_comps): Enable class arrays.
-       * class.c (gfc_add_component_ref): Carry over the derived type
-       of the _data component.
-       (gfc_add_class_array_ref): New function.
-       (class_array_ref_detected): New static function.
-       (gfc_is_class_array_ref): New function that calls previous.
-       (gfc_is_class_scalar_expr): New function.
-       (gfc_build_class_symbol): Throw not implemented error for
-       assumed size class arrays.  Remove error that prevents
-       CLASS arrays.
-       (gfc_build_class_symbol): Prevent pointer/allocatable conflict.
-       Also unset codimension.
-       (gfc_find_derived_vtab): Make 'copy' elemental and set the
-       intent of the arguments accordingly.: 
-       * trans-array.h: Update prototype for gfc_array_allocate.
-       * array.c (gfc_array_dimen_size): Return failure if class expr.
-       (gfc_array_size): Likewise.
-       * gfortran.h: New prototypes for gfc_add_class_array_ref,
-       gfc_is_class_array_ref and gfc_is_class_scalar_expr.
-       * trans-stmt.c (trans_associate_var): Exclude class targets
-       from test. Move the allocation of the _vptr to an earlier time
-       for class objects.
-       (trans_associate_var): Assign the descriptor directly for class
-       arrays.
-       (gfc_trans_allocate): Add expr3 to gfc_array_allocate arguments.
-       Convert array element references into sections. Do not invoke
-       gfc_conv_procedure_call, use gfc_trans_call instead.
-       * expr.c (gfc_get_corank): Fix for BT_CLASS.
-       (gfc_is_simply_contiguous): Exclude class from test.
-       * trans.c (gfc_build_array_ref): Include class array refs.
-       * trans.h: Include prototypes for class API functions that are
-       new in trans-expr. Define GFC_DECL_CLASS(node).
-       * resolve.c (check_typebound_baseobject ): Remove error for
-       non-scalar base object.
-       (resolve_allocate_expr): Ensure that class _data component is
-       present. If array, call gfc_expr_to_intialize.
-       (resolve_select): Remove scalar error for SELECT statement as a
-       temporary measure.
-       (resolve_assoc_var): Update 'target' (aka 'selector') as
-       needed. Ensure that the target expression has the right rank.
-       (resolve_select_type): Ensure that target expressions have a
-       valid locus.
-       (resolve_allocate_expr, resolve_fl_derived0): Fix for BT_CLASS.
-       * trans-decl.c (gfc_get_symbol_decl): Set GFC_DECL_CLASS, where
-       appropriate.
-       (gfc_trans_deferred_vars): Get class arrays right.
-       * match.c(select_type_set_tmp): Add array spec to temporary.
-       (gfc_match_select_type): Allow class arrays.
-       * check.c (array_check): Ensure that class arrays have refs.
-       (dim_corank_check, dim_rank_check): Retrun success if class.
-       * primary.c (gfc_match_varspec): Fix for class arrays and
-       co-arrays. Make sure that class _data is present.
-       (gfc_match_rvalue): Handle class arrays.
-       *trans-intrinsic.c (gfc_conv_intrinsic_size): Add class array
-       reference.
-       (gfc_conv_allocated): Add _data component to class expressions.
-       (gfc_add_intrinsic_ss_code): ditto.
-       * simplify.c (simplify_cobound): Fix for BT_CLASS.
-       (simplify_bound): Return NULL for class arrays.
-       (simplify_cobound): Obtain correct array_spec. Use cotype as
-       appropriate. Use arrayspec for bounds.
-
-2011-12-11  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-       PR fortran/50690
-       * frontend-passes.c (in_omp_workshare):  New variable.
-       (cfe_expr_0):  Don't eliminiate common function if it would put
-       the variable immediately into a WORKSHARE construct.
-       (optimize_namespace):  Set in_omp_workshare.
-       (gfc_code_walker):  Keep track of OMP PARALLEL and OMP WORKSHARE
-       constructs.
-
-2011-12-10  Tobias Burnus  <burnus@net-b.de>
-
-       * trans-decl.c (add_argument_checking): Fix syntax.
-
-2011-12-10  Tobias Burnus  <burnus@net-b.de>
-           Kai Tietz  <ktietz@redhat.com>
-
-       * trans-decl.c (add_argument_checking): Check ts.deferred earlier.
-       * trans-intrinsic.c (gfc_conv_intrinsic_repeat): Use %ld with long.
-
-2011-12-08  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/50815
-       * trans-decl.c (add_argument_checking): Skip bound checking
-       for deferred-length strings.
-
-2011-12-08  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/51378
-       * symbol.c (gfc_find_component): Fix access check of parent
-       components.
-
-2011-12-08  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/51407
-       * io/transfer.c (require_numeric_type): New function.
-       (formatted_transfer_scalar_read, formatted_transfer_scalar_write):
-       Use it, allow BOZ edit descriptors with F2008.
-
-2011-12-08  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/51448
-       * fortran/trans-array.c (get_std_lbound): Fix handling of
-       conversion functions.
-
-2011-12-08  Toon Moene  <toon@moene.org>
-
-       PR fortran/51310
-       * invoke.texi: Itemize the cases for which
-       -finit-<type>=<constant> doesn't work.
-
-2011-12-06  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/51435
-       * expr.c (gfc_has_default_initializer): Fix handling of
-       DT with initialized pointer components.
-
-2011-12-05  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-       PR fortran/51338
-       * dependency.c (are_identical_variables):  Handle case where
-       end fields of substring references are NULL.
-
-2011-12-04  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/51383
-       * resolve.c (find_array_spec): Use ref->u.c.component
-       directly without starting from ts.u.derived.
-
-2011-12-03  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/48887
-       * match.c (select_type_set_tmp): Don't set allocatable/pointer
-       attribute.
-       * class.c (gfc_build_class_symbol): Handle
-       attr.select_type_temporary.
-
-2011-12-03  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/50684
-       * check.c (variable_check): Fix intent(in) check.
-
-2011-12-03  Tobias Burnus  <burnus@net-b.de>
-
-       * check.c (gfc_check_move_alloc): Allow nonpolymorphic
-       FROM with polymorphic TO.
-       * trans-intrinsic.c (conv_intrinsic_move_alloc): Handle
-       nonpolymorphic FROM with polymorphic TO.
-
-2011-12-01  Janne Blomqvist  <jb@gcc.gnu.org>
-
-       * module.c (dt_lower_string): Make static.
-       (dt_upper_string): Likewise.
-
-2011-12-01  Janne Blomqvist  <jb@gcc.gnu.org>
-
-       PR fortran/25708
-       * module.c (parse_string): Read string into resizable array
-       instead of parsing twice and seeking.
-       (peek_atom): New implementation avoiding seeks.
-       (require_atom): Save and set column and line explicitly for error
-       handling.
-
-2011-12-01  Janne Blomqvist  <jb@gcc.gnu.org>
-
-       * misc.c (gfc_open_file): Don't call stat.
-
-2011-11-29  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-       PR fortran/40958
-       * module.c (prev_module_line):  New variable.
-       (prev_module_column):  New variable.
-       (prev_character):  New variable.
-       (module_char):  Update the new variables.
-       (module_unget_char):  New function.
-       (parse_string):  Use module_unget_char.
-       (parse_integer):  Likewise.
-       (parse_name):  Likewise.
-
-2011-11-29  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/51306
-       PR fortran/48700
-       * check.c (gfc_check_move_alloc): Make sure that from/to
-       are both polymorphic or neither.
-       * trans-intrinsic.c (conv_intrinsic_move_alloc): Cleanup,
-       generate inline code.
-
-2011-11-28  Tobias Burnus  <burnus@net-b.de>
-           Steven G. Kargl  <kargl@gcc.gnu.org>
-
-       PR fortran/51308
-       * symbol.c (check_conflict): Ignore BIND(C) + PARAMETER
-       conflicts for ISO_C_BINDING variables.
-       (gen_special_c_interop_ptr): Don't mark c_ptr_null/c_funptr_null
-       as SAVE.
-
-2011-11-25  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans-array.c (set_loop_bounds): Remove dead conditions.
-
-2011-11-25  Mikael Morin  <mikael@gcc.gnu.org>
-
-       PR fortran/51250
-       PR fortran/43829
-       * trans-array.c (gfc_trans_create_temp_array): Get dimension from
-       the right gfc_ss struct.
-
-2011-11-25  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/50408
-       * trans-decl.c (gfc_get_module_backend_decl): Also copy
-       ts.u.derived from the gsym if the ts.type is BT_CLASS.
-       (gfc_get_extern_function_decl): Copy also the backend_decl
-       for the symbol's ts.u.{derived,cl} from the gsym.
-       * trans-types.c (gfc_copy_dt_decls_ifequal): Directly
-       return if "from" and "to" are the same.
-
-2011-11-25  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/51302
-       * trans-stmt.c (gfc_trans_simple_do): Add a fold_convert.
-
-2011-11-24  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/51218
-       * resolve.c (pure_subroutine): If called subroutine is
-       impure, unset implicit_pure.
-       (resolve_function): Move impure check to simplify code.
-
-2011-11-19  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/51207
-       * class.c (gfc_find_derived_vtab): Mark __def_init as PARAMETER
-       and hence as TREE_READONLY; add subroutine attribute to
-       __copy_ procedure.
-
-       PR fortran/50640
-       * trans.h (GFC_DECL_PUSH_TOPLEVEL): New DECL_LANG_FLAG_7.
-       * trans-decl.c (gfc_get_symbol_decl): Mark __def_init and vtab as
-       GFC_DECL_PUSH_TOPLEVEL.
-       (gfc_generate_function_code): If GFC_DECL_PUSH_TOPLEVEL, push it there.
-       (build_function_decl): Push __copy_ procedure to the toplevel.
-
-2011-11-16  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/39427
-       PR fortran/37829
-       * decl.c (match_data_constant, match_data_constant, variable_decl,
-       gfc_match_decl_type_spec, access_attr_decl,
-       check_extended_derived_type, gfc_match_derived_decl,
-       gfc_match_derived_decl, gfc_match_derived_decl) Modified to deal
-       with DT constructors.
-       * gfortran.h (gfc_find_dt_in_generic,
-       gfc_convert_to_structure_constructor): New function prototypes.
-       * interface.c (check_interface0, check_interface1,
-       gfc_search_interface): Ignore DT constructors in generic list.
-       * match.h (gfc_match_structure_constructor): Update prototype.
-       * match.c (match_derived_type_spec): Ensure that one uses the DT
-       not the generic function.
-       * module.c (MOD_VERSION): Bump.
-       (dt_lower_string, dt_upper_string): New functions.
-       (find_use_name_n, find_use_operator, compare_true_names,
-       find_true_name, add_true_name, fix_mio_expr, load_needed,
-       read_module, write_dt_extensions, write_symbol): Changes to deal with
-       different symtree vs. sym names.
-       (create_derived_type): Create also generic procedure.
-       * parse.c (gfc_fixup_sibling_symbols): Don't regard DT and generic
-       function as the same.
-       * primary.c (gfc_convert_to_structure_constructor): New function.
-       (gfc_match_structure_constructor): Restructured; calls
-       gfc_convert_to_structure_constructor.
-       (build_actual_constructor, gfc_match_rvalue): Update for DT generic
-       functions.
-       * resolve.c (resolve_formal_arglist, resolve_structure_cons,
-       is_illegal_recursion, resolve_generic_f, resolve_variable,
-       resolve_fl_variable_derived, resolve_fl_derived0,
-       resolve_symbol): Handle DT and DT generic constructors.
-       * symbol.c (gfc_use_derived, gfc_undo_symbols,
-       gen_special_c_interop_ptr, gen_cptr_param,
-       generate_isocbinding_symbol, gfc_get_derived_super_type): Handle
-       derived-types, which are hidden in the generic type.
-       (gfc_find_dt_in_generic): New function
-       * trans-array.c (gfc_conv_array_initializer): Replace FL_PARAMETER
-       expr by actual value.
-       * trans-decl.c (gfc_get_module_backend_decl, gfc_trans_use_stmts):
-       Ensure that we use the DT and not the generic function.
-       * trans-types.c (gfc_get_derived_type): Ensure that we use the DT
-       and not the generic procedure.
-
-2011-11-14  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/51073
-       * trans-decl.c (generate_coarray_sym_init): Handle zero-sized arrays.
-
-2011-11-09  Tobias Burnus  <burnus@net-b.de>
-
-       * symbol.c (clear_sym_mark, traverse_ns): Remove functions.
-       (count_st_nodes, do_traverse_symtree, fill_st_vector): New functions.
-       (gfc_traverse_symtree, gfc_traverse_ns): Call do_traverse_symtree.
-
-2011-11-09  Janne Blomqvist  <jb@gcc.gnu.org>
-
-       PR libfortran/50016
-       * gfortran.texi (Data consistency and durability): New section.
-
-2011-11-09  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
-
-       PR fortran/50540
-       * resolve.c (resolve_forall_iterators): Transform internal errors
-       to normal errors.
-
-2011-11-09  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/50960
-       * class.c (gfc_find_derived_vtab): Make the vtab symbols FL_PARAMETER.
-       * expr.c (gfc_simplify_expr): Prevent vtabs from being replaced with
-       their value.
-       * resolve.c (resolve_values): Use-associated symbols do not need to
-       be resolved again.
-       (resolve_fl_parameter): Make sure the symbol has a value.
-
-2011-11-09  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
-
-       PR fortran/38718
-       * intrinsic.c (add_functions): Allow dreal simplification.
-       * intrinsic.h (gfc_simplify_dreal): New prototype.
-       * simplify.c (gfc_simplify_dreal): New function.
-
-2011-11-09  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
-
-       PR fortran/21881
-       * trans-types.c (gfc_get_dtype): Issue a fatal error instead of
-       an internal error.
-
-2011-11-08  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
-
-       PR fortran/50404
-       * io.c (gfc_resolve_close): CLOSE requires a UNIT.
-
-2011-11-08  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
-
-       PR fortran/50409
-       * expr.c (gfc_simplify_expr): Substrings can't have negative
-       length.
-
-2011-11-08  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
-
-       PR fortran/50334
-       * invoke.texi (-finit-*): Document interaction with
-       -Wuninitialized.
-
-2011-11-07  François-Xavier Coudert  <fxcoudert@gcc.gnu.org>
-
-       PR libfortran/49188
-       PR libfortran/49336
-       * invoke.texi: Fix documentation of fsign-zero option. Remove
-       contractions.
-       * intrinsic.texi: Fix ATAN2 documentation for signed zeros.
-       Remove contractions.
-       * gfortran.texi: Remove contractions.
-
-2011-11-07  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/50919
-       * class.c (add_proc_comp): Don't add non-overridable procedures to the
-       vtable.
-       * resolve.c (resolve_typebound_function,resolve_typebound_subroutine):
-       Don't generate a dynamic _vptr call for non-overridable procedures.
-
-2011-11-07  Janne Blomqvist  <jb@gcc.gnu.org>
-
-       * intrinsic.texi (MCLOCK, MCLOCK8, TIME, TIME8): Functions clock
-       and time are part of the C standard library.
-
-2011-11-06  Janus Weil  <janus@gcc.gnu.org>
-
-       * gfortran.h (gfc_extend_expr): Modified prototype.
-       * interface.c (gfc_extend_expr): Return 'match' instead of 'gfc_try'.
-       Remove argument 'real_error'.
-       * resolve.c (resolve_operator): Modified call to 'gfc_extend_expr'.
-
-2011-11-06  Andrew MacLeod  <amacleod@redhat.com>
-           Aldy Hernandez  <aldyh@redhat.com>
-
-       Merged from cxx-mem-model.
-
-       * types.def: (BT_SIZE, BT_CONST_VOLATILE_PTR, BT_FN_VOID_INT,
-       BT_FN_I{1,2,4,8,16}_CONST_VPTR_INT, BT_FN_VOID_VPTR_INT,
-       BT_FN_BOOL_VPTR_INT, BT_FN_BOOL_SIZE_CONST_VPTR,
-       BT_FN_VOID_VPTR_I{1,2,4,8,16}_INT, BT_FN_VOID_SIZE_VPTR_PTR_INT,
-       BT_FN_VOID_SIZE_CONST_VPTR_PTR_INT, BT_FN_VOID_SIZE_VPTR_PTR_PTR_INT,
-       BT_FN_BOOL_VPTR_PTR_I{1,2,4,8,16}_BOOL_INT_INT,
-       BT_FN_I{1,2,4,8,16}_VPTR_I{1,2,4,8,16}_INT): New types.
-
-2011-11-04  Mikael Morin  <mikael@gcc.gnu.org>
-
-       PR fortran/43829
-       * trans-array.c (gfc_conv_expr_descriptor): Accept the inline intrinsic
-       case in the assertion.
-       * trans-intrinsic (enter_nested_loop): New function.
-       (gfc_conv_intrinsic_arith): Support non-scalar cases.
-       (nest_loop_dimension, walk_inline_intrinsic_arith): New functions.
-       (walk_inline_intrinsic_function): Handle sum and product.
-       (gfc_inline_intrinsic_function_p): Ditto.
-       * trans.h (gfc_get_loopinfo): New macro.
-
-2011-11-04  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans-intrinsic.c (gfc_conv_intrinsic_arith): Introduce parent
-       expression variable.  Use it.
-
-2011-11-04  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans-intrinsic.c (gfc_conv_intrinsic.c): Introduce current loop
-       pointer.  Use it.
-
-2011-11-04  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans-intrinsic.c (gfc_conv_intrinsic_arith): Small argument handling
-       cleanup.
-
-2011-11-04  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans-intrinsic.c (gfc_conv_intrinsic_arith): Update conditions.
-
-2011-11-04  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * frontend-passes.c (cfe_register_funcs): Return early in the case
-       of an inline intrinsic function.
-       (optimize_binop_array_assignment): Skip optimization in the case of
-       an inline intrinsic function.
-
-2011-11-04  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * array.c (match_subscript): Skip whitespaces before setting locus.
-       * matchexp.c (match_level_1): Ditto.
-
-2011-11-04  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans-intrinsic.c (gfc_conv_intrinsic_minmaxval): Set loop's
-       temporary rank to the loop rank. Mark ss chains for multiple loop
-       if necessary.  Use gfc_trans_scalarized_loop_boundary to end one loop
-       and start another.
-
-2011-11-04  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Set loop's
-       temporary rank to the loop rank. Mark ss chains for multiple loop
-       if necessary.  Use gfc_trans_scalarized_loop_boundary to end one loop
-       and start another.
-
-2011-11-04  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Don't calculate
-       offset twice in generated code.
-
-2011-11-04  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans-expr.c (gfc_conv_procedure_call): Handle temporaries for
-       arguments to elemental calls.
-       * trans-stmt.c (replace_ss): New function.
-       (gfc_conv_elemental_dependencies): Remove temporary loop handling.
-       Create a new ss for the temporary and replace the original one with it.
-       Remove fake array references. Recalculate all offsets.
-
-2011-11-04  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans-array.h (gfc_free_ss, gfc_set_delta): New prototypes.
-       * trans-array.c (gfc_free_ss): Remove forward declaration.
-       Make non-static.
-       (set_delta, gfc_set_delta): Remove forward declaration.
-       Make non-static and rename the former to the later. Update uses.
-
-2011-11-03  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans.h (gfc_inline_intrinsic_function_p): Move prototype...
-       * gfortran.h (gfc_inline_intrinsic_function_p): ... here.
-       * dependency.c (gfc_check_argument_var_dependency): Check dependencies
-       of inline intrinsics' arguments.
-
-2011-11-03  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans-array.c (gfc_trans_preloop_setup): New pointers to outer
-       dimension's ss and loop. Use them.
-
-2011-11-03  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans-array.c (outermost_loop): New function.
-       (gfc_trans_array_constructor, gfc_set_vector_loop_bounds,
-       gfc_add_loop_ss_code): Put generated code out of the outermost loop.
-
-2011-11-03  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans-array.c (constant_array_constructor_loop_size):
-       Handle multiple loops.
-
-2011-11-03  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans-array.c (get_rank, get_loop_upper_bound_for_array):
-       New functions.
-       (gfc_trans_array_constructor): Handle multiple loops.
-
-2011-11-03  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans.h (struct gfc_loopinfo): New field parent.
-       * trans-array.c (gfc_cleanup_loop): Free nested loops.
-       (gfc_add_ss_to_loop): Set nested_loop's parent loop.
-       (gfc_trans_array_constructor): Update assertion.
-       (gfc_conv_loop_setup): Ditto.
-
-2011-11-03  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans-array.c (gfc_add_loop_ss_code): Skip non-nestedmost ss.
-       Call recursively gfc_add_loop_ss_code for all the nested loops.
-       (gfc_conv_ss_startstride): Only get the descriptor for the outermost
-       ss. Call recursively gfc_conv_ss_startstride for all the nested loops.
-       (set_loop_bounds): Call recursively for all the nested loops.
-       (set_delta): Ditto.
-
-2011-11-03  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans.h (struct gfc_loopinfo): New fields nested and next.
-       * trans-array.c (gfc_add_ss_to_loop): Update list of nested list if
-       ss has non-null nested_ss field.
-
-2011-11-03  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans-array.c (gfc_trans_create_temp_array): Loop over the parents.
-
-2011-11-03  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans-array.c (get_array_ref_dim, get_scalarizer_dim_for_array_dim): 
-       Rename the former to the latter and loop over the parents.
-       (innermost_ss): New function.
-       (get_array_ref_dim_for_loop_dim): New function.
-       (gfc_trans_create_temp_array): Use get_scalarizer_dim_for_array_dim.
-       (set_loop_bounds): Use get_array_dim_for_loop_dim).
-
-2011-11-03  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans.h (struct gfc_ss): New field nested_ss.
-       * trans-expr.c (gfc_advance_se_ss_chain): Update assertion.
-
-2011-11-03  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans-array.c (set_vector_loop_bounds): Loop over the parents.
-
-2011-11-03  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans-array.c (gfc_trans_array_constructor): Loop over the parents.
-
-2011-11-03  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans-array.c (gfc_set_loop_bounds_from_array_spec): Loop over the
-       parents.
-
-2011-11-03  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans.h (struct gfc_ss): New field parent.
-       * trans-array.c (gfc_trans_scalarizing_loops): Skip clearing if a
-       parent exists.
-       * trans-expr.c (gfc_advance_se_ss_chain): Move to parent ss at the
-       end of the chain.
-
-2011-11-03  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans-array.h (gfc_trans_create_temp_array): Remove loop argument.
-       * trans-array.c (gfc_trans_create_temp_array): Ditto.  Get loop from ss.
-       Update reference to loop.  Remove loop argument.
-       (gfc_trans_array_constructor, gfc_conv_loop_setup): Update calls to
-       gfc_trans_create_temp_array.
-       * trans-expr.c (gfc_conv_procedure_call): Ditto.
-       * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Ditto.
-       * trans-stmt.c (gfc_conv_elemental_dependencies): Ditto.
-       Set loop before calling gfc_trans_create_temp_array.
-
-2011-11-03  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans-array.c (gfc_trans_create_temp_array): New variable total_dim.
-       Set total_dim to loop's rank. Replace usages of loop's rank.
-
-2011-11-03  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans-array.c (gfc_trans_array_constructor, trans_array_constructor):
-       Rename the former to the later.  Get loop from ss.
-       Remove loop argument.
-       (gfc_add_loop_ss_code): Update call.
-
-2011-11-03  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans-array.c (gfc_set_vector_loop_bounds): Get loop from ss.
-       Remove loop argument.
-       (gfc_add_loop_ss_code): Update call.
-
-2011-11-03  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans.h (struct gfc_ss): New field loop.
-       * trans-array.c (set_ss_loop): New function.
-       (gfc_add_ss_to_loop): Call set_ss_loop.
-
-2011-11-03  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans.h (struct gfc_ss_info): New field refcount.
-       * trans-array.c (free_ss_info): Decrement refcount. Return early if
-       still non-zero.
-       (gfc_get_array_ss, gfc_get_temp_ss, gfc_get_scalar_ss): Increment
-       refcount.
-
-2011-11-03  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans-array.c (gfc_trans_create_temp_array): Move invariant condition
-       out of the containing loop. 
-
-2011-11-03  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans-array.c (gfc_conv_loop_setup, gfc_trans_create_temp_array):
-       Move specloop arrays clearing from the former to the latter.
-
-2011-11-03  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans-array.c (set_loop_bounds): Separate the beginning of
-       gfc_conv_loop_setup into a function of its own.
-       (set_delta): Separate the end of gfc_conv_loop_setup into a function
-       of its own.
-       (gfc_conv_loop_setup): Call set_loop_bounds and set delta.
-       (set_loop_bounds, set_delta, gfc_conv_loop_setup): Make loopspec a
-       pointer to the specloop field from the loop struct.
-
-2011-11-03  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/50933
-       * interface.c (gfc_compare_derived_types): Fix check for BIND(C).
-
-2011-11-03  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/50960
-       * trans-decl.c (gfc_finish_var_decl): Mark PARAMETER as TREE_READONLY.
-
-2011-11-03  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans.h (struct gfc_ss, struct gfc_ss_info): Move field
-       gfc_ss::where into gfc_ss_info.
-       * trans-array.c (gfc_add_loop_ss_code):
-       Update reference chains.
-       * trans-stmt.c (gfc_trans_where_assign, gfc_trans_where_3): Ditto.
-
-2011-11-03  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans.h (struct gfc_ss, struct gfc_ss_info): Move field
-       gfc_ss::useflags into gfc_ss_info.
-       * trans-array.c (gfc_mark_ss_chain_used, gfc_trans_preloop_setup,
-       gfc_trans_scalarizing_loops, gfc_trans_scalarized_boundary):
-       Update reference chains.
-       * trans-expr.c (gfc_conv_procedure_call): Ditto.
-       * trans-intrinsic.c (gfc_conv_intrinsic_function): Ditto.
-
-2011-11-03  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans.h (struct gfc_ss, struct gfc_ss_info): Move field
-       gfc_ss::data::info into gfc_ss_info::data and remove empty union
-       gfc_ss::data.
-       * trans-array.c (gfc_free_ss, gfc_trans_create_temp_array,
-       gfc_trans_constant_array_constructor, gfc_trans_array_constructor,
-       gfc_set_vector_loop_bounds, gfc_add_loop_ss_code,
-       gfc_conv_ss_descriptor, gfc_trans_array_bound_check,
-       gfc_conv_array_index_offset, gfc_conv_scalarized_array_ref,
-       add_array_offset, gfc_trans_preloop_setup,
-       gfc_trans_scalarized_boundary, gfc_conv_section_startstride,
-       gfc_conv_ss_startstride, gfc_could_be_alias,
-       gfc_conv_loop_setup, gfc_conv_expr_descriptor,
-       gfc_alloc_allocatable_for_assignment, gfc_walk_array_ref):
-       Update reference chains and factor them where possible.
-       * trans-expr.c (gfc_conv_variable, gfc_conv_subref_array_arg,
-       gfc_conv_procedure_call, gfc_trans_subarray_assign): Updata reference
-       chains.
-       * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Ditto.
-       * trans-io.c (transfer_array_component): Ditto.
-       * trans-stmt.c (gfc_conv_elemental_dependencies,
-       gfc_trans_pointer_assign_need_temp): Ditto.
-
-2011-11-03  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans.h (struct gfc_ss, struct gfc_ss_info): Move member struct
-       gfc_ss::data::temp into gfc_ss_info::data.
-       * trans-array.c (gfc_get_temp_ss, gfc_conv_loop_setup): Update reference
-       chains.
-
-2011-11-03  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans.h (struct gfc_ss, struct gfc_ss_info): Move member struct
-       gfc_ss::data::scalar into newly created union gfc_ss_info::data,
-       and rename subfield expr to value.
-       * trans-array.c (gfc_add_loop_ss_code, gfc_conv_array_index_offset,
-       gfc_conv_expr_descriptor): Update reference chains.
-       * trans-const.c (gfc_conv_constant): Ditto.
-       * trans-expr.c (gfc_conv_expr): Ditto.
-
-2011-11-03  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans.h (struct gfc_ss, struct gfc_ss_info): Move field
-       string_length from the former struct to the latter.
-       * trans-array.c
-       (gfc_get_temp_ss, gfc_trans_array_constructor, gfc_add_loop_ss_code,
-       gfc_conv_ss_descriptor, gfc_conv_scalarized_array_ref,
-       gfc_conv_resolve_dependencies, gfc_conv_loop_setup,
-       gfc_conv_expr_descriptor): Update references to string_length and
-       factor common reference chains where possible.
-       * trans-const.c (gfc_conv_constant): Ditto.
-       * trans-expr.c (gfc_conv_variable, gfc_conv_subref_array_arg,
-       gfc_conv_expr): Ditto.
-
-2011-11-03  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans.h (struct gfc_ss, struct gfc_ss_info): Move field expr from
-       the former struct to the latter.
-       * trans-array.c
-       (gfc_get_array_ss, gfc_get_scalar_ss,
-       gfc_trans_constant_array_constructor, gfc_trans_array_constructor,
-       gfc_add_loop_ss_code, gfc_conv_ss_descriptor,
-       gfc_trans_array_bound_check, gfc_conv_array_index_offset,
-       gfc_conv_scalarized_array_ref, gfc_conv_ss_startstride,
-       gfc_could_be_alias, gfc_conv_resolve_dependencies,
-       gfc_conv_loop_setup, gfc_conv_expr_descriptor,
-       gfc_alloc_allocatable_for_assignment): Update references to expr and
-       factor common reference chains where possible.
-       * trans-const.c (gfc_conv_constant): Ditto.
-       * trans-expr.c (gfc_conv_variable, gfc_conv_procedure_call,
-       gfc_conv_array_constructor_expr, gfc_conv_expr,
-       gfc_conv_expr_reference): Ditto.
-       * trans-intrinsic.c (trans_this_image, gfc_conv_intrinsic_bound,
-       gfc_conv_intrinsic_cobound, gfc_conv_intrinsic_funcall,
-       gfc_add_intrinsic_ss_code): Ditto.
-       * trans-stmt.c (gfc_conv_elemental_dependencies): Ditto.
-
-2011-11-03  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans.h (struct gfc_ss_info): New struct.
-       (gfc_get_ss_info): New macro.
-       (struct gfc_ss): Move type field to struct gfc_ss_info.
-       Add an info field of type gfc_ss_info.
-       * trans-array.c (free_ss_info): New function.
-       (gfc_free_ss): Call free_ss_info.
-       (gfc_get_array_ss, gfc_get_temp_ss, gfc_get_scalar_ss):
-       Allocate gfc_ss_info field.
-       (gfc_get_array_ss, gfc_get_temp_ss, gfc_get_scalar_ss,
-       gfc_set_vector_loop_bounds, gfc_add_loop_ss_code,
-       gfc_conv_array_index_offset, gfc_trans_preloop_setup,
-       gfc_trans_scalarized_loop_boundary, gfc_conv_section_startstride,
-       gfc_conv_ss_startstride, gfc_conv_resolve_dependencies,
-       gfc_conv_loop_setup, transposed_dims, gfc_conv_expr_descriptor,
-       gfc_walk_elemental_function_args): Update references to type.
-       * trans-const.c (gfc_conv_constant): Factor common reference chains
-       and update reference to type.
-       * trans-expr.c (gfc_conv_procedure_call, gfc_trans_assignment_1):
-       Update reference to type.
-       (gfc_conv_array_constructor_expr, gfc_conv_expr,
-       gfc_conv_expr_reference): Ditto. Factor common reference chains.
-       * trans-intrinsic.c (walk_inline_intrinsic_transpose): Update references
-       to type
-       * trans-stmt.c (gfc_trans_where_assign): Ditto.
-
-2011-11-03  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans.h (struct gfc_ss, struct gfc_array_info): Move shape field
-       from the former struct to the latter.
-       * trans-array.c (gfc_conv_ss_startstride, gfc_conv_loop_setup):
-       Update field references.
-       * trans-expr.c (gfc_trans_subarray_assign): Update field references
-       and factor common reference chains.
-       * trans-io.c (transfer_array_component): Ditto.
-
-2011-11-03  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans.h (struct gfc_array_info): Move dim and dimen fields...
-       (struct gfc_ss): ... here.  Remove gfc_ss::data::temp::dimen field.
-       * trans-array.c (gfc_conv_loop_setup): Remove temp_ss dim array
-       initialization.
-       (gfc_get_temp_ss): Initialize dim and dimen.
-       (gfc_free_ss, gfc_get_array_ss, gfc_get_temp_ss,
-       gfc_set_loop_bounds_from_array_spec, get_array_ref_dim,
-       gfc_trans_create_temp_array, gfc_trans_constant_array_constructor,
-       gfc_set_vector_loop_bounds, gfc_conv_scalarized_array_ref,
-       gfc_trans_preloop_setup, gfc_conv_ss_startstride,
-       gfc_conv_resolve_dependencies, gfc_conv_loop_setup, transposed_dims,
-       gfc_conv_expr_descriptor, gfc_alloc_allocatable_for_assignment,
-       gfc_walk_array_ref): Update field references.
-       * trans-expr.c (gfc_conv_subref_array_arg, gfc_conv_procedure_call):
-       Ditto.
-       * trans-intrinsic.c (walk_inline_intrinsic_transpose): Ditto.
-       * trans-stmt.c (gfc_conv_elemental_dependencies): Ditto.
-
-2011-11-03  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans.h (struct gfc_ss_info, struct gfc_array_info):
-       Rename the former to the latter.
-       * trans-array.c (gfc_get_array_ss, gfc_trans_allocate_array_storage,
-       get_array_ref_dim, gfc_trans_create_temp_array,
-       gfc_trans_constant_array_constructor, gfc_set_vector_loop_bounds,
-       gfc_conv_array_index_offset, gfc_conv_scalarized_array_ref,
-       add_array_offset, gfc_trans_preloop_setup, gfc_conv_section_startstride,
-       gfc_conv_ss_startstride, gfc_conv_loop_setup, transposed_dims,
-       gfc_conv_expr_descriptor): Update all uses.
-       * trans-expr.c (gfc_conv_subref_array_arg, gfc_conv_procedure_call):
-       Ditto.
-       * trans-intrinsic.c (gfc_conv_intrinsic_transfer,
-       walk_inline_intrinsic_transpose): Ditto.
-       * trans-stmt.c (gfc_conv_elemental_dependencies,
-       gfc_trans_pointer_assign_need_temp): Ditto.
-
-2011-11-03  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans-array.c (dim_ok, transposed_dims): Rename the former to the
-       latter.  Change argument type.  Invert return value.
-       (gfc_conv_expr_descriptor): Update calls.
-
-2011-11-03  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans-array.c (get_array_ref_dim): Change argument type and name.
-       Obtain previous argument from the new argument in the body.
-       (gfc_trans_create_temp_arry, gfc_conv_loop_setup): Update calls.
-
-2011-11-03  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans-array.c (gfc_set_vector_loop_bounds, set_vector_loop_bounds):
-       Rename the former to the latter.  Change type and name of argument.
-       Get previous argument from the new one.
-       (gfc_add_loop_ss_code): Update call.
-
-2011-11-03  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans-array.h (gfc_trans_create_temp_array): Replace info argument
-       with ss argument.
-       * trans-array.c (gfc_trans_create_temp_array): Ditto. Get info from ss.
-       (gfc_trans_array_constructor, gfc_conv_loop_setup): Update call to
-       gfc_trans_create_temp_array.
-       * trans-expr.c (gfc_conv_procedure_call): Ditto.
-       * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Ditto.
-       * trans-stmt.c (gfc_conv_elemental_dependencies): Ditto.
-
-2011-11-03  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans-array.c (gfc_trans_array_bound_check): Use ss argument
-       to get name.
-
-2011-11-03  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans-array.c (gfc_trans_array_bound_check,
-       trans_array_bound_check): Rename the former to the latter.
-       Replace descriptor argument with ss argument.  Get descriptor from ss.
-       (gfc_conv_array_index_offset, conv_array_index_offset): Rename the
-       former to the latter.  Update call to trans_array_bound_check.
-       Replace info argument with ss argument.  Get info from ss.
-       (gfc_conv_scalarized_array_ref): Update call to conv_array_index_offset.
-       (add_array_offset): Ditto
-
-2011-11-03  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans-array.c (gfc_trans_constant_array_constructor,
-       trans_constant_array_constructor): Rename the former to the latter.
-       Don't set the rank of the temporary for the loop.  Remove then unused
-       loop argument.
-       (gfc_trans_array_constructor): Update call.
-
-2011-11-03  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans-array.c (gfc_trans_scalarizing_loops): Stop loop before end
-       marker, not after it.
-
-2011-11-03  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans-array.c (gfc_conv_loop_setup): Also skip temporary arrays.
-
-2011-11-03  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans-array.c (gfc_conv_ss_startstride): Access array bounds along
-       array dimensions instead of loop dimensions.
-
-2011-11-03  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans-array.c (gfc_trans_preloop_setup): Assertify one condition.
-
-2011-11-03  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans-array.c (gfc_walk_array_ref): Skip coarray dimensions.
-
-2011-11-03  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans-array.c (get_array_ref_dim): Remove redundant condition.
-
-2011-11-03  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans-array.c (gfc_trans_preloop_setup): Move common code...
-       (add_array_offset): ...into that new function.
-
-2011-11-03  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans-array.c (gfc_trans_preloop_setup): Use loop's dimension instead
-       of array's dimention. Check that it is indeed the same.
-
-2011-11-03  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans-array.c (gfc_trans_preloop_setup): Remove redundant assertion.
-       Special case outermost loop.
-
-2011-11-03  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans-array.c (gfc_trans_preloop_setup): Factor loop index
-       initialization.
-
-2011-11-03  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans-array.c (gfc_trans_preloop_setup): Move code earlier.
-
-2011-11-03  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans-array.c (gfc_trans_preloop_setup): Move array reference
-       initialisation earlier. Factor subsequent array references.
-
-2011-11-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       * Makef-lang.in (gfortranspec.o): Pass SHLIB instead of SHLIB_LINK.
-
-2011-10-30  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-       PR fortran/50573
-       * check.c (gfc_check_dshift): Update argument checking for BOZ.
-       Update checking SHIFT against BITSIZE of I or J.
-       * intrinsic.texi: Update docs for DSHIFTL and DSHIFTR.
-
-2011-10-28  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-       * check.c (gfc_check_atan_2): Typo in comment.
-       (gfc_check_nearest): If 's' is constant, check that it is not 0.
-       * simplify.c (simplify_dshift, gfc_simplify_ibclr, gfc_simplify_ibits,
-       gfc_simplify_ibset, simplify_shift, gfc_simplify_ishftc,
-       gfc_simplify_nearest): Remove dead code.
-
-2011-10-23  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-       * simplify.c (simplify_transformation_to_array): Fix memory leak.
-
-2011-10-20  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-       PR fortran/50821
-       * check.c (gfc_check_ishftc): Check args are constant before 
-       extracting the integer.
-
-2011-10-20  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-       PR fortran/50514
-       * check.c (less_than_bitsize1): Check |shift| <= bit_size(i).
-       (gfc_check_ishftc):  Check |shift| <= bit_size(i) and check
-       that size is positive.
-
-2011-10-20  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-       PR fortran/50524
-       * resolve.c (resolve_ref): Check return value of resolve_substring().
-
-2011-10-20  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-       * io.c (match_dt_format): Match a user-defined operator or a kind
-       type prefixed string.
-
-2011-10-19  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/47023
-       * check.c (gfc_check_sizeof): Reject procedures as argument of SIZEOF.
-       * intrinsinc.texi (SIZEOF): Document it.
-       (STORAGE_SIZE): Fix special characters. Fix line breaks.
-
-2011-10-18  Mikael Morin  <mikael@gcc.gnu.org>
-
-       PR fortran/50420
-       * trans.c (gfc_build_array_ref): If type is not an array, check that
-       there is nothing to do, and do nothing.
-
-2011-10-18  Mikael Morin  <mikael@gcc.gnu.org>
-
-       PR fortran/50420
-       * trans-types.c (gfc_build_array_type): Don't force lower bound to one
-       in the deferred case.
-
-2011-10-18  Mikael Morin  <mikael@gcc.gnu.org>
-
-       PR fortran/50420
-       * simplify.c (simplify_cobound): Accept non-last-in-ref-chain coarrays.
-       Don't set already set array ref.
-
-2011-10-18  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * array.c (gfc_find_array_ref): Remove coarray-specific handling.
-
-2011-10-18  Mikael Morin  <mikael@gcc.gnu.org>
-
-       PR fortran/50420
-       * check.c (dim_corank_check): Use gfc_get_corank to get corank.
-
-2011-10-18  Mikael Morin  <mikael@gcc.gnu.org>
-
-       PR fortran/50420
-       * trans-intrinsic.c (walk_coarray): Change AR_ELEMENT to AR_SECTION.
-
-       PR fortran/50420
-       * trans-intrinsic.c (walk_coarray): Use gfc_walk_array_ref for
-       the scalarization chain initialization. 
-
-2011-10-18  Mikael Morin  <mikael@gcc.gnu.org>
-
-       PR fortran/50420
-       * trans-intrinsic.c (walk_coarray): Allow subreferences after a
-       coarray object reference.
-
-2011-10-18  Mikael Morin  <mikael@gcc.gnu.org>
-
-       PR fortran/50420
-       * trans-array.c (gfc_walk_array_ref): Allow zero rank arrays
-       if they are coarrays.
-
-2011-10-18  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans-array.h (gfc_walk_array_ref): New prototype.
-       * trans-array.c (gfc_walk_array_ref): New function, containing
-       all but the beginning of gfc_walk_variable_expr's code.
-       (gfc_walk_variable_expr): Use gfc_walk_array_ref.
-
-2011-10-18  Mikael Morin  <mikael@gcc.gnu.org>
-
-       PR fortran/50420
-       * trans-array.c (gfc_conv_expr_descriptor): Use loop.dimen instead of
-       ndim for the descriptor's rank.
-
-2011-10-18  Mikael Morin  <mikael@gcc.gnu.org>
-
-       PR fortran/50420
-       * trans-array.c (gfc_conv_expr_descriptor): Count codimensions starting
-       from zero, and add then the relevant offset (either ndim or loop.dimen)
-       depending on context.
-
-2011-10-18  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans-array.c (gfc_conv_expr_descriptor): Save some horizontal space.
-
-2011-10-18  Mikael Morin  <mikael@gcc.gnu.org>
-
-       * trans-array.c (gfc_conv_expr_descriptor): Move ndim initialization
-       earlier.
-
-2011-10-18  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/47023
-       * decl.c (verify_c_interop_param): Renamed to
-       'gfc_verify_c_interop_param'. Add error message for polymorphic
-       arguments.
-       (verify_c_interop): Renamed to 'gfc_verify_c_interop'. Reject
-       polymorphic variables.
-       (verify_bind_c_sym): Renamed 'verify_c_interop'.
-       * gfortran.h (verify_c_interop,verify_c_interop_param): Renamed.
-       * check.c (gfc_check_sizeof): Ditto.
-       * resolve.c (gfc_iso_c_func_interface,resolve_fl_procedure): Ditto.
-       * symbol.c (verify_bind_c_derived_type): Ditto.
-
-2011-10-15  Tom Tromey  <tromey@redhat.com>
-           Dodji Seketeli  <dodji@redhat.com>
-
-       * cpp.c (print_line, cb_define): Adjust to avoid using internals
-       of struct line_map.  Use the public API instead.
-
-2011-10-17  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/47023
-       PR fortran/50752
-       * primary.c (match_kind_param): Avoid segfault.
-
-2011-10-16  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-       * frontend-passes.c (current_ns):  Make static.
-       (create_var):  Note parent of newly created namespace.
-       (optimize_namespace):  Don't wak sibling namespaces
-       if they are EXEC_BLOCK because this is handled...
-       (gfc_code_walker):  ... here.  Also walk ASSOCIATE lists.
-
-2011-10-16  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/47023
-       * primary.c (match_kind_param): Detect ISO_C_BINDING kinds.
-       (get_kind): Pass on 'is_iso_c' flag.
-       (match_integer_constant,match_real_constant,match_logical_constant):
-       Set 'ts.is_c_interop'.
-
-2011-10-16  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/50547
-       * resolve.c (resolve_formal_arglist): Remove unneeded error message.
-       Some reshuffling.
-
-2011-10-15  Tobias Burnus  <burnus@net-b.de>
-
-       * gfortran.texi (Fortran 2008 status, TS 29113 status,
-       Further Interoperability of Fortran with C): Update implementation
-       status, change references from TR 29113 to TS 29113.
-       * intrinsic.texi (RANK): Change TR 29113 to TS 29113.
-       * invoke.text (-std=): Ditto, change -std=f2008tr to -std=f2008ts.
-       * lang.opt (std=): Ditto.
-       * options.c (gfc_handle_option, set_default_std_flags): Ditto and
-       change GFC_STD_F2008_TR to GFC_STD_F2008_TS.
-       * libgfortran.h: Ditto.
-       * intrinsic.c (add_functions, gfc_check_intrinsic_standard): Ditto.
-       * decl.c (verify_c_interop_param): Ditto.
-
-2011-10-14  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/50570
-       * expr.c (gfc_check_vardef_context): Don't throw an error on
-       non-pointer assignments involving an intent(in) pointer dummy.
-
-2011-10-14  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/50718
-       * trans-expr.c (gfc_conv_procedure_call): Fix -fcheck=pointer
-       for dummy arguments with VALUE attribute.
-
-2011-10-11  Tobias Burnus  <burnus@net-b.de>
-           Janus Weil  <janus@gcc.gnu.org>
-
-       * invoke.texi (-fwhole-file): Update wording since -fwhole-file
-       is now enabled by default.
-
-2011-10-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-       * trans-expr.c (gfc_conv_power_op): Delete old interface with two
-       parallel arrays to hold standard builtin declarations, and replace
-       it with a function based interface that can support creating
-       builtins on the fly in the future.  Change all uses, and poison
-       the old names.  Make sure 0 is not a legitimate builtin index.
-       (fill_with_spaces): Ditto.
-       (gfc_trans_string_copy): Ditto.
-       (gfc_trans_zero_assign): Ditto.
-       (gfc_build_memcpy_call): Ditto.
-       (alloc_scalar_allocatable_for_assignment): Ditto.
-       * trans-array.c (gfc_trans_array_constructor_value): Ditto.
-       (duplicate_allocatable): Ditto.
-       (gfc_alloc_allocatable_for_assignment): Ditto.
-       * trans-openmp.c (gfc_omp_clause_copy_ctor): Ditto.
-       (gfc_omp_clause_assign_op): Ditto.
-       (gfc_trans_omp_atomic): Ditto.
-       (gfc_trans_omp_do): Ditto.
-       (gfc_trans_omp_task): Ditto.
-       * trans-stmt.c (gfc_trans_stop): Ditto.
-       (gfc_trans_sync): Ditto.
-       (gfc_trans_allocate): Ditto.
-       (gfc_trans_deallocate): Ditto.
-       * trans.c (gfc_call_malloc): Ditto.
-       (gfc_allocate_using_malloc): Ditto.
-       (gfc_call_free): Ditto.
-       (gfc_deallocate_with_status): Ditto.
-       (gfc_deallocate_scalar_with_status): Ditto.
-       * f95-lang.c (gfc_define_builtin): Ditto.
-       (gfc_init_builtin_functions): Ditto.
-       * trans-decl.c (create_main_function): Ditto.
-       * trans-intrinsic.c (builtin_decl_for_precision): Ditto.
-
-2011-10-10  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-       PR fortran/50564
-       * frontend-passes (forall_level):  New variable.
-       (cfe_register_funcs):  Don't register functions if we
-       are within a forall loop.
-       (optimize_namespace):  Set forall_level to 0 before entry.
-       (gfc_code_walker):  Increase/decrease forall_level.
-
-2011-10-09  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/50273
-       * trans-common.c (translate_common): Fix -Walign-commons check.
-
-2011-10-09  Mikael Morin  <mikael.morin@sfr.fr>
-
-       * interface.c (check_dummy_characteristics): Count dimensions starting
-       from one in diagnostic.
-
-2011-10-09  Tobias Burnus  <burnus@net-b.de>
-
-       * Make-lang.in (F95_PARSER_OBJS, GFORTRAN_TRANS_DEPS): Add
-       dependency on iso-c-binding.def and iso-fortran-env.def.
-       * module.c (import_iso_c_binding_module): Add error when
-       explicitly importing a nonstandard symbol; extend standard-
-       depending loading.
-       * iso-c-binding.def: Add c_float128 and c_float128_complex
-       integer parameters (for -std=gnu).
-       * intrinsic.texi (ISO_C_Binding): Document them.
-       * symbol.c (generate_isocbinding_symbol): Change macros
-       to ignore GFC_STD_* data.
-       * trans-types.c (gfc_init_c_interop_kinds): Ditto; make
-       nonstatic and renamed from "init_c_interop_kinds".
-       (gfc_init_kinds): Don't call it
-       * trans-types.h (gfc_init_c_interop_kinds): Add prototype.
-       * f95-lang.c (gfc_init_decl_processing): Call it.
-
-2011-10-09  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/50659
-       * expr.c (replace_symbol): Only do replacement if the symbol is a dummy.
-
-2011-10-08  Paul Thomas  <pault@gcc.gnu.org>
-
-       PR fortran/47844
-       * trans-array.c (gfc_conv_array_index_offset): Use descriptor
-       stride for pointer function results.
-
-2011-10-07  Mikael Morin  <mikael.morin@sfr.fr>
-
-       * trans-array.c (gfc_conv_expr_descriptor): Remove trailing whitespace.
-
-2011-10-07  Mikael Morin  <mikael.morin@sfr.fr>
-
-       * trans-array.c (gfc_conv_ss_startstride): Merge two switch cases.
-
-2011-10-07  Mikael Morin  <mikael.morin@sfr.fr>
-
-       * trans-array.c (gfc_conv_section_startstride): Remove coarray argument.
-       Remove conditions on coarray.
-       (gfc_conv_ss_startstride): Update call to gfc_conv_section_startstride.
-       (gfc_conv_expr_descriptor): Ditto. Add assertions before the call.
-
-2011-10-07  Mikael Morin  <mikael.morin@sfr.fr>
-
-       * trans-array.c (gfc_conv_section_startstride): Remove coarray_last
-       argument. Remove condition on coarray_last.
-       (gfc_conv_ss_startstride): Update call to gfc_conv_section_startstride.
-       (gfc_conv_expr_descriptor): Ditto.
-
-2011-10-07  Mikael Morin  <mikael.morin@sfr.fr>
-
-       * trans-array.c (gfc_walk_variable_expr): Remove scalar coarray
-       handling.  Don't reset array ref's corank and codimensions' types
-       in the full array ref case.  Update loop upper limit.
-       Remove DIMEN_THIS_IMAGE case.  Remove unnecessary conditions.
-
-2011-10-07  Mikael Morin  <mikael.morin@sfr.fr>
-
-       * trans.h (gfc_ss_info): Remove codimen field.
-       * trans-array.c (gfc_get_array_ss): Don't set codimen field.
-       (gfc_trans_create_temp_array): Don't set descriptor's cobounds.
-       (gfc_trans_constant_array_constructor): Update loop upper limit.
-       (gfc_conv_ss_startstride): Don't set codimen field.
-       Don't get descriptor's cobounds.
-       (gfc_walk_variable_expr): Update dimension index.
-       * trans-intrinsic.c (trans_this_image, trans_image_index,
-       conv_intrinsic_cobound): Don't set codimen field
-
-2011-10-07  Mikael Morin  <mikael.morin@sfr.fr>
-
-       * trans.h (gfc_loopinfo): Remove codimen field.
-       * trans-array.c (gfc_set_vector_loop_bounds,
-       gfc_trans_scalarizing_loops, gfc_conv_loop_setup): Update loop upper
-       limit.
-       (gfc_set_loop_bounds_from_array_spec): Ditto. Remove skip on last
-       codimension.
-       (gfc_start_scalarized_body): Update loop lower limit.
-       (gfc_conv_ss_startstride): Don't set loop's codimen field.
-       (gfc_conv_loop_setup): Remove unnecessary condition.
-       (gfc_conv_expr_descriptor): Don't use loop's codimen field as corank.
-
-2011-10-07  Mikael Morin  <mikael.morin@sfr.fr>
-
-       * trans.h (gfc_ss): Remove data.temp.codimen field.
-       * trans-array.c (gfc_conv_resolve_dependencies,
-       gfc_conv_expr_descriptor): Don't set temp's codimen field.
-
-2011-10-07  Mikael Morin  <mikael.morin@sfr.fr>
-
-       * resolve.c (resolve_array_ref): Set array_ref's dimen field (and the
-       associated dimen_type) in the full array ref case.
-
-2011-10-07  Mikael Morin  <mikael.morin@sfr.fr>
-
-       * trans-intrinsic.c (walk_coarray): New function.
-       (convert_element_to_coarray_ref): Move code to walk_coarray. Remove.
-       (trans-this_image, trans_image_index, conv_intrinsic_cobound):
-       Use walk_coarray.
-
-2011-10-07  Mikael Morin  <mikael.morin@sfr.fr>
-
-       * trans-array.c (gfc_conv_expr_descriptor): Add out-of-the-scalarizer
-       cobounds evaluation.
-
-2011-10-07  Mikael Morin  <mikael.morin@sfr.fr>
-
-       * trans-array.c (gfc_conv_ss_startstride): Support zero rank loop.
-
-2011-10-07  Mikael Morin  <mikael.morin@sfr.fr>
-
-       * trans-array.c (gfc_conv_section_startstride): Move code to
-       evaluate_bound.  Use evaluate_bound.
-       (evaluate_bound): New function.
-
-2011-10-07  Mikael Morin  <mikael.morin@sfr.fr>
-
-       * trans-array.c (gfc_conv_section_startstride): Update assertion to
-       also accept coarrays.
-
-2011-10-07  Mikael Morin  <mikael.morin@sfr.fr>
-
-       * trans-array.c (gfc_conv_section_startstride): Factor common
-       array ref references.
-
-2011-10-07  Mikael Morin  <mikael.morin@sfr.fr>
-
-       * trans-array.c (gfc_conv_expr_descriptor): Use codim instead of
-       loop.codimen as argument to gfc_get_array_type_bounds.
-
-2011-10-07  Mikael Morin  <mikael.morin@sfr.fr>
-
-       * trans-array.h (struct gfc_se): New flag want_coarray.
-       * trans-intrinsic.c (trans_this_image, trans_image_index,
-       conv_intrinsic_cobound): Set want_coarray.
-       * trans_array.c (gfc_conv_expr_descriptor): Evaluate codimension
-       earlier and without relying on the scalarizer.
-
-2011-10-07  Mikael Morin  <mikael.morin@sfr.fr>
-
-       * expr.c (gfc_get_corank): Return 0 if input expression is not a
-       coarray.
-
-2011-10-07  Mikael Morin  <mikael.morin@sfr.fr>
-
-       * trans-array.c (gfc_conv_expr_descriptor): Simplify coarray
-       descriptor setup code.
-
-2011-10-07  Mikael Morin  <mikael.morin@sfr.fr>
-
-       * resolve.c (compare_spec_to_ref): Move coarray ref initialization
-       code...
-       (resolve_array_ref): ... here.
-
-2011-10-07  Mikael Morin  <mikael.morin@sfr.fr>
-
-       * check.c (is_coarray): Remove.
-       (coarray_check): Use gfc_is_coarray.
-
-2011-10-07  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/50625
-       * class.c (gfc_build_class_symbol): Fix whitespace.
-       * module.c (mio_symbol): Set 'class_ok' attribute.
-       * trans-decl.c (gfc_get_symbol_decl): Make sure the backend_decl has
-       been built for class symbols.
-
-2011-10-04  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/35831
-       * interface.c (check_dummy_characteristics): Check the array shape.
-
-2011-10-01  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/50585
-       * interface.c (get_expr_storage_size): Check if 'length' component is
-       associated.
-
-2011-09-29  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/50547
-       * resolve.c (resolve_formal_arglist): Fix pureness check for dummy
-       functions.
-
-       PR fortran/50553
-       * symbol.c (check_conflict): Forbid TARGET attribute for statement
-       functions.
-
-2011-09-27  Jakub Jelinek  <jakub@redhat.com>
-
-       * trans-types.c (gfc_type_for_size): Return wider type
-       if no suitable narrower type has been found.
-       (gfc_type_for_mode): Return NULL_TREE if gfc_type_for_size
-       returned type doesn't have expected TYPE_MODE.
-
-2011-09-26  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/50515
-       * resolve.c (resolve_common_blocks): Check for EXTERNAL attribute.
-
-       PR fortran/50517
-       * interface.c (gfc_compare_interfaces): Bugfix in check for result type.
-
-2011-09-22  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/41733
-       * expr.c (gfc_check_pointer_assign): Check for nonintrinsic elemental
-       procedures.
-       * interface.c (gfc_compare_interfaces): Rename 'intent_flag'. Check
-       for PURE and ELEMENTAL attributes.
-       (compare_actual_formal): Remove pureness check here.
-
-2011-09-20  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-       * check.c (gfc_check_c_sizeof): Remove redundant word.
-
-2011-09-20  Simon Baldwin  <simonb@google.com>
-
-       * module.c (gfc_dump_module): Omit timestamp from output.
-
-2011-09-17  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/50403
-       * symbol.c (gfc_use_derived): Fix coding style.
-
-2011-09-15  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/50401
-       * resolve.c (resolve_transfer): Check if component 'ref' is defined.
-
-       PR fortran/50403
-       * symbol.c (gfc_use_derived): Check if argument 'sym' is defined.
-
-2011-09-14  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/34547
-       PR fortran/50375
-       * check.c (gfc_check_null): Allow allocatables as MOLD to NULL.
-       * resolve.c (resolve_transfer): Reject NULL without MOLD.
-       * interface.c (gfc_procedure_use): Reject NULL without MOLD
-       if no explicit interface is known.
-       (gfc_search_interface): Reject NULL without MOLD if it would
-       lead to ambiguity.
-
-2011-09-13  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/50379
-       * symbol.c (check_conflict): Check conflict between GENERIC and RESULT
-       attributes.
-
-2011-09-11  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-       PR fortran/50327
-       * frontend-passes.c (dummy_expr_callback):  New function.
-       (convert_do_while):  New function.
-       (optimize_namespace):  Call code walker to convert do while loops.
-
-2011-09-11  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/35831
-       PR fortran/47978
-       * interface.c (check_dummy_characteristics): New function to check the
-       characteristics of dummy arguments.
-       (gfc_compare_interfaces,gfc_check_typebound_override): Call it here.
-
-2011-09-08  Mikael Morin  <mikael.morin@sfr.fr>
-
-       * trans-array.c (gfc_trans_constant_array_constructor): Remove
-       superfluous initialisation of DIM field.
-       (gfc_trans_array_constructor): Assert that DIMEN field is properly set.
-       (gfc_conv_expr_descriptor): Ditto.
-       * trans-expr.c (gfc_conv_procedure_call): Ditto.
-
-2011-09-08  Mikael Morin  <mikael.morin@sfr.fr>
-
-       * trans-array.h (gfc_get_scalar_ss): New prototype.
-       * trans-array.c (gfc_get_scalar_ss): New function.
-       (gfc_walk_variable_expr, gfc_walk_op_expr,
-       gfc_walk_elemental_function_args): Re-use gfc_get_scalar_ss.
-       * trans-expr.c (gfc_trans_subarray_assign): Ditto.
-       (gfc_trans_assignment_1): Ditto.
-       * trans-stmt.c (compute_inner_temp_size, gfc_trans_where_assign,
-       gfc_trans_where_3): Ditto.
-
-2011-09-08  Mikael Morin  <mikael.morin@sfr.fr>
-
-       * trans-array.h (gfc_get_temp_ss): New prototype.
-       * trans-array.c (gfc_get_temp_ss): New function.
-       (gfc_conv_resolve_dependencies): Re-use gfc_get_temp_ss.
-       (gfc_conv_expr_descriptor): Ditto.
-       * trans-expr.c (gfc_conv_subref_array_arg): Ditto.
-
-2011-09-08  Mikael Morin  <mikael.morin@sfr.fr>
-
-       * trans-array.h (gfc_get_array_ss): New prototype.
-       * trans-array.c (gfc_get_array_ss): New function.
-       (gfc_walk_variable_expr, gfc_walk_function_expr,
-       gfc_walk_array_constructor): Re-use gfc_get_array_ss.
-       * trans-expr.c (gfc_trans_subarray_assign): Ditto.
-       * trans-intrinsic.c (gfc_walk_intrinsic_bound,
-       gfc_walk_intrinsic_libfunc): Ditto.
-       * trans-io.c (transfer_array_component): Ditto.
-
-2011-09-08  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/44646
-       * decl.c (gfc_match_entry, gfc_match_end): Handle COMP_DO_CONCURRENT.
-       * dump-parse-tree.c (show_code_node): Handle EXEC_DO_CONCURRENT.
-       * gfortran.h (gfc_exec_op): Add EXEC_DO_CONCURRENT.
-       * match.c (gfc_match_critical, match_exit_cycle, gfc_match_stopcode,
-       lock_unlock_statement, sync_statement, gfc_match_allocate,
-       gfc_match_deallocate, gfc_match_return): Add DO CONCURRENT diagnostic.
-       (gfc_match_do): Match DO CONCURRENT.
-       (match_derived_type_spec, match_type_spec, gfc_free_forall_iterator,
-       match_forall_iterator, match_forall_header, match_simple_forall,
-       gfc_match_forall): Move up in the file.
-       * parse.c (check_do_closure, parse_do_block): Handle do concurrent.
-       * parse.h (gfc_compile_state): Add COMP_DO_CONCURRENT.
-       * resolve.c (do_concurrent_flag): New global variable.
-       (resolve_function, pure_subroutine, resolve_branch,
-       gfc_resolve_blocks, resolve_code, resolve_types): Add do concurrent
-       diagnostic.
-       * st.c (gfc_free_statement): Handle EXEC_DO_CONCURRENT.
-       * trans-stmt.c (gfc_trans_do_concurrent): New function.
-       (gfc_trans_forall_1): Handle do concurrent.
-       * trans-stmt.h (gfc_trans_do_concurrent): New function prototype.
-       * trans.c (trans_code): Call it.
-       * frontend-passes.c (gfc_code_walker): Handle EXEC_DO_CONCURRENT.
-
-2011-09-07  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/48095
-       * primary.c (gfc_match_structure_constructor): Handle parsing of
-       procedure pointers components in structure constructors.
-       * resolve.c (resolve_structure_cons): Check interface of procedure
-       pointer components. Changed wording of some error messages.
-
-2011-09-04  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/50227
-       * trans-types.c (gfc_sym_type): Check for proc_name.
-
-2011-08-30  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/45044
-       * trans-common.c (build_common_decl): Warn if named common
-       block's size is not everywhere the same.
-
-2011-08-30  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-       PR fortran/45170
-       * trans-stmt.c (gfc_trans_allocate): Evaluate the substring.
-
-2011-08-29  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/50225
-       * trans-decl.c (gfc_generate_function_code): Nullify polymorphic
-       allocatable function results.
-
-2011-08-29  Tobias Burnus  <burnus@net-b.de>
-
-       * trans-decl.c (generate_coarray_sym_init): Use
-       GFC_CAF_COARRAY_STATIC for static coarrays.
-
-2011-08-28  Dodji Seketeli  <dodji@redhat.com>
-
-       * scanner.c (load_file): Don't abuse LC_RENAME reason while
-       (indirectly) calling linemap_add.
-
-2011-08-26  Jakub Jelinek  <jakub@redhat.com>
-
-       * trans-decl.c (get_proc_pointer_decl): Set DECL_TLS_MODEL
-       if threadprivate.
-       * symbol.c (check_conflict): Allow threadprivate attribute with
-       FL_PROCEDURE if proc_pointer.
-
-2011-08-25  Mikael Morin  <mikael@gcc.gnu.org>
-
-       PR fortran/50050
-       * expr.c (gfc_free_shape): Do nothing if shape is NULL.
-       (free_expr0): Remove redundant NULL shape check.
-       * resolve.c (check_host_association): Ditto.
-       * trans-expr.c (gfc_trans_subarray_assign): Assert that shape is
-       non-NULL.
-       * trans-io.c (transfer_array_component): Ditto.
-
-2011-08-25  Tobias Burnus  <burnus@net-b.de>
-
-       * trans-array.c (gfc_conv_descriptor_token): Add assert.
-       * trans-decl.c (gfc_build_qualified_array,
-       create_function_arglist): Handle assumed-shape arrays.
-       * trans-expr.c (gfc_conv_procedure_call): Ditto.
-       * trans-types.c (gfc_get_array_descriptor_base): Ditto, don't
-       add "caf_token" to assumed-shape descriptors, new akind argument.
-       (gfc_get_array_type_bounds): Pass akind.
-       * trans.h (lang_decl): New elements caf_offset and token.
-       (GFC_DECL_TOKEN, GFC_DECL_CAF_OFFSET): New macros.
-
-2011-08-25  Tobias Burnus  <burnus@net-b.de>
-
-       * trans-array.c (structure_alloc_comps): Fix for allocatable
-       scalar coarray components.
-       * trans-expr.c (gfc_conv_component_ref): Ditto.
-       * trans-type.c (gfc_get_derived_type): Ditto.
-
-2011-08-24  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/50163
-       * expr.c (check_init_expr): Return when an error occured.
-
-2011-08-24  Joseph Myers  <joseph@codesourcery.com>
-
-       * Make-lang.in (fortran/cpp.o): Remove explicit compilation rule.
-
-2011-08-23  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/31600
-       * symbol.c (gfc_add_type): Better diagnostic if redefining
-       use-associated symbol.
-       * module.c (gfc_use_module): Use module name as locus.
-
-2011-08-22  Gabriel Charette  <gchare@google.com>
-
-       * cpp.c (gfc_cpp_init): Force BUILTINS_LOCATION for tokens
-       defined in cpp_define_builtins.
-
-2011-08-22  Mikael Morin  <mikael@gcc.gnu.org>
-
-       PR fortran/50050
-       * gfortran.h (gfc_clear_shape, gfc_free_shape): New prototypes.
-       * expr.c (gfc_clear_shape, gfc_free_shape): New functions.
-       (free_expr0): Re-use gfc_free_shape.
-       * trans-expr.c (gfc_trans_subarray_assign): Ditto.
-       * trans-io.c (transfer_array_component): Ditto.
-       * resolve.c (check_host_association): Ditto.
-       (gfc_expr_to_initialize): Don't force the rank value and free the shape
-       after updating the expression. Recalculate shape and rank.
-       (resolve_where_shape): Re-use gfc_clear_shape.
-       * array.c (gfc_array_ref_shape): Ditto.
-
-2011-08-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-       PR fortran/47659
-       * expr.c (gfc_check_assign): Check for type conversions when the
-       right-hand side is a constant REAL/COMPLEX contstant the left-hand
-       side is also REAL/COMPLEX.  Don't warn when a narrowing conversion
-       for REAL does not change the value of the constant.
-
-2011-08-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-       PR fortran/50130
-       * resolve.c (resolve_array_ref):  Don't calculate upper bound
-       if the stride is zero.
-
-2011-08-20  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/49638
-       * dependency.c (gfc_dep_compare_expr): Add new result value "-3".
-       (gfc_check_element_vs_section,gfc_check_element_vs_element): Handle
-       result value "-3".
-       * frontend-passes.c (optimize_comparison): Ditto.
-       * interface.c (gfc_check_typebound_override): Ditto.
-
-2011-08-19  Mikael Morin  <mikael.morin@sfr.fr>
-
-       PR fortran/50129
-       * parse.c (parse_where): Undo changes after emitting an error. 
-
-2011-08-19  Jakub Jelinek  <jakub@redhat.com>
-
-       PR fortran/49792
-       * trans-expr.c (gfc_trans_assignment_1): Set OMPWS_SCALARIZER_WS
-       bit in ompws_flags only if loop.temp_ss is NULL, and clear it if
-       lhs needs reallocation.
-       * trans-openmp.c (gfc_trans_omp_workshare): Don't return early if
-       code is NULL, emit a barrier if workshare emitted no code at all
-       and NOWAIT clause isn't present.
-
-2011-08-19  Mikael Morin  <mikael.morin@sfr.fr>
-
-       PR fortran/50071
-       * gfortran.h (gfc_exec_op): New constant EXEC_END_NESTED_BLOCK.
-       * parse.c (check_statement_label): Accept ST_END_BLOCK and
-       ST_END_ASSOCIATE as valid branch target.
-       (accept_statement): Change EXEC_END_BLOCK to EXEC_END_NESTED_BLOCK.
-       Add EXEC_END_BLOCK code in the ST_END_BLOCK and ST_END_ASSOCIATE cases.
-       * resolve.c (find_reachable_labels): Change EXEC_END_BLOCK to
-       EXEC_END_NESTED_BLOCK.
-       (resolve_branch): Ditto.
-       (resolve_code): Add EXEC_END_NESTED_BLOCK case.
-       * st.c (gfc_free_statement): Ditto.
-       * trans.c (trans_code): Ditto.
-
-2011-08-18  Mikael Morin  <mikael.morin@sfr.fr>
-
-       PR fortran/50071
-       * symbol.c (gfc_get_st_label): Use the derived type namespace when
-       we are parsing a derived type definition.
-
-2011-08-18  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/18918
-       * parse.c (parse_derived): Add lock_type
-       checks, improve coarray_comp handling.
-       * resolve.c (resolve_allocate_expr,
-       resolve_lock_unlock, resolve_symbol): Fix lock_type
-       constraint checks.
-
-2011-08-17  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/31461
-       * trans-decl.c (generate_local_decl): Warn about
-       unused explicitly imported module variables/parameters.
-
-2011-08-17  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/50070
-       * resolve.c (resolve_fl_variable): Reject non-constant character lengths
-       in COMMON variables.
-
-2011-08-16  Tobias Burnus  <burnus@net-b.de>
-           Dominique Dhumieres  <dominiq@lps.ens.fr>
-
-       PR fortran/50094
-       * resolve.c (resolve_symbol): Fix stupid typo.
-
-2011-08-15  Tobias Burnus  <burnus@net-b.de>
-
-       * resolve.c (resolve_symbol): Fix coarray result-var check.
-
-2011-08-14  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-       * module.c (use_iso_fortran_env_module):  Spell 'referrenced' correctly.
-
-2011-08-14  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/50073
-       * decl.c (check_function_name): New function, separated off from
-       'variable_decl' and slightly extended.
-       (variable_decl,attr_decl1): Call it.
-
-2011-08-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       * Make-lang.in (gfortran$(exeext)): Add $(EXTRA_GCC_LIBS).
-
-2011-08-07  Janus Weil  <janus@gcc.gnu.org>
-           Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-       PR fortran/49638
-       * dependency.c (are_identical_variables): For dummy arguments only
-       check for equal names, not equal symbols.
-       * interface.c (gfc_check_typebound_override): Add checking for rank
-       and character length.
-
-2011-08-07  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/49638
-       * dependency.h (gfc_is_same_range,gfc_are_identical_variables): Remove
-       two prototypes.
-       * dependency.c (gfc_are_identical_variables,are_identical_variables):
-       Renamed the former to the latter and made static.
-       (gfc_dep_compare_expr): Renamed 'gfc_are_identical_variables', handle
-       commutativity of multiplication.
-       (gfc_is_same_range,is_same_range): Renamed the former to the latter,
-       made static and removed argument 'def'.
-       (check_section_vs_section): Renamed 'gfc_is_same_range'.
-       * gfortran.h (gfc_check_typebound_override): New prototype.
-       * interface.c (gfc_check_typebound_override): Moved here from ...
-       * resolve.c (check_typebound_override): ... here (and renamed).
-       (resolve_typebound_procedure): Renamed 'check_typebound_override'.
-
-2011-08-06  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-       PR fortran/50004
-       * target-memory.c (gfc_target_expr-size): Don't clobber typespec
-       for derived types.
-       * simplify.c (gfc_simplify_transfer): Don't calculate source_size
-       twice.
-
-2011-08-05  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-       PR fortran/37211
-       * gfortran.h (gfc_calculate_transfer_sizes):  Add prototype.
-       * target-memory.h (gfc_target_interpret_expr):  Add boolean
-       argument wether to convert wide characters.
-       * target-memory.c (gfc_target_expr_size):  Also return length
-       of characters for non-constant expressions if these can be
-       determined from the cl.
-       (interpret_array):  Add argument for gfc_target_interpret_expr.
-       (gfc_interpret_derived):  Likewise.
-       (gfc_target_interpret_expr):  Likewise.
-       * check.c:  Include target-memory.h.
-       (gfc_calculate_transfer_sizes):  New function.
-       (gfc_check_transfer):  When -Wsurprising is in force, calculate
-       sizes and warn if result is larger than size (check moved from
-       gfc_simplify_transfer).
-       * simplify.c (gfc_simplify_transfer):  Use
-       gfc_calculate_transfer_sizes.  Remove warning.
-
-2011-08-04  Richard Guenther  <rguenther@suse.de>
-
-       PR fortran/49957
-       * trans-array.c (add_to_offset): New function.
-       (gfc_conv_array_ref): Build the array index expression in optimally
-       associated order.
-       (gfc_walk_variable_expr): Adjust for the backward walk.
-
-2011-08-02  Daniel Kraft  <d@domob.eu>
-
-       PR fortran/49885
-       * trans-array.c (gfc_trans_auto_array_allocation): Change
-       gfc_start_block to gfc_init_block to avoid spurious extra-scope.
-
-2011-08-02  Tobias Burnus  <burnus@net-b.de>
-
-       * trans-array.c (gfc_array_allocate): Pass token to
-         gfc_allocate_allocatable for -fcoarray=lib.
-       * trans-stmt.c (gfc_trans_allocate): Update
-       gfc_allocate_allocatable call.
-       * trans.h (gfc_allocate_allocatable): Update prototype.
-       (gfc_allocate_using_lib): Remove.
-       * trans.c (gfc_allocate_using_lib): Make static, handle token.
-       (gfc_allocate_allocatable): Ditto.
-
-2011-08-02  Jakub Jelinek  <jakub@redhat.com>
-
-       PR fortran/46752
-       * cpp.c (cpp_define_builtins): Change _OPENMP to 201107.
-       * openmp.c (gfc_free_omp_clauses): Free also final_expr.
-       (OMP_CLAUSE_FINAL, OMP_CLAUSE_MERGEABLE): Define.
-       (gfc_match_omp_clauses): Handle parsing final and mergeable
-       clauses.
-       (OMP_TASK_CLAUSES): Allow final and mergeable clauses.
-       (gfc_match_omp_taskyield): New function.
-       (resolve_omp_clauses): Resolve final clause.  Allow POINTERs and
-       Cray pointers in clauses other than REDUCTION.
-       (gfc_match_omp_atomic): Match optional
-       read/write/update/capture keywords after !$omp atomic.
-       (resolve_omp_atomic): Handle all OpenMP 3.1 atomic forms.
-       * dump-parse-tree.c (show_omp_node): Handle EXEC_OMP_TASKYIELD,
-       print final and mergeable clauses.
-       (show_code_node): Handle EXEC_OMP_TASKYIELD.
-       * trans-openmp.c (gfc_trans_omp_clauses): Handle final and
-       mergeable clauses.
-       (gfc_trans_omp_taskyield): New function.
-       (gfc_trans_omp_directive): Handle EXEC_OMP_TASKYIELD.
-       (gfc_trans_omp_atomic): Handle all OpenMP 3.1 atomic forms.
-       (gfc_omp_clause_copy_ctor): Handle non-allocated allocatable.
-       (gfc_omp_predetermined_sharing): Adjust comment.
-       * gfortran.h (gfc_statement): Add ST_OMP_TASKYIELD and
-       ST_OMP_END_ATOMIC.
-       (gfc_omp_clauses): Add final_expr and mergeable fields.
-       (gfc_exec_op): Add EXEC_OMP_TASKYIELD.
-       (gfc_omp_atomic_op): New enum typedef.
-       (struct gfc_code): Add ext.omp_atomic.
-       * trans.c (trans_code): Handle EXEC_OMP_TASKYIELD.
-       * frontend-passes.c (gfc_code_walker): Also walk final_expr.
-       * resolve.c (gfc_resolve_blocks, resolve_code): Handle
-       EXEC_OMP_TASKYIELD.
-       * st.c (gfc_free_statement): Likewise.
-       * match.h (gfc_match_omp_taskyield): New prototype.
-       * parse.c (decode_omp_directive): Handle taskyield directive.
-       Handle !$omp end atomic.
-       (case_executable): Add ST_OMP_TASKYIELD case.
-       (gfc_ascii_statement): Handle ST_OMP_TASKYIELD.
-       (parse_omp_atomic): Return gfc_statement instead of void.
-       For !$omp atomic capture parse two assignments instead of
-       just one and require !$omp end atomic afterwards, for
-       other !$omp atomic forms just allow !$omp end atomic at the
-       end.
-       (parse_omp_structured_block, parse_executable): Adjust
-       parse_omp_atomic callers.
-
-2011-08-02  Tobias Burnus  <burnus@net-b.de>
-
-       * intrinsic.c (OMP_LIB): Updated openmp_version's
-       value to 201107.
-       * gfortran.texi (OpenMP): Update ref to OpenMP 3.1.
-       * intrinsic.texi (OpenMP Modules): Update ref to OpenMP 3.1;
-       remove deleted omp_integer_kind and omp_logical_kind constants.
-
-2011-07-31  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/49112
-       * resolve.c (resolve_structure_cons): Don't do the full dt resolution,
-       only call 'resolve_fl_derived0'.
-       (resolve_typebound_procedures): Resolve typebound procedures of
-       parent type.
-       (resolve_fl_derived0): New function, which does a part of the work
-       for 'resolve_fl_derived'.
-       (resolve_fl_derived): Call 'resolve_fl_derived0' and do some additional
-       things.
-
-2011-07-30  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-       PR fortran/48876
-       * expr.c (gfc_simplify_expr):  If end of a string is less
-       than zero, set it to zero.
-
-2011-07-28  Jakub Jelinek  <jakub@redhat.com>
-
-       PR fortran/31067
-       * frontend-passes.c (optimize_minmaxloc): New function.
-       (optimize_expr): Call it.
-
-2011-07-27  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/45586
-       * trans-types.c (gfc_get_derived_type): Ensure that pointer
-       component types are marked as nonrestricted.
-
-2011-07-27  Daniel Carrera  <dcarrera@gmail.com>
-
-       PR fortran/49755
-       * trans.c (gfc_allocate_using_malloc): Change function signature.
-       Return nothing. New parameter "pointer". Eliminate temorary variables. 
-       (gfc_allocate_using_lib): Ditto.
-       (gfc_allocate_allocatable): Ditto. Update call to gfc_allocate_using_lib
-       and gfc_allocate_using_malloc. Do not free and then reallocate a
-       variable that is already allocated.
-       (gfc_likely): New function. Basedon gfc_unlikely.
-       * trans-array.c (gfc_array_init_size): New parameter "descriptor_block".
-       Instructions to modify the array descriptor are stored in this block
-       while other instructions continue to be stored in "pblock".
-       (gfc_array_allocate): Update call to gfc_array_init_size. Move the
-       descriptor_block so that the array descriptor is only updated if
-       the array was allocated successfully.
-       Update calls to gfc_allocate_allocatable and gfc_allocate_using_malloc.
-       * trans.h (gfc_allocate_allocatable): Change function signature.
-       Function now returns void.
-       (gfc_allocate_using_lib): Ditto, and new function parameter.
-       (gfc_allocate_using_malloc): Ditto.
-       * trans-openmp.c (gfc_omp_clause_default_ctor,
-       gfc_omp_clause_copy_ctor,gfc_trans_omp_array_reduction): Replace a call
-       to gfc_allocate_allocatable with gfc_allocate_using_malloc.
-       * trans-stmt.c (gfc_trans_allocate): Update function calls for
-       gfc_allocate_allocatable and gfc_allocate_using_malloc.
-
-2011-07-26  Tobias Burnus  <burnus@net-b.de>
-
-       * trans-array.c (CAF_TOKEN_FIELD): New macro constant.
-       (gfc_conv_descriptor_token): New function.
-       * trans-array.h (gfc_conv_descriptor_token): New prototype.
-       * trans-types.c (gfc_get_array_descriptor_base): For coarrays
-       with -fcoarray=lib, append "void *token" to the array descriptor.
-       (gfc_array_descriptor_base_caf): New static variable.
-       * trans-expr.c (gfc_conv_procedure_call): Handle token and offset
-       when passing a descriptor coarray to a nondescriptor dummy. 
-
-2011-07-23  Tobias Burnus  <burnus@net-b.de>
-
-       * resolve.c (resolve_symbol): Fix coarray var decl check.
-
-2011-07-21  Daniel Carrera  <dcarrera@gmail.com>
-
-       * trans.c (gfc_allocate_with_status): Split into two functions
-       gfc_allocate_using_malloc and gfc_allocate_usig_lib.
-       (gfc_allocate_using_malloc): The status parameter is now the
-       actual status rather than a pointer. Code cleanup.
-       (gfc_allocate_using_lib): Ditto. Add new parametrs errmsg and
-       errlen. Pass these to the coarray lib.
-       * trans-openmp.c (gfc_omp_clause_default_ctor): Update calls to
-       gfc_allocate_allocatable.
-       (gfc_omp_clause_copy_ctor): Ditto.
-       (gfc_trans_omp_array_reduction): Ditto.
-       * trans-stmt.c (gfc_trans_allocate): Ditto. Update call to
-       gfc_allocate_using_malloc. Pass stat rather than pstat to the allocate
-       fuctions. If using coarray lib, pass errmsg and errlen to the allocate
-       functions. Move error checking outside the if (!gfc_array_allocate)
-       block so that it also affects trees produced by gfc_array_allocate.
-       * trans-array.c (gfc_array_allocate): Add new parameters errmsg
-       and errlen. Replace parameter pstat by status. Code cleanup. Update
-       calls to gfc_allocate_allocatable and gfc_allocate_using_malloc.
-       * trans-array.h (gfc_array_allocate): Update signature of
-       gfc_array_allocate.
-
-2011-07-21  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-       * gfortran.texi: Remove a duplicate word.
-
-2011-07-21  Tobias Burnus  <burnus@net-b.de>
-
-       * check.c (gfc_check_present): Allow coarrays.
-       * trans-array.c (gfc_conv_array_ref): Avoid casting
-       when a pointer is wanted.
-       * trans-decl.c (create_function_arglist): For -fcoarray=lib,
-       handle hidden token and offset arguments for nondescriptor
-       coarrays.
-       * trans-expr.c (get_tree_for_caf_expr): New function.
-       (gfc_conv_procedure_call): For -fcoarray=lib pass the
-       token and offset for nondescriptor coarray dummies.
-       * trans.h (lang_type): Add caf_offset tree.
-       (GFC_TYPE_ARRAY_CAF_OFFSET): New macro.
-
-2011-07-19  Tobias Burnus  <burnus@net-b.de>
-
-       * expr.c (gfc_is_coarray): New function.
-       * gfortran.h (gfc_is_coarray): New prototype.
-       * interface.c (compare_parameter): Use it.
-
-2011-07-19  Richard Guenther  <rguenther@suse.de>
-
-       * trans-expr.c (fill_with_spaces): Use fold_build_pointer_plus.
-       (gfc_trans_string_copy): Likewise.
-       * trans-intrinsic.c (gfc_conv_intrinsic_repeat): Likewise.
-       * trans-types.c (gfc_get_array_descr_info): Likewise.
-       * trans.c (gfc_build_array_ref): Likewise.
-
-2011-07-19  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/49708
-       * resolve.c (resolve_allocate_expr): Fix diagnostics for pointers.
-
-2011-07-18  Tobias Burnus  <burnus@net-b.de>
-
-       * trans-decl.c (gfc_build_qualified_array): Make coarray's
-       token TYPE_QUAL_RESTRICT.
-
-2011-07-18  Tobias Burnus  <burnus@net-b.de>
-
-       * resolve.c (resolve_transfer): Mention defined I/O
-       in the diagnostic for alloc_comp/pointer_comp.
-
-2011-07-17  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/34657
-       * module.c (check_for_ambiguous): Check whether the name is matches
-       the current program unit.
-
-2011-07-17  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/49624
-       * expr.c (gfc_check_pointer_assign): Fix checking for invalid
-       pointer bounds.
-
-2011-07-16  Tobias Burnus  <burnus@net-b.de>
-       
-       * expr.c (gfc_ref_this_image): New function.
-       (gfc_is_coindexed): Use it.
-       * gfortran.h (gfc_ref_this_image): New prototype.
-       * resolve.c (resolve_deallocate_expr,
-       resolve_allocate_expr): Support alloc scalar coarrays.
-       * trans-array.c (gfc_conv_array_ref, gfc_array_init_size,
-       gfc_conv_descriptor_cosize, gfc_array_allocate,
-       gfc_trans_deferred_array): Ditto.
-       * trans-expr.c (gfc_conv_variable) Ditto.:
-       * trans-stmt.c (gfc_trans_deallocate): Ditto.
-       * trans-types.c (gfc_get_element_type, gfc_get_array_type_bounds
-       gfc_get_array_descr_info): Ditto.
-       * trans-decl.c (gfc_get_symbol_decl): Ditto.
-
-2011-07-11  Jakub Jelinek  <jakub@redhat.com>
-
-       PR fortran/49698
-       * trans-stmt.c (gfc_trans_pointer_assign_need_temp): Initialize
-       inner_size to gfc_index_one_node instead of integer_one_node.
-
-2011-07-10  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/49690
-       * intrinsic.c (add_functions): Use BT_VOID for 2nd argument of SIGNAL.
-
-2011-07-09  Uros Bizjak  <ubizjak@gmail.com>
-
-       PR fortran/48926
-       * expr.c (gfc_get_corank): Change return value to int.
-       * gfortran.h (gfc_get_corank): Update function prototype.
-
-2011-07-07  Mikael Morin  <mikael.morin@sfr.fr>
-
-       PR fortran/49648
-       * resolve.c (resolve_symbol): Force resolution of function result's
-       array specification.
-
-2011-07-07  Tobias Burnus  <burnus@net-b.de>
-
-       * trans.c (gfc_allocate_with_status): Call _gfortran_caf_register
-       with NULL arguments for (new) stat=/errmsg= arguments.
-
-2011-07-06  Daniel Carrera  <dcarrera@gmail.com>
-
-       * trans-array.c (gfc_array_allocate): Rename allocatable_array to
-       allocatable. Rename function gfc_allocate_array_with_status to
-       gfc_allocate_allocatable_with_status. Update function call for
-       gfc_allocate_with_status.
-       * trans-opemp.c (gfc_omp_clause_default_ctor): Rename function
-       gfc_allocate_array_with_status to gfc_allocate_allocatable_with_status.
-       * trans-stmt.c (gfc_trans_allocate): Update function call for
-       gfc_allocate_with_status. Rename function gfc_allocate_array_with_status
-       to gfc_allocate_allocatable_with_status.
-       * trans.c (gfc_call_malloc): Add new parameter gfc_allocate_with_status
-       so it uses the library for memory allocation when -fcoarray=lib.
-       (gfc_allocate_allocatable_with_status): Renamed from
-       gfc_allocate_array_with_status.
-       (gfc_allocate_allocatable_with_status): Update function call for
-       gfc_allocate_with_status.
-       * trans.h (gfc_coarray_type): New enum.
-       (gfc_allocate_with_status): Update prototype.
-       (gfc_allocate_allocatable_with_status): Renamed from
-       gfc_allocate_array_with_status.
-       * trans-decl.c (generate_coarray_sym_init): Use the new constant
-       GFC_CAF_COARRAY_ALLOC in the call to gfor_fndecl_caf_register.
-
-2011-07-06  Richard Guenther  <rguenther@suse.de>
-
-       * f95-lang.c (gfc_init_decl_processing):
-       Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
-
-2011-07-04  Jakub Jelinek  <jakub@redhat.com>
-
-       PR fortran/49623
-       * gfortranspec.c (lang_specific_driver): Ignore options with
-       CL_ERR_MISSING_ARG errors.
-
-2011-07-02  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/49562
-       * expr.c (gfc_check_vardef_context): Handle type-bound procedures.
-
-2011-06-30  Jakub Jelinek  <jakub@redhat.com>
-
-       PR fortran/49540
-       * gfortran.h (gfc_constructor): Add repeat field.
-       * trans-array.c (gfc_conv_array_initializer): Handle repeat > 1.
-       * array.c (current_expand): Add repeat field.
-       (expand_constructor): Copy repeat.
-       * constructor.c (node_free, node_copy, gfc_constructor_get,
-       gfc_constructor_lookup): Handle repeat field.
-       (gfc_constructor_lookup_next, gfc_constructor_remove): New functions.
-       * data.h (gfc_assign_data_value): Add mpz_t * argument.
-       (gfc_assign_data_value_range): Removed.
-       * constructor.h (gfc_constructor_advance): Removed.
-       (gfc_constructor_lookup_next, gfc_constructor_remove): New prototypes.
-       * data.c (gfc_assign_data_value): Add REPEAT argument, handle it and
-       also handle overwriting a range with a single entry.
-       (gfc_assign_data_value_range): Removed.
-       * resolve.c (check_data_variable): Adjust gfc_assign_data_value
-       call.  Use gfc_assign_data_value instead of
-       gfc_assign_data_value_expr.
-
-2011-06-27  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/49466
-       * trans-array.c (structure_alloc_comps): Make sure sub-components
-       and extended types are correctly deallocated.
-
-2011-06-21  Andrew MacLeod  <amacleod@redhat.com>
-
-       * trans-openmp.c: Add sync_ or SYNC__ to builtin names.
-       * trans-stmt.c: Add sync_ or SYNC__ to builtin names.
-       * trans-decl.c: Add sync_ or SYNC__ to builtin names.
-
-2011-06-21  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/49112
-       * class.c (gfc_find_derived_vtab): Make vtab and default initialization
-       symbols SAVE_IMPLICIT.
-
-2011-06-20  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/18918
-       * gfortran.h (gfc_check_vardef_context): Update prototype.
-       (iso_fortran_env_symbol): Handle derived types.
-       (symbol_attribute): Add lock_comp.
-       * expr.c (gfc_check_vardef_context): Add LOCK_TYPE check.
-       * interface.c (compare_parameter, gfc_procedure_use): Handle
-       LOCK_TYPE.
-       (compare_actual_formal): Update
-       gfc_check_vardef_context call.
-       * check.c (gfc_check_atomic_def, gfc_check_atomic_ref): Ditto.
-       * intrinsic.c (check_arglist): Ditto.
-       * io.c (resolve_tag, gfc_resolve_dt, gfc_resolve_inquire): Ditto.
-       * iso-fortran-env.def (ISOFORTRAN_LOCK_TYPE): Add.
-       * intrinsic.texi (ISO_FORTRAN_ENV): Document LOCK_TYPE.
-       * module.c (mio_symbol_attribute): Handle lock_comp.
-       (create_derived_type): New function.
-       (use_iso_fortran_env_module): Call it to handle LOCK_TYPE.
-       * parse.c (parse_derived): Add constraint check for LOCK_TYPE.
-       * resolve.c (resolve_symbol, resolve_lock_unlock): Add constraint
-       checks for LOCK_TYPE.
-       (gfc_resolve_iterator, resolve_deallocate_expr,
-       resolve_allocate_expr, resolve_code, resolve_transfer): Update
-       gfc_check_vardef_context call.
-       * trans-stmt.h (gfc_trans_lock_unlock): New prototype.
-       * trans-stmt.c (gfc_trans_lock_unlock): New function.
-       * trans.c (trans_code): Handle LOCK and UNLOCK.
-
-2011-06-18  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/49400
-       * decl.c (gfc_match_procedure): Allow PROCEDURE declarations inside
-       BLOCK constructs.
-
-2011-06-17  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/48699
-       * check.c (gfc_check_move_alloc): If 'TO' argument is polymorphic,
-       make sure the vtab is present.
-
-2011-06-16  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/49074
-       * interface.c (gfc_extend_assign): Propagate the locus from the
-       assignment to the type-bound procedure call.
-
-2011-06-16  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/49417
-       * module.c (mio_component): Make sure the 'class_ok' attribute is set
-       for use-associated CLASS components.
-       * parse.c (parse_derived): Check for 'class_ok' attribute.
-       * resolve.c (resolve_fl_derived): Ditto.
-
-2011-06-13  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-       * frontend-passes.c (remove_trim):  New function.
-       (optimize_assignment):  Use it.
-       (optimize_comparison):  Likewise.  Return correct status
-       for previous change.
-
-2011-06-12  Tobias Burnus
-
-       PR fortran/49324
-       * trans-expr.c (gfc_trans_assignment_1): Tell
-       gfc_trans_scalar_assign to also deep-copy RHS nonvariables
-       with allocatable components.
-       * trans-array.c (gfc_conv_expr_descriptor): Ditto.
-
-2011-05-11  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-       * frontend-passes.c (optimize_assignment): Follow chains
-       of concatenation operators to the end for removing trailing
-       TRIMS for assignments.
-
-2011-06-10  Daniel Carrera  <dcarrera@gmail.com>
-
-       * trans-decl.c (gfc_build_builtin_function_decls):
-       Updated declaration of caf_sync_all and caf_sync_images.
-       * trans-stmt.c (gfc_trans_sync): Function
-       can now handle a "stat" variable that has an integer type
-       different from integer_type_node.
-
-2011-06-09  Richard Guenther  <rguenther@suse.de>
-
-       * trans.c (gfc_allocate_array_with_status): Mark error path
-       as unlikely.
-
-2011-06-08  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/18918
-       * gfortran.h (gfc_statement): Add ST_LOCK and ST_UNLOCK.
-       (gfc_exec_op): Add EXEC_LOCK and EXEC_UNLOCK.
-       (gfc_code): Add expr4.
-       * match.h (gfc_match_lock, gfc_match_unlock): New prototypes.
-       * match.c (gfc_match_lock, gfc_match_unlock,
-       lock_unlock_statement): New functions.
-       (sync_statement): Bug fix, avoiding double freeing.
-       (gfc_match_if): Handle LOCK/UNLOCK statement.
-       * parse.c (decode_statement, next_statement,
-       gfc_ascii_statement): Ditto.
-       * st.c (gfc_free_statement): Handle LOCK and UNLOCK.
-       * resolve.c (resolve_lock_unlock): New function.
-       (resolve_code): Call it.
-       * dump-parse-tree.c (show_code_node): Handle LOCK/UNLOCK.
-
-2011-06-07  Richard Guenther  <rguenther@suse.de>
-
-       * f95-lang.c (gfc_init_decl_processing): Do not set
-       size_type_node or call set_sizetype.
-
-2011-06-05  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/49255
-       * trans-expr.c (gfc_conv_procedure_call): Fix -fcheck=pointer
-       for F2008.
-
-2011-06-05  Andreas Schmidt  <andreas.schmidt.42@gmx.net>
-       Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-       * dump-parse-tree.c (show_symbol):  Don't dump namespace
-       for ENTRY to avoid infinite recursion.
-
-2011-06-02  Asher Langton  <langton2@llnl.gov>
-
-       PR fortran/49268
-       * trans-decl.c (gfc_trans_deferred_vars): Treat assumed-size Cray
-       pointees as AS_EXPLICIT.
-
-2011-06-02  Asher Langton  <langton2@llnl.gov>
-
-       PR fortran/37039
-       * decl.c (variable_decl): Merge current_as before copying to cp_as.
-
-2011-06-02  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-       PR fortran/49265
-       * decl.c (gfc_match_modproc):  Allow for a double colon in a module
-       procedure statement.
-       * parse.c ( decode_statement): Deal with whitespace around :: in
-       gfc_match_modproc.
-
-2011-05-31  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/18918
-       * intrinsic.c (klass): Add CLASS_ATOMIC.
-       (add_subroutines): Add atomic_ref/atomic_define.
-       * intrinsic.texi (ATOMIC_REF, ATOMIC_DEFINE): Document.
-       * intrinsic.h (gfc_check_atomic_def, gfc_check_atomic_ref,
-       gfc_resolve_atomic_def, gfc_resolve_atomic_ref): New prototypes.
-       * gfortran.h (gfc_isym_id): Add GFC_ISYM_ATOMIC_DEF
-       and GFC_ISYM_ATOMIC_REF.
-       (gfc_atomic_int_kind, gfc_atomic_logical_kind): New global vars.
-       * iresolve.c (gfc_resolve_atomic_def, gfc_resolve_atomic_ref): New
-       functions.
-       * check.c (gfc_check_atomic, gfc_check_atomic_def,
-       gfc_check_atomic_ref): New functions.
-       * iso-fortran-env.def (ISOFORTRANENV_FILE_ATOMIC_INT_KIND,
-       ISOFORTRANENV_FILE_ATOMIC_LOGICAL_KIND): Change kind value.
-       * trans-intrinsic.c (conv_intrinsic_atomic_def,
-       conv_intrinsic_atomic_ref, gfc_conv_intrinsic_subroutine): New
-       functions.
-       (conv_intrinsic_move_alloc) Renamed from
-       gfc_conv_intrinsic_move_alloc - and made static.
-       * trans.h (gfc_conv_intrinsic_move_alloc): Remove.
-       (gfc_conv_intrinsic_subroutine) Add prototype.
-       * trans.c (trans_code): Call gfc_conv_intrinsic_subroutine.
-       * trans-types (gfc_atomic_int_kind, gfc_atomic_logical_kind): New
-       global vars.
-       (gfc_init_kinds): Set them.
-
-2011-05-31  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/18918
-       * trans-array.c (gfc_trans_dummy_array_bias): Handle
-       cobounds of assumed-shape arrays.
-
-2011-05-31  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/18918
-       * resolve.c (resolve_fl_variable): Handle static coarrays
-       with non-constant cobounds.
-
-2011-05-29  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/47601
-       * module.c (mio_component_ref): Handle components of extended types.
-       * symbol.c (gfc_find_component): Return is sym is NULL.
-
-2011-05-29  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/18918
-       * interface.c (compare_parameter): Add check for passing coarray
-       to allocatable noncoarray dummy.
-
-2011-05-29  Tobias Burnus  <burnus@net-b.de>
-           Richard Guenther  <rguenther@suse.de>
-
-       PR fortran/18918
-       * trans-types.c (gfc_get_nodesc_array_type): Don't mess with
-       the type's TREE_TYPE.
-       * trans-array.c (gfc_conv_array_ref): Use TYPE_MAIN_VARIANT.
-       * trans.c (gfc_build_array_ref): Ditto.
-
-2011-05-27  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/18918
-       * check.c (gfc_check_associated, gfc_check_null): Add coindexed check.
-       * match.c (gfc_match_nullify): Ditto.
-       * resolve.c (resolve_deallocate_expr): Ditto.
-       * trans-types.c (gfc_get_nodesc_array_type): Don't set restricted
-       for nonpointers.
-
-2011-05-27  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/48820
-       * gfortran.h (gfc_isym_id): Add GFC_ISYM_RANK.
-       * intrinsic.c (add_functions): Add rank intrinsic.
-       (gfc_check_intrinsic_standard): Handle GFC_STD_F2008_TR.
-       * intrinsic.h (gfc_simplify_rank, gfc_check_rank): Add prototypes.
-       * simplify.c (gfc_simplify_rank): New function.
-       * intrinsic.texi (RANK): Add description for rank intrinsic.
-       * check.c (gfc_check_rank): New function.
-
-2011-05-26  Paul Thomas  <pault@gcc.gnu.org>
-           Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-       PR fortran/48955
-       * trans-expr.c (gfc_trans_assignment_1): GFC_REVERSE_NOT_SET
-       changed to GFC_ENABLE_REVERSE.
-       * trans-array.c (gfc_init_loopinfo): GFC_CANNOT_REVERSE changed
-       to GFC_INHIBIT_REVERSE.
-       * gfortran.h: Enum gfc_reverse is now GFC_ENABLE_REVERSE,
-       GFC_FORWARD_SET, GFC_REVERSE_SET and GFC_INHIBIT_REVERSE.
-       * dependency.c (gfc_dep_resolver): Change names for elements of
-       gfc_reverse as necessary. Change the logic so that forward
-       dependences are remembered as well as backward ones. When both
-       have appeared, force a temporary.
-
-2011-05-26  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/18918
-       * trans-array.c (gfc_conv_array_ref): Handle pointer coarrays.
-       * trans-decl.c (has_coarray_vars, caf_init_block,
-       gfor_fndecl_caf_register): New file-global variables.
-       (gfc_finish_var_decl): Make sure that coarrays in main are static.
-       (gfc_build_qualified_array): Generate coarray token variable.
-       (gfc_get_symbol_decl): Don't use a static initializer for coarrays.
-       (gfc_build_builtin_function_decls): Set gfor_fndecl_caf_register.
-       (gfc_trans_deferred_vars, gfc_emit_parameter_debug_info): Skip for
-       static coarrays.
-       (generate_local_decl): Check for local coarrays.
-       (create_main_function): SYNC ALL before calling MAIN.
-       (generate_coarray_sym_init): Register static coarray.
-       (generate_coarray_init): Generate CAF registering constructor
-       function.
-       (gfc_generate_function_code): Call it, if needed, do not create
-       cgraph twice.
-       (gfc_generate_module_vars, gfc_process_block_locals): Call
-       generate_coarray_init.
-       * trans-types.c (gfc_get_nodesc_array_type): Generate pointers for
-       -fcoarray=lib.
-       * trans.h (gfor_fndecl_caf_register): New variable.
-       (lang_type): New element caf_token.
-       (GFC_TYPE_ARRAY_CAF_TOKEN): New macro.
-
-2011-05-24  Joseph Myers  <joseph@codesourcery.com>
-
-       * Make-lang.in (GFORTRAN_D_OBJS): Remove prefix.o.
-       (gfortran$(exeext)): Use libcommon-target.a.
-
-2011-05-22  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-       * frontend-passes.c (cfe_register_funcs):  Also register
-       character functions if their charlens are known and constant.
-       Also register allocatable functions.
-
-2011-05-21  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/48699
-       * match.c (select_type_set_tmp): Make the temporary ALLOCATABLE if the
-       selector is ALLOCATABLE.
-
-2011-05-20  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/48706
-       * module.c (write_dt_extensions): Do not write extended types which
-       are local to a subroutine.
-
-2011-05-20  Joseph Myers  <joseph@codesourcery.com>
-
-       * Make-lang.in (GFORTRAN_D_OBJS): Remove version.o and intl.o.
-
-2011-05-20  Janne Blomqvist  <jb@gcc.gnu.org>
-
-       * gfortran.texi (set_fpe): Update documentation.
-       * invoke.texi (-ffpe-trap): Likewise.
-       * libgfortran.h (GFC_FPE_PRECISION): Rename to GFC_FPE_INEXACT.
-       * options.c (gfc_handle_fpe_trap_option): Handle inexact and make
-       precision an alias for it.
-
-2011-05-19  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/18918
-       * trans-types.c (gfc_get_element_type): Handle scalar coarrays.
-       (gfc_get_nodesc_array_type): Make a variant-type copy for scalar
-       coarrays.
-       * trans.c (gfc_build_array_ref): Return original type not variant
-       copy for scalar coarrays.
-       * trans-array.c (gfc_conv_array_ref): Ditto.
-
-2011-05-18  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/48700
-       * trans-intrinsic.c (gfc_conv_intrinsic_move_alloc): Deallocate 'TO'
-       argument to avoid memory leaks.
-
-2011-05-16  Tobias Burnus  <burnus@net-b.de>
-
-       * gfortran.texi (_gfortran_set_options): Add GFC_STD_F2008_TR.
-       (Fortran 2008 status): Multi-image support for coarrays.
-       (TR 19113 status): New section.
-
-2011-05-15  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/18918
-       actual argument is not an array; rank mismatch is diagnosted later.
-       * trans-decl.c (gfc_get_symbol_decl, gfc_trans_deferred_vars): Handle
-       scalar coarrays.
-       * trans-types.c (gfc_get_array_type_bounds): Ditto.
-
-2011-05-15  Joern Rennecke  <amylaar@spamcop.net>
-
-       PR middle-end/46500
-       * trans-types.c: Include "tm.h".
-       [0] (c_size_t_size): Remove.
-
-2011-05-15  Janne Blomqvist  <jb@gcc.gnu.org>
-
-       PR libfortran/48915
-       * gfortran.texi (_gfortran_set_options): Even though -fbacktrace
-       is now the default, the library defaults to backtracing disabled.
-
-2011-05-14  Tobias Burnus  <burnus@net-b.de>
-
-       * lang.opt (fdump-core): Re-add as ignored option
-       for backward compatibility.
-
-2011-05-14  Janne Blomqvist  <jb@gcc.gnu.org>
-
-       PR libfortran/48915
-       * gfortran.texi: Update mixed-language programming section
-       reflecting the removal of the fdump-core option, and that
-       -fbacktrace is now enabled by default.
-
-2011-05-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-       PR fortran/22572
-       * frontend-passes.c (cfe_register_funcs):  Also register functions
-       for potential elimination if the rank is > 0, the shape is unknown
-       and reallocate on assignment is active.
-       (create_var):  For rank > 0 functions with unknown shape, create
-       an allocatable temporary.
-
-2011-05-14  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/18918
-       * interface.c (compare_parameter): Skip diagnostic if
-       actual argument is not an array; rank mismatch is diagnosted later.
-
-2011-05-14  Tobias Burnus  <burnus@net-b.de>
-
-       * options.c (gfc_init_options, gfc_post_options): Enable
-       -fstack-arrays by default if -Ofast is used.
-       * invoke.texi (-fstack-arrays): Document this.
-
-2011-05-14  Janne Blomqvist  <jb@gcc.gnu.org>
-
-       PR libfortran/48915
-       * gfortran.h (gfc_option_t): Remove flag_dump_core.
-       * gfortran.texi (GFORTRAN_ERROR_DUMPCORE): Remove section.
-       (GFORTRAN_ERROR_BACKTRACE): Document that it's enabled by default.
-       * intrinsic.texi (ABORT): Remove explanation of -fdump-core.
-       * invoke.texi: Remove -fdump-core, document that -fbacktrace is
-       enabled by default.
-       * lang.opt: Remove -fdump-core.
-       * options.c (gfc_init_options): Make backtrace default to enabled,
-       remove dump_core.
-       (gfc_handle_option): Remove OPT_fdump-core.
-       * trans-decl.c: Pass a 0 to preserve ABI.
-
-2011-05-14  Janne Blomqvist  <jb@gcc.gnu.org>
-
-       * gfortran.texi: Remove GFORTRAN_USE_STDERR documentation.
-
-2011-05-13  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/48972
-       * io.c (resolve_tag_format, resolve_tag): Make sure
-       that the string is of default kind.
-       (gfc_resolve_inquire): Also resolve decimal tag.
-
-2011-05-12  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/48972
-       * resolve.c (resolve_intrinsic): Don't resolve module
-       intrinsics multiple times.
-
-2011-05-11  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/48889
-       * expr.c (gfc_is_constant_expr): Use e->value.function.esym
-       instead of e->symtree->n.sym, if available.
-
-2011-05-07  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * f95-lang.c (global_bindings_p): Return bool and simplify.
-
-2011-05-07  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/18918
-       PR fortran/48919
-       * trans.h: Move gfc_init_coarray_decl prototype ...
-       * gfortran.h: ... to here.
-       * parse.c (translate_all_program_units): Call gfc_init_coarray_decl.
-       (gfc_parse_file): Update translate_all_program_units call.
-       * trans-decl.c (gfc_init_coarray_decl): Fix variable declaration,
-       new argument whether DECL_EXTERNAL should be used.
-       (create_main_function): Update gfc_init_coarray_decl call.
-       * trans-intrinsic.c (trans_this_image, trans_image_index,
-       conv_intrinsic_cobound): Ditto.
-
-2011-05-06  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/18918
-       * trans-array.c (gfc_walk_variable_expr): Continue walking
-       for scalar coarrays.
-       * trans-intrinsic.c (convert_element_to_coarray_ref): New function.
-       (trans_this_image, trans_image_index, conv_intrinsic_cobound): Use it.
-       (trans_this_image): Fix algorithm.
-       * trans-types.c (gfc_get_element_type, gfc_get_array_descriptor_base,
-       gfc_sym_type): Handle scalar coarrays.
-
-2011-05-06  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/48858
-       PR fortran/48820
-       * lang.opt (std=f2008tr): New.
-       * libgfortran.h (GFC_STD_F2008_TR): New macro constant.
-       * decl.c (verify_c_interop_param): Allow OPTIONAL in BIND(C)
-       procedures for -std=f2008tr/gnu/legacy.
-       (gfc_match_import): Set sym to NULL.
-       * options.c (set_default_std_flags,gfc_handle_option): Handle
-       -std=f2008tr.
-       * invoke.texi (-std=): Document -std=f2008tr.
-
-2011-05-05  Nathan Froyd  <froydnj@codesourcery.com>
-
-       * trans-decl.c (gfc_trans_entry_master_switch): Call build_case_label.
-       * trans-io.c (add_case): Likewise.
-       * trans-stmt.c (gfc_trans_integer_select): Likewise.
-       (gfc_trans_character_select): Likewise.
-
-2011-05-05  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * trans-decl.c (trans_function_start): Do not set
-       dont_save_pending_sizes_p.
-
-2011-05-04  Nathan Froyd  <froydnj@codesourcery.com>
-
-       * trans.h (gfc_chainon_list): Delete.
-       * trans.c (gfc_chainon_list): Delete.
-
-2011-05-04  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/48864
-       * invoke.texi (fno-protect-parens): Document
-       that -Ofast implies -fno-protect-parens.
-       * options.c (gfc_init_options, gfc_post_options):
-       Make -Ofast imply -fno-protect-parens.
-
-2011-05-04  Nathan Froyd  <froydnj@codesourcery.com>
-
-       * trans-decl.c (build_library_function_decl_1): Call
-       build_function_type_vec.  Adjust argument list building accordingly.
-       * trans-intrinsic.c (gfc_get_intrinsic_lib_fndecl): Likewise.
-       * trans-types.c (gfc_get_function_type): Likewise.
-
-2011-05-04  Richard Guenther  <rguenther@suse.de>
-
-       * trans-array.c (gfc_trans_array_constructor_value): Use
-       size_int for bounds of range types.
-       (gfc_trans_array_constructor_value): Use size_type_node
-       for memcpy argument.
-       * trans-common.c (build_field): Use gfc_charlen_type_node
-       for lengths.
-       * trans-openmp.c (gfc_trans_omp_clauses): Do not pass NULL
-       as type to build_int_cst.
-       * trans-const.c (gfc_build_string_const): Use size_int
-       for bounds of range types.
-       (gfc_build_wide_string_const): Likewise.
-       * trans-stmt.c (gfc_trans_label_assign): Use gfc_charlen_type_node
-       for lengths.
-       (gfc_trans_character_select): Likewise.
-       (gfc_trans_character_select): Do not pass NULL
-       as type to build_int_cst.
-       (gfc_trans_character_select): Use size_int for bounds of range types.
-       * trans-io.c (gfc_build_io_library_fndecls): Likewise.
-       (add_case): Do not pass NULL as type to build_int_cst.
-       (transfer_expr): Likewise.
-       (transfer_array_desc): Likewise.
-       * trans-decl.c (gfc_add_assign_aux_vars): Use gfc_charlen_type_node
-       for lengths.
-       (gfc_trans_assign_aux_var): Likewise.
-       (create_main_function): Use size_int for bounds of range types.
-       * trans-intrinsic.c (gfc_conv_intrinsic_minmax_char): Do not pass
-       NULL as type to build_int_cst.
-       (gfc_conv_intrinsic_spacing): Likewise.
-       (gfc_conv_intrinsic_rrspacing): Likewise.
-       (gfc_conv_intrinsic_len): Use gfc_charlen_type_node for lengths.
-
-2011-05-04  Richard Guenther  <rguenther@suse.de>
-
-       * trans-types.c (gfc_get_array_type_bounds): Remove zero notrunc
-       argument to int_const_binop.
-
-2011-05-03  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/18918
-       * trans-intrinsic.c (trans_this_image): Implement version with
-       coarray argument.
-       (conv_intrinsic_cobound): Simplify code.
-       (gfc_conv_intrinsic_function): Call trans_this_image for
-       this_image(coarray) except for -fcoarray=single.
-
-2011-05-02  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-       PR fortran/48720
-       * gfortran.texi: Document the 'Q' exponent-letter extension.
-       * invoke.texi: Document -Wreal-q-constant.
-       * lang.opt: Add -Wreal-q-constant option.
-       * gfortran.h: Add warn_real_q_constant to option struct.
-       * primary.c (match_real_constant):  Use it.  Accept 'Q' as
-       exponent-letter for REAL(16) real-literal-constant with a
-       fallback to REAL(10) or error if REAL(10) is not available.
-       * options.c (gfc_init_options, set_Wall) Set it.
-       (gfc_handle_option): Handle new option.
-
-2011-04-30  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-       * dump-prase-tree.c (show_code_node):  Set the current
-       namespace to the BLOCK before displaying it; restore
-       afterwards.
-
-2011-04-30  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/48821
-       * decl.c (gfc_match_import): Don't try to find the
-       symbol if already found.
-
-2011-04-30  Paul Thomas  <pault@gcc.gnu.org>
-
-       PR fortran/48746
-       * trans-expr.c (fcncall_realloc_result): Set the bounds and the
-       offset so that the lbounds are one.
-       (gfc_trans_arrayfunc_assign): Add rank to arguments of above.
-
-2011-04-29  Paul Thomas  <pault@gcc.gnu.org>
-
-       PR fortran/48462
-       * trans-expr.c (arrayfunc_assign_needs_temporary): Deal with
-       automatic reallocation when the lhs is a target.
-
-       PR fortran/48746
-       * trans-expr.c (fcncall_realloc_result): Make sure that the
-       result dtype field is set before the function call.
-
-2011-04-29  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/48810
-       * resolve.c (resolve_typebound_generic_call): Don't check access
-       flags of the specific function.
-
-       PR fortran/48800
-       * resolve.c (resolve_formal_arglist): Don't change AS_DEFERRED
-       to AS_ASSUMED_SHAPE for function results.
-       (resolve_fl_var_and_proc): Print also for function results with
-       AS_DEFERRED an error, if they are not a pointer or allocatable.
-       (resolve_types): Make sure arguments of procedures in interface
-       blocks are resolved.
-
-2011-04-29  Michael Matz  <matz@suse.de>
-
-       * options.c (options.c): Set warn_maybe_uninitialized.
-
-2011-04-28  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/48112
-       * resolve.c (resolve_fl_var_and_proc): Print diagnostic of
-       function results only once.
-       (resolve_symbol): Always resolve function results.
-
-       PR fortran/48279
-       * expr.c (gfc_check_vardef_context): Fix handling of generic
-       EXPR_FUNCTION.
-       * interface.c (check_interface0): Reject internal functions
-       in generic interfaces, unless -std=gnu.
-
-2011-04-27  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/48788
-       * resolve.c (resolve_global_procedure): Error recovery -
-       avoid segfault for (non)character-returning functions.
-
-2011-04-26  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-       * decl.c (gfc_match_end):  Check that the block name starts
-       with "block@".
-       * parse.c (gfc_build_block_ns):  Make block names unique by
-       numbering them.
-
-2011-04-26  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-       * frontend-passes.c (inserted_block):  New variable.
-       (changed_statement):  Likewise.
-       (create_var):  Encase statement to be operated on in a BLOCK.
-       Adjust code insertion for BLOCK.
-       (cfe_code):  Set inserted_block and changed_statement to NULL.
-
-2011-04-23  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/18918
-       * module.c (mio_array_spec): Set as->cotype on reading.
-       * resolve.c (resolve_allocate_expr): Fix allocating coarray
-       components.
-
-2011-04-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-       PR fortran/48405
-       * frontend_passes (cfe_register_funcs): Remove workaround for DO
-       loops.
-       (gfc_code_walker):  Make sure the pointer to the current
-       statement doen't change when other statements are inserted.
-
-2011-04-21  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/18918
-       * array.c (gfc_match_array_spec): Fix maximal rank(+corank) check.
-
-2011-04-20  Jim Meyering  <meyering@redhat.com>
-
-       * expr.c (free_expr0): Remove useless if-before-free.
-       * gfortranspec.c (lang_specific_pre_link): Likewise.
-       * interface.c (gfc_extend_expr): Likewise.
-       * trans-openmp.c (gfc_trans_omp_array_reduction): Likewise.
-
-2011-04-19  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/48588
-       PR fortran/48692
-
-       * module.c (fix_mio_expr): Commit created symbol.
-
-2011-04-19  Janne Blomqvist  <jb@gcc.gnu.org>
-
-       * scanner.c (load_file): Use XCNEWVAR instead of xcalloc.
-
-2011-04-19  Janne Blomqvist  <jb@gcc.gnu.org>
-
-       * frontend-passes.c (gfc_run_passes): Use XDELETEVEC instead of
-       free.
-
-2011-04-19  Janne Blomqvist  <jb@gcc.gnu.org>
-
-       * misc.c (gfc_getmem): Remove function.
-       * gfortran.h: Remove gfc_getmem prototype. Replace gfc_getmem
-       usage with XCNEW or XCNEWVEC.
-       * expr.c (gfc_check_assign_symbol): Replace gfc_getmem usage with
-       XCNEW or XCNEWVEC.
-       * options.c (gfc_handle_module_path_options)
-       (gfc_get_option_string): Likewise.
-       * resolve.c (gfc_resolve_forall): Likewise.
-       * simplify.c (simplify_transformation_to_array): Likewise.
-       * target-memory.c (gfc_target_interpret_expr): Likewise.
-       * trans-common.c (get_segment_info, copy_equiv_list_to_ns)
-       (get_init_field): Likewise.
-       * trans-expr.c (gfc_conv_statement_function): Likewise.
-       * trans-io.c (nml_full_name): Likewise.
-       * trans-stmt.c (gfc_trans_forall_1): Likewise.
-       * scanner.c (load_file): Replace gfc_getmem usage with xcalloc.
-
-2011-04-19  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/48588
-       * parse.c (resolve_all_program_units): Skip modules.
-       (translate_all_program_units): Handle modules.
-       (gfc_parse_file): Defer code generation for modules.
-
-2011-04-19  Martin Jambor  <mjambor@suse.cz>
-
-       * trans-decl.c (gfc_generate_function_code): Call cgraph_create_node
-       instead of cgraph_get_create_node.
-
-2011-04-18  Jim Meyering  <meyering@redhat.com>
-
-       remove now-unused definition of gfc_free
-       * misc.c (gfc_free): Remove function.
-       * gfortran.h (gfc_free): Remove its prototype.
-
-2011-04-18  Jim Meyering  <meyering@redhat.com>
-
-       convert each use of gfc_free (p) to free (p)
-       Do that by running this command:
-         perl -pi -e    's/\bgfc_free ?\(/free (/' \
-           $(git grep -El '\bgfc_free ?\(')
-       which also corrects the few uses that lacked a space between
-       the function name and the open parenthesis.
-       Manually undo the change to the function definition itself
-       and its prototype.  They'll be removed next.
-       * array.c (gfc_free_array_spec, gfc_set_array_spec): s/gfc_free/free/
-       * constructor.c (node_free): Likewise.
-       * cpp.c (dump_queued_macros): Likewise.
-       * data.c (gfc_assign_data_value): Likewise.
-       * decl.c (free_variable, free_value, gfc_free_data): Likewise.
-       (gfc_free_data_all, match_old_style_init): Likewise.
-       (gfc_set_constant_character_len, gfc_free_enum_history, NUM_DECL):
-       Likewise.
-       (gfc_match_modproc): Likewise.
-       * dependency.c (check_section_vs_section): Likewise.
-       * error.c (gfc_pop_error, gfc_free_error): Likewise.
-       * expr.c (free_expr0, gfc_free_expr, gfc_free_actual_arglist): Likewise.
-       (gfc_free_ref_list, gfc_replace_expr, gfc_copy_ref): Likewise.
-       (find_substring_ref, gfc_simplify_expr, gfc_check_assign_symbol):
-       Likewise.
-       * frontend-passes.c (gfc_run_passes, cfe_expr_0): Likewise.
-       (strip_function_call, optimize_comparison): Likewise.
-       * interface.c (gfc_free_interface, arginfo, check_interface0): Likewise.
-       (CHECK_OS_COMPARISON, gfc_extend_assign, gfc_free_formal_arglist):
-       Likewise.
-       * intrinsic.c (gfc_intrinsic_done_1, gfc_convert_type_warn): Likewise.
-       (gfc_convert_chartype): Likewise.
-       * io.c (gfc_free_open, compare_to_allowed_values, gfc_free_close):
-       Likewise.
-       (gfc_free_filepos, gfc_free_dt, gfc_free_inquire): Likewise.
-       * match.c (gfc_free_iterator, gfc_match_associate): Likewise.
-       (gfc_free_alloc_list, gfc_free_namelist, gfc_free_equiv_until):
-       Likewise.
-       (free_case, gfc_free_forall_iterator): Likewise.
-       * misc.c: Likewise.
-       * module.c (free_pi_tree, resolve_fixups, free_rename): Likewise.
-       (free_true_name, peek_atom, mio_allocated_wide_string): Likewise.
-       (mio_pool_string, mio_internal_string, mio_gmp_integer): Likewise.
-       (mio_gmp_real, mio_expr, mio_typebound_proc): Likewise.
-       (mio_full_typebound_tree, skip_list, load_equiv): Likewise.
-       (free_written_common, gfc_use_module, gfc_free_use_stmts): Likewise.
-       * openmp.c (gfc_free_omp_clauses): Likewise.
-       * options.c (gfc_post_options): Likewise.
-       * parse.c (select_type_pop, parse_omp_structured_block): Likewise.
-       * primary.c (gfc_free_structure_ctor_component): Likewise.
-       * resolve.c (resolve_structure_cons, check_host_association): Likewise.
-       (gfc_resolve_forall, resolve_equivalence): Likewise.
-       * scanner.c (gfc_scanner_done_1, gfc_release_include_path): Likewise.
-       (gfc_define_undef_line, preprocessor_line, include_line): Likewise.
-       (load_file, gfc_read_orig_filename): Likewise.
-       * simplify.c (simplify_transformation_to_array): Likewise.
-       (gfc_simplify_ibits, simplify_shift, gfc_simplify_ishftc, STRING):
-       Likewise.
-       (gfc_simplify_compiler_options): Likewise.
-       * st.c (gfc_free_statement, gfc_free_statements): Likewise.
-       (gfc_free_association_list): Likewise.
-       * symbol.c (free_components, gfc_free_st_label, free_st_labels):
-       Likewise.
-       (gfc_delete_symtree, gfc_free_symbol, gfc_undo_symbols): Likewise.
-       (free_old_symbol, gfc_commit_symbols, free_tb_tree): Likewise.
-       (free_common_tree, free_uop_tree, free_sym_tree): Likewise.
-       (gfc_free_dt_list, gfc_free_equiv_infos, gfc_free_equiv_lists):
-       Likewise.
-       (gfc_free_finalizer, gfc_free_charlen, free_entry_list): Likewise.
-       (gfc_free_namespace): Likewise.
-       * trans-array.c (gfc_free_ss, gfc_trans_array_bound_check): Likewise.
-       (gfc_conv_array_ref, gfc_conv_ss_startstride): Likewise.
-       (gfc_trans_dummy_array_bias, gfc_conv_array_parameter): Likewise.
-       * trans-common.c (get_init_field, create_common): Likewise.
-       * trans-const.c (gfc_build_wide_string_const): Likewise.
-       (gfc_conv_string_init): Likewise.
-       * trans-decl.c (gfc_generate_function_code): Likewise.
-       * trans-expr.c (gfc_conv_substring, gfc_free_interface_mapping):
-       Likewise.
-       (SCALAR_POINTER, gfc_conv_statement_function): Likewise.
-       (gfc_trans_subarray_assign): Likewise.
-       * trans-intrinsic.c (conv_generic_with_optional_char_arg): Likewise.
-       * trans-io.c (gfc_trans_io_runtime_check, set_string): Likewise.
-       (transfer_namelist_element, transfer_array_component): Likewise.
-       * trans-openmp.c (gfc_trans_omp_array_reduction): Likewise.
-       * trans-stmt.c (cleanup_forall_symtrees, gfc_trans_forall_1): Likewise.
-       * trans.c (trans_runtime_error_vararg, gfc_restore_backend_locus):
-       Likewise.
-
-2011-04-15  Jim Meyering  <meyering@redhat.com>
-
-       gfortran: remove cpp definition of free, ...
-       in preparation for the s/gfc_free/free/ transformation.
-       * gfortran.h (free): Remove macro definition that would otherwise
-       prevent direct use of the function.
-
-2011-04-18  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/18918
-       * array.c (gfc_match_array_ref): Check for too many codimensions.
-       * check.c (gfc_check_image_index): Check number of elements
-       in SUB argument.
-       * simplify.c (gfc_simplify_image_index): Remove unreachable checks.
-
-2011-04-18  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/18918
-       * iresolve.c (gfc_resolve_image_index): Set ts.type.
-       * simplify.c (gfc_simplify_image_index): Don't abort if the bounds
-       are not known at compile time and handle -fcoarray=lib.
-       * trans-intrinsics.c (gfc_conv_intrinsic_function): Handle
-       IMAGE_INDEX.
-       (conv_intrinsic_cobound): Fix comment typo.
-       (trans_this_image): New function.
-       * trans-array.c (gfc_unlikely): Move to trans.c.
-       * trans.c (gfc_unlikely): Function moved from trans-array.c.
-       (gfc_trans_runtime_check): Use it.
-       * trans-io.c (gfc_trans_io_runtime_check): Ditto.
-       * trans.h (gfc_unlikely): Add prototype.
-
-2011-04-18  Paul Thomas  <pault@gcc.gnu.org>
-
-       PR fortran/48462
-       * trans-expr.c (fcncall_realloc_result): Renamed version of
-       realloc_lhs_bounds_for_intrinsic_call that does not touch the
-       descriptor bounds anymore but makes a temporary descriptor to
-       hold the result.
-       (gfc_trans_arrayfunc_assign): Modify the reference to above
-       renamed function.
-
-2011-05-17  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/48624
-       * trans-decl.c (gfc_get_extern_function_decl): Fix decl
-       for external procedures with proc arguments.
-
-2011-04-15  Michael Matz  <matz@suse.de>
-
-       * trans-array.c (toplevel): Include gimple.h.
-       (gfc_trans_allocate_array_storage): Check flag_stack_arrays,
-       properly expand variable length arrays.
-       (gfc_trans_auto_array_allocation): If flag_stack_arrays create
-       variable length decls and associate them with their scope.
-       * gfortran.h (gfc_option_t): Add flag_stack_arrays member.
-       * options.c (gfc_init_options): Handle -fstack_arrays option.
-       * lang.opt (fstack-arrays): Add option.
-       * invoke.texi (Code Gen Options): Document it.
-       * Make-lang.in (trans-array.o): Depend on GIMPLE_H.
-
-2011-04-15  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/18918
-       * trans-intrinsic.c (conv_intrinsic_cobound): Remove unused
-       code which is also causing an ICE.
-
-2011-04-14  Nathan Froyd  <froydnj@codesourcery.com>
-
-       * f95-lang.c (poplevel): Use BLOCK_CHAIN and block_chainon.
-
-2011-04-12  Nathan Froyd  <froydnj@codesourcery.com>
-
-       * f95-lang.c (union lang_tree_node): Check for TS_COMMON before
-       calling TREE_CHAIN.
-
-2011-04-12  Paul Thomas  <pault@gcc.gnu.org>
-
-       PR fortran/48360
-       PR fortran/48456
-       * trans-array.c (get_std_lbound): For derived type variables
-       return array valued component lbound.
-
-2011-04-12  Martin Jambor  <mjambor@suse.cz>
-
-       * trans-decl.c (gfc_generate_function_code): Call
-       cgraph_get_create_node instead of cgraph_node.
-
-2011-04-11  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/18918
-       * simplify.c (simplify_bound_dim): Exit for
-       ucobound's last dimension unless -fcoarray=single.
-       * trans-array (gfc_conv_descriptor_size_1): Renamed from
-       gfc_conv_descriptor_size, made static, has now from_dim and
-       to_dim arguments.
-       (gfc_conv_descriptor_size): Call gfc_conv_descriptor_size.
-       (gfc_conv_descriptor_cosize): New function.
-       * trans-array.h (gfc_conv_descriptor_cosize): New prototype.
-       * trans-intrinsic.c (conv_intrinsic_cobound): Add input_location
-       and handle last codim of ucobound for when -fcoarray is not "single".
-
-2011-04-08  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-       PR fortran/48448
-       * gfortran.h (gfc_option_t):  Add warn_function_elimination and
-       flag_frontend_optimize.
-       * lang.opt (Wfunction-elimination):  Add.
-       (ffrontend-optimize):  Add.
-       * invoke.texi:  Add documentation for -Wfunction-elimination
-       and -ffrontend-optimize.  Add -faggressive-function-elimination
-       to list of code generation options.
-       * frontend-passes.c (gfc_run_passes):  Run optimizations if
-       flag_frontend_optimize is set.
-       (warn_function_elimination):  New function.
-       (cfe_expr_0):  Call it if requested to do so.
-       * options.c (gfc_init_options):  Initiate warn_function_elimination
-       and flag_frontend_optimize.
-       (gfc_post_options):  Set flag_frontend_optimize if not specified
-       by user, depending on the optimization level.
-       (gfc_handle_option):  Handle -Wfunction-elimination and
-       -ffrontend-optimize.
-
-2011-04-06  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/18918
-       * trans-intrinsic.c (gfc_conv_intrinsic_function): Fix
-       call for this_image.
-
-2011-04-05  Nathan Froyd  <froydnj@codesourcery.com>
-
-       * trans-intrinsic.c (gfc_build_intrinsic_lib_fndecls): Use
-       build_function_type_list instead of build_function_type.  Correct
-       argument order for func_frexp and func_scalbn.
-
-2011-04-05  Duncan Sands  <baldrick@free.fr>
-
-       * f95-lang.c (build_builtin_fntypes): Swap frexp parameter types.
-
-2011-04-04  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-       * frontend-passes: (optimize_lexical_comparison): New function.
-       (optimize_expr): Call it.
-       (optimize_comparison): Also handle lexical comparison functions.
-       Return false instad of -2 for unequal comparison.
-
-2011-04-04  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-       PR fortran/48412
-       * frontend-passes (cfe_expr_0):  Reverse the order of going
-       through the loops.
-
-2011-04-04  Tobias Burnus  <burnus@net-b.de>
-           Mikael Morin  <mikael.morin@sfr.fr>
-
-       PR fortran/18918
-       * check.c (is_coarray): Update - because of DIMEN_THIS_IMAGE.
-       * expr.c (gfc_is_coindexed): Ditto.
-       * gfortran.h (gfc_array_ref_dimen_type): Add DIMEN_THIS_IMAGE.
-       * interface.c (compare_parameter): Use gfc_expr_attr and
-       gfc_is_coindexed.
-       * resolve.c (check_dimension, compare_spec_to_ref,
-       resolve_allocate_expr, check_data_variable): Update for
-       DIMEN_THIS_IMAGE.
-       * simplify.c (gfc_simplify_lcobound, gfc_simplify_this_image,
-       gfc_simplify_ucobound): Allow non-constant bounds.
-       * trans-array.c (gfc_set_loop_bounds_from_array_spec,
-       gfc_trans_create_temp_array, gfc_trans_constant_array_constructor,
-       gfc_set_vector_loop_bounds, gfc_conv_array_index_offset,
-       gfc_start_scalarized_body, gfc_trans_scalarizing_loops,
-       gfc_trans_scalarized_loop_boundary, gfc_conv_section_startstride,
-       gfc_conv_ss_startstride, gfc_conv_loop_setup,
-       gfc_trans_array_bounds, gfc_conv_expr_descriptor,
-       gfc_walk_variable_expr): Handle codimen.
-       * trans-decl.c (gfc_build_qualified_array): Save cobounds.
-       * trans-intrinsic.c (gfc_conv_intrinsic_bound): Use arg2.
-       (conv_intrinsic_cobound): New function.
-       (gfc_conv_intrinsic_function): Call it.
-       (gfc_walk_intrinsic_function, gfc_add_intrinsic_ss_code): Handle
-       ucobound, lcobound, this_image.
-       * fortran/trans-types.c (gfc_build_array_type): Save cobounds.
-       (gfc_get_dtype): Honour corank.
-       (gfc_get_nodesc_array_type): Save corank and codimensions.
-       (gfc_get_array_type_bounds): Save cobound.
-       * fortran/trans.h (gfc_ss_info,gfc_loopinfo): Add codimen item.
-       (gfc_array_kind): Add corank item.
-       (GFC_TYPE_ARRAY_CORANK): New macro.
-
-2011-04-03  Kai Tietz  <ktietz@redhat.com>
-
-       PR middle-end/48422
-       * Make-lang.in (f95-lang.o): Add some missing dependencies.
-
-2011-04-01  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-       PR fortran/48352
-       * frontend-passes (cfe_register_funcs):  Don't
-       register functions if they appear as iterators in DO loops.
-
-2011-03-30  Michael Matz  <matz@suse.de>
-
-       PR fortran/47516
-       * trans-expr.c (realloc_lhs_loop_for_fcn_call): Take loop as parameter,
-       don't use local variable.
-       (gfc_trans_arrayfunc_assign): Adjust caller.
-
-2011-03-29  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/48095
-       * decl.c (match_procedure_decl,match_ppc_decl): Set flavor of interface.
-       * module.c (MOD_VERSION): Bump.
-       (mio_typespec): Read/write 'interface' field.
-       * primary.c (match_string_constant,match_logical_constant): Remove
-       unneeded code.
-       (match_complex_constant): Make sure to clear the typespec.
-
-2011-03-29  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-       * frontend-passes.c (create_var):  Warn about creating an
-       array temporary if requested.
-
-2011-03-27  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-       PR fortran/47065
-       * frontend-passes.c (optimize_trim): Also follow references, except
-       when they are substring references or array references.
-
-2011-03-27  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/18918
-       * gfortran.h (gfc_isym_id): Rename GFC_ISYM_NUMIMAGES to
-       GFC_ISYM_NUM_IMAGES.
-       (gfc_fcoarray): Add GFC_FCOARRAY_LIB.
-       * intrinsic.c (add_functions): Update due to GFC_ISYM_NUM_IMAGES
-       rename.
-       * invoke.texi (-fcoarray=): Document "lib" argument.
-       * iresolve.c (gfc_resolve_this_image): Fix THIS IMAGE().
-       * libgfortran.h (libgfortran_stat_codes): Add comments.
-       * options.c (gfc_handle_coarray_option): Add -fcoarray=lib.
-       * simplify.c (gfc_simplify_num_images, gfc_simplify_this_image):
-       Handle GFC_FCOARRAY_LIB.
-       * trans.h (gfc_init_coarray_decl): New prototype.
-       (gfor_fndecl_caf_init, gfor_fndecl_caf_finalize,
-       gfor_fndecl_caf_critical, gfor_fndecl_caf_end_critical,
-       gfor_fndecl_caf_sync_all, gfor_fndecl_caf_sync_images,
-       gfor_fndecl_caf_error_stop, gfor_fndecl_caf_error_stop_str,
-       gfort_gvar_caf_num_images, gfort_gvar_caf_this_image):
-       New global variables.
-       * trans-decl.c: Declare several CAF functions (cf. above).
-       (gfc_build_builtin_function_decls): Initialize those.
-       (gfc_init_coarray_decl): New function.
-       (create_main_function): Call CAF init/finalize functions.
-       * trans-intrinsic.c (trans_this_image, trans_num_images): New.
-       (gfc_conv_intrinsic_function): Call those.
-       * trans-stmt.c (gfc_trans_stop, gfc_trans_sync, gfc_trans_critical):
-       Add code for GFC_FCOARRAY_LIB.
-
-2011-03-26  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/48291
-       * class.c (get_unique_hashed_string): Adjust maximum allowable length
-       for unique type string.
-
-2011-03-25  Kai Tietz  <ktietz@redhat.com>
-
-       * scanner.c (preprocessor_line): Use filename_cmp
-       instead of strcmp.
-
-2011-03-25  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/48174
-       PR fortran/45304
-       * trans-types.c (gfc_get_function_type): Don't use varargs if the
-       procedure is known to have no arguments.
-
-2011-03-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-       PR fortran/22572
-       * gfortran.h (gfc_option_t): Add
-       flag_aggressive_function_elimination.
-       (gfc_dep_compare_functions):  Add prototype.
-       * lang.opt: Add faggressive-function-elimination.
-       * invoke.texi: Document -faggressive-function-elimination.
-       * frontend_passes (expr_array):  New static variable.
-       (expr_size):  Likewise.
-       (expr_count):  Likewise.
-       (current_code):  Likewise.
-       (current_ns):  Likewise.
-       (gfc_run_passes):  Allocate and free space for expressions.
-       (cfe_register_funcs):  New function.
-       (create_var):  New function.
-       (cfc_expr_0):  New function.
-       (cfe_code):  New function.
-       (optimize_namespace):  Invoke gfc_code_walker with cfe_code
-       and cfe_expr_0.
-       * dependency.c (gfc_dep_compare_functions):  New function.
-       (gfc_dep_compare_expr):  Use it.
-       * options.c (gfc_init_options):  Handle
-       flag_aggressive_function_elimination.
-       (gfc_handle_option):  Likewise.
-
-2011-03-15  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
-
-       * arith.c (arith_power): Plug memory leak.
-
-2011-03-12  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/48059
-       * trans-expr.c (gfc_apply_interface_mapping_to_expr): Replace base type
-       for polymorphic arguments.
-
-2011-03-12  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
-
-       PR fortran/48054
-       * intrinsic.texi: Clarify doc of logarithm functions.
-
-2011-03-12  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
-
-       PR fortran/47552
-       * trans-intrinsic.c (gfc_conv_intrinsic_ctime): Fix type of
-       the string length variable.
-
-2011-03-11  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/47768
-       * module.c (ab_attribute,attr_bits): Add AB_PROC_POINTER_COMP.
-       (mio_symbol_attribute): Handle attribute 'proc_pointer_comp'.
-
-2011-03-06  Paul Thomas  <pault@gcc.gnu.org>
-           Jerry DeLisle  <jvdelisle@gcc.gnu.org>
-
-       PR fortran/47850
-       * expr.c (gfc_is_constant_expr): Only use gfc_constant_ac if
-       the expression has an iterator.  Otherwise, iterate through the
-       array, checking for constant expressions for each element.
-
-2011-03-04  Janne Blomqvist  <jb@gcc.gnu.org>
-
-       PR libfortran/47802
-       * intrinsic.texi: Update CTIME and FDATE documentation.
-
-2011-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * invoke.texi (Option Summary, Fortran Dialect Options)
-       (Preprocessing Options, Runtime Options, Code Gen Options):
-       Fix vertical list spacing by using @itemx for additinoal
-       items, empty line before @table.  Fix typos.
-
-2011-02-28  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
-
-       PR fortran/47894
-       * intrinsic.texi: Fix doc of the VERIFY intrinsic.
-
-2011-02-26  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/47846
-       * trans-stmt.c (gfc_trans_allocate): Fix allocation with
-       type-spec of deferred-length strings.
-
-2011-02-26  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/47886
-       * openmp.c (gfc_resolve_omp_directive): Resolve if()
-       condition of OpenMP's task.
-
-2011-02-26  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
-
-       PR fortran/47894
-       * intrinsic.texi: Fix doc of the VERIFY intrinsic.
-
-2011-02-24  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/47872
-       * intrinsic.texi (ALLOCATED, ATAN, BESSEL_JN, BESSEL_YN): Add
-       multitable for linebreak between different syntax variants.
-
-2011-02-24  Richard Guenther  <rguenther@suse.de>
-
-       PR fortran/47839
-       * f95-lang.c (pushdecl): For externs in non-global scope push
-       a copy of the decl into the BLOCK.
-
-2011-02-23  Mikael Morin  <mikael@gcc.gnu.org>
-
-       PR fortran/40850
-       * trans.c (gfc_prepend_expr_to_block): New function.
-       * trans.h (gfc_prepend_expr_to_block): Declare.
-       * trans-array.c (gfc_conv_array_parameter): Replace
-       gfc_add_expr_to_block with gfc_prepend_expr_to_block.
-
-2011-02-22  Paul Thomas  <pault@gcc.gnu.org>
-
-       PR fortran/45743
-       * trans-decl.c (gfc_get_extern_function_decl): Don't use the
-       gsymbol backend_decl if the procedure has a formal argument
-       that is a procedure.
-
-2011-02-22  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/41359
-       * trans-stmt.c (gfc_trans_if_1): Use correct line for
-       expressions in the if condition.
-
-2011-02-20  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/47797
-       * trans-decl.c (gfc_trans_deferred_vars): Use gfc_set_backend_locus and
-       gfc_restore_backend_locus to have better debug locations.
-       * trans-array.c (gfc_trans_deferred_array): Ditto.
-
-2011-02-20  Paul Thomas  <pault@gcc.gnu.org>
-
-       PR fortran/45077
-       PR fortran/44945
-       * trans-types.c (gfc_get_derived_type): Remove code that looks
-       for decls in gsym and add call to gfc_get_module_backend_decl.
-       * trans.h: Add prototype for gfc_get_module_backend_decl.
-       * trans-decl.c (gfc_get_module_backend_decl): New function.
-       (gfc_get_symbol_decl): Call it.
-
-2011-02-19  Paul Thomas  <pault@gcc.gnu.org>
-
-       PR fortran/47348
-       * trans-array.c (get_array_ctor_all_strlen): Move up in file.
-       (get_array_ctor_var_strlen): Add block dummy and add call to
-       get_array_ctor_all_strlen instead of giving up on substrings.
-       Call gcc_unreachable for default case.
-       (get_array_ctor_strlen): Add extra argument to in call to
-       get_array_ctor_var_strlen.
-
-2011-02-18  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/47789
-       * primary.c (gfc_match_structure_constructor): Handle empty parent
-       types.
-
-2011-02-18  Tobias Burnus
-
-       PR fortran/47775
-       * trans-expr.c (arrayfunc_assign_needs_temporary): Use
-       esym to check whether the specific procedure returns an
-       allocatable or pointer.
-
-2011-02-18  Michael Matz  <matz@suse.de>
-
-       PR fortran/45586
-       * gfortran.h (struct gfc_component): Add norestrict_decl member.
-       * trans.h (struct lang_type): Add nonrestricted_type member.
-       * trans-expr.c (gfc_conv_component_ref): Search fields with correct
-       parent type.
-       * trans-types.c (mirror_fields, gfc_nonrestricted_type): New.
-       (gfc_sym_type): Use it.
-
-2011-02-18  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/47768
-       * resolve.c (resolve_transfer): Reject variables with procedure pointer
-       components.
-
-2011-02-18  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/47767
-       * gfortran.h (gfc_check_access): Removed prototype.
-       (gfc_check_symbol_access): Added prototype.
-       * module.c (gfc_check_access): Renamed to 'check_access', made static.
-       (gfc_check_symbol_access): New function, basically a shortcut for
-       'check_access'.
-       (write_dt_extensions,write_symbol0,write_generic,write_symtree): Use
-       'gfc_check_symbol_access'.
-       (write_operator,write_module): Renamed 'gfc_check_access'.
-       * resolve.c (resolve_fl_procedure,resolve_fl_derived,
-       resolve_fl_namelist,resolve_symbol,resolve_fntype): Use
-       'gfc_check_symbol_access'.
-
-2011-02-16  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/47745
-       * class.c (gfc_build_class_symbol): Set 'class_ok' attribute.
-       * decl.c (build_sym,attr_decl1): Move setting of 'class_ok' into
-       'gfc_build_class_symbol'.
-       (gfc_match_decl_type_spec): Reject unlimited polymorphism.
-       * interface.c (matching_typebound_op): Check for 'class_ok' attribute.
-       * match.c (select_type_set_tmp): Move setting of 'class_ok' into
-       'gfc_build_class_symbol'.
-       * primary.c (gfc_variable_attr): Check for 'class_ok' attribute.
-
-2011-02-15  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-       PR fortran/47633
-       . simplify.c (gfc_simplify_compiler_version): Fix off-by-one issue.
-
-2011-02-14  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/47730
-       * parse.c (gfc_build_block_ns): Commit 'block@' symbol.
-
-2011-02-14  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/47728
-       * class.c (gfc_build_class_symbol): Give a fatal error on polymorphic
-       arrays.
-       * primary.c (gfc_match_varspec): Avoid ICE for invalid class
-       declaration.
-
-2011-02-14  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/47349
-       * interface.c (get_expr_storage_size): Handle derived-type components.
-
-2011-02-13  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/47569
-       * interface.c (compare_parameter): Avoid ICE with
-       character components.
-
-2011-02-12  Janus Weil  <janus@gcc.gnu.org>
-
-       * class.c (gfc_build_class_symbol): Reject polymorphic arrays.
-       * decl.c (build_sym,build_struct,attr_decl1): Use return value of
-       'gfc_build_class_symbol'.
-
-2011-02-12  Michael Matz  <matz@suse.de>
-           Janus Weil  <janus@gcc.gnu.org>
-           Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/45586
-       * trans-expr.c (conv_parent_component_references): Avoid unintendent
-       skipping of parent compounds.
-
-2011-02-11  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/47550
-       * resolve.c (resolve_formal_arglist): PURE with VALUE
-       and no INTENT: Add -std= diagnostics.
-
-2011-02-09  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/47352
-       * resolve.c (resolve_procedure_interface): If interface has a result
-       variable, copy the typespec and set result pointer to self.
-
-2011-02-09  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/47463
-       * resolve.c (resolve_typebound_subroutine): Remove erroneous line.
-
-2011-02-09  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/47637
-       * trans-decl.c (init_intent_out_dt): Handle CLASS arguments.
-
-2011-02-08  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
-
-       * io.c (match_io_element): Do not set dt if not inquire.
-
-2011-02-08  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/45290
-       * expr.c (gfc_check_assign_symbol): Reject pointers as pointer
-       initialization target.
-
-2011-02-07  Janne Blomqvist  <jb@gcc.gnu.org>
-           Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * gfortran.texi (Thread-safety): texinfo styling fixes.
-       * intrinsic.texi: Likewise.
-
-2011-02-06  Janne Blomqvist  <jb@gcc.gnu.org>
-
-       * gfortran.texi (Compiler Characteristics): Add reference to
-       thread-safety section.
-
-2011-02-06  Janne Blomqvist  <jb@gcc.gnu.org>
-
-       * gfortran.texi (Thread-safety): New section.
-       * intrinsic.texi (EXECUTE_COMMAND_LINE): Mention thread-safety.
-       (GETENV): Likewise.
-       (GET_ENVIRONMENT_VARIABLE): Likewise.
-       (SYSTEM): Likewise.
-
-2011-02-06  Paul Thomas  <pault@gcc.gnu.org>
-
-       PR fortran/47592
-       * trans-stmt.c (gfc_trans_allocate): For deferred character
-       length allocations with SOURCE, store to the values and string
-       length to avoid calculating twice.  Replace gfc_start_block
-       with gfc_init_block to avoid unnecessary contexts and to keep
-       declarations of temporaries where they should be. Tidy up the
-       code a bit.
-
-2011-02-05  Janne Blomqvist  <jb@gcc.gnu.org>
-
-       PR fortran/42434
-       * intrinsic.texi (SYSTEM_CLOCK): Update documentation.
-
-2011-02-02  Janus Weil  <janus@gcc.gnu.org>
-           Paul Thomas  <pault@gcc.gnu.org>
-
-       PR fortran/47082
-       * trans-expr.c (gfc_trans_class_init_assign): Add call to
-       gfc_get_derived_type.
-       * module.c (read_cleanup): Do not use unique_symtrees for vtabs
-       or vtypes.
-
-2011-02-02  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/47572
-       * resolve.c (resolve_fl_variable): Handle polymorphic allocatables.
-
-2011-02-01  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/47565
-       * trans-expr.c (gfc_conv_structure): Handle constructors for procedure
-       pointer components with allocatable result.
-
-2011-01-31  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/47455
-       * trans-expr.c (gfc_conv_procedure_call): Handle procedure pointers
-       with pointer or allocatable result.
-
-2011-01-31  Paul Thomas  <pault@gcc.gnu.org>
-
-       PR fortran/47519
-       * trans-stmt.c (gfc_trans_allocate): Improve handling of
-       deferred character lengths with SOURCE.
-       * iresolve.c (gfc_resolve_repeat): Calculate character
-       length from source length and ncopies.
-       * dump-parse-tree.c (show_code_node): Show MOLD and SOURCE
-       expressions for ALLOCATE.
-
-2011-01-31  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/47463
-       * resolve.c (resolve_typebound_subroutine): Bug fix for the case of
-       an argument of a typebound assignment being a component.
-
-2011-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       * gfortranspec.c (add_arg_libgfortran) [HAVE_LD_STATIC_DYNAMIC] Use
-       LD_STATIC_OPTION, LD_DYNAMIC_OPTION.
-
-2011-01-31  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/47042
-       * resolve.c (resolve_fl_procedure): Reject stmt functions
-       with pointer/allocatable attribute.
-
-2011-01-31  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/47042
-       * interface.c (gfc_procedure_use): Add explicit interface check for
-       pointer/allocatable functions.
-
-2011-01-30  Paul Thomas  <pault@gcc.gnu.org>
-
-       PR fortran/47523
-       * trans-expr.c (gfc_trans_assignment_1): If the rhs is an op
-       expr and is assigned to a deferred character length scalar,
-       make sure that the function is called before reallocation,
-       so that the length is available. Include procedure pointer
-       and procedure pointer component rhs as well.
-
-       PR fortran/45170
-       PR fortran/35810
-       PR fortran/47350
-       * gfortran.dg/allocatable_function_5.f90: New test not added by
-       mistake on 2011-01-28.
-
-2011-01-29  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/47531
-       * check.c (gfc_check_shape): Support kind argument in SHAPE.
-       * intrinsic.c (add_functions): Ditto.
-       * resolve.c (gfc_resolve_shape): Ditto.
-       * simplify.c (gfc_simplify_shape): Ditto.
-       * intrinsic.h (gfc_check_shape, gfc_resolve_shape,
-       gfc_simplify_shape): Update prototypes.
-       * intrinisc.text (SHAPE): Document kind argument.
-
-2011-01-28  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/47507
-       * resolve.c (resolve_formal_arglist): Allow arguments with VALUE
-       attribute also without INTENT.
-
-2011-01-28  Tobias Burnus  <burnus@net-b.de>
-
-       * gfortran.texi (Fortran 2003 status): Mention support for
-       nonconstant namelist variables.
-
-2011-01-28  Paul Thomas  <pault@gcc.gnu.org>
-           Tobias Burnus  <burnus@gcc.gnu.org>
-
-       PR fortran/45170
-       PR fortran/35810
-       PR fortran/47350
-       * interface.c (compare_actual_formal): An allocatable or pointer
-       deferred length actual is only allowed if the formal argument
-       is also deferred length. Clean up whitespace.
-       * trans-expr.c (gfc_conv_procedure_call): Pass string length for
-       deferred character length formal arguments by reference. Do the
-       same for function results.
-       (gfc_trans_pointer_assignment): Do not do runtime check of lhs
-       and rhs character lengths, if deferred length lhs.  In this case
-       set the lhs character length to that of the rhs.
-       (gfc_conv_string_parameter): Remove assert that string length is
-       an integer type.
-       (is_scalar_reallocatable_lhs): New function.
-       (alloc_scalar_allocatable_for_assignment): New function.
-       (gfc_trans_assignment_1): Call above new function. If the rhs is
-       a deferred character length itself, makes ure that the function
-       is called before reallocation, so that the length is available.
-       (gfc_trans_asssignment): Remove error about assignment to
-       deferred length character variables.
-       * gfortran.texi: Update entry about (re)allocation on
-       assignment.
-       * trans-stmt.c (gfc_trans_allocate): Add code to handle deferred
-       length character variables.
-       * module.c (mio_typespec): Transfer deferred characteristic.
-       * trans-types.c (gfc_get_function_type): New code to generate
-       hidden typelist, so that those character lengths that are
-       passed by reference get the right type.
-       * resolve.c (resolve_contained_fntype): Supress error for
-       deferred character length functions.
-       (resolve_function, resolve_fl_procedure) The same.
-       (check_symbols): Remove the error that support for
-       entity with deferred type parameter is not yet implemented.
-       (resolve_fl_derived): The same.
-       match.c (alloc_opt_list): Allow MOLD for deferred length object.
-       * trans-decl.c (gfc_get_symbol_decl): For deferred character
-       length dummies, generate a local variable for string length.
-       (create_function_arglist): Hidden length can be a pointer.
-       (gfc_trans_deferred_vars): For deferred character length
-       results and dummies, assign the string length to the local
-       variable from the hidden argument on entry and the other way
-       round on exit, as appropriate.
-
-2011-01-27  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/47474
-       * trans-decl.c (gfc_generate_function_code): Fix init
-       of allocatable result variable with allocatable components.
-
-2011-01-27  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/47472
-       * options.c (gfc_handle_module_path_options): Save
-       module path without trailing slash as include path.
-
-2011-01-25  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/47448
-       * interface.c (gfc_check_operator_interface): Fix
-       defined-assignment check.
-
-2011-01-23  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/47421
-       * trans-decl.c (gfc_trans_deferred_vars): Do not nullify
-       scalar allocatable dummy arguments.
-
-2011-01-22  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-       PR fortran/38536
-       * resolve.c (gfc_iso_c_func_interface):  For C_LOC,
-       check for array sections followed by component references
-       which are illegal.  Also check for coindexed arguments.
-
-2011-01-22  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/47399
-       * primary.c (gfc_match_varspec): Relax gcc_assert to allow for
-       PARAMETER TBP.
-
-2011-01-21  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/47394
-       * error.c (gfc_error_now, gfc_fatal_error, gfc_error_check):
-       Use defined instead of magic number exit status codes.
-       * scanner.c (include_line, gfc_new_file): Ditto.
-
-2011-01-21  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/47377
-       * expr.c (gfc_check_pointer_assign): Reject expr data-targets
-       without pointer attribute.
-
-2011-01-18  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/47240
-       * resolve.c (expression_rank): Fix rank of procedure poiner components.
-       * trans-expr.c (gfc_conv_procedure_call): Take care of procedure
-       pointer components as actual arguments.
-
-2011-01-17  Jakub Jelinek  <jakub@redhat.com>
-
-       PR fortran/47331
-       * gfortran.h (struct gfc_omp_saved_state): New type.
-       (gfc_omp_save_and_clear_state, gfc_omp_restore_state): New prototypes.
-       * resolve.c (resolve_global_procedure): Call it around gfc_resolve
-       call.
-       * openmp.c (gfc_omp_save_and_clear_state, gfc_omp_restore_state): New
-       functions.
-
-2011-01-17  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/47327
-       * invoke.texi (Options to request or suppress errors
-       and warnings): Fix cross link.
-
-2011-01-15  Tobias Burnus  <burnus@net-b.de>
-
-       * gfortran.texi: Update Fortran 2003 Status section.
-
-       PR fortran/47177
-       * invoke.texi: Add missing "-E" to the -dM example.
-
-2011-01-13  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/47268
-       * intrinsic.texi (get_command_argument, get_environment_variable):
-       Mark arguments as optional in the Arguments section.
-
-2011-01-13  Kai Tietz  <kai.tietz@onevision.com>
-           Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/47260
-       * trans-decl.c (gfc_get_extern_function_decl,
-       build_function_decl): Set TREE_PUBLIC/TREE_EXTERNAL before
-       calling decl_attributes.
-
-2011-01-13  Tobias Burnus  <burnus@net-b.de>
-           Mikael Morin  <mikael@gcc.gnu.org>
-
-       PR fortran/45848
-       PR fortran/47204
-       * gfortran.h (gfc_code): Move union ext's case_list into
-       the struct block.
-       * dump-parse-tree.c (show_code_node): Adapt by prefixing case_list
-       by "block.".
-       * frontend-passes.c (gfc_code_walker): Ditto.
-       * match.c (gfc_match_goto, gfc_match_call, gfc_match_case,
-       gfc_match_type_is, gfc_match_class_is): Ditto.
-       * resolve.c (resolve_select, resolve_select_type): Ditto.
-       * st.c (gfc_free_statement): Ditto.
-       * trans-stmt.c (gfc_trans_integer_select, gfc_trans_logical_select,
-       gfc_trans_character_select): Ditto.
-       * parse.c (resolve_all_program_units): For error recovery, avoid
-       segfault is proc_name is NULL.
-
-2011-01-11  Paul Thomas  <pault@gcc.gnu.org>
-
-       PR fortran/47051
-       * trans-array.c (gfc_alloc_allocatable_for_assignment): Change
-       to be standard compliant by testing for shape rather than size
-       before skipping reallocation. Improve comments.
-
-2011-01-09  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/47224
-       * resolve.c (resolve_actual_arglist): Remove unneeded and buggy piece
-       of code.
-
-2011-01-09  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-       PR fortran/38536
-       * resolve.c (is_scalar_expr_ptr):  For a substring reference,
-       use gfc_dep_compare_expr to compare start and end expession.
-       Add FIXME for using gfc_deb_compare_expr elsewhere.
-
-2011-01-09  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/46313
-       * class.c (get_unique_type_string): Make type name start with upper
-       case letter.
-
-2011-01-08  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-       PR fortran/46405
-       * invoke.texi:  Mention -ffree-line-length-none and
-       -ffixed-line-length-none for preprocessing.
-
-2011-01-08  Paul Thomas  <pault@gcc.gnu.org>
-
-       PR fortran/46896
-       * trans-expr.c (gfc_conv_procedure_call): With a non-copying
-       procedure argument (eg TRANSPOSE) use a temporary if there is
-       any chance of aliasing due to host or use association.
-       (arrayfunc_assign_needs_temporary): Correct logic for function
-       results and do not use a temporary for implicitly PURE
-       variables.  Use a temporary for Cray pointees.
-       * symbol.c (gfc_add_save): Explicit SAVE not compatible with
-       implicit pureness of containing procedure.
-       * decl.c (match_old_style_init, gfc_match_data): Where decl
-       would fail in PURE procedure, set implicit_pure to zero.
-       * gfortran.h: Add implicit_pure to structure symbol_attr and
-       add prototype for function gfc_implicit_pure.
-       * expr.c (gfc_check_pointer_assign, gfc_check_vardef_context):
-       Where decl would fail in PURE procedure, reset implicit_pure.
-       * io.c (match_vtag, gfc_match_open, gfc_match_close,
-       gfc_match_print, gfc_match_inquire, gfc_match_wait): The same.
-       * match.c (gfc_match_critical, gfc_match_stopcode,
-       sync_statement, gfc_match_allocate, gfc_match_deallocate): The
-       same.
-       * parse.c (decode_omp_directive): The same.
-       (parse_contained): If not PURE, set implicit pure attribute.
-       * resolve.c (resolve_formal_arglist, resolve_structure_cons,
-       resolve_function, resolve_ordinary_assign): The same.
-       (gfc_implicit_pure): New function.
-       * module.c (mio_symbol_attribute): Introduce AB_IMPLICIT_PURE
-       to ab_attribute enum and use it in this function.
-
-2011-01-08  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-       PR fortran/45777
-       * symbol.c (gfc_symbols_could_alias):  Strip gfc_ prefix,
-       make static and move in front of its only caller, to ...
-       * trans-array.c (symbols_could_alias): ... here.
-       Pass information about pointer and target status as
-       arguments.  Allocatable arrays don't alias anything
-       unless they have the POINTER attribute.
-       (gfc_could_be_alias):  Keep track of pointer and target
-       status when following references.  Also check if typespecs
-       of components match those of other components or symbols.
-
-2011-01-07  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/41580
-       * class.c (gfc_build_class_symbol): Mark __vtab as attr.vtab.
-       * intrinsic.c (add_functions): Use simplify functions for
-       EXTENDS_TYPE_OF and SAME_TYPE_AS.
-       * intrinsic.h (gfc_simplify_extends_type_of,
-       gfc_simplify_same_type_as): New prototypes.
-       * simplify.c (is_last_ref_vtab, gfc_simplify_extends_type_of,
-       gfc_simplify_same_type_as): New functions.
-
-2011-01-07  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/47189
-       PR fortran/47194
-       * gfortran.h (gfc_lval_expr_from_sym): Moved prototype.
-       * class.c (gfc_class_null_initializer): Initialize _vptr to declared
-       type.
-       * expr.c (gfc_lval_expr_from_sym): Moved here from symbol.c.
-       * resolve.c (resolve_deallocate_expr): _data component will be added
-       at translation stage.
-       * symbol.c (gfc_lval_expr_from_sym): Moved to expr.c.
-       * trans-stmt.c (gfc_trans_deallocate): Reset _vptr to declared type.
-
-2011-01-06  Daniel Franke  <franke.daniel@gmail.com>
-
-       PR fortran/33117
-       PR fortran/46478
-       * parse.c (parse_interface): Remove check for procedure types.
-       * interface.c (check_interface0): Verify that procedures are
-       either all SUBROUTINEs or all FUNCTIONs.
-
-2011-01-05  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/47180
-       * trans-expr.c (gfc_trans_class_assign): Bugfix for r168524 (make sure
-       'vtab' is initialized).
-
-2011-01-05  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/47180
-       * trans-expr.c (gfc_trans_class_assign): For a polymorphic NULL pointer
-       assignment, set the _vptr component to the declared type.
-
-2011-01-05  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-       PR fortran/46017
-       * resolve.c (resolve_allocate_deallocate): Follow references to
-       check for duplicate occurence of allocation/deallocation objects.
-
-2011-01-05  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/47024
-       * trans-decl.c (gfc_trans_deferred_vars): Initialize the _vpr component
-       of polymorphic allocatables according to their declared type.
-
-2011-01-04  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/46448
-       * class.c (gfc_find_derived_vtab): Set the module field for the copying
-       routine to make sure it receives module name mangling.
+2012-01-09  Mikael Morin  <mikael@gcc.gnu.org>
+
+       PR fortran/51758
+       * trans-array.c (gfc_walk_elemental_function_args):
+       Skip over NULL() actual arguments.
+
+2012-01-09  Tobias Burnus  <burnus@net-b.de>
+
+       * gfortran.texi: Bump copyright year.
+       (Fortran 2003 Status): Update polymorphism item, add
+       item for generic interface with DT name.
+
+2012-01-09  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/51578
+       * gfortran.h (gfc_use_list):
+       * match.h (gfc_use_module): Rename to ...
+       (gfc_use_modules): ... this.
+       * module.c (use_locus, specified_nonint, specified_int): Remove
+       global variable.
+       (module_name): Change type to const char*, used with gfc_get_string.
+       (module_list): New global variable.
+       (free_rename): Free argument not global var.
+       (gfc_match_use): Save match to module_list.
+       (load_generic_interfaces, read_module): Don't free symtree.
+       (write_dt_extensions, gfc_dump_module): Fix module-name I/O due to the
+       type change of module_name.
+       (write_symbol0, write_generic): Optimize due to the type change.
+       (import_iso_c_binding_module, use_iso_fortran_env_module): Use
+       locus of rename->where.
+       (gfc_use_module): Take module_list as argument.
+       (gfc_use_modules): New function.
+       (gfc_module_init_2, gfc_module_done_2): Init module_list, rename_list.
+       * parse.c (last_was_use_stmt): New global variable.
+       (use_modules): New function.
+       (decode_specification_statement, decode_statement): Move USE match up
+       and call use_modules.
+       (next_free, next_fixed): Call use_modules.
+       (accept_statement): Don't call gfc_module_use.
+
+2012-01-06  Tobias Burnus <burnus@net-b.de>
+
+       * trans-openmp.c (gfc_omp_clause_dtor, gfc_trans_omp_array_reduction):
+       Update call to gfc_trans_dealloc_allocated.
+       * trans.c (gfc_allocate_using_malloc): Fix spacing.
+       (gfc_allocate_allocatable): For gfc_allocate_using_lib, jump to
+       label_finish when an error occurs.
+       (gfc_deallocate_with_status): Call caf_deregister for -fcoarray=lib.
+       * trans.h (gfc_allocate_allocatable, gfc_deallocate_with_status):
+       Update prototype.
+       (gfor_fndecl_caf_deregister): New tree symbol.
+       * trans-expr.c (gfc_conv_procedure_call): Update
+       gfc_deallocate_with_status and gfc_trans_dealloc_allocated calls.
+       * trans-array.c (gfc_array_allocate, gfc_trans_dealloc_allocated,
+       structure_alloc_comps, gfc_trans_deferred_array): Ditto.
+       (gfc_array_deallocate): Handle coarrays with -fcoarray=lib.
+       * trans-array.h (gfc_array_deallocate, gfc_array_allocate,
+       gfc_trans_dealloc_allocated): Update prototypes.
+       * trans-stmt.c (gfc_trans_sync): Fix indentation.
+       (gfc_trans_allocate): Fix errmsg padding and label handling.
+       (gfc_trans_deallocate): Ditto and handle -fcoarray=lib.
+       * expr.c (gfc_is_coarray): Fix algorithm for BT_CLASS.
+       * libgfortran.h (GFC_STAT_STOPPED_IMAGE): Use large value
+       to avoid other stats accidentally matching this one.
+       * trans-decl.c (gfor_fndecl_caf_deregister): New global var.
+       (gfc_build_builtin_function_decls): Fix prototype decl of caf_register
+       and add decl for caf_deregister.
+       (gfc_trans_deferred_vars): Handle CAF vars with -fcoarrays=lib.
+       * trans-intrinsic.c (conv_intrinsic_move_alloc): Update call to
+       gfc_deallocate_with_status.
+
+2012-01-05  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/PR48946
+       * resolve.c (resolve_typebound_static): If the typebound
+       procedure is 'deferred' try to find the correct specific
+       procedure in the derived type operator space itself.
+
+2012-01-04  Mikael Morin  <mikael@gcc.gnu.org>
+
+       PR fortran/50981
+       * trans-array.h (gfc_walk_elemental_function_args): New argument.
+       * trans-intrinsic.c (gfc_walk_intrinsic_function): Update call.
+       * trans-stmt.c (gfc_trans_call): Ditto.
+       * trans-array.c (gfc_walk_function_expr): Ditto.
+       (gfc_walk_elemental_function_args): Get the dummy argument list
+       if possible.  Check that the dummy and the actual argument are both
+       optional, and set can_be_null_ref accordingly.
+
+2012-01-04  Mikael Morin  <mikael@gcc.gnu.org>
+
+       PR fortran/50981
+       * trans.h (struct gfc_ss_info): New field data::scalar::can_be_null_ref
+       * trans-array.c: If the reference can be NULL, save the reference
+       instead of the value.
+       * trans-expr.c (gfc_conv_expr): If we have saved a reference,
+       dereference it.
+
+2012-01-04  Mikael Morin  <mikael@gcc.gnu.org>
+
+       * trans-expr.c (gfc_conv_expr): Move address taking...
+       (gfc_conv_expr_reference): ... here.
+
+2012-01-04  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/49693
+       * trans-common.c (create_common): Update copyright years.  Mark
+       variables as used to avoid warnings about unused variables in
+       common blocks.
+
+2012-01-03  Hans-Peter Nilsson  <hp@axis.com>
+
+       * gfortran.h (struct gfc_expr): Add missing "struct"
+       qualifier for member base_expr.
+
+2012-01-02  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/51529
+       * trans-array.c (gfc_array_allocate): Null allocated memory of
+       newly allocted class arrays.
+
+       PR fortran/46262
+       PR fortran/46328
+       PR fortran/51052
+       * interface.c(build_compcall_for_operator): Add a type to the
+       expression.
+       * trans-expr.c (conv_base_obj_fcn_val): New function.
+       (gfc_conv_procedure_call): Use base_expr to detect non-variable
+       base objects and, ensuring that there is a temporary variable,
+       build up the typebound call using conv_base_obj_fcn_val.
+       (gfc_trans_class_assign): Pick out class procedure pointer
+       assignments and do the assignment with no further prcessing.
+       (gfc_trans_class_array_init_assign, gfc_trans_class_init_assign
+       gfc_trans_class_assign): Move to top of file.
+       * gfortran.h : Add 'base_expr' field to gfc_expr.
+       * resolve.c (get_declared_from_expr): Add 'types' argument to
+       switch checking of derived types on or off.
+       (resolve_typebound_generic_call): Set the new argument.
+       (resolve_typebound_function, resolve_typebound_subroutine):
+       Set 'types' argument for get_declared_from_expr appropriately.
+       Identify base expression, if not a variable, in the argument
+       list of class valued calls. Assign it to the 'base_expr' field
+       of the final expression. Strip away all references after the
+       last class reference.
+
+2012-01-02  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/51682
+       * trans-intrinsic.c (trans_this_image, trans_image_index,
+       trans_num_images, conv_intrinsic_cobound): Fold_convert the
+       caf_num_images/caf_this_images variables to the correct int kind.
 
 
-2011-01-03  Jakub Jelinek  <jakub@redhat.com>
+2012-01-01  Jakub Jelinek  <jakub@redhat.com>
 
        * gfortranspec.c (lang_specific_driver): Update copyright notice
        dates.
 
        * gfortranspec.c (lang_specific_driver): Update copyright notice
        dates.
-
-2011-01-03  Janus Weil  <janus@gcc.gnu.org>
-
-       * intrinsic.texi (LEADZ): Fix example.
-
-2011-01-02  Janus Weil  <janus@gcc.gnu.org>
-
-       PR fortran/46408
-       * class.c (gfc_find_derived_vtab): Use EXEC_INIT_ASSIGN for __copy_
-       routine.
-
 \f
 \f
-Copyright (C) 2011 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
 
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright