+2013-05-20 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/48858
+ * decl.c (add_global_entry): Use nonbinding name
+ only for F2003 or if no binding label exists.
+ (gfc_match_entry): Update calls.
+ * parse.c (gfc_global_used): Improve error message.
+ (add_global_procedure): Use nonbinding name
+ only for F2003 or if no binding label exists.
+ (gfc_parse_file): Update call.
+ * resolve.c (resolve_global_procedure): Use binding
+ name when available.
+ * trans-decl.c (gfc_get_extern_function_decl): Ditto.
+
+2013-05-20 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/48858
+ * decl.c (gfc_match_bind_c_stmt): Add gfc_notify_std.
+ * match.c (gfc_match_common): Don't add commons to gsym.
+ * resolve.c (resolve_common_blocks): Add to gsym and
+ add checks.
+ (resolve_bind_c_comms): Remove.
+ (resolve_types): Remove call to the latter.
+ * trans-common.c (gfc_common_ns): Remove static var.
+ (gfc_map_of_all_commons): Add static var.
+ (build_common_decl): Correctly handle binding label.
+
+2013-05-16 Jason Merrill <jason@redhat.com>
+
+ * Make-lang.in (f951$(exeext)): Use link mutex.
+
+2013-05-05 Tobias Burnus <burnus@net-b.de>
+
+ * resolve.c (conformable_arrays): Avoid segfault
+ when ar.start[i] == NULL.
+
+2013-05-05 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/57141
+ * decl.c (gfc_match_null): Permit use-associated
+ NULL intrinsic.
+
+2013-05-04 Tobias Burnus <burnus@net-b.de>
+
+ * decl.c (gfc_verify_c_interop_param): Permit allocatable
+ and pointer with -std=f2008ts.
+
+2013-05-02 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/57142
+ * simplify.c (gfc_simplify_size): Renamed from
+ simplify_size; fix kind=8 handling.
+ (gfc_simplify_size): New function.
+ (gfc_simplify_shape): Add range check.
+ * resolve.c (resolve_function): Fix handling
+ for ISYM_SIZE.
+
+2013-05-01 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ * frontend-passes.c (optimize_power): Fix typo
+ in comment.
+
+2013-04-30 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/57071
+ * frontend-passes.c (optimize_power): Simplify
+ 1**k to 1.
+
+2013-04-28 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/57114
+ * intrinsic.texi (RANK): Correct syntax description and
+ expected result.
+
+2013-04-28 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/57093
+ * trans-types.c (gfc_get_element_type): Fix handling
+ of scalar coarrays of type character.
+ * intrinsic.texi (PACK): Add missing ")".
+
+2013-04-28 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/57071
+ * frontend-passes (optimize_power): New function.
+ (optimize_op): Use it.
+
+2013-04-25 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR bootstrap/57028
+ * Make-lang.in (f951): Link in ZLIB.
+ (CFLAGS-fortran/module.o): Add zlib include directory.
+
+2013-04-22 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/53685
+ PR fortran/57022
+ * check.c (gfc_calculate_transfer_sizes): Fix for array-valued SOURCE
+ expressions.
+ * simplify.c (gfc_simplify_sizeof,gfc_simplify_storage_size): Get rid
+ of special treatment for EXPR_ARRAY.
+ * target-memory.h (gfc_element_size): New prototype.
+ * target-memory.c (size_array): Remove.
+ (gfc_element_size): New function.
+ (gfc_target_expr_size): Modified to always return the full size of the
+ expression.
+
+2013-04-20 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/56907
+ * trans-intrinsic.c (conv_isocbinding_function): Don't pack array
+ passed to C_LOC
+
+2013-04-19 Thomas Koenig <tkoenig@gcc.gnu.org>
+ Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/56872
+ * frontend-passes.c (copy_walk_reduction_arg): Change argument type
+ to gfc_constructor. If it has an iterator, wrap the copy of its
+ expression in an array constructor with that iterator. Don't special
+ case function expressions.
+ (callback_reduction): Update caller. Don't return early if there is
+ an iterator.
+
+2013-04-18 Tobias Burnus <burnus@net-b.de>
+
+ * expr.c (find_array_element): Don't copy expr.
+ * data.c (create_character_initializer): Free expr.
+ * frontend-passes.c (combine_array_constructor): Ditto.
+ * match.c (match_typebound_call, gfc_match_select_type): Ditto.
+ * resolve.c (resolve_typebound_function): Free gfc_ref.
+
+2013-04-18 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/56994
+ * invoke.texi (NEAREST): S argument is not optional.
+
+2013-04-17 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/56814
+ * interface.c (check_result_characteristics): Get result from interface
+ if present.
+
+2013-04-17 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR fortran/40958
+ * scanner.h: New file.
+ * Make-lang.in: Dependencies on scanner.h.
+ * scanner.c (gfc_directorylist): Move to scanner.h.
+ * module.c: Don't include md5.h, include scanner.h and zlib.h.
+ (MOD_VERSION): Add comment about backwards compatibility.
+ (module_fp): Change type to gzFile.
+ (ctx): Remove.
+ (gzopen_included_file_1): New function.
+ (gzopen_included_file): New function.
+ (gzopen_intrinsic_module): New function.
+ (write_char): Use gzputc.
+ (read_crc32_from_module_file): New function.
+ (read_md5_from_module_file): Remove.
+ (gfc_dump_module): Use gz* functions instead of stdio, check gzip
+ crc32 instead of md5.
+ (read_module_to_tmpbuf): Use gz* functions instead of stdio.
+ (gfc_use_module): Use gz* functions.
+
+2013-04-16 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/39505
+ * decl.c (ext_attr_list): Add EXT_ATTR_NO_ARG_CHECK.
+ * gfortran.h (ext_attr_id_t): Ditto.
+ * gfortran.texi (GNU Fortran Compiler Directives):
+ Document it.
+ * interface.c (compare_type_rank): Ignore rank for NO_ARG_CHECK.
+ (compare_parameter): Ditto - and regard as unlimited polymorphic.
+ * resolve.c (resolve_symbol, resolve_variable): Add same constraint
+ checks as for TYPE(*); turn dummy to TYPE(*),dimension(*).
+ (gfc_explicit_interface_required): Require explicit interface
+ for NO_ARG_CHECK.
+
+2013-04-16 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/56968
+ * expr.c (gfc_check_pointer_assign): Handle generic functions returning
+ procedure pointers.
+
+2013-04-16 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/56969
+ * intrinsic.c (gfc_intrinsic_func_interface): Don't set
+ module name to "(intrinsic)" for intrinsics from intrinsic
+ modules.
+
+2013-04-15 Tobias Burnus <burnus@net-b.de>
+
+ * intrinsic.texi (SYSTEM_CLOCK): Recommend kind=8.
+
+2013-04-15 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR fortran/56919
+ * intrinsics.texi (SYSTEM_CLOCK): Update documentation.
+
+2013-04-15 Tobias Burnus <burnus@net-b.de>
+
+ * class.c (gfc_find_intrinsic_vtab): Removed unused var.
+ * dependency.c (check_data_pointer_types): Fix check.
+ * frontend-passes.c (check_data_pointer_types): Remove
+ superfluous statement.
+ * parse.c (decode_omp_directive): Add missing break.
+ * resolve.c (resolve_typebound_subroutine: Free variable.
+ * trans-decl.c (create_function_arglist): Correct condition.
+
+2013-04-14 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/56816
+ * match.c (gfc_match_select_type): Add syntax error. Move namespace
+ allocation and cleanup...
+ * parse.c (decode_statement): ... here.
+
+2013-04-13 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/55959
+ * expr.c (gfc_simplify_expr): Branch is not unreachable.
+
+2013-04-12 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/56266
+ * primary.c (gfc_match_varspec): Turn gcc_assert into MATCH_ERROR.
+
+2013-04-12 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/56929
+ * trans-array.c (duplicate_allocatable): Fix handling
+ of scalar coarrays.
+
+2013-04-12 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/56261
+ * gfortran.h (gfc_explicit_interface_required): New prototype.
+ * expr.c (gfc_check_pointer_assign): Check if an explicit interface is
+ required in a proc-ptr assignment.
+ * interface.c (check_result_characteristics): Extra check.
+ * resolve.c (gfc_explicit_interface_required): New function.
+ (resolve_global_procedure): Use new function
+ 'gfc_explicit_interface_required'. Do a full interface check.
+
+2013-04-12 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/56845
+ * trans-decl.c (gfc_trans_deferred_vars): Restrict
+ static CLASS init to SAVE and -fno-automatic.
+
+2013-04-12 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/56845
+ * trans-decl.c (gfc_trans_deferred_vars): Set _vptr for
+ allocatable static BT_CLASS.
+ * trans-expr.c (gfc_class_set_static_fields): New function.
+ * trans.h (gfc_class_set_static_fields): New prototype.
+
+2013-04-11 Janne Blomqvist <jb@gcc.gnu.org>
+
+ * gfortran.h: Remove enum gfc_try, replace gfc_try with bool type.
+ * arith.c: Replace gfc_try with bool type.
+ * array.c: Likewise.
+ * check.c: Likewise.
+ * class.c: Likewise.
+ * cpp.c: Likewise.
+ * cpp.h: Likewise.
+ * data.c: Likewise.
+ * data.h: Likewise.
+ * decl.c: Likewise.
+ * error.c: Likewise.
+ * expr.c: Likewise.
+ * f95-lang.c: Likewise.
+ * interface.c: Likewise.
+ * intrinsic.c: Likewise.
+ * intrinsic.h: Likewise.
+ * io.c: Likewise.
+ * match.c: Likewise.
+ * match.h: Likewise.
+ * module.c: Likewise.
+ * openmp.c: Likewise.
+ * parse.c: Likewise.
+ * parse.h: Likewise.
+ * primary.c: Likewise.
+ * resolve.c: Likewise.
+ * scanner.c: Likewise.
+ * simplify.c: Likewise.
+ * symbol.c: Likewise.
+ * trans-intrinsic.c: Likewise.
+ * trans-openmp.c: Likewise.
+ * trans-stmt.c: Likewise.
+ * trans-types.c: Likewise.
+
+2013-04-09 Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.texi (KIND Type Parameters,
+ Internal representation of LOGICAL variables): Add crossrefs.
+ (Intrinsic Types): Mention issues with _Bool interop.
+ (Naming and argument-passing conventions): New section.
+
+2013-04-08 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/56782
+ * frontend-passes.c (callback_reduction): Dont't do
+ any simplification if there is only a single element
+ which has an iterator.
+
+2013-04-07 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/56849
+ * iresolve.c (gfc_resolve_reshape): Set shape also
+ with order=.
+
+2013-04-04 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/40881
+ * match.c (gfc_match_return): Remove standard notification.
+ * primary.c (gfc_match_actual_arglist): Add standard notification.
+
+2013-04-04 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/50269
+ * gcc/fortran/check.c (is_c_interoperable,
+ gfc_check_c_loc): Correct c_loc array checking
+ for Fortran 2003 and Fortran 2008.
+
+2013-04-03 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/56284
+ PR fortran/40881
+ * decl.c (gfc_match_formal_arglist): Warn about alternate-return
+ arguments.
+ * interface.c (check_dummy_characteristics): Return if symbols are NULL.
+
+2013-04-01 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/56500
+ * symbol.c (gfc_set_default_type): Build class container for
+ IMPLICIT CLASS.
+
+2013-03-31 Tobias Burnus <burnus@net-b.de>
+
+ * class.c (finalization_scalarizer, finalizer_insert_packed_call,
+ generate_finalization_wrapper): Avoid segfault with absent SIZE=
+ argment to TRANSFER and use correct result kind for SIZE.
+ * intrinsic.c (gfc_isym_id_by_intmod): Also handle ids of
+ nonmodules.
+ * trans.c (gfc_build_final_call): Handle coarrays.
+
+2013-03-30 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ * trans-expr.c (build_memcmp_call): New function.
+ (gfc_build_compare_string): If the strings
+ compared have constant and equal lengths and
+ the strings are kind=1, or, for kind=4 strings,
+ the test is for (in)equality, use memcmp().
+
+2013-03-29 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/35203
+ * trans-decl.c (create_function_arglist): Pass hidden argument
+ for passed-by-value optional+value dummies.
+ * trans-expr.c (gfc_conv_expr_present,
+ gfc_conv_procedure_call): Handle those.
+
+2013-03-28 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/45159
+ * gfortran.h (gfc_dep_difference): Add prototype.
+ * dependency.c (discard_nops): New function.
+ (gfc_dep_difference): New function.
+ (check_section_vs_section): Use gfc_dep_difference
+ to calculate the difference of starting indices.
+ * trans-expr.c (gfc_conv_substring): Use
+ gfc_dep_difference to calculate the length of
+ substrings where possible.
+
+2013-03-28 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/55806
+ * frontend-passes.c (optimize_code): Keep track of
+ current code to make code insertion possible.
+ (combine_array_constructor): New function.
+ (optimize_op): Call it.
+
+2013-03-27 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/56650
+ PR fortran/36437
+ * check.c (gfc_check_sizeof, gfc_check_c_sizeof,
+ gfc_check_storage_size): Update checks.
+ * intrinsic.texi (SIZEOF): Correct class.
+ * intrinsic.h (gfc_simplify_sizeof,
+ gfc_simplify_storage_size): New prototypes.
+ * intrinsic.c (add_functions): Use them.
+ * simplify.c (gfc_simplify_sizeof,
+ gfc_simplify_storage_size): New functions.
+
+2013-03-27 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR fortran/25708
+ * module.c (module_locus): Use long for position.
+ (module_content): New variable.
+ (module_pos): Likewise.
+ (prev_character): Remove.
+ (bad_module): Free data instead of closing mod file.
+ (set_module_locus): Use module_pos.
+ (get_module_locus): Likewise.
+ (module_char): use buffer rather than stdio file.
+ (module_unget_char): Likewise.
+ (read_module_to_tmpbuf): New function.
+ (gfc_use_module): Call read_module_to_tmpbuf.
+
+2013-03-26 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/56649
+ * simplify.c (gfc_simplify_merge): Simplify more.
+
+2013-03-25 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/38536
+ PR fortran/38813
+ PR fortran/38894
+ PR fortran/39288
+ PR fortran/40963
+ PR fortran/45824
+ PR fortran/47023
+ PR fortran/47034
+ PR fortran/49023
+ PR fortran/50269
+ PR fortran/50612
+ PR fortran/52426
+ PR fortran/54263
+ PR fortran/55343
+ PR fortran/55444
+ PR fortran/55574
+ PR fortran/56079
+ PR fortran/56378
+ * check.c (gfc_var_strlen): Properly handle 0-sized string.
+ (gfc_check_c_sizeof): Use is_c_interoperable, add checks.
+ (is_c_interoperable, gfc_check_c_associated, gfc_check_c_f_pointer,
+ gfc_check_c_f_procpointer, gfc_check_c_funloc, gfc_check_c_loc): New
+ functions.
+ * expr.c (check_inquiry): Add c_sizeof, compiler_version and
+ compiler_options.
+ (gfc_check_pointer_assign): Refine function result check.
+ gfortran.h (gfc_isym_id): Add GFC_ISYM_C_ASSOCIATED,
+ GFC_ISYM_C_F_POINTER, GFC_ISYM_C_F_PROCPOINTER, GFC_ISYM_C_FUNLOC,
+ GFC_ISYM_C_LOC.
+ (iso_fortran_env_symbol, iso_c_binding_symbol): Handle
+ NAMED_SUBROUTINE.
+ (generate_isocbinding_symbol): Update prototype.
+ (get_iso_c_sym): Remove.
+ (gfc_isym_id_by_intmod, gfc_isym_id_by_intmod_sym): New prototypes.
+ * intrinsic.c (gfc_intrinsic_subroutine_by_id): New function.
+ (gfc_intrinsic_sub_interface): Use it.
+ (add_functions, add_subroutines): Add missing C-binding intrinsics.
+ (gfc_intrinsic_func_interface): Add special case for c_loc.
+ gfc_isym_id_by_intmod, gfc_isym_id_by_intmod_sym): New functions.
+ (gfc_intrinsic_func_interface, gfc_intrinsic_sub_interface): Use them.
+ * intrinsic.h (gfc_check_c_associated, gfc_check_c_f_pointer,
+ gfc_check_c_f_procpointer, gfc_check_c_funloc, gfc_check_c_loc,
+ gfc_resolve_c_loc, gfc_resolve_c_funloc): New prototypes.
+ * iresolve.c (gfc_resolve_c_loc, gfc_resolve_c_funloc): New
+ functions.
+ * iso-c-binding.def: Split PROCEDURE into NAMED_SUBROUTINE and
+ NAMED_FUNCTION.
+ * iso-fortran-env.def: Add NAMED_SUBROUTINE for completeness.
+ * module.c (create_intrinsic_function): Support subroutines and
+ derived-type results.
+ (use_iso_fortran_env_module): Update calls.
+ (import_iso_c_binding_module): Ditto; update calls to
+ generate_isocbinding_symbol.
+ * resolve.c (find_arglists): Skip for intrinsic symbols.
+ (gfc_resolve_intrinsic): Find intrinsic subs via id.
+ (is_scalar_expr_ptr, gfc_iso_c_func_interface,
+ set_name_and_label, gfc_iso_c_sub_interface): Remove.
+ (resolve_function, resolve_specific_s0): Remove calls to those.
+ (resolve_structure_cons): Fix handling.
+ * symbol.c (gen_special_c_interop_ptr): Update c_ptr/c_funptr
+ generation.
+ (gen_cptr_param, gen_fptr_param, gen_shape_param,
+ build_formal_args, get_iso_c_sym): Remove.
+ (std_for_isocbinding_symbol): Handle NAMED_SUBROUTINE.
+ (generate_isocbinding_symbol): Support hidden symbols and
+ using c_ptr/c_funptr symtrees for nullptr defs.
+ * target-memory.c (gfc_target_encode_expr): Fix handling
+ of c_ptr/c_funptr.
+ * trans-expr.c (conv_isocbinding_procedure): Remove.
+ (gfc_conv_procedure_call): Remove call to it.
+ (gfc_trans_subcomponent_assign, gfc_conv_expr): Update handling
+ of c_ptr/c_funptr.
+ * trans-intrinsic.c (conv_isocbinding_function,
+ conv_isocbinding_subroutine): New.
+ (gfc_conv_intrinsic_function, gfc_conv_intrinsic_subroutine):
+ Call them.
+ * trans-io.c (transfer_expr): Fix handling of c_ptr/c_funptr.
+ * trans-types.c (gfc_typenode_for_spec,
+ gfc_get_derived_type): Ditto.
+ (gfc_init_c_interop_kinds): Handle NAMED_SUBROUTINE.
+
+2013-03-18 Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.h (gfc_option_t): Remove flag_whole_file.
+ * invoke.texi (-fno-whole-file): Remove.
+ * lang.opt (fwhole-file): Change to Ignore.
+ * options.c (gfc_init_options, gfc_post_options,
+ gfc_handle_option): Remove !flag_whole_file handling
+ * parse.c (resolve_all_program_units, translate_all_program_units,
+ gfc_parse_file): Ditto.
+ * resolve.c (resolve_global_procedure): Ditto.
+ * trans-decl.c (gfc_get_symbol_decl, gfc_get_extern_function_decl,
+ gfc_create_module_variable): Ditto.
+ * trans-types.c (gfc_get_derived_type): Ditto.
+
+2013-03-15 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/56615
+ * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Pack arrays
+ if they are not simply contiguous.
+
+2013-03-11 Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.texi (STRUCTURE and RECORD): State more clearly how
+ to convert them into derived types.
+
+2013-03-10 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/56575
+ * expr.c (gfc_default_initializer): Check that a class declared
+ type has any components.
+ * resolve.c (resolve_fl_derived0): On failing the test for C437
+ set the type to BT_UNKNOWN to prevent repeat error messages.
+
+2013-03-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/56477
+ * expr.c (gfc_check_pointer_assign): Avoid NULL pointer dereference.
+
+2013-03-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/54730
+ * array.c (gfc_match_array_constructor): Set a checkpoint before
+ matching a typespec. Drop it on success, restore it otherwise.
+
+2013-03-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/54730
+ * gfortran.h (struct gfc_undo_change_set): New field 'previous'.
+ (gfc_new_undo_checkpoint, gfc_drop_last_undo_checkpoint,
+ gfc_restore_last_undo_checkpoint): New prototypes.
+ * symbol.c (default_undo_chgset_var): Update initialization.
+ (single_undo_checkpoint_p, gfc_new_undo_checkpoint,
+ free_undo_change_set_data, pop_undo_change_set,
+ gfc_drop_last_undo_checkpoint, enforce_single_undo_checkpoint):
+ New functions.
+ (save_symbol_data): Handle multiple change sets. Make sure old_symbol
+ field's previous value is not overwritten. Clear gfc_new field.
+ (restore_old_symbol): Restore previous old_symbol field.
+ (gfc_restore_last_undo_checkpoint): New function, using body renamed
+ from gfc_undo_symbols. Restore the previous change set as current one.
+ (gfc_undo_symbols): New body.
+ (gfc_commit_symbols, gfc_commit_symbol, gfc_enforce_clean_symbol_state):
+ Call enforce_single_undo_checkpoint.
+ (gfc_symbol_done_2): Ditto. Free change set data.
+
+2013-03-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ * symbol.c (restore_old_symbol): Fix thinko.
+
+2013-03-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ * symbol.c (gfc_undo_symbols): Move code...
+ (restore_old_symbol): ... here as a new function.
+
+2013-03-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ * Make-lang.in (F95_PARSER_OBJS): Add dependency to vec.h.
+ * gfortran.h: Include vec.h.
+ (gfc_undo_change_set): New struct.
+ * symbol.c (tentative_tbp): Remove struct.
+ (changed_syms, tentative_tbp_list): Remove variables.
+ (default_undo_chgset_var, latest_undo_chgset): New variables.
+ (save_symbol_data, gfc_get_sym_tree, gfc_undo_symbols,
+ gfc_commit_symbols, gfc_commit_symbol,
+ gfc_enforce_clean_symbol_state, gfc_get_typebound_proc):
+ Use latest_undo_chgset instead of changed_syms and tentative_tbp_list.
+
+2013-03-01 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/56491
+ * iresolve.c (resolve_bound): Use gfc_get_string instead of xstrdup.
+ * symbol.c (free_components): Free proc-pointer components.
+
+2013-03-01 Tobias Burnus <burnus@net-b.de>
+
+ * trans-decl.c (gfc_trans_deferred_vars): Free expr after use.
+ * trans-io.c (build_dt): Ditto.
+
+2013-02-24 Joseph Myers <joseph@codesourcery.com>
+
+ * resolve.c (generate_component_assignments): Don't use UTF-8
+ ligature in diagnostic.
+
+2013-02-21 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/56385
+ * trans-array.c (structure_alloc_comps): Handle procedure-pointer
+ components with allocatable result.
+
+2013-02-21 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/56416
+ * gfortran.texi (Part II: Language Reference, Extensions,
+ Non-Fortran Main Program): Sort @menu to match actual section order.
+ * intrinsic.texi (Intrinsic Procedures): Ditto.
+ (C_F_POINTER, PRECISION): Move to the alphabetically correct place.
+
+2013-02-15 Tobias Burnus <burnus@net-b.de>
+ Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/56318
+ * simplify.c (gfc_simplify_matmul): Fix result shape
+ and matmul result.
+
+2013-02-15 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/53818
+ * resolve.c (apply_default_init_local): Don't create an
+ initializer for a result variable.
+
+2013-02-14 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/56224
+ * gfortran.h (gfc_add_include_path): Add boolean argument
+ for warn.
+ * scanner.c (gfc_add_include_path): Pass along warn argument
+ to add_path_to_list.
+ * options.c (gfc_post_options): Add true warn argument to
+ gfc_add_include_path.
+ (gfc_handle_module_path_options): Likewise.
+ (gfc_handle_option): Also gfc_add_include_path for intrinsic
+ modules, without warning.
+
+2013-02-14 Paul Thomas <pault@gcc.gnu.org>
+ Tobias Burnus <burnus@net-b.de>
+
+ PR testsuite/56138
+ * trans-decl.c (gfc_get_symbol_decl): Fix deferred-length
+ results for functions without extra result variable.
+
+ Revert:
+ 2013-01-30 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/56138
+ * trans-decl.c (gfc_trans_deferred_vars): Fix deferred-length
+ results for functions without extra result variable.
+
+2013-02-12 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/46952
+ * resolve.c (resolve_call): Do not check deferred procedures for
+ recursiveness.
+
+2013-02-09 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/55362
+ * check.c (array_check): It is an error if a procedure is
+ passed.
+
+2013-02-08 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/54107
+ * trans-types.c (gfc_get_function_type): Change a NULL backend_decl
+ to error_mark_node on entry. Detect recursive types. Build a variadic
+ procedure type if the type is recursive. Restore the initial
+ backend_decl.
+
+2013-02-07 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/54339
+ * gfortran.texi (Standards): Mention TS29113.
+ (Varying Length Character): Mention deferred-length
+ strings.
+ (Fortran 2003 Status): Add unlimited polymorphic.
+ (TS 29113 Status): Add TYPE(*) and DIMENSION(..).
+ (C Interop): Update the section about TS29113.
+
+2013-02-06 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/55789
+ * trans-array.c (trans_array_constructor): Remove condition
+ 'dynamic' = true if the loop ubound is a VAR_DECL.
+
+2013-02-04 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/56008
+ PR fortran/47517
+ * trans-array.c (gfc_alloc_allocatable_for_assignment): Save
+ the lhs descriptor before it is modified for reallocation. Use
+ it to deallocate allocatable components in the reallocation
+ block. Nullify allocatable components for newly (re)allocated
+ arrays.
+
+2013-02-04 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/54195
+ * resolve.c (resolve_typebound_procedures): Recurse through
+ resolve_symbol.
+
+2013-02-04 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/54107
+ PR fortran/54195
+ * gfortran.h (struct gfc_symbol): New field 'resolved'.
+ * resolve.c (resolve_fl_var_and_proc): Don't skip result symbols.
+ (resolve_symbol): Skip duplicate calls. Don't check the current
+ namespace.
+
+2013-02-02 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/50627
+ PR fortran/56054
+ * decl.c (gfc_match_end): Remove half-ready namespace
+ from parent if the end of a block is missing.
+ * parse.c (parse_module): Do not put namespace into
+ gsymbol on error.
+
+2013-01-30 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/56138
+ * trans-decl.c (gfc_trans_deferred_vars): Fix deferred-length
+ results for functions without extra result variable.
+
+2013-01-29 Janus Weil <janus@gcc.gnu.org>
+ Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/54107
+ * gfortran.h (gfc_component): Delete members 'formal' and 'formal_ns'.
+ (gfc_copy_formal_args,gfc_copy_formal_args_ppc,gfc_expr_replace_symbols,
+ gfc_expr_replace_comp): Delete.
+ (gfc_sym_get_dummy_args): New prototype.
+ * dependency.c (gfc_check_fncall_dependency): Use
+ 'gfc_sym_get_dummy_args'.
+ * expr.c (gfc_is_constant_expr): Ditto.
+ (replace_symbol,gfc_expr_replace_symbols,replace_comp,
+ gfc_expr_replace_comp): Deleted.
+ * frontend-passes.c (doloop_code,do_function): Use
+ 'gfc_sym_get_dummy_args'.
+ * interface.c (gfc_check_operator_interface,gfc_compare_interfaces,
+ gfc_procedure_use,gfc_ppc_use,gfc_arglist_matches_symbol,
+ gfc_check_typebound_override): Ditto.
+ * module.c (MOD_VERSION): Bump module version.
+ (mio_component): Do not read/write 'formal' and 'formal_ns'.
+ * resolve.c (resolve_procedure_interface,resolve_fl_derived0): Do not
+ copy formal args, but just keep a pointer to the interface.
+ (resolve_function,resolve_call,resolve_typebound_generic_call,
+ resolve_ppc_call,resolve_expr_ppc,generate_component_assignments,
+ resolve_fl_procedure,gfc_resolve_finalizers,check_generic_tbp_ambiguity,
+ resolve_typebound_procedure,check_uop_procedure): Use
+ 'gfc_sym_get_dummy_args'.
+ * symbol.c (free_components): Do not free 'formal' and 'formal_ns'.
+ (gfc_copy_formal_args,gfc_copy_formal_args_ppc): Deleted.
+ (gfc_sym_get_dummy_args): New function.
+ * trans-array.c (get_array_charlen,gfc_walk_elemental_function_args):
+ Use 'gfc_sym_get_dummy_args'.
+ * trans-decl.c (build_function_decl,create_function_arglist,
+ build_entry_thunks,init_intent_out_dt,gfc_trans_deferred_vars,
+ add_argument_checking): Ditto.
+ * trans-expr.c (gfc_map_fcn_formal_to_actual,gfc_conv_procedure_call,
+ gfc_conv_statement_function): Ditto.
+ * trans-stmt.c (gfc_conv_elemental_dependencies): Ditto.
+ * trans-types.c (create_fn_spec,gfc_get_function_type): Ditto.
+
+2013-01-28 Tobias Burnus <burnus@net-b.de>
+ Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/53537
+ * symbol.c (gfc_find_sym_tree): Don't look for the symbol outside an
+ interface block.
+ (gfc_get_ha_symtree): Let gfc_find_sym_tree lookup the parent namespace.
+ * decl.c (gfc_match_data_decl): Ditto.
+ (variable_decl): Remove undeclared type error.
+ (gfc_match_import): Use renamed instead of original name.
+
+2013-01-27 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/55984
+ PR fortran/56047
+ * gfortran.h : Add associate_var to symbol_attr.
+ * resolve.c (resolve_assoc_var): Set associate_var attribute.
+ If the target class_ok is set, set it for the associate
+ variable.
+ * check.c (allocatable_check): Associate variables should not
+ have the allocatable attribute even if their symbols do.
+ * class.c (gfc_build_class_symbol): Symbols with associate_var
+ set will always have a good class container.
+
+2013-01-23 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/56081
+ * resolve.c (resolve_select): Add argument 'select_type', reject
+ non-scalar expressions.
+ (resolve_select_type,resolve_code): Pass new argument to
+ 'resolve_select'.
+
+2013-01-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/56052
+ * trans-decl.c (gfc_get_symbol_decl): Set DECL_ARTIFICIAL
+ and DECL_IGNORED_P on select_type_temporary and don't set
+ DECL_BY_REFERENCE.
+
+2013-01-21 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/55919
+ * scanner.c (add_path_to_list): Copy path to temporary and strip
+ trailing directory separators before calling stat().
+
+2013-01-17 Richard Biener <rguenther@suse.de>
+
+ * trans-stmt.c (gfc_trans_do): Conditionally compute countm1
+ dependent on sign of step, avoids repeated evaluation of
+ step sign test. Avoid undefined overflow issues by using unsigned
+ arithmetic.
+
+2013-01-16 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/55983
+ * class.c (find_typebound_proc_uop): Check for f2k_derived instead of
+ asserting it.
+
+2013-01-16 Jakub Jelinek <jakub@redhat.com>
+ Tobias Burnus <burnus@net-b.de>
+
+ PR driver/55884
+ * lang.opt (fintrinsic-modules-path): Don't accept Joined.
+ (fintrinsic-modules-path=): New.
+ * options.c (gfc_handle_option, gfc_get_option_string,
+ gfc_get_option_string): Handle the latter.
+
+2013-01-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/52865
+ * trans-stmt.c (gfc_trans_do): Put countm1-- before conditional
+ and use value of countm1 before the decrement in the condition.
+
+2013-01-15 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/54286
+ * expr.c (gfc_check_pointer_assign): Check for presence of
+ 's2' before using it.
+
+2013-01-14 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/55806
+ * frontend-passes.c (optimize_reduction): New function,
+ including prototype.
+ (callback_reduction): Likewise.
+ (gfc_run_passes): Also run optimize_reduction.
+ (copy_walk_reduction_arg): New function.
+ (dummy_code_callback): New function.
+
+2013-01-13 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/55935
+ * trans-expr.c (gfc_conv_structure): Call
+ unshare_expr_without_location on the ctor elements.
+
2013-01-13 Paul Thomas <pault@gcc.gnu.org>
PR fortran/54286
finalizer_insert_packed_call, generate_finalization_wrapper):
Clean up by using gfc_build_intrinsic_call.
-2012-01-07 Tobias Burnus <burnus@net-b.de>
+2013-01-07 Tobias Burnus <burnus@net-b.de>
PR fortran/55763
* resolve.c (resolve_select_type): Reject intrinsic types for