+2012-09-08 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/54208
+ * simplify.c (simplify_bound_dim): Resolve array spec before
+ proceeding with simplification.
+
+2012-07-06 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/53732
+ * trans-array.c (gfc_add_loop_ss_code): Disable self recursive calls
+ handling nested loop(s) if the subscript flag is true.
+
+2012-06-22 Tobias Burnus <burnus@net-b.de>
+
+ Backport from mainline
+ 2012-06-17 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/53691
+ PR fortran/53685
+ * check.c (gfc_calculate_transfer_sizes): Return if
+ SIZE= is not constant or source-size cannot be determined.
+
+2012-06-14 Tobias Burnus <burnus@net-b.de>
+
+ Backport from mainline
+ 2012-06-04 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/50619
+ * resolve.c (build_default_init_expr): Don't initialize
+ ASSOCIATE names.
+
+2012-06-14 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/53597
+ * decl.c (match_attr_spec): Only mark module variables
+ as SAVE_IMPLICIT for Fortran 2008 and later.
+
+2012-06-14 Release Manager
+
+ * GCC 4.7.1 released.
+
+2012-06-01 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/53521
+ * trans.c (gfc_deallocate_scalar_with_status): Properly
+ handle the case size == 0.
+
+2012-05-23 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/53389
+ * trans-array.c (gfc_add_loop_ss_code): Don't evaluate expression, if
+ ss->is_alloc_lhs is set.
+
+2012-05-07 Tobias Burnus <burnus@net-b.de>
+
+ Backport from mainline:
+ 2012-05-07 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/53255
+ * resolve.c (resolve_typebound_static): Fix handling
+ of overridden specific to generic operator.
+
+2012-05-05 Tobias Burnus <burnus@net-b.de>
+
+ Backport from mainline:
+ 2012-05-04 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/53111
+ * resolve.c (resolve_fl_derived): Fix -std=f95
+ diagnostic for generic vs. DT names.
+
+2012-05-02 Tobias Burnus <burnus@net-b.de>
+
+ Backport from mainline
+ 2012-04-12 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52864
+ * expr.c (gfc_check_vardef_context): Fix assignment check for
+ pointer components.
+
+2012-04-30 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/53148
+ Backport from trunk
+ * frontend-passes.c (create_var): If the statement has a label,
+ put the label around the block.
+
+2012-04-07 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/52893
+ Backport from trunk
+ * frontend-passes.c: Keep track of wether we are in an implicit
+ DO loop; do not do function elimination if we are.
+
+2012-04-07 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/52668
+ Backport from trunk
+ * module.c: Only mark symbols as use_only if they have been
+ imported via an only list.
+
+2012-03-22 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52452
+ * resolve.c (resolve_intrinsic): Don't search for a
+ function if we know that it is a subroutine.
+
+2012-03-22 Release Manager
+
+ * GCC 4.7.0 released.
+
+2012-03-10 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52469
+ * trans-types.c (gfc_get_function_type): Handle backend_decl
+ of a procedure pointer.
+
+2012-02-29 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/52386
+ * trans-expr.c (fcncall_realloc_result): Dereference the
+ descriptor if needed.
+
+2012-02-22 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52335
+ * io.c (gfc_match_open): Remove bogus F2003 DELIM= check.
+
+2012-02-18 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52295
+ * interface.c (check_interface0): Internal procs in
+ generic interfaces are allowed in Fortran 2008.
+
+2012-02-17 Tobias Burnus <burnus@net-b.de>
+ Roland Stigge <stigge@antcom.de>
+
+ PR translation/52273
+ * interface.c (compare_actual_formal): Fix typo "at at".
+
+2012-02-17 Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.texi (Q exponent-letter): Fix grammar.
+
+2012-02-17 Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.texi (Status): Fix typos.
+ * invoke.texi (ffixed-form, fstack-arrays): Spell Fortran with
+ a majuscule.
+
+2012-02-17 Tobias Burnus <burnus@net-b.de>
+ Roland Stigge <stigge@antcom.de>
+
+ PR translation/52232
+ PR translation/52234
+ PR translation/52245
+ PR translation/52246
+ PR translation/52262
+ PR translation/52273
+ * io.c (gfc_match_open): Fix typo.
+ * interface.c (compare_actual_formal): Ditto.
+ * lang.opt (freal-4-real-8, freal-4-real-16, freal-8-real-16): Ditto.
+ * match.c (alloc_opt_list, gfc_match_nullify): Ditto.
+ * check.c (gfc_check_associated, gfc_check_null): Ditto.
+
+2012-02-12 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/50981
+ * trans-stmt.c (gfc_get_proc_ifc_for_call): New function.
+ (gfc_trans_call): Use gfc_get_proc_ifc_for_call.
+
+2012-02-12 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-array.c (gfc_walk_elemental_function_args,
+ gfc_walk_function_expr): Move call to gfc_get_proc_ifc_for_expr out
+ of gfc_walk_elemental_function_args.
+ * trans-stmt.c (gfc_trans_call): Ditto.
+ * trans-array.h (gfc_get_proc_ifc_for_expr): New prototype.
+ (gfc_walk_elemental_function_args): Update prototype.
+
+2012-02-12 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-array.c (gfc_get_proc_ifc_for_expr): New function.
+ (gfc_walk_elemental_function_args): Move code to
+ gfc_get_proc_ifc_for_expr and call it.
+
+2012-02-08 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52151
+ * trans-expr.c (fcncall_realloc_result): Set also the stride.
+
+2012-02-07 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51514
+ * trans-expr.c (gfc_conv_procedure_call): Add _data component
+ for calls of scalar CLASS actuals to TYPE dummies.
+
+2012-02-05 Thomas König <tkoenig@gcc.gnu.org>
+
+ PR fortran/48847
+ * trans-decl.c: Warn about unused dummy procedure arguments
+ if -Wunused-dummy-argument is specified. Suppress middle-end
+ warnings about procedure arguments.
+
+2012-02-05 Paul Thomas <pault@gcc.gnu.org>
+
+ * trans-array.c (gfc_array_allocate): Zero memory for all class
+ array allocations.
+ * trans-stmt.c (gfc_trans_allocate): Ditto for class scalars.
+
+ PR fortran/52102
+ * trans-stmt.c (gfc_trans_allocate): Before correcting a class
+ array reference, ensure that 'dataref' points to the _data
+ component that is followed by the array reference..
+
+2012-02-02 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/41587
+ PR fortran/46356
+ PR fortran/51754
+ PR fortran/50981
+ * class.c (insert_component_ref, class_data_ref_missing,
+ gfc_fix_class_refs): New functions.
+ * gfortran.h (gfc_fix_class_refs): New prototype.
+ * trans-expr.c (gfc_conv_expr): Remove special case handling and call
+ gfc_fix_class_refs instead.
+
+2012-02-02 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/52012
+ * trans-expr.c (fcncall_realloc_result): If variable shape is
+ correct, retain the bounds, whatever they are.
+
+2012-02-02 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52093
+ * simplify.c (gfc_simplify_size): Handle INTRINSIC_PARENTHESES.
+
+2012-02-01 Thomas König <tkoenig@gcc.gnu.org>
+
+ PR fortran/51958
+ * frontend-passes.c (convert_elseif): New function.
+ (optimize_namespace): Call it.
+
+2012-02-01 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52024
+ * module.c (MOD_VERSION): Bump.
+ (mio_typebound_proc): Read/write is_operator from/to the
+ .mod file.
+
+2012-02-01 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52059
+ * trans-expr.c (gfc_conv_procedure_call): Add array ref
+ only to variables.
+
+2012-01-31 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52024
+ * gfortran.h (gfc_tbp_generic): Store whether the
+ generic is an operator.
+ * decl.c (gfc_match_generic): Set that flag.
+ * resolve.c (check_generic_tbp_ambiguity): Use it in the
+ gfc_compare_interfaces check.
+
+2012-01-31 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52029
+ * class.c (gfc_find_derived_vtab): Mark _copy function as pure.
+
+2012-01-31 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52013
+ * class.c (get_unique_hashed_string): Adapt trim length.
+ (gfc_build_class_symbol) Encode also corank in the container name.
+
+2012-01-31 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/52012
+ * trans-expr.c (fcncall_realloc_result): Correct calculation of
+ result offset.
+
+2012-01-29 Janne Blomqvist <jb@gcc.gnu.org>
+
+ * module.c (pointer_info): Make true_name and module pointers
+ rather than arrays, order pointers before other fields.
+ (free_pi_tree): free true_name and module as well.
+ (mio_read_string): Rename to read_string.
+ (mio_write_string): Remove.
+ (load_commons): Use read_string.
+ (read_module): Use read_string rather than mio_internal_string.
+ (write_blank_common): Call write_atom directly.
+ (write_symbol): Likewise.
+
+2012-01-29 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/41600
+ * expr.c (gfc_default_initializer): Convert the values if
+ the type does not match.
+
+2012-01-29 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51972
+ * trans-array.c (structure_alloc_comps): Fix assignment of
+ polymorphic components (polymorphic deep copying).
+
+2012-01-29 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR fortran/51808
+ * decl.c (set_binding_label): Make binding_label argument const.
+ (curr_binding_label): Constify.
+ * gfortran.h (gfc_symbol): Constify binding_label.
+ (gfc_common_head): Likewise.
+ (get_iso_c_sym): Likewise.
+ * match.c (gfc_match_name_C): Constify buffer argument.
+ * match.h (gfc_match_name_C): Likewise.
+ * resolve.c (set_name_and_label): Constify binding_label argument.
+ (gfc_iso_c_sub_interface): Constify binding_label variable.
+ * symbol.c (get_iso_c_sym): Constify binding_label argument.
+
+2012-01-29 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR fortran/51808
+ * decl.c (set_binding_label): Move prototype from match.h to here.
+ (curr_binding_label): Make a pointer rather than static array.
+ (build_sym): Check sym->binding_label pointer rather than array,
+ update set_binding_label call, handle curr_binding_label changes.
+ (set_binding_label): Handle new curr_binding_label, dest_label
+ double ptr, and sym->binding_label.
+ (verify_bind_c_sym): Handle sym->binding_label being a pointer.
+ (set_verify_bind_c_sym): Check sym->binding_label pointer rather
+ than array, update set_binding_label call.
+ (gfc_match_bind_c_stmt): Handle curr_binding_label change.
+ (match_procedure_decl): Update set_binding_label call.
+ (gfc_match_bind_c): Change binding_label to pointer, update
+ gfc_match_name_C call.
+ * gfortran.h (GFC_MAX_BINDING_LABEL_LEN): Remove macro.
+ (gfc_symbol): Make binding_label a pointer.
+ (gfc_common_head): Likewise.
+ * match.c (gfc_match_name_C): Heap allocate bind(C) name.
+ * match.h (gfc_match_name_C): Change prototype argument.
+ (set_binding_label): Move prototype to decl.c.
+ * module.c (struct pointer_info): Make binding_label a pointer.
+ (free_pi_tree): Free unused binding_label.
+ (mio_read_string): New function.
+ (mio_write_string): New function.
+ (load_commons): Redo reading of binding_label.
+ (read_module): Likewise.
+ (write_common_0): Change to write empty string instead of name if
+ no binding_label.
+ (write_blank_common): Write empty string for binding label.
+ (write_symbol): Change to write empty string instead of name if no
+ binding_label.
+ * resolve.c (gfc_iso_c_func_interface): Don't set binding_label.
+ (set_name_and_label): Make binding_label double pointer, use
+ asprintf.
+ (gfc_iso_c_sub_interface): Make binding_label a pointer.
+ (resolve_bind_c_comms): Handle cases if
+ gfc_common_head->binding_label is NULL.
+ (gfc_verify_binding_labels): sym->binding_label is a pointer.
+ * symbol.c (gfc_new_symbol): Rely on XCNEW zero init for
+ binding_label.
+ (gen_special_c_interop_ptr): Don't set binding label.
+ (generate_isocbinding_symbol): Insert binding_label into symbol
+ table.
+ (get_iso_c_sym): Use pointer assignment instead of strcpy.
+ * trans-common.c (gfc_sym_mangled_common_id): Handle
+ com->binding_label being a pointer.
+ * trans-decl.c (gfc_sym_mangled_identifier): Handle
+ sym->binding_label being a pointer.
+ (gfc_sym_mangled_function_id): Likewise.
+
+2012-01-29 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52038
+ * resolve.c (symbol_as): Remove unused, accidentally
+ added function.
+
+2012-01-28 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51972
+ * trans-stmt.c (gfc_trans_allocate): Properly check whether
+ we have a BT_CLASS which needs to be memset.
+
+2012-01-27 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52022
+ * trans-expr.c (gfc_conv_procedure_call): Fix passing
+ of functions, which return allocatables.
+
+2012-01-27 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52016
+ * resolve.c (resolve_formal_arglist): Fix elemental
+ constraint checks for polymorphic dummies also for
+ pointers.
+
+2012-01-27 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51970
+ PR fortran/51977
+ * primary.c (gfc_match_varspec. gfc_match_rvalue): Set
+ handle array spec for BT_CLASS.
+ * expr.c (gfc_get_variable_expr, gfc_lval_expr_from_sym)
+ * frontend-passes.c (create_var): Ditto.
+ * resolve.c (resolve_actual_arglist, resolve_assoc_var): Ditto.
+ * trans-decl.c (gfc_trans_deferred_vars): Use class_pointer
+ instead of attr.pointer.
+ (gfc_generate_function_code): Use CLASS_DATA (sym) for BT_CLASS.
+ * trans-intrinsic.c (conv_intrinsic_move_alloc): Move assert.
+ * trans-stmt.c (trans_associate_var): Ask for the descriptor.
+
+2012-01-27 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51953
+ * match.c (gfc_match_allocate): Allow more than allocate
+ object with SOURCE=.
+
+2012-01-27 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52016
+ * resolve.c (resolve_formal_arglist): Fix elemental
+ constraint checks for polymorphic dummies.
+
+2012-01-27 Paul Thomas <pault@gcc.gnu.org>
+ Tobias Burnus <burnus@gcc.gnu.org>
+
+ PR fortran/48705
+ PR fortran/51870
+ PR fortran/51943
+ PR fortran/51946
+ * trans-array.c (gfc_array_init_size): Add two extra arguments
+ to convey the dynamic element size of a calls object and to
+ return the number of elements that have been allocated.
+ (gfc_array_allocate): Add the same arguments and use them to
+ call gfc_array_init_size. Before the allocation dereference
+ the data pointer, if necessary. Set the allocated array to zero
+ if the class element size or expr3 are non-null.
+ * trans-expr.c (gfc_conv_class_to_class): Give this function
+ global scope.
+ (get_class_array_ref): New function.
+ (gfc_copy_class_to_class): New function.
+ * trans-array.h : Update prototype for gfc_array_allocate.
+ * trans-stmt.c (gfc_trans_allocate): For non-variable class
+ STATUS expressions extract the class object and the dynamic
+ element size. Use the latter to call gfc_array_allocate and
+ the former for setting the vptr and, via
+ gfc_copy_class_to_clasfc_cs, to copy to the allocated data.
+ * trans.h : Prototypes for gfc_get_class_array_ref,
+ gfc_copy_class_to_class and gfc_conv_class_to_class.
+
+2012-01-25 Tobias Burnus <burnus@net-b.de>
+
+ * resolve.c (symbol_as): Check also for attr.class_ok.
+
+2012-01-25 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51995
+ * class.c (gfc_build_class_symbol): Fix invalid freeing
+ issue with fclass->f2k_derived.
+
+2012-01-25 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51995
+ * class.c (gfc_build_class_symbol): Ensure that
+ fclass->f2k_derived is set.
+
+2012-01-25 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51966
+ * resolve.c (resolve_structure_cons): Only create an
+ array constructors for nonscalars.
+
+2012-01-23 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51948
+ * check.c (variable_check): Fix checking for
+ variables and deeply nested BLOCKs.
+
+2012-01-21 Tobias Burnus <burnus@net-b.de>
+ Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/50556
+ * symbol.c (check_conflict): namelist-group-name cannot have the SAVE
+ attribute.
+
2012-01-21 Tobias Burnus <burnus@net-b.de>
PR fortran/51913