2014-04-22  Release Manager

	* GCC 4.9.0 released.

2014-04-13  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/58085
	PR fortran/60717
	* trans.h: Add 'use_offset' bitfield to gfc_se.
	* trans-array.c (gfc_conv_expr_descriptor): Use 'use_offset'
	as a trigger to unconditionally recalculate the offset for
	array slices and constant arrays.
	trans-expr.c (gfc_conv_intrinsic_to_class): Use it.
	trans-stmt.c (trans_associate_var): Ditto.
	(gfc_conv_procedure_call): Ditto.

2014-04-11  Janne Blomqvist  <jb@gcc.gnu.org>

	* intrinsic.texi (RANDOM_SEED): Improve example.

2014-04-10  Bernd Edlinger  <bernd.edlinger@hotmail.de>

	* class.c (gfc_build_class_symbol): Append "_t" to target class
	names to make the generated type names unique.

2014-04-04  Bernd Edlinger  <bernd.edlinger@hotmail.de>

	PR fortran/60191
	* trans-types.c (gfc_get_function_type): In case of recursion
	build a variadic function type with empty argument list instead of a
	stdarg-like function type with incomplete argument list.

2014-04-04  Tobias Burnus  <burnus@net-b.de>

	* check.c (gfc_check_cmplx): Fix typo.

2014-03-28  Mikael Morin  <mikael@gcc.gnu.org>
	    Tobias Burnus  <burnus@net-b.de>

	PR fortran/60576
	* trans-expr.c (gfc_conv_derived_to_class): Avoid
	generation of out-of-bounds range expr.

2014-03-28  Mikael Morin  <mikael@gcc.gnu.org>

	PR fortran/60677
	* trans-intrinsic.c (gfc_conv_intrinsic_ichar): Enlarge argument
	list buffer.

2014-03-27  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/60522
	* frontend-passes.c (cfe_code):  Do not walk subtrees
	for WHERE.

2014-03-27  Tobias Burnus  <burnus@net-b.de>

	PR fortran/58880
	* trans-expr.c (gfc_conv_scalar_to_descriptor): Fix handling
	of nonpointers.

2014-03-26 Dominique d'Humieres <dominiq@lps.ens.fr>

	PR fortran/34928
	* fortran.texi: Document Volatile COMMON as not supported.

2014-03-22  Jakub Jelinek  <jakub@redhat.com>

	PR debug/60603
	* cpp.c (gfc_cpp_init): Restore cb_change_file call to
	<built-in>.

2014-03-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/60148
	* gfortran.texi: Add description of namelist DELIM= behavior.

2014-03-19  Tobias Burnus  <burnus@net-b.>

	PR fortran/60543
	* io.c (check_io_constraints): Use gfc_unset_implicit_pure.
	* resolve.c (resolve_ordinary_assign): Ditto.

2014-03-19  Tobias Burnus  <burnus@net-b.de>

	PR fortran/60543
	PR fortran/60283
	* gfortran.h (gfc_unset_implicit_pure): New prototype.
	* resolve.c (gfc_unset_implicit_pure): New.
	(resolve_structure_cons, resolve_function,
	pure_subroutine): Use it.
	* decl.c (match_old_style_init, gfc_match_data,
	match_pointer_init, variable_decl): Ditto.
	* expr.c (gfc_check_pointer_assign): Ditto.
	* intrinsic.c (gfc_intrinsic_sub_interface): Ditto.
	* io.c (match_vtag, gfc_match_open, gfc_match_close,
	match_filepos, gfc_match_inquire, gfc_match_print,
	gfc_match_wait): Ditto.
	* match.c (gfc_match_critical, gfc_match_stopcode,
	lock_unlock_statement, sync_statement, gfc_match_allocate,
	gfc_match_deallocate): Ditto.
	* parse.c (decode_omp_directive): Ditto.
	* symbol.c (gfc_add_save): Ditto.

2014-03-18  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/55207
	PR fortran/60549
	* decl.c (match_attr_spec): Revert r208590.

2014-03-18  Jakub Jelinek  <jakub@redhat.com>

	PR ipa/58721
	* trans.c (gfc_unlikely, gfc_likely): Don't add __builtin_expect
	if !optimize.

2014-03-18  Tobias Burnus  <burnus@net-b.de>

	PR ipa/58721
	* trans.h (gfc_unlikely, gfc_likely): Add predictor as argument.
	(gfc_trans_io_runtime_check): Remove.
	* trans-io.c (gfc_trans_io_runtime_check): Make static; add has_iostat
	as argument, add predictor to block.
	(set_parameter_value, gfc_trans_open, gfc_trans_close, build_filepos,
	gfc_trans_inquire, gfc_trans_wait, build_dt): Update calls.
	* trans.c (gfc_unlikely, gfc_likely): Add predictor as argument.
	(gfc_trans_runtime_check, gfc_allocate_using_malloc,
	gfc_allocate_allocatable, gfc_deallocate_with_status): Set explicitly
	branch predictor.
	* trans-expr.c (gfc_conv_procedure_call): Ditto.
	* trans-stmt.c (gfc_trans_allocate): Ditto.
	* trans-array.c (gfc_array_init_size, gfc_array_allocate): Ditto.

2014-03-15  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/55207
	* decl.c (match_attr_spec): Variables in the main program implicitly
	get the SAVE attribute in Fortran 2008.

2014-03-14  Mikael Morin  <mikael@gcc.gnu.org>

	PR fortran/60392
	* trans-array.c (gfc_conv_array_parameter): Don't reuse the descriptor
	if it has transposed dimensions.

2014-03-08  Tobias Burnus  <burnus@net-b.de>

	PR fortran/60447
	* f95-lang.c (gfc_init): Return false when only
	preprocessing.
	* options.c (gfc_post_options): Ditto.

2014-03-08  Tobias Burnus  <burnus@net-b.de>

	* gfortran.texi (Fortran 2003 Status): Mention finalization,
	deferred-length character support and input rounding.
	(Fortran 2008 Status): Mention that at termination
	signalling exceptions are shown.

2014-03-06  Paul Thomas  <pault@gcc.gnu.org>
	    Janus Weil  <janus@gcc.gnu.org>

	PR fortran/51976
	* gfortran.h (symbol_attribute): Add deferred_parameter attribute.
	* primary.c (build_actual_constructor): It is not an error if
	a missing component has the deferred_parameter attribute;
	equally, if one is given a value, it is an error.
	* resolve.c (resolve_fl_derived0): Remove error for deferred
	character length components.  Add the hidden string length
	field to the structure. Give it the deferred_parameter
	attribute.
	* trans-array.c (duplicate_allocatable): Add a strlen field
	which is used as the element size if it is non-null.
	(gfc_duplicate_allocatable, gfc_copy_allocatable_data): Pass a
	NULL to the new argument in duplicate_allocatable.
	(structure_alloc_comps): Set the hidden string length as
	appropriate. Use it in calls to duplicate_allocatable.
	(gfc_alloc_allocatable_for_assignment): When a deferred length
	backend declaration is variable, use that; otherwise use the
	string length from the expression evaluation.
	* trans-expr.c (gfc_conv_component_ref): If this is a deferred
	character length component, the string length should have the
	value of the hidden string length field.
	(gfc_trans_subcomponent_assign): Set the hidden string length
	field for deferred character length components.  Allocate the
	necessary memory for the string.
	(alloc_scalar_allocatable_for_assignment): Same change as in
	gfc_alloc_allocatable_for_assignment above.
	* trans-stmt.c (gfc_trans_allocate): Likewise.
	* trans-intrinsic (size_of_string_in_bytes): Make non-static.
	* trans-types.c (gfc_get_derived_type): Set the tree type for
	a deferred character length component.
	* trans.c (gfc_deferred_strlen): New function.
	* trans.h (size_of_string_in_bytes,gfc_deferred_strlen): New prototypes.

2014-03-01  Mikael Morin  <mikael@gcc.gnu.org>

	PR fortran/60341
	* frontend-passes.c (optimize_comparison): Guard two union accesses
	with the corresponding tag checks.

2014-02-28  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/60359
	* class.c (find_intrinsic_vtab): Prevent duplicate creation of copy
	procedure for characters.

2014-02-21  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/60302
	* check.c (gfc_check_c_f_pointer): Only clear 'size' if 'gfc_array_size'
	is successful.

2014-02-21  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/60234
	* gfortran.h (gfc_build_class_symbol): Removed argument.
	* class.c (gfc_add_component_ref): Fix up missing vtype if necessary.
	(gfc_build_class_symbol): Remove argument 'delayed_vtab'. vtab is always
	delayed now, except for unlimited polymorphics.
	(comp_is_finalizable): Procedure pointer components are not finalizable.
	* decl. (build_sym, build_struct, attr_decl1): Removed argument of
	'gfc_build_class_symbol'.
	* match.c (copy_ts_from_selector_to_associate, select_type_set_tmp):
	Ditto.
	* symbol.c (gfc_set_default_type): Ditto.

2014-02-19  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/60232
	* expr.c (gfc_get_variable_expr): Don't add REF_ARRAY for dimensionful
	functions, which are used as procedure pointer target.

2014-02-18  Tobias Burnus  <burnus@net-b.de>

	PR fortran/49397
	* expr.c (gfc_check_pointer_assign): Add check for
	F2008Cor2, C729.
	* trans-decl.c (gfc_get_symbol_decl): Correctly generate external
	decl in a corner case.

2014-02-18  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/60231
	* resolve.c (check_generic_tbp_ambiguity): Check for presence of dummy
	arguments to prevent ICE.

2014-02-17  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/55907
	* resolve.c (build_default_init_expr): Don't initialize character
	variable if -fno-automatic is given.

2014-02-15  Mikael Morin  <mikael@gcc.gnu.org>

	PR fortran/59599
	* trans-intrinsic.c (gfc_conv_intrinsic_ichar): Calculate the
	number of arguments.

2014-02-11  Jakub Jelinek  <jakub@redhat.com>

	PR fortran/52370
	* trans-decl.c (gfc_build_dummy_array_decl): Set TREE_NO_WARNING
	on decl if sym->attr.optional.

2014-02-09  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/57522
	* resolve.c (resolve_assoc_var): Set the subref_array_pointer
	attribute for the 'associate-name' if necessary.
	* trans-stmt.c (trans_associate_var): If the 'associate-name'
	is a subref_array_pointer, assign the element size of the
	associate variable to 'span'.

2014-02-09  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/59026
	* trans-expr.c (gfc_conv_procedure_call): Pass the value of the
	actual argument to a formal argument with the value attribute
	in an elemental procedure.

2014-02-08  Janus Weil  <janus@gcc.gnu.org>
	    Mikael Morin <mikael.morin@gcc.gnu.org>

	PR fortran/58470
	* class.c (generate_finalization_wrapper): Assert that proc_tree has
	been set in gfc_resolve_finalizers.
	* resolve.c (resolve_fl_derived0): Remove unnecessary call to
	gfc_is_finalizable.

2014-02-07  Benno Schulenberg  <bensberg@justemail.net>

	PR translation/52289
	* fortran/resolve.c (resolve_ordinary_assign): Fix typoed word
	in an error message.

2014-02-02  Mikael Morin  <mikael@gcc.gnu.org>

	PR fortran/57033
	* primary.c (gfc_convert_to_structure_constructor): Avoid null pointer
	dereference.

2014-02-01  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/59906
	* trans-stmt.c (gfc_add_loop_ss_code): In the case of character
	SS_REFERENCE, use gfc_conv_string_parameter to ensure that a
	pointer to the string is stored.
	* trans-expr.c (gfc_conv_expr_reference): Likewise, use
	gfc_conv_string_parameter to ensure that a pointer to is passed
	to the elemental function.

2014-01-28  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/59414
	* trans-stmt.c (gfc_trans_allocate): Before the pointer
	assignment to transfer the source _vptr to a class allocate
	expression, the final class reference should be exposed. The
	tail that includes the _data and array references is stored.
	This reduced expression is transferred to 'lhs' and the _vptr
	added. Then the tail is restored to the allocate expression.

2014-01-26  Mikael Morin  <mikael@gcc.gnu.org>

	PR fortran/58007
	* module.c (read_module): Assert for component name correctness.

2014-01-18  Mikael Morin  <mikael@gcc.gnu.org>

	PR fortran/58007
	* module.c (MOD_VERSION): Bump.
	(fp2, find_pointer2): Remove.
	(mio_component_ref): Don't forcedfully set the containing derived type
	symbol for loading.  Remove unused argument.
	(mio_ref): Update caller
	(mio_symbol): Dump component list earlier.
	(skip_list): New argument nest_level.  Initialize level with the new
	argument.
	(read_module): Add forced pointer components association for derived
	type symbols.

2014-01-12  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/58026
	* decl.c (gfc_match_data_decl): Improve error recovery.

2014-01-09  Tobias Burnus  <burnus@net-b.de>

	* cpp.c (gfc_cpp_handle_option): Add missing break.
	* trans-io.c (transfer_expr): Silence unused value warning.

2014-01-08  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/58182
	* resolve.c (gfc_verify_binding_labels): Modify order of checks.

2014-01-06  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/59589
	* class.c (comp_is_finalizable): New function to dermine if a given
	component is finalizable.
	(finalize_component, generate_finalization_wrapper): Use it.

2014-01-06  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/59023
	PR fortran/59662
	* resolve.c (resolve_global_procedure): Don't apply to c-binding
	procedures.
	(gfc_verify_binding_labels): Remove duplicate line.

2014-01-04  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/59547
	* class.c (add_proc_comp): Copy pure attribute.

2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>

	Update copyright years

2014-01-02  Tobias Burnus  <burnus@net-b.de>

	* gfortranspec.c (lang_specific_driver): Update copyright notice
	dates.
	* gfc-internals.texi: Bump @copying's copyright year.
	* gfortran.texi: Ditto.
	* intrinsic.texi: Ditto.
	* invoke.texi: Ditto.

2014-01-02  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/59654
	* resolve.c (resolve_typebound_procedures): No need to create the vtab
	here.

Copyright (C) 2014 Free Software Foundation, Inc.

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
