1. 08 Oct, 2006 1 commit
    • pault's avatar
      2006-10-05 Erik Edelmann <edelmann@gcc.gnu.org> · 2294b616
      pault authored
      	    Paul Thomas <pault@gcc.gnu.org>
      
      	PR fortran/20541
      	* interface.c (gfc_compare_derived_types): Add comparison of
      	the allocatable field.
      	* intrinsic.c (add_subroutines): Add MOVE_ALLOC.
      	* trans-expr.c (gfc_conv_aliased_arg, gfc_trans_subarray_assign,
      	gfc_trans_subcomponent_assign, gfc_conv_string_parameter,
      	gfc_trans_scalar_assign): Add extra arguments l_is_temp
      	and r_is_var to references to latter function.
      	(gfc_conv_function_call): Add enum for types of argument and
      	an associated variable parm_kind. Deallocate components of
      	INTENT(OUT) and non-variable arrays.
      	(gfc_trans_subcomponent_assign): Add block to assign arrays
      	to allocatable components.
      	(gfc_trans_scalar_assign): Add block to handle assignments of
      	derived types with allocatable components, using the above new
      	arguments to control allocation/deallocation of memory and the
      	copying of allocated arrays.
      	* trans-array.c (gfc_array_allocate): Remove old identification 
      	of pointer and replace with that of an allocatable array. Add
      	nullify of structures with allocatable components. 
      	(gfc_conv_array_initializer): Treat EXPR_NULL.
      	(gfc_conv_array_parameter): Deallocate allocatable components
      	of non-variable structures.
      	(gfc_trans_dealloc_allocated): Use second argument of library
      	deallocate to inhibit, without error, freeing NULL pointers.
      	(get_full_array_size): New function to return the size of a
      	full array.
      	(gfc_duplicate_allocatable): New function to allocate and copy
      	allocated data.
      	(structure_alloc_comps): New recursive function to deallocate,
      	nullify or copy allocatable components.
      	(gfc_nullify_alloc_comp, gfc_deallocate_alloc_comp,
      	gfc_copy_alloc_comp): New interface functions to call previous.
      	(gfc_trans_deferred_array): Add the code to nullify allocatable
      	components, when entering scope, and to deallocate them on
      	leaving. Do not call gfc_trans_static_array_pointer and return
      	for structures with allocatable components and default
      	initializers.
      	* symbol.c (gfc_set_component_attr): Set allocatable field.
      	(gfc_get_component_attr): Set the allocatable attribute.
      	* intrinsic.h : Prototype for gfc_check_move_alloc.
      	* decl.c (build_struct): Apply TR15581 constraints for
      	allocatable components.
      	(variable_decl): Default initializer is always NULL for
      	allocatable components.
      	(match_attr_spec): Allow, or not, allocatable components,
      	according to the standard in force.
      	* trans-array.h : Prototypes for gfc_nullify_alloc_comp,
      	gfc_deallocate_alloc_comp, gfc_copy_alloc_comp and
      	gfc_duplicate_allocatable.
      	* gfortran.texi : Add mention of TR15581 extensions.
      	* gfortran.h : Add attribute alloc_comp, add
      	gfc_components field allocatable and add the prototype
      	for gfc_expr_to_initialize.
      	* trans-stmt.c (generate_loop_for_temp_to_lhs,
      	generate_loop_for_rhs_to_temp, gfc_trans_where_assign,
      	gfc_trans_where_3): Add extra arguments to calls to
      	gfc_trans_scalar_assign and set appropriately.
      	(gfc_trans_allocate): Nullify allocatable components.
      	(gfc_trans_deallocate): Deallocate to ultimate allocatable
      	components but stop at ultimate pointer components.
      	* module.c (mio_symbol_attribute, mio_symbol_attribute,
      	mio_component): Add module support for allocatable
      	components.
      	* trans-types.c (gfc_get_derived_type): Treat allocatable
      	components.
      	* trans.h : Add two boolean arguments to
      	gfc_trans_scalar_assign.
      	* resolve.c (resolve_structure_cons): Check conformance of
      	constructor element and the component.
      	(resolve_allocate_expr): Add expression to nullify the
      	constructor expression for allocatable components.
      	(resolve_transfer): Inhibit I/O of derived types with
      	allocatable components.
      	(resolve_fl_derived): Skip check of bounds of allocatable
      	components.
      	* trans-decl.c (gfc_get_symbol_decl): Add derived types
      	with allocatable components to deferred variable.
      	(gfc_trans_deferred_vars): Make calls for derived types
      	with allocatable components to gfc_trans_deferred_array.
      	(gfc_generate_function_code): Nullify allocatable
      	component function result on entry.
      	* parse.c (parse_derived): Set symbol attr.allocatable if
      	allocatable components are present.
      	* check.c (gfc_check_allocated): Enforce attr.allocatable
      	for intrinsic arguments.
      	(gfc_check_move_alloc): Check arguments of move_alloc.
      	* primary.c (gfc_variable_attr): Set allocatable attribute.
      	* intrinsic.texi : Add index entry and section for
      	for move_alloc.
      
      	PR fortran/29115
      	* resolve.c (resolve_structure_cons): It is an error if the
      	pointer component elements of a derived type constructor are
      	not pointer or target.
      
      
      	PR fortran/29211
      	* trans-stmt.c (generate_loop_for_temp_to_lhs,
      	generate_loop_for_rhs_to_temp): Provide a string length for
      	the temporary by copying that of the other side of the scalar
      	assignment.
      
      
      2006-10-05  Paul Thomas  <pault@gcc.gnu.org>
      	    Erik Edelmann  <edelmann@gcc.gnu.org>
      
      	PR libgfortran/20541
      	* Makefile.in : Add move_alloc.
      	* intrinsics/move_alloc.c: New function.
      	* Makefile.am : Add move_alloc.
      
      
      
      2006-10-05  Erik Edelmann  <edelmann@gcc.gnu.org>
      	    Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/20541
      	* gfortran.dg/alloc_comp_basics_1.f90: New test.
      	* gfortran.dg/alloc_comp_basics_2.f90: New test.
      	* gfortran.dg/alloc_comp_assign_1.f90: New test.
      	* gfortran.dg/alloc_comp_assign_2.f90: New test.
      	* gfortran.dg/alloc_comp_assign_3.f90: New test.
      	* gfortran.dg/alloc_comp_assign_4.f90: New test.
      	* gfortran.dg/alloc_comp_constraint_1.f90: New test.
      	* gfortran.dg/alloc_comp_constraint_2.f90: New test.
      	* gfortran.dg/alloc_comp_constraint_3.f90: New test.
      	* gfortran.dg/alloc_comp_constructor_1.f90: New test.
      	* gfortran.dg/alloc_comp_constructor_2.f90: New test.
      	* gfortran.dg/alloc_comp_initializer_1.f90: New test.
      	* gfortran.dg/alloc_comp_std.f90: New test.
      	* gfortran.dg/move_alloc.f90: New test.
      
      	PR fortran/29115
      	* gfortran.dg/derived_constructor_comps_2.f90: New test.
      
      	PR fortran/29211
      	* gfortran.dg/forall_char_dependencies_1.f90: New test.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@117558 138bc75d-0d04-0410-961f-82ee72b054a4
      2294b616
  2. 03 Oct, 2006 1 commit
    • pault's avatar
      2006-10-03 Paul Thomas <pault@gcc.gnu.org> · d45fced7
      pault authored
      	PR fortran/29284
      	PR fortran/29321
      	PR fortran/29322
      	* trans-expr.c (gfc_conv_function_call): Check the expression
      	and the formal symbol are present when testing the actual
      	argument.
      
      	PR fortran/25091
      	PR fortran/25092
      	* resolve.c (resolve_entries): It is an error if the entries
      	of an array-valued function do not have the same shape.
      
      2006-10-03  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/29284
      	* gfortran.dg/optional_assumed_charlen_1.f90: New test.
      
      	PR fortran/29321
      	PR fortran/29322
      	* gfortran.dg/missing_optional_dummy_2.f90: New test.
      
      	PR fortran/25091
      	PR fortran/25092
      	* gfortran.dg/entry_array_specs_1.f90: New test.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@117413 138bc75d-0d04-0410-961f-82ee72b054a4
      d45fced7
  3. 13 Sep, 2006 1 commit
  4. 11 Sep, 2006 1 commit
    • pault's avatar
      2006-09-11 Paul Thomas <pault@gcc.gnu.org> · cce7ac71
      pault authored
      	PR fortran/28890
      	trans-expr.c (gfc_conv_function_call): Obtain the string length
      	of a dummy character(*) function from the symbol if it is not
      	already translated.  For a call to a character(*) function, use
      	the passed, hidden string length argument, which is available
      	from the backend_decl of the formal argument.
      	resolve.c (resolve_function): It is an error if a function call
      	to a character(*) function is other than a dummy procedure or
      	an intrinsic.
      
      2006-09-11  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR libfortran/28890
      	gfortran.dg/assumed_charlen_function_5.f90: New test.
      
      
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@116839 138bc75d-0d04-0410-961f-82ee72b054a4
      cce7ac71
  5. 30 Aug, 2006 1 commit
    • pault's avatar
      2006-08-30 Paul Thomas <pault@gcc.gnu.org> · e8325fb3
      pault authored
      	PR fortran/28885
      	REGRESSION FIX
      	* trans-expr.c (gfc_conv_aliased_arg): Ensure that the temp
      	declaration is retained for INTENT(OUT) arguments.
      
      	PR fortran/28873
      	REGRESSION FIX
      	PR fortran/20067
      	* resolve.c (resolve_generic_f): Make error message more
      	comprehensible.
      	(resolve_generic_s): Restructure search for specific procedures
      	to be similar to resolve_generic_f and change to similar error
      	message.  Ensure that symbol reference is refreshed, in case
      	the search produces a NULL.
      	(resolve_specific_s): Restructure search, as above and as
      	resolve_specific_f. Ensure that symbol reference is refreshed,
      	in case the search produces a NULL.
      
      	PR fortran/25077
      	PR fortran/25102
      	* interface.c (check_operator_interface): Throw error if the
      	interface assignment tries to change intrinsic type assigments
      	or has less than two arguments.  Also, it is an error if an
      	interface operator contains an alternate return.
      
      	PR fortran/24866
      	* parse.c (gfc_fixup_sibling_symbols): Do not modify the symbol
      	if it is a dummy in the contained namespace.
      
      
      2006-08-30  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/28885
      	* gfortran.dg/aliasing_dummy_2.f90: New test.
      
      	PR fortran/20067
      	* gfortran.dg/generic_5.f90: Change error message.
      
      	PR fortran/28873
      	* gfortran.dg/generic_6.f90: New test.
      
      	PR fortran/25077
      	* gfortran.dg/redefined_intrinsic_assignment.f90: New test.
      
      	PR fortran/25102
      	* gfortran.dg/invalid_interface_assignment.f90: New test.
      
      	PR fortran/24866
      	* gfortran.dg/module_proc_external_dummy.f90: New test.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@116578 138bc75d-0d04-0410-961f-82ee72b054a4
      e8325fb3
  6. 20 Aug, 2006 1 commit
    • pault's avatar
      2006-08-20 Paul Thomas <pault@gcc.gnu.org> · d95efb59
      pault authored
      	PR fortran/28601
      	PR fortran/28630
      	* gfortran.h : Eliminate gfc_dt_list structure and reference
      	to it in gfc_namespace.
      	* resolve.c (resolve_fl_derived): Remove the building of the
      	list of derived types for the current namespace.
      	* symbol.c (find_renamed_type): New function to find renamed
      	derived types by symbol name rather than symtree name.
      	(gfc_use_derived): Search parent namespace for identical
      	derived type and use it, even if local version is complete,
      	except in interface bodies. Ensure that renamed derived types
      	are found by call to find_renamed_type. Recurse for derived
      	type components.
      	(gfc_free_dt_list): Remove.
      	(gfc_free_namespace): Remove call to previous.
      	* trans-types.c (copy_dt_decls_ifequal): Remove.
      	(gfc_get_derived_type): Remove all the paraphenalia for
      	association of derived types, including calls to previous.
      	* match.c (gfc_match_allocate): Call gfc_use_derived to
      	associate any derived types that are being allocated.
      
      	PR fortran/20886
      	* resolve.c (resolve_actual_arglist): The passing of
      	a generic procedure name as an actual argument is an
      	error.
      
      	PR fortran/28735
      	* resolve.c (resolve_variable): Check for a symtree before
      	resolving references.
      
      	PR fortran/28762
      	* primary.c (match_variable): Return MATCH_NO if the symbol
      	is that of the program.
      
      	PR fortran/28425
      	* trans-expr.c (gfc_trans_subcomponent_assign): Translate
      	derived type component expressions other than another derived
      	type constructor.
      
      	PR fortran/28496
      	* expr.c (find_array_section): Correct errors in
      	the handling of a missing start value for the
      	index triplet in an array reference.
      
      	PR fortran/18111
      	* trans-decl.c (gfc_build_dummy_array_decl): Before resetting
      	reference to backend_decl, set it DECL_ARTIFICIAL.
      	(gfc_get_symbol_decl): Likewise for original dummy decl, when
      	a copy is made of an array.
      	(create_function_arglist): Likewise for the _entry paramter
      	in entry_masters.
      	(build_entry_thunks): Likewise for dummies in entry thunks.
      
      	PR fortran/28600
      	* trans-decl.c (gfc_get_symbol_decl): Ensure that the
      	DECL_CONTEXT of the length of a character dummy is the
      	same as that of the symbol declaration.
      
      	PR fortran/28771
      	* decl.c (add_init_expr_to_sym): Remove setting of charlen for
      	an initializer of an assumed charlen variable.
      
      	PR fortran/28660
      	* trans-decl.c (generate_expr_decls): New function.
      	(generate_dependency_declarations): New function.
      	(generate_local_decl): Call previous if not either a dummy or
      	a declaration in an entry master.
      
      2006-08-20 Paul Thomas <pault@gcc.gnu.org>
      
      	PR fortran/28630
      	* gfortran.dg/used_types_2.f90: New test.
      
      	PR fortran/28601
      	* gfortran.dg/used_types_3.f90: New test.
      
      	PR fortran/20886
      	* gfortran.dg/generic_actual_arg.f90: New test.
      
      	PR fortran/28735
      	* gfortran.dg/module_private_array_refs_1.f90: New test.
      
      	PR fortran/28762
      	* gfortran.dg/program_name_1.f90: New test.
      
      	PR fortran/28425
      	* gfortran.dg/derived_constructor_comps_1.f90: New test.
      
      	PR fortran/28496
      	* gfortran.dg/array_initializer_2.f90: New test.
      
      	PR fortran/18111
      	* gfortran.dg/unused_artificial_dummies_1.f90: New test. 
      
      	PR fortran/28600
      	* gfortran.dg/assumed_charlen_function_4.f90: New test.
      
      	PR fortran/28771
      	* gfortran.dg/assumed_charlen_in_main.f90: New test.
      
      	PR fortran/28660
      	* gfortran.dg/dependent_decls_1.f90: New test.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@116268 138bc75d-0d04-0410-961f-82ee72b054a4
      d95efb59
  7. 19 Aug, 2006 1 commit
    • eedelman's avatar
      fortran/ · 46643105
      eedelman authored
      2006-08-19  Erik Edelmann  <eedelman@gcc.gnu.org>
      
              PR fortran/25217
              * resolve.c (resolve_fl_variable): Set a default initializer for
              derived types with INTENT(OUT) even if 'flag' is true.
              * trans-expr.c (gfc_conv_function_call): Insert code to
              reinitialize INTENT(OUT) arguments of derived type with default
              initializers.
      
      
      testsuite/
      2006-08-19  Erik Edelmann  <eedelman@gcc.gnu.org>
      
              PR fortran/25217
              * gfortran.dg/derived_init_2.f90: New.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@116261 138bc75d-0d04-0410-961f-82ee72b054a4
      46643105
  8. 15 Jul, 2006 1 commit
  9. 13 Jul, 2006 1 commit
    • pault's avatar
      2006-07-13 Paul Thomas <pault@gcc.gnu.org> · b8a51d79
      pault authored
      	PR fortran/28174
      	* trans-expr.c (gfc_conv_aliased_arg): Missing formal arg means
      	that intent is INOUT (fixes regression).
      
      	PR fortran/25097
      	* check.c (check_present): The only permitted reference is a
      	full array reference.
      
      	PR fortran/20903
      	* decl.c (variable_decl): Add error if a derived type is not
      	from the current namespace if the namespace is an interface
      	body.
      
      2006-07-13  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/25097
      	* gfortran.dg/present_1.f90: New test.
      
      	PR fortran/20903
      	* gfortran.dg/interface_derived_type_1.f90: New test.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@115410 138bc75d-0d04-0410-961f-82ee72b054a4
      b8a51d79
  10. 12 Jul, 2006 1 commit
    • fxcoudert's avatar
      PR fortran/28163 · 59b9dcbd
      fxcoudert authored
      	* trans-expr.c (gfc_trans_string_copy): Generate inline code
      	to perform string copying instead of calling a library function.
      	* trans-decl.c (gfc_build_intrinsic_function_decls): Don't build
      	decl for copy_string.
      	* trans.h (gfor_fndecl_copy_string): Remove prototype.
      
      	* intrinsics/string_intrinsics.c (copy_string): Remove function.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@115372 138bc75d-0d04-0410-961f-82ee72b054a4
      59b9dcbd
  11. 04 Jul, 2006 1 commit
    • pault's avatar
      2006-07-04 Paul Thomas <pault@gcc.gnu.org> · 35d9c496
      pault authored
      	PR fortran/28174
      	* trans-array.c (gfc_conv_expr_descriptor): When building temp,
      	ensure that the substring reference uses a new charlen.
      	* trans-expr.c (gfc_conv_aliased_arg): Add the formal intent to
      	the argument list, lift the treatment of missing string lengths
      	from the above and implement the use of the intent.
      	(gfc_conv_function_call): Add the extra argument to the call to
      	the above.
      
      	PR fortran/28167
      	* trans-array.c (get_array_ctor_var_strlen): Treat a constant
      	substring reference.
      	* array.c (gfc_resolve_character_array_constructor): Remove 
      	static attribute and add the gfc_ prefix, make use of element
      	charlens for the expression and pick up constant string lengths
      	for expressions that are not themselves constant.
      	* gfortran.h : resolve_character_array_constructor prototype
      	added.
      	* resolve.c (gfc_resolve_expr): Call resolve_character_array_
      	constructor again after expanding the constructor, to ensure
      	that the character length is passed to the expression.
      
      2006-07-04  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/28174
      	* gfortran.dg/actual_array_substr_2.f90: New test.
      
      	PR fortran/28167
      	* gfortran.dg/actual_array_constructor_2.f90: New test.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@115182 138bc75d-0d04-0410-961f-82ee72b054a4
      35d9c496
  12. 21 Jun, 2006 1 commit
  13. 15 Jun, 2006 1 commit
    • tkoenig's avatar
      2006-06-15 Thomas Koenig <Thomas.Koenig@online.de> · 97944d89
      tkoenig authored
      	* trans-array.h (gfc_trans_create_temp_array):  Add bool
      	argument.
      	* trans-arrray.c (gfc_trans_create_temp_array): Add extra
      	argument "function" to show if we are translating a function.
      	If we are translating a function, perform checks whether
      	the size along any argument is negative.  In that case,
      	allocate size 0.
      	(gfc_trans_allocate_storage):  Add function argument (as
      	false) to gfc_trans_create_temp_array call.
      	* trans-expr.c (gfc_conv_function_call):  Add function
      	argument (as true) to gfc_trans_create_temp_array call.
      	* trans-stmt.c (gfc_conv_elemental_dependencies): Add
      	function argument (as false) to gfc_trans_create_temp_array
      	call.
      	* trans-intrinsic.c:  Likewise.
      
      2006-06-15  Thomas Koenig <Thomas.Koenig@online.de>
      
      	* gfortran.dg/allocate_zerosize_2.f90:  New test case.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@114677 138bc75d-0d04-0410-961f-82ee72b054a4
      97944d89
  14. 09 Jun, 2006 1 commit
    • pault's avatar
      2006-06-10 Paul Thomas <pault@gcc.gnu.org> · d77f260f
      pault authored
      	PR fortran/24558
      	PR fortran/20877
      	PR fortran/25047
      	* decl.c (get_proc_name): Add new argument to flag that a
      	module function entry is being treated. If true, correct
      	error condition, add symtree to module namespace and add
      	a module procedure.
      	(gfc_match_function_decl, gfc_match_entry,
      	gfc_match_subroutine): Use the new argument in calls to
      	get_proc_name.
      	* resolve.c (resolve_entries): ENTRY symbol reference to
      	to master entry namespace if a module function.
      	* trans-decl.c (gfc_create_module_variable): Return if
      	the symbol is an entry.
      	* trans-exp.c (gfc_conv_variable): Check that parent_decl
      	is not NULL.
      
      2006-06-10  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/24558
      	* gfortran.dg/entry_6.f90: New test.
      
      	PR fortran/20877
      	PR fortran/25047
      	* gfortran.dg/entry_7.f90: New test.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@114526 138bc75d-0d04-0410-961f-82ee72b054a4
      d77f260f
  15. 08 Jun, 2006 1 commit
    • fxcoudert's avatar
      PR fortran/27958 · 2810b378
      fxcoudert authored
      	* trans-expr.c (gfc_conv_substring): If the substring start is
      	greater than its end, the length of the substring is zero, and
      	not negative.
      	(gfc_trans_string_copy): Don't generate a call to
      	_gfortran_copy_string when destination length is zero.
      
      	* gcc/testsuite/gfortran.dg/substr_2.f: New test.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@114496 138bc75d-0d04-0410-961f-82ee72b054a4
      2810b378
  16. 03 Jun, 2006 1 commit
    • fxcoudert's avatar
      * trans.c (gfc_msg_bounds, gfc_msg_fault, gfc_msg_wrong_return): · 97c2a00c
      fxcoudert authored
      	Add strings for common runtime error messages.
      	(gfc_trans_runtime_check): Add a locus argument, use a string
      	and not a string tree for the message.
      	* trans.h (gfc_trans_runtime_check): Change prototype accordingly.
      	(gfc_msg_bounds, gfc_msg_fault, gfc_msg_wrong_return): Add proto.
      	* trans-const.c (gfc_strconst_bounds, gfc_strconst_fault,
      	gfc_strconst_wrong_return, gfc_strconst_current_filename): Remove.
      	(gfc_init_constants): Likewise.
      	* trans-const.h: Likewise.
      	* trans-decl.c (gfc_build_builtin_function_decls): Call to
      	_gfortran_runtime_error has only one argument, the message string.
      	* trans-array.h (gfc_conv_array_ref): Add a symbol argument and a
      	locus.
      	* trans-array.c (gfc_trans_array_bound_check): Build precise
      	error messages.
      	(gfc_conv_array_ref): Use the new symbol argument and the locus
      	to build more precise error messages.
      	(gfc_conv_ss_startstride): More precise error messages.
      	* trans-expr.c (gfc_conv_variable): Give symbol reference and
      	locus to gfc_conv_array_ref.
      	(gfc_conv_function_call): Use the new prototype for
      	gfc_trans_runtime_check.
      	* trans-stmt.c (gfc_trans_goto): Build more precise error message.
      	* trans-io.c (set_string): Likewise.
      	* trans-intrinsic.c (gfc_conv_intrinsic_bound): Use new prototype
      	for gfc_trans_runtime_check.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@114346 138bc75d-0d04-0410-961f-82ee72b054a4
      97c2a00c
  17. 30 May, 2006 1 commit
    • kargl's avatar
      2006-05-30 Asher Langton <langton2@llnl.gov> · a7c1e504
      kargl authored
      	* symbol.c (check_conflict): Allow external, function, and
      	subroutine attributes with Cray pointees.
      	* trans-expr.c (gfc_conv_function_val): Translate Cray pointees
      	that point to procedures.
      	* gfortran.texi: Document new feature.
      
      	* gfortran.dg/cray_pointers_7.f90: New test.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@114252 138bc75d-0d04-0410-961f-82ee72b054a4
      a7c1e504
  18. 20 May, 2006 1 commit
    • hjl's avatar
      gcc/fortran/ · 97f99a6c
      hjl authored
      2006-05-19  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR fortran/27662
      	* trans-array.c (gfc_conv_expr_descriptor): Don't zere the
      	first stride to indicate a temporary.
      	* trans-expr.c (gfc_conv_function_call): Likewise.
      
      gcc/testsuite/
      
      2006-05-19  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR fortran/27662
      	* gfortran.dg/temporary_1.f90: New file.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@113922 138bc75d-0d04-0410-961f-82ee72b054a4
      97f99a6c
  19. 16 Apr, 2006 1 commit
    • pault's avatar
      2006-04-16 Paul Thomas <pault@gcc.gnu.org> · 10b07432
      pault authored
      	PR fortran/26822
      	* intrinsic.c (add_functions): Mark LOGICAL as elemental.
      
      	PR fortran/26787
      	* expr.c (gfc_check_assign): Extend scope of error to include
      	assignments to a procedure in the main program or, from a
      	module or internal procedure that is not that represented by
      	the lhs symbol. Use VARIABLE rather than l-value in message.
      
      	PR fortran/27096
      	* trans-array.c (gfc_trans_deferred_array): If the backend_decl
      	is not a descriptor, dereference and then test and use the type.
      
      	PR fortran/25597
      	* trans-decl.c (gfc_trans_deferred_vars): Check if an array
      	result, is also automatic character length.  If so, process
      	the character length.
      
      	PR fortran/18803
      	PR fortran/25669
      	PR fortran/26834
      	* trans_intrinsic.c (gfc_walk_intrinsic_bound): Set
      	data.info.dimen for bound intrinsics.
      	* trans_array.c (gfc_conv_ss_startstride): Pick out LBOUND and
      	UBOUND intrinsics and supply their shape information to the ss
      	and the loop.
      
      	PR fortran/27124
      	* trans_expr.c (gfc_trans_function_call):  Add a new block, post,
      	in to which all the argument post blocks are put.  Add this block
      	to se->pre after a byref call or to se->post, otherwise.
      
      2006-04-16  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/26787
      	* gfortran.dg/proc_assign_1.f90: New test.
      	* gfortran.dg/procedure_lvalue.f90: Change message.
      	* gfortran.dg/namelist_4.f90: Add new error.
      
      	PR fortran/27096
      	* gfortran.dg/auto_pointer_array_result_1.f90
      
      	PR fortran/27089
      	* gfortran.dg/specification_type_resolution_1.f90
      
      	PR fortran/18803
      	PR fortran/25669
      	PR fortran/26834
      	* gfortran.dg/bounds_temporaries_1.f90: New test.
      
      	PR fortran/27124
      	* gfortran.dg/array_return_value_1.f90: New test.
      
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@112981 138bc75d-0d04-0410-961f-82ee72b054a4
      10b07432
  20. 08 Apr, 2006 1 commit
  21. 03 Apr, 2006 1 commit
    • pault's avatar
      2006-04-03 Paul Thomas <pault@gcc.gnu.org> · bd24f178
      pault authored
      	PR fortran/26981
      	* trans.h : Prototype for gfc_conv_missing_dummy.
      	* trans-expr (gfc_conv_missing_dummy): New function
      	(gfc_conv_function_call): Call it and tidy up some of the code.
      	* trans-intrinsic (gfc_conv_intrinsic_function_args): The same.
      
      	PR fortran/26976
      	* array.c (gfc_array_dimen_size): If available, return shape[dimen].
      	* resolve.c (resolve_function): If available, use the argument shape for the
      	function expression.
      	* iresolve.c (gfc_resolve_transfer): Set shape[0] = size.
      
      2006-04-03  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/26981
      	* gfortran.dg/missing_optional_dummy_1.f90: New test.
      
      	PR fortran/26976
      	* gfortran.dg/compliant_elemental_intrinsics_1.f90: New test.
      	* gfortran.dg/initialization_1.f90: Make assignment compliant.
      	* gfortran.dg/transfer_array_intrinsic_1.f90: Simplify.
      	* gfortran.dg/transfer_array_intrinsic_2.f90: Make assignments compliant and detect
      	bigendian-ness.
      
      
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@112634 138bc75d-0d04-0410-961f-82ee72b054a4
      bd24f178
  22. 02 Apr, 2006 1 commit
    • eedelman's avatar
      2006-04-02 Erik Edelmann <eedelman@gcc.gnu.org> · f135d1ce
      eedelman authored
              * trans-array.c (gfc_trans_dealloc_allocated): Take a
              tree representation of the array to be deallocated as argument
              instead of its gfc_symbol.
              (gfc_trans_deferred_array): Update call to
              gfc_trans_dealloc_allocated.
              * trans-array.h (gfc_trans_dealloc_allocated): Update prototype.
              * trans-expr.c (gfc_conv_function_call): Update call to
              gfc_trans_dealloc_allocated, get indirect reference to dummy
              arguments.
      
      
      2006-04-02  Erik Edelmann  <eedelman@gcc.gnu.org>
      
              * gfortran.dg/allocatable_dummy_1.f90: Also check that allocatable
              dummy arguments work when the actual argument is itself a dummy
              argument of the caller.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@112625 138bc75d-0d04-0410-961f-82ee72b054a4
      f135d1ce
  23. 13 Mar, 2006 1 commit
  24. 10 Mar, 2006 1 commit
    • eedelman's avatar
      fortran/ · d4ef6f9d
      eedelman authored
      2006-03-11  Erik Edelmann  <eedelman@gcc.gnu.org>
      
              * symbol.c (check_conflict): Allow allocatable function results,
              except for elemental functions.
              * trans-array.c (gfc_trans_allocate_temp_array): Rename to ...
              (gfc_trans_create_temp_array): ... this, and add new argument callee_alloc.
              (gfc_trans_array_constructor, gfc_conv_loop_setup): Update call
              to gfc_trans_allocate_temp_array.
              * trans-array.h (gfc_trans_allocate_temp_array): Update prototype.
              * trans-expr.c (gfc_conv_function_call): Use new arg of
              gfc_trans_create_temp_array avoid pre-allocation of temporary
              result variables of pointer AND allocatable functions.
              (gfc_trans_arrayfunc_assign): Return NULL for allocatable functions.
              * resolve.c (resolve_symbol): Copy value of 'allocatable' attribute
              from sym->result to sym.
      
      testsuite/
      2006-03-08  Paul Thomas  <pault@gcc.gnu.org>
                  Erik Edelmann  <eedelman@gcc.gnu.org>
      
              * gfo...
      d4ef6f9d
  25. 09 Mar, 2006 1 commit
    • eedelman's avatar
      fortran/ · 76845580
      eedelman authored
      2006-03-09  Erik Edelmann  <eedelman@gcc.gnu.org>
      
              * trans-expr.c (gfc_add_interface_mapping): Copy 'allocatable'
              attribute from sym to new_sym.  Call build_fold_indirect_ref()
              for allocatable arguments.
      
      testsuite/
      2006-03-09  Erik Edelmann  <eedelman@gcc.gnu.org>
      
              * gfortran.dg/allocatable_dummy_1.f90: Test for functions returning
              arrays too.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111910 138bc75d-0d04-0410-961f-82ee72b054a4
      76845580
  26. 06 Mar, 2006 2 commits
    • eedelman's avatar
      fortran/ · ab19f982
      eedelman authored
      2005-03-06  Paul Thomas  <pault@gcc.gnu.org>
                  Erik Edelmann  <eedelman@gcc.gnu.org>
      
              * trans-array.c (gfc_trans_dealloc_allocated): New function.
              (gfc_trans_deferred_array): Use it, instead of inline code.
              * trans-array.h: Prototype for gfc_trans_dealloc_allocated().
              * trans-expr.c (gfc_conv_function_call): Deallocate allocated
              ALLOCATABLE, INTENT(OUT) arguments upon procedure entry.
      
      
      testsuite/
      2005-03-06  Paul Thomas  <pault@gcc.gnu.org>
                  Erik Edelmann  <eedelman@gcc.gnu.org>
      
              * gfortran.dg/allocatable_dummy_1.f90: Take into account that
              INTENT(OUT) arguments shall be deallocated upon procedure entry.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111795 138bc75d-0d04-0410-961f-82ee72b054a4
      ab19f982
    • pault's avatar
      2006-03-06 Paul Thomas <pault@gcc.gnu.org> · c750cc52
      pault authored
      	PR fortran/26107
      	* resolve.c (resolve_function): Add name after test for pureness.
      
      	PR fortran/19546
      	* trans-expr.c (gfc_conv_variable): Detect reference to parent result,
      	store current_function_decl, replace with parent, whilst calls are
      	made to gfc_get_fake_result_decl, and restore afterwards. Signal this
      	to gfc_get_fake_result_decl with a new argument, parent_flag.
      	* trans-stmt.c (gfc_trans_return): gfc_get_fake_result_decl 2nd arg
      	is set to zero.
      	* trans.h: Add parent_flag to gfc_get_fake_result_decl prototype.
      	* trans-decl.c (gfc_get_fake_result_decl): On parent_flag, being set,
      	add decl to parent function. Replace refs to current_fake_result_decl
      	with refs to this_result_decl.
      	(gfc_generate_function_code): Null parent_fake_result_decl before the
      	translation of code for contained procedures. Set parent_flag to zero
      	in call to gfc_get_fake_result_decl.
      	* trans-intrinsic.c (gfc_conv_intrinsic_len): The same.
      
      2006-03-06  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/26107
      	* pure_dummy_length_1.f90: New test.
      
      	PR fortran/19546
      	* gfortran.dg/parent_result_ref_1.f90: New test.
      	* gfortran.dg/parent_result_ref_2.f90: New test.
      	* gfortran.dg/parent_result_ref_3.f90: New test.
      	* gfortran.dg/parent_result_ref_4.f90: New test.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111793 138bc75d-0d04-0410-961f-82ee72b054a4
      c750cc52
  27. 05 Mar, 2006 1 commit
    • eedelman's avatar
      fortran/ · 7d19e94d
      eedelman authored
      2005-03-05  Erik Edelmann  <eedelman@gcc.gnu.org>
      
              PR fortran/16136
              * symbol.c (conf_std): New macro.
              (check_conflict): Use it to allow ALLOCATABLE dummy
              arguments for F2003.
              * trans-expr.c (gfc_conv_function_call): Pass the
              address of the array descriptor when dummy argument is
              ALLOCATABLE.
              * interface.c (compare_allocatable): New function.
              (compare_actual_formal): Use it.
              resolve.c (resolve_deallocate_expr,
              resolve_allocate_expr): Check that INTENT(IN) variables
              aren't (de)allocated.
              * gfortran.texi (Fortran 2003 status): List ALLOCATABLE
              dummy arguments as supported.
      
      testsuite/
      2005-03-05  Erik Edelmann  <eedelman@gcc.gnu.org>
      
              PR fortran/16136
              * allocatable_dummy_1.f90: New.
              * allocatable_dummy_2.f90: New.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111741 138bc75d-0d04-0410-961f-82ee72b054a4
      7d19e94d
  28. 16 Feb, 2006 1 commit
    • pault's avatar
      2005-02-16 Paul Thomas <pault@gcc.gnu.org> · e3071e62
      pault authored
      	PR fortran/24557
      	* trans-expr.c (gfc_add_interface_mapping): Use the actual argument
      	for character(*) arrays, rather than casting to the type and kind
      	parameters of the formal argument.
      
      2005-02-16  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/24557
              * gfortran.dg/assumed_charlen_needed_1.f90: New test.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111130 138bc75d-0d04-0410-961f-82ee72b054a4
      e3071e62
  29. 12 Feb, 2006 1 commit
    • eedelman's avatar
      fortran/ · 34da51b6
      eedelman authored
      2006-02-12  Erik Edelmann  <eedelman@gcc.gnu.org>
      
              PR fortran/25806
              * trans-array.c (gfc_trans_allocate_array_storage): New argument
              dealloc; free the temporary only if dealloc is true.
              (gfc_trans_allocate_temp_array): New argument bool dealloc, to be 
              passed onwards to gfc_trans_allocate_array_storage.
              (gfc_trans_array_constructor, gfc_conv_loop_setup): Update call to
              gfc_trans_allocate_temp_array.
              * trans-array.h (gfc_trans_allocate_temp_array): Update function
              prototype.
              * trans-expr.c (gfc_conv_function_call): Set new argument 'dealloc'
              to gfc_trans_allocate_temp_array to false in case of functions
              returning pointers.
              (gfc_trans_arrayfunc_assign): Return NULL for functions returning
              pointers.
      
      
      testsuite/
      2006-02-12  Erik Edelmann  <eedelman@gcc.gnu.org>
      
              PR fortran/25806
              * gfortran.dg/ret_pointer_2.f90: New test.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110893 138bc75d-0d04-0410-961f-82ee72b054a4
      34da51b6
  30. 10 Feb, 2006 1 commit
    • tobi's avatar
      fortran/ · 42b215cc
      tobi authored
      2006-02-09  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
      
              PR fortran/14771
              * gfortran.h (gfc_intrinsic_op): Add INTRINSIC_PARENTHESES.
              * dump-parse-tree (gfc_show_expr): Handle INTRINSIC_PARENTHESES.
              * expr.c (simplify_intrinsic_op): Treat INTRINSIC_PARENTHESES as
              if it were INTRINSIC_UPLUS.
              * resolve.c (resolve_operator): Handle INTRINSIC_PARENTHESES.
              * match.c (intrinsic_operators): Add INTRINSIC_PARENTHESES.
              * matchexp.c (match_primary): Record parentheses surrounding
              numeric expressions.
              * module.c (intrinsics): Add INTRINSIC_PARENTHESES for module
              dumping.
              * trans-expr.c (gfc_conv_expr_op): Handle INTRINSIC_PARENTHESES.
      
      testsuite/
      2006-02-09  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
              Paul Thomas  <pault@gcc.gnu.org>
      
              PR fortran/14771
              * gfortran.dg/parens_1.f90: New.
              * gfortran.dg/parens_2.f90: New.
              * gfortran.dg/parens_3.f90: New.
      
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110819 138bc75d-0d04-0410-961f-82ee72b054a4
      42b215cc
  31. 06 Feb, 2006 1 commit
    • jakub's avatar
      Backport from gomp-20050608-branch · d4163395
      jakub authored
      	* trans-decl.c (create_function_arglist): Handle dummy functions.
      
      	* trans-decl.c (gfc_get_symbol_decl): Revert explicit setting of
      	TYPE_SIZE_UNIT.
      	(gfc_trans_vla_type_sizes): Also "gimplify"
      	GFC_TYPE_ARRAY_DATAPTR_TYPE for GFC_DESCRIPTOR_TYPE_P types.
      	* trans-array.c (gfc_trans_deferred_array): Call
      	gfc_trans_vla_type_sizes.
      
      	* trans-decl.c (saved_function_decls, saved_parent_function_decls):
      	Remove unnecessary initialization.
      	(create_function_arglist): Make sure __result has complete type.
      	(gfc_get_fake_result_decl): Change current_fake_result_decl into
      	a tree chain.  For entry master, create a separate variable
      	for each result name.  For BT_CHARACTER results, call
      	gfc_finish_var_decl on length even if it has been already created,
      	but not pushdecl'ed.
      	(gfc_trans_vla_type_sizes): For function/entry result, adjust
      	result value type, not the FUNCTION_TYPE.
      	(gfc_generate_function_code): Adjust for current_fake_result_decl
      	changes.
      	(gfc_trans_deferred_vars): Likewise.  Call gfc_trans_vla_type_sizes
      	even on result if it is assumed-length character.
      
      	* trans-decl.c (gfc_trans_dummy_character): Add SYM argument.
      	Call gfc_trans_vla_type_sizes.
      	(gfc_trans_auto_character_variable): Call gfc_trans_vla_type_sizes.
      	(gfc_trans_vla_one_sizepos, gfc_trans_vla_type_sizes_1,
      	gfc_trans_vla_type_sizes): New functions.
      	(gfc_trans_deferred_vars): Adjust gfc_trans_dummy_character
      	callers.  Call gfc_trans_vla_type_sizes on assumed-length
      	character parameters.
      	* trans-array.c (gfc_trans_array_bounds,
      	gfc_trans_auto_array_allocation, gfc_trans_dummy_array_bias): Call
      	gfc_trans_vla_type_sizes.
      	* trans.h (gfc_trans_vla_type_sizes): New prototype.
      
      	* trans-decl.c (gfc_build_qualified_array): For non-assumed-size
      	arrays without constant size, create also an index var for
      	GFC_TYPE_ARRAY_SIZE (type).  If the type is incomplete, complete
      	it as 0..size-1.
      	(gfc_create_string_length): Don't call gfc_defer_symbol_init
      	if just creating DECL_ARGUMENTS.
      	(gfc_get_symbol_decl): Call gfc_finish_var_decl and
      	gfc_defer_symbol_init even if ts.cl->backend_decl is already
      	set to a VAR_DECL that doesn't have DECL_CONTEXT yet.
      	(create_function_arglist): Rework, so that hidden length
      	arguments for CHARACTER parameters are created together with
      	the parameters.  Resolve ts.cl->backend_decl for CHARACTER
      	parameters.  If the argument is a non-constant length array
      	or CHARACTER, ensure PARM_DECL has different type than
      	its DECL_ARG_TYPE.
      	(generate_local_decl): Call gfc_get_symbol_decl even
      	for non-referenced non-constant length CHARACTER parameters
      	after optionally issuing warnings.
      	* trans-array.c (gfc_trans_array_bounds): Set last stride
      	to GFC_TYPE_ARRAY_SIZE (type) to initialize it as well.
      	(gfc_trans_dummy_array_bias): Initialize GFC_TYPE_ARRAY_SIZE (type)
      	variable as well.
      
      	* trans-expr.c (gfc_conv_expr_val): Fix comment typo.
      
      	* trans-stmt.c (gfc_trans_simple_do): Fix comment.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110653 138bc75d-0d04-0410-961f-82ee72b054a4
      d4163395
  32. 26 Jan, 2006 1 commit
    • pault's avatar
      2005-01-26 Paul Thomas <pault@gcc.gnu.org> · 5e8cd291
      pault authored
      	PR fortran/25964
      	* resolve.c (resolve_function): Exclude statement functions from
      	global reference checking.
      
      	PR fortran/25084
      	PR fortran/20852
      	PR fortran/25085
      	PR fortran/25086
      	* resolve.c (resolve_function): Declare a gfc_symbol to replace the
      	references through the symtree to the symbol associated with the
      	function expresion. Give error on reference to an assumed character
      	length function is defined in an interface or an external function
      	that is not a dummy argument.
      	(resolve_symbol): Give error if an assumed character length function
      	is array-valued, pointer-valued, pure or recursive. Emit warning
      	that character(*) value functions are obsolescent in F95.
      
      	PR fortran/25416
      	* trans-expr.c (gfc_conv_function_call): The above patch to resolve.c
      	prevents any assumed character length function call from getting here
      	except intrinsics such as SPREAD. In this case, ensure that no
      	segfault occurs from referencing non-existent charlen->length->
      	expr_type and provide a backend_decl for the charlen from the charlen
      	of the first actual argument.
      
      	Cure temp name confusion.
      	* trans-expr.c (gfc_get_interface_mapping_array): Change name of
      	temporary from "parm" to "ifm" to avoid clash with temp coming from
      	trans-array.c.
      
      2005-01-26  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/25964
      	* gfortran.dg/global_references_2.f90: New test.
      
      	PR fortran/25084
      	PR fortran/20852
      	PR fortran/25085
      	PR fortran/25086
      	* gfortran.dg/assumed_charlen_function_1.f90: New test.
      	* gfortran.dg/assumed_charlen_function_3.f90: New test.
      
      	PR fortran/25416
      	* gfortran.dg/assumed_charlen_function_2.f90: New test.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110269 138bc75d-0d04-0410-961f-82ee72b054a4
      5e8cd291
  33. 21 Jan, 2006 1 commit
    • pault's avatar
      2005-01-21 Paul Thomas <pault@gcc.gnu.org> · 858f9894
      pault authored
      	PR fortran/25124
      	PR fortran/25625
      	* decl.c (get_proc_name): If there is an existing
      	symbol in the encompassing namespace, call errors
      	if it is a procedure of the same name or the kind
      	field is set, indicating a type declaration.
      
      	PR fortran/20881
      	PR fortran/23308
      	PR fortran/25538
      	PR fortran/25710
      	* decl.c (add_global_entry): New function to check
      	for existing global symbol with this name and to
      	create new one if none exists.
      	(gfc_match_entry): Call add_global_entry before
      	matching argument lists for subroutine and function
      	entries.
      	* gfortran.h: Prototype for existing function,
      	global_used.
      	* resolve.c (resolve_global_procedure): New function
      	to check global symbols for procedures.
      	(resolve_call, resolve_function): Calls to this
      	new function for non-contained and non-module
      	procedures.
      	* match.c (match_common): Add check for existing
      	global symbol, creat one if none exists and emit
      	error if there is a clash.
      	* parse.c (global_used): Remove static and use the
      	gsymbol name rather than the new_block name, so that
      	the function can be called from resolve.c.
      	(parse_block_data, parse_module, add_global_procedure):
      	Improve checks for existing gsymbols.  Emit error if
      	already defined or if references were to another type.
      	Set defined flag.
      
      	PR fortran/PR24276
      	* trans-expr.c (gfc_conv_aliased_arg): New function called by 
      	gfc_conv_function_call that coverts an expression for an aliased
      	component reference to a derived type array into a temporary array
      	of the same type as the component.  The temporary is passed as an
      	actual argument for the procedure call and is copied back to the
      	derived type after the call.
      	(is_aliased_array): New function that detects an array reference
      	that is followed by a component reference.
      	(gfc_conv_function_call): Detect an aliased actual argument with
      	is_aliased_array and convert it to a temporary and back again
      	using gfc_conv_aliased_arg.
      
      2005-01-21  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/25124
      	PR fortran/25625
      	* gfortran.dg/internal_references_1.f90: New test.
      	  PR fortran/20881
      	PR fortran/23308
      	PR fortran/25538
      	PR fortran/25710
      	* gfortran.dg/global_references_1.f90: New test.
      	* gfortran.dg/g77/19990905-1.f: Restore the error that
      	there is a clash between the common block name and
      	the name of a subroutine reference.
      
      	PR fortran/PR24276
      	* gfortran.dg/aliasing_dummy_1.f90: New test.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110063 138bc75d-0d04-0410-961f-82ee72b054a4
      858f9894
  34. 16 Jan, 2006 1 commit
  35. 09 Jan, 2006 2 commits
    • fengwang's avatar
      Add 2006 copyright year. · 55aef564
      fengwang authored
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@109490 138bc75d-0d04-0410-961f-82ee72b054a4
      55aef564
    • fengwang's avatar
      fortran ChangeLog entry: · 77100724
      fengwang authored
      2006-01-09  Feng Wang  <fengwang@nudt.edu.cn>
      
      	PR fortran/12456
      	* trans-expr.c (gfc_to_single_character): New function that converts
      	string to single character if its length is 1.
      	(gfc_build_compare_string):New function that compare string and handle
      	single character specially.
      	(gfc_conv_expr_op): Use gfc_build_compare_string.
      	(gfc_trans_string_copy): Use gfc_to_single_character.
      	* trans-intrinsic.c (gfc_conv_intrinsic_strcmp): Use
      	gfc_build_compare_string.
      	* trans.h (gfc_build_compare_string): Add prototype.
      
      testsuite ChangeLog entry:
      2006-01-09  Feng Wang  <fengwang@nudt.edu.cn>
      
      	PR fortran/12456
      	* gfortran.dg/single_char_string.f90: New test.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@109489 138bc75d-0d04-0410-961f-82ee72b054a4
      77100724
  36. 16 Dec, 2005 3 commits
    • rguenth's avatar
      2005-12-16 Richard Guenther <rguenther@suse.de> · ac47d547
      rguenth authored
      	* trans.h (tree): Remove declaration of gfc_build_function_call.
      	* trans.c (gfc_build_function_call): Remove.
      	(gfc_build_array_ref): Use build_function_call_expr.
      	(gfc_trans_runtime_check): Likewise.
      	* trans-array.c (gfc_trans_allocate_array_storage): Likewise.
      	(gfc_grow_array): Likewise.
      	(gfc_trans_array_ctor_element): Likewise.
      	(gfc_trans_array_constructor_value): Likewise.
      	(gfc_array_allocate): Likewise.
      	(gfc_array_deallocate): Likewise.
      	(gfc_trans_auto_array_allocation): Likewise.
      	(gfc_trans_dummy_array_bias): Likewise.
      	(gfc_conv_array_parameter): Likewise.
      	* trans-expr.c (gfc_conv_power_op): Likewise.
      	(gfc_conv_string_tmp): Likewise.
      	(gfc_conv_concat_op): Likewise.
      	(gfc_conv_expr_op): Likewise.
      	(gfc_trans_string_copy): Likewise.
      	* trans-decl.c (build_entry_thunks): Likewise.
      	(gfc_generate_function_code): Likewise.
      	(gfc_generate_constructors): Likewise.
      	* trans-io.c (gfc_trans_open): Likewise.
      	(gfc_trans_close): Likewise.
      	(build_filepos): Likewise.
      	(gfc_trans_inquire): Likewise.
      	(transfer_namelist_element): Likewise.
      	(build_dt): Likewise.
      	(gfc_trans_dt_end): Likewise.
      	(transfer_expr): Likewise.
      	(transfer_array_desc): Likewise.
      	* trans-stmt.c (gfc_trans_pause): Likewise.
      	(gfc_trans_stop): Likewise.
      	(gfc_trans_character_select): Likewise.
      	(gfc_do_allocate): Likewise.
      	(gfc_trans_assign_need_temp): Likewise.
      	(gfc_trans_pointer_assign_need_temp): Likewise.
      	(gfc_trans_forall_1): Likewise.
      	(gfc_trans_where): Likewise.
      	(gfc_trans_allocate): Likewise.
      	(gfc_trans_deallocate): Likewise.
      	* trans-intrinsic.c (gfc_conv_intrinsic_aint): Likewise.
      	(gfc_conv_intrinsic_lib_function): Likewise.
      	(gfc_conv_intrinsic_exponent): Likewise.
      	(gfc_conv_intrinsic_abs): Likewise.
      	(gfc_conv_intrinsic_sign): Likewise.
      	(gfc_conv_intrinsic_ctime): Likewise.
      	(gfc_conv_intrinsic_fdate): Likewise.
      	(gfc_conv_intrinsic_ttynam): Likewise.
      	(gfc_conv_intrinsic_ishftc): Likewise.
      	(gfc_conv_intrinsic_len_trim): Likewise.
      	(gfc_conv_intrinsic_index): Likewise.
      	(gfc_conv_intrinsic_size): Likewise.
      	(gfc_conv_intrinsic_strcmp): Likewise.
      	(gfc_conv_intrinsic_adjust): Likewise.
      	(gfc_conv_associated): Likewise.
      	(gfc_conv_intrinsic_scan): Likewise.
      	(gfc_conv_intrinsic_verify): Likewise.
      	(call_builtin_clz): Likewise.
      	(gfc_conv_intrinsic_si_kind): Likewise.
      	(gfc_conv_intrinsic_sr_kind): Likewise.
      	(gfc_conv_intrinsic_trim): Likewise.
      	(gfc_conv_intrinsic_repeat): Likewise.
      	(gfc_conv_intrinsic_iargc): Likewise.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108687 138bc75d-0d04-0410-961f-82ee72b054a4
      ac47d547
    • rguenth's avatar
      2005-12-16 Richard Guenther <rguenther@suse.de> · 4fa2c167
      rguenth authored
      	* trans.h (gfc_build_indirect_ref): Remove declaration.
      	* trans.c (gfc_build_indirect_ref): Remove.
      	* trans-array.c (gfc_trans_array_ctor_element): Use
      	build_fold_indirect_ref instead of gfc_build_indirect_ref.
      	(gfc_trans_array_constructor_value): Likewise.
      	(gfc_conv_array_index_offset): Likewise.
      	(gfc_conv_scalarized_array_ref): Likewise.
      	(gfc_conv_array_ref): Likewise.
      	(gfc_trans_dummy_array_bias): Likewise.
      	(gfc_conv_expr_descriptor): Likewise.
      	(gfc_conv_array_parameter): Likewise.
      	* trans-decl.c (gfc_finish_cray_pointee): Likewise.
      	(gfc_get_symbol_decl): Likewise.
      	* trans-expr.c (gfc_conv_substring): Likewise.
      	(gfc_conv_component_ref): Likewise.
      	(gfc_conv_variable): Likewise.
      	(gfc_add_interface_mapping): Likewise.
      	(gfc_conv_function_call): Likewise.
      	* trans-intrinsic.c (gfc_conv_intrinsic_ichar): Likewise.
      	(gfc_conv_intrinsic_transfer): Likewise.
      	* trans-io.c (nml_get_addr_expr): Likewise.
      	(transfer_namelist_element): Likewise.
      	(transfer_expr): Likewise.
      	* trans-stmt.c (gfc_trans_nested_forall_loop): Likewise.
      	(allocate_temp_for_forall_nest_1): Likewise.
      	(gfc_trans_forall_1): Likewise.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108678 138bc75d-0d04-0410-961f-82ee72b054a4
      4fa2c167
    • rguenth's avatar
      2005-12-16 Richard Guenther <rguenther@suse.de> · 9596685a
      rguenth authored
      	(gfc_conv_descriptor_data_addr): Use build_fold_addr_expr where
      	appropriate.
      	(gfc_trans_allocate_array_storage): Likewise.
      	(gfc_trans_array_constructor_value): Likewise.
      	(gfc_conv_array_data): Likewise.
      	(gfc_conv_expr_descriptor): Likewise.
      	(gfc_conv_array_parameter): Likewise.
      	(gfc_conv_variable): Likewise.
      	(gfc_conv_function_val): Likewise.
      	(gfc_conv_function_call): Likewise.
      	(gfc_conv_expr_reference): Likewise.
      	(gfc_conv_intrinsic_ctime): Likewise.
      	(gfc_conv_intrinsic_fdate): Likewise.
      	(gfc_conv_intrinsic_ttynam): Likewise.
      	(gfc_conv_intrinsic_si_kind): Likewise.
      	(gfc_conv_intrinsic_trim): Likewise.
      	(set_parameter_ref): Likewise.
      	(gfc_convert_array_to_string): Likewise.
      	(gfc_trans_open): Likewise.
      	(gfc_trans_close): Likewise.
      	(build_filepos): Likewise.
      	(gfc_trans_inquire): Likewise.
      	(nml_get_addr_expr): Likewise.
      	(transfer_namelist_element): Likewise.
      	(build_dt): Likewise.
      	(gfc_trans_dt_end): Likewise.
      	(transfer_array_component): Likewise.
      	(transfer_expr): Likewise.
      	(transfer_array_desc): Likewise.
      	(gfc_trans_transfer): Likewise.
      	(gfc_trans_allocate): Likewise.
      	(gfc_trans_deallocate): Likewise.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108633 138bc75d-0d04-0410-961f-82ee72b054a4
      9596685a