2011-04-16  Release Manager

	* GCC 4.4.6 released.

2011-01-27  Tobias Burnus  <burnus@net-b.de>

	Backport from mainline
	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-19  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-14  Tobias Burnus  <burnus@net-b.de>

	PR fortran/47569
	* interface.c (compare_parameter): Avoid ICE with
	character components.

2011-01-16  Jakub Jelinek  <jakub@redhat.com>

	Backport from mainline
	2010-12-14  Jakub Jelinek  <jakub@redhat.com>

	PR fortran/46874
	* trans-openmp.c (gfc_trans_omp_array_reduction): Handle allocatable
	dummy variables.

2010-12-09  Daniel Kraft  <d@domob.eu>

	PR fortran/46794
	* trans-expr.c (gfc_conv_power_op): Handle kind of result expression
	correctly for integer kind 1 and 2 operands.

2010-12-09  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/45081
	* simplify.c (is_constant_array_expr): Allow structure array
	elements as well as constants.
	(gfc_simplify_reshape): Copy the derived type of source to
	the result.

2010-12-07  Jakub Jelinek  <jakub@redhat.com>

	Backport from mainline
	2010-12-02  Jakub Jelinek  <jakub@redhat.com>

	PR fortran/46753
	* trans-openmp.c (gfc_trans_omp_do): Use build2_loc instead of
	fold_build2_loc for OMP_FOR conditions.

2010-11-25  Tobias Burnus  <burnus@net-b.de>

	PR fortran/46638
	* target-memory.c (gfc_interpret_derived): Correctly handle
	component offset.

2010-11-13  Tobias Burnus  <burnus@net-b.de>

	PR fortran/45742
	* trans-common.c (build_field): Add TREE_SIDE_EFFECTS for volatile.
	* trans-decl.c (gfc_finish_var_decl): Ditto.
	(create_function_arglist): Handle volatile dummy arguments.

2010-10-25  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/46140
	* fortran/scanner.c (include_line): Check return value of load_file.

2010-10-01  Release Manager

	* GCC 4.4.5 released.

2010-09-08  Jakub Jelinek  <jakub@redhat.com>

	PR fortran/45595
	* openmp.c (resolve_omp_do): Report not enough do loops for
	collapse even if block->next is NULL.

2010-08-07  Daniel Franke  <franke.daniel@gmail.com>

	PR fortran/31588
	PR fortran/43954
	Backport from mainline:
	* gfortranspec.c (lang_specific_driver): Removed deprecation
	warning for -M.
	* lang.opt: Add options -M, -MM, -MD, -MMD, -MF, -MG, -MP, -MT, -MQ.
	* lang-specs.h (CPP_FORWARD_OPTIONS): Add -M* options.
	* cpp.h (gfc_cpp_makedep): New.
	(gfc_cpp_add_dep): New.
	(gfc_cpp_add_target): New.
	* cpp.c (gfc_cpp_option): Add deps* members.
	(gfc_cpp_makedep): New.
	(gfc_cpp_add_dep): New.
	(gfc_cpp_add_target): New.
	(gfc_cpp_init_options): Initialize new options.
	(gfc_cpp_handle_option): Handle new options.
	(gfc_cpp_post_options): Map new options to libcpp-options.
	(gfc_cpp_init): Handle deferred -MQ and -MT options.
	(gfc_cpp_done): If requested, write dependencies to file.
	* module.c (gfc_dump_module): Add a module filename as target.
	* scanner.c (open_included_file): New parameter system; add the
	included file as dependency.
	(gfc_open_included_file): Add the included file as dependency.
	(gfc_open_intrinsic_module): Likewise.
	* invoke.texi: Removed deprecation warning for -M.
	* gfortran.texi: Removed Makefile-dependencies project.

2010-08-06  Mikael Morin  <mikael@gcc.gnu.org>

	PR fortran/44660
	* gfortran.h (gfc_namespace): New field old_equiv.
	(gfc_free_equiv_until): New prototype.
	* match.c (gfc_free_equiv_until): New, renamed from gfc_free_equiv with
	a parameterized stop condition.
	(gfc_free_equiv): Use gfc_free_equiv_until.
	* parse.c (next_statement): Save equivalence list.
	(reject_statement): Restore equivalence list. 

2010-07-23  Tobias Burnus  <burnus@net-b.de>

	PR fortran/45019
	* dependency.c (gfc_check_dependency): Add argument alising check.
	* symbol.c (gfc_symbols_could_alias): Add argument alising check.

2010-07-10  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/44582
	* trans-expr.c (arrayfunc_assign_needs_temporary): New function
	to determine if a function assignment can be made without a
	temporary.
	(gfc_trans_arrayfunc_assign): Move all the conditions that
	suppress the direct function call to the above new functon and
	call it.

	PR fortran/44773
	* trans-expr.c (arrayfunc_assign_needs_temporary): No temporary
	if the lhs has never been host associated, as well as not being
	use associated, a pointer or a target.
	* resolve.c (resolve_variable): Mark variables that are host
	associated.
	* gfortran.h: Add the host_assoc bit to the symbol_attribute
	structure.

2010-07-08  Jakub Jelinek  <jakub@redhat.com>

	PR fortran/44847
	* match.c (match_exit_cycle): Error on EXIT also from collapsed
	!$omp do loops.  Error on CYCLE to non-innermost collapsed
	!$omp do loops.

2010-06-27  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/43841
	PR fortran/43843
	* trans-expr.c (gfc_conv_expr): Supply an address expression for
	GFC_SS_REFERENCE.
	(gfc_conv_expr_reference): Call gfc_conv_expr and return for
	GFC_SS_REFERENCE.
	* trans-array.c (gfc_add_loop_ss_code): Store the value rather
	than the address of a GFC_SS_REFERENCE.
	* trans.h : Change comment on GFC_SS_REFERENCE. 

2010-06-15  Jakub Jelinek  <jakub@redhat.com>

	PR fortran/44536
	* trans-openmp.c (gfc_omp_predetermined_sharing): Don't return
	OMP_CLAUSE_DEFAULT_SHARED for artificial vars with
	GFC_DECL_SAVED_DESCRIPTOR set.
	(gfc_omp_report_decl): New function.
	* trans.h (gfc_omp_report_decl): New prototype.
	* f95-lang.c (LANG_HOOKS_OMP_REPORT_DECL): Redefine.

2010-06-09  Steven G. Kargl  <kargl@gcc.gnu.org>

	* fortran/intrinsic.c (add_functions): Change gfc_check_btest,
	gfc_check_ibclr, and gfc_check_ibset to gfc_check_bitfcn.
	* fortran/intrinsic.h: Remove prototypes for gfc_check_btest,
	gfc_check_ibclr, and gfc_check_ibset.  Add prototype for
	gfc_check_bitfcn.
	* fortran/check.c (nonnegative_check, less_than_bitsize1, 
	less_than_bitsize2): New functions.
	(gfc_check_btest): Renamed to gfc_check_bitfcn.  Use
	nonnegative_check and less_than_bitsize1.
	(gfc_check_ibclr, gfc_check_ibset): Removed.
	(gfc_check_ibits,gfc_check_mvbits): Use nonnegative_check and
	less_than_bitsize1.

2010-06-02  Tobias Burnus  <burnus@net-b.de>

	PR fortran/44360
	* parse.c (gfc_fixup_sibling_symbols): Do not "fix" use-associated
	symbols.

2010-05-14  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/44135
	* fortran/interface.c (get_sym_storage_size): Use signed instead of
	unsigned mpz_get_?i routines.

2010-05-13  Jakub Jelinek  <jakub@redhat.com>

	PR fortran/44036
	* openmp.c (resolve_omp_clauses): Allow procedure pointers in clause
	variable lists.
	* trans-openmp.c (gfc_omp_privatize_by_reference): Don't privatize
	by reference dummy procedures or non-dummy procedure pointers.
	(gfc_omp_predetermined_sharing): Return
	OMP_CLAUSE_DEFAULT_FIRSTPRIVATE for dummy procedures.

2010-04-29  Release Manager

	* GCC 4.4.4 released.

2010-04-21  Jakub Jelinek  <jakub@redhat.com>

	PR fortran/43836
	* f95-lang.c (gfc_define_builtin): Set TREE_NOTHROW on
	the decl.

2010-04-20  Harald Anlauf  <anlauf@gmx.de>

	* intrinsic.c (sort_actual): Remove 'is' in error message.

2010-04-20  Jakub Jelinek  <jakub@redhat.com>

	PR fortran/43339
	* openmp.c (gfc_resolve_do_iterator): Only make iteration vars for
	sequential loops private in the innermost containing task region.

2010-04-07  Janne Blomqvist  <jb@gcc.gnu.org>

	PR fortran/43539
	* gfortran.texi: Add section about representation of
        LOGICAL variables.

2010-03-30  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/43409
	Back port from trunk.
	* ioparm.def: Change inquire size variable to type pointer to
	GFC_IO_INT type.

2010-03-11  Tobias Burnus  <burnus@net-b.de

	PR fortran/43303
	* symbol.c (get_iso_c_sym): Set sym->result.

2010-02-16  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/41869
	* module.c (fix_mio_expr): Fix for private generic procedures.

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

	PR fortran/43030
	* resolve.c (gfc_resolve_dim_arg): Call gfc_clear_ts.

	PR fortran/43029
	* decl.c (enumerator_decl): Don't call gfc_free_enum_history
	here.
	(gfc_match_enumerator_def): But here whenever enumerator_decl returns
	MATCH_ERROR.

2010-02-10  Jakub Jelinek  <jakub@redhat.com>

	PR fortran/42309
	* trans-expr.c (gfc_conv_subref_array_arg): Avoid accessing
	info->dimen after info has been freed.

2010-02-06  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/42309
	* trans-expr.c (gfc_conv_subref_array_arg): Add new argument
	'formal_ptr'. If this is true, give returned descriptor unity
	lbounds, in all dimensions, and the appropriate offset.
	(gfc_conv_procedure_call); If formal is a pointer, set the last
	argument of gfc_conv_subref_array_arg to true.
	* trans.h : Add last argument for gfc_conv_subref_array_arg.
	* trans-io.c (set_internal_unit, gfc_trans_transfer): Set the
	new arg of gfc_conv_subref_array_arg to false.
	* trans-stmt.c (forall_make_variable_temp): The same.

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

	PR fortran/42650
	* parse.c (decode_specification_statement): Use sym->result not sym.

2010-01-31  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/38324
	* expr.c (gfc_get_full_arrayspec_from_expr): New function.
	* gfortran.h : Add prototype for above.
	* trans-expr.c (gfc_trans_alloc_subarray_assign): New function.
	(gfc_trans_subcomponent_assign): Call new function to replace
	the code to deal with allocatable components.
	* trans-intrinsic.c (gfc_conv_intrinsic_bound): Call
	gfc_get_full_arrayspec_from_expr to replace existing code.

2010-01-30  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/41044
	PR fortran/41167
	* expr.c (remove_subobject_ref): If the constructor is NULL use
	the expression as the source.
	(simplify_const_ref): Change the type of expression if
	there are component references.  Allow for substring to be at
	the end of an arbitrarily long chain of references.  If an
	element is found that is not in an EXPR_ARRAY, assume that this
	is scalar initialization of array. Call remove_subobject_ref in
	this case with NULL second argument.

2010-01-27  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/42736
	* trans-stmt.c (gfc_conv_elemental_dependencies): If temporary
	is required, turn any trailing array elements after a range
	into ranges so that offsets can be calculated.

2010-01-21  Release Manager

	* GCC 4.4.3 released.

2010-01-09  Jakub Jelinek  <jakub@redhat.com>

	* gfortranspec.c (lang_specific_driver): Update copyright notice
	dates.

2009-11-30  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/41278
	Backport from mainline.
	* trans-array.c (gfc_conv_array_transpose): Delete unnecessary assert.
	
2009-11-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/41807
	Backport from mainline.
	* trans-const.c (gfc_conv_const): Fix typo in comment. Replace assert
	with error message if not constant. Set se->expr to a constant on error.
	* resolve.c (next_data_value): Delete check for constant.
	
2009-11-25  Jakub Jelinek  <jakub@redhat.com>

	PR fortran/42162
	* trans-openmp.c (gfc_trans_omp_do): When dovar isn't a VAR_DECL,
	don't use simple loop and handle clauses properly.

2009-11-06  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/41909
	* resolve.c (is_illegal_recursion): Return false if sym is program.

2009-11-02  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/41772
	* trans-intrinsic.c (gfc_conv_intrinsic_transfer): Stop'extent'
	from going negative.

2009-11-01  Tobias Burnus  <burnus@net-b.de>

	PR fortran/41850
	* trans-expr.c (gfc_conv_procedure_call): Deallocate intent-out
	variables only when present.

2009-10-30  Tobias Burnus  <burnus@net-b.de>

	PR fortran/41777
	* trans-expr.c (gfc_conv_procedure_call,gfc_conv_expr_reference):
	Use for generic EXPR_FUNCTION the attributes of the specific
	function.

2009-10-19  Tobias Burnus  <burnus@net-b.de>
	    Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/41755
	* symbol.c (gfc_undo_symbols): Add NULL check.
	* match.c (gfc_match_equivalence): Add check for
	missing comma.

2009-10-15  Release Manager

	* GCC 4.4.2 released.

2009-10-05  Tobias Burnus  <burnus@net-b.de>

	PR fortran/41479
	(init_intent_out_dt): Call gfc_init_default_dt
	for all derived types with initializers.

2009-10-01  Tobias Burnus  <burnus@net-b.de>

	PR fortran/41515
	* decl.c (do_parm): Call add_init_expr_to_sym.

2009-09-11  Steven G. Kargl  <kargl@gcc.gnu.org>

	Backported from mainline:
	2009-05-08  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/39876
	* intrinsic.c (gfc_is_intrinsic): Do not add the EXTERNAL attribute if
	the symbol is a module procedure.


2009-09-05  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/41258
	* primary.c (gfc_match_varspec): Do not look for typebound
	procedures unless the derived type has a f2k_derived namespace.

2008-08-25  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/41062
	* trans-decl.c (gfc_trans_use_stmts):  Keep going through use
	list if symbol is not use associated.

2009-08-16  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/40847
	* iresolve.c (gfc_resolve_transfer): Correct error in 'mold'
	character length for case where length expresson is NULL.

2009-07-29  Tobias Burnus  <burnus@net-b.de>

	PR fortran/40851
	* resolve.c (resolve_symbol): Do not initialize pointer derived-types.
	* trans-decl.c (init_intent_out_dt): Ditto.
	(generate_local_decl): No need to set attr.referenced for DT pointers.

2009-07-28  Jakub Jelinek  <jakub@redhat.com>

	PR fortran/40878
	* openmp.c (gfc_match_omp_clauses): Use gfc_error_now instead of
	gfc_error to diagnose invalid COLLAPSE arguments.

2009-07-23  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/40727
	* fortran/check.c (gfc_check_cmplx, gfc_check_dcmplx): Add check that
	the optional second argument isn't of COMPLEX type.

2009-07-22  Release Manager

	* GCC 4.4.1 released.

2009-07-09  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/40440
	* trans-expr.c (gfc_conv_procedure_call): Do not deallocate
	allocatable components if the argument is a pointer.

2009-07-05  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/40551
	* dependency.h : Add second bool* argument to prototype of
	gfc_full_array_ref_p.
	* dependency.c (gfc_full_array_ref_p): If second argument is
	present, return true if last dimension of reference is an
	element or has unity stride.
	* trans-array.c : Add NULL second argument to references to
	gfc_full_array_ref_p.
	* trans-expr.c : The same, except for;
	(gfc_trans_arrayfunc_assign): Return fail if lhs reference
	is not a full array or a contiguous section.

2009-07-04  Jakub Jelinek  <jakub@redhat.com>

	* trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): For integer
	maxloc initialize limit to -huge-1 rather than just -huge.

2009-07-03  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/40638
	* trans-io.c (set_parameter_value): Don't build un-necessary run-time
	checks for units of KIND less than 4.

2009-06-29  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/40443
	* interface.c (gfc_search_interface): Hold back a match to an
	elementary procedure until all other possibilities are
	exhausted.

2009-06-20  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/39800
	* resolve.c (is_sym_host_assoc): New function.
	(resolve_fl_derived): Call it when checking PRIVATE components
	of PUBLIC derived types.  Change gfc_error to a gfc_notify_std
	with std=f2003.
	(resolve_fl_namelist): Call it twice to check for host
	association.

2009-06-20  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/40402
	* resolve.c (next_data_value): It is an error if the value is
	not constant.

2009-06-14  Richard Guenther  <rguenther@suse.de>

	Backport from mainline
	2009-05-18  Richard Guenther  <rguenther@suse.de>

	PR fortran/40168
	* trans-expr.c (gfc_trans_zero_assign): For local array
	destinations use an assignment from an empty constructor.

2009-06-04 Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/39893
	fortran/data.c (gfc_assign_data_value): If the lvalue is an 
	assumed character length entity in a data statement, then 
	return FAILURE to prevent segmentation fault.

2009-06-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	PR fortran/40019
	* trans-types.c (gfc_build_uint_type): Make nonstatic.
	* trans.h (gfor_fndecl_clz128, gfor_fndecl_ctz128): New prototypes.
	* trans-types.h (gfc_build_uint_type): Add prototype.
	* trans-decl.c (gfc_build_intrinsic_function_decls): Build
	gfor_fndecl_clz128 and gfor_fndecl_ctz128.
	* trans-intrinsic.c (gfc_conv_intrinsic_leadz,
	gfc_conv_intrinsic_trailz): Call the right builtins or library
	functions, and cast arguments to unsigned types first.
	* simplify.c (gfc_simplify_leadz): Deal with negative arguments.

2009-05-22  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	PR fortran/40195
	* module.c (read_md5_from_module_file): Close file before returning.

2009-05-10  Paul Thomas  <pault@gcc.gnu.org>

	Backport from mainline:
	PR fortran/40018
	* trans-array.c (gfc_trans_array_constructor_value): Fold
	convert numeric constants.
	(gfc_build_constant_array_constructor): The same.

2009-05-10  Paul Thomas  <pault@gcc.gnu.org>

	Backport from mainline:
	PR fortran/38863
	* trans-expr.c (gfc_conv_operator_assign): Remove function.
	* trans.h : Remove prototype for gfc_conv_operator_assign.
	* trans-stmt.c (gfc_conv_elemental_dependencies): Initialize
	derivde types with intent(out).
	(gfc_trans_call): Add mask, count1 and invert arguments. Add
	code to use mask for WHERE assignments.
	(gfc_trans_forall_1): Use new arguments for gfc_trans_call.
	(gfc_trans_where_assign): The gfc_symbol argument is replaced
	by the corresponding code. If this has a resolved_sym, then
	gfc_trans_call is called. The call to gfc_conv_operator_assign
	is removed.
	(gfc_trans_where_2): Change the last argument in the call to
	gfc_trans_where_assign.
	* trans-stmt.h : Modify prototype for gfc_trans_call.
	* trans.c (gfc_trans_code): Use new args for gfc_trans_call.

2009-05-10  Paul Thomas  <pault@gcc.gnu.org>

	Backport from mainline:
	PR fortran/39879
	* trans_expr.c (gfc_conv_procedure_call): Deep copy a derived
	type parentheses argument if it is a variable with allocatable
	components.

2009-04-22  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

	Backport from mainline:
	2009-03-30  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

	* f95-lang.c (gfc_init_builtin_functions): Define BUILT_IN_HUGE_VAL
	family of intrinsics instead of BUILT_IN_INF family.
	* trans-intrinsics.c (gfc_conv_intrinsic_nearest): Use
	BUILT_IN_HUGE_VAL instead of BUILT_IN_INF.

2009-04-21  Release Manager

	* GCC 4.4.0 released.

2009-04-08  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/38152
	* trans-decl.c (gfc_get_symbol_decl): Correctly set decl location for
	procedure pointer decls.

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

	Backport from mainline:
	PR fortran/39519
	* parse.c (parse_derived): Do not break on finding pointer,
	allocatable or private components.

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

	PR fortran/39594
	* resolve.c (resolve_common_vars): Add FL_VARIABLE to symbol
	if it is not a procedure pointer.
	* primary.c (match_actual_arg): Ditto.

2009-03-30  Jakub Jelinek  <jakub@redhat.com>

	* trans-types.c (gfc_sym_type, gfc_return_by_reference): For
	sym->attr.result check sym->ns->proc_name->attr.is_bind_c.

2009-03-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* lang.opt: Unify help texts for -I, -Wconversion, -d, -fopenmp,
	and -fpreprocessed.

2009-03-06  Alexandre Oliva <aoliva@redhat.com>

	* simplify.c (gfc_simplify_transfer): Zero-initialize the
	buffer.

2009-02-27  Tobias Burnus  <burnus@net-b.de>

	PR fortran/39309
	* module.c (read_md5_from_module_file): Add missing quote.

2009-02-27  Tobias Burnus  <burnus@net-b.de>

	PR fortran/39309
	* module.c (read_md5_from_module_file): Include mod version
	in had-changed test.

2009-02-26  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/39295
	* interface.c (compare_type_rank_if): Return 1 if the symbols
	are the same and deal with external procedures where one is
	identified to be a function or subroutine by usage but the
	other is not.

2009-02-26  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/39292
	* trans-array.c (gfc_conv_array_initializer): Convert all
	expressions rather than ICEing.

2009-02-21  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/38914
	* array.c (ref_dimen_size):  Rename to gfc_ref_dimen_size,
	make global.  Change function name in error messages.
	(ref_size):  Change ref_dimen_size to gfc_ref_dimen_size.
	(gfc_array_ref_shape):  Likewise.
	* gfortran.h:  Add prototype for gfc_ref_dimen_size.
	* simplify.c (simplify_bound_dim):  Add ref argument.
	If the reference isn't a full array, return one for
	the lower bound and the extent for the upper bound.
	(simplify_bound):  For array sections, take as from the
	argument.  Add reference to all to simplify_bound_dim.

2009-02-19  Daniel Franke  <franke.daniel@gmail.com>

	* scanner.c (load_line): At end of line, skip '\r' without setting
	the truncation flag.

2009-02-18  Daniel Kraft  <d@domob.eu>

	* gfortran.texi: New chapter about compiler characteristics.
	(Compiler Characteristics): Document KIND type parameters here.

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

	* intrinsic.texi (MALLOC): Make example more portable.

2009-02-13  Mikael Morin  <mikael.morin@tele2.fr>

	PR fortran/38259
	* module.c (gfc_dump_module,gfc_use_module): Add module
	version number.

2009-02-13  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/36703
	PR fortran/36528
	* trans-expr.c (gfc_conv_function_val): Stabilize Cray-pointer
	function references to ensure that a valid expression is used.
	(gfc_conv_function_call): Pass Cray pointers to procedures.

2009-02-03  Jakub Jelinek  <jakub@redhat.com>

	* gfortranspec.c (lang_specific_driver): Update copyright notice
	dates.

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

	PR fortran/38852
	PR fortran/39006
	* trans-intrinsic.c (gfc_conv_intrinsic_bound): Use the array
	descriptor ubound for UBOUND, when the array lbound == 1.

2009-01-27  Daniel Kraft  <d@domob.eu>

	PR fortran/38883
	* trans-stmt.c (gfc_conv_elemental_dependencies):  Create temporary
	for the real type needed to make it work for subcomponent-references.

2009-01-21  Daniel Kraft  <d@domob.eu>

	* trans-stmt.c (gfc_conv_elemental_dependencies):  Cleaned up comment.

2009-01-20  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/38907
	* resolve.c (check_host_association): Remove the matching to
	correct an incorrect host association and use manipulation of
	the expression instead.

2009-01-20  Tobias Burnus  <burnus@net-b.de>

	* invoke.texi (RANGE): RANGE also takes INTEGER arguments.

2009-01-19  Mikael Morin  <mikael.morin@tele2.fr>

	PR fortran/38859
	* simplify.c (simplify_bound): Don't use array specification
	if variable or component has subsequent references.

2009-01-17  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/38657
	* module.c (write_common_0): Add argument 'this_module' and
	check that non-use associated common blocks are written first.
	(write_common): Call write_common_0 twice, once with true and
	then with false.

2009-01-17  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/34955
	* trans-intrinsic.c (gfc_conv_intrinsic_array_transfer): Has
	been absorbed into gfc_conv_intrinsic_transfer. All
	references to it in trans-intrinsic.c have been changed
	accordingly.  PR fixed by using a temporary for scalar
	character transfer, when the source is shorter than the
	destination.

2009-01-17  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/38657
	* module.c (write_common_0): Revert patch of 2009-01-05.

2009-01-16  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/38152
	* expr.c (gfc_check_pointer_assign): Allow use-associated procedure
	pointers as lvalue.
	* trans-decl.c (get_proc_pointer_decl,gfc_create_module_variable):
	Enable procedure pointers as module variables.

2009-01-14  Steven G. Kargl  <kargl@gcc.gnu.org>

	* ChangeLog-2007: Clean out svn merge droppings.

2009-01-10  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/38763
	* target-memory.c (encode_derived): Encode NULL.

2009-01-10  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/38765
	* resolve.c (check_host_association): Use the symtree name to
	search for a potential contained procedure, since this is the
	name by which it would be referenced.

2009-01-06  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/38220
	* interface.c (gfc_procedure_use):  Don't warn about functions
	from ISO_C_BINDING.
	* symbol.c (generate_isocbinding_symbol):  Mark c_loc and
	c_funloc as pure.

2009-01-05  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/38657
	* module.c (write_common_0): Use the name of the symtree rather
	than the common block, to determine if the common has been
	written.

2009-01-05  Daniel Franke  <franke.daniel@gmail.com>

	PR fortran/37159
	* check.c (gfc_check_random_seed): Added size check for GET
	dummy argument, reworded error messages to follow common pattern.

2009-01-05  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/38672
	* trans-types.c (gfc_get_derived_type):  Check for the
	presence of derived->ns->proc_name before
	accessing derived->ns->proc_name->attr.flavor .
	* resolve.c (resolve_symbol):  Likewise.

2009-01-05  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/38665
	* gfortran.h : Add bit to gfc_expr 'user_operator'
	* interface.c (gfc_extend_expr): Set the above if the operator
	is substituted by a function. 
	* resolve.c (check_host_association): Return if above is set.

2009-01-04  Mikael Morin  <mikael.morin@tele2.fr>

	PR fortran/35681
	* ChangeLog-2008: Fix function name.

	PR fortran/38487
	* dependency.c (gfc_check_argument_var_dependency):
	Move the check for pointerness inside the if block
	so that it doesn't affect the return value.

	PR fortran/38669
	* trans-stmt.c (gfc_trans_call):
	Add the dependency code after the loop bounds calculation one.

2009-01-04  Daniel Franke  <franke.daniel@gmail.com>

	* intrinsic.c (do_simplify): Removed already implemented TODO.

2009-01-04  Daniel Franke  <franke.daniel@gmail.com>

	PR fortran/38718
	* simplify.c (gfc_simplify_merge): New.
	* intrinsic.h (gfc_simplify_merge): New prototype.
	* intrinsic.c (add_functions): Added simplification for MERGE.

2009-01-04  Mikael Morin  <mikael.morin@tele2.fr>

	PR fortran/38536
	* gfortran.h (gfc_is_data_pointer): Added prototype
	* resolve.c (gfc_iso_c_func_interface):
	Use gfc_is_data_pointer to test for pointer attribute.
	* dependency.c (gfc_is_data_pointer):
	Support pointer-returning functions.

2009-01-03  Daniel Franke  <franke.daniel@gmail.com>

	* symbol.c (save_symbol): Don't SAVE function results.

2009-01-03  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/38594
	* resolve.c (resolve_call): When searching for proper host
	association, use symtree rather than symbol.  For everything
	except generic subroutines, substitute the symtree in the call
	rather than the symbol.
