Commit Graph

70842 Commits

Author SHA1 Message Date
Zdenek Dvorak 2360a4c1a6 re PR tree-optimization/23509 (ICE with ivopts)
PR tree-optimization/23509
	* tree-cfg.c (replace_uses_by): Use replace_exp.
	* tree-ssa-loop-ivopts.c (get_ref_tag): Assert that dereferenced
	pointers have name_mem_tag or type_mem_tag set.

From-SVN: r104099
2005-09-09 16:17:25 +00:00
Andrew Haley 8f09608343 re PR libgcj/23182 (instanceof sometimes fails if compiled with -findirect-dispatch)
2005-09-09  Andrew Haley  <aph@redhat.com>

        PR libgcj/23182
        * expr.c (pop_type_0): If the expected type is object or ptr
        (i.e. void*), return the type of the object we just popped from
        the stack.

From-SVN: r104098
2005-09-09 16:04:11 +00:00
Josh Conner 70e9e3d60c Fix for 23180 also fixes 21135 - added to change description.
From-SVN: r104097
2005-09-09 15:59:29 +00:00
Andrew Haley 13d7d8745b URLClassLoader.java (addURLImpl): Synchronize on the loader.
2005-09-08  Andrew Haley  <aph@redhat.com>

	* java/net/URLClassLoader.java (addURLImpl): Synchronize on the
	loader.
	(toString): Likewise.

From-SVN: r104095
2005-09-09 13:06:24 +00:00
Andrew Haley ddef717308 re PR libgcj/22084 (Divide_1 test case hangs)
2005-09-08  Andrew Haley  <aph@redhat.com>

	PR java/22084
	* include/i386-signal.h (HANDLE_DIVIDE_OVERFLOW): Bump IP by 1 if
	R/M field in instruction is 100.

From-SVN: r104094
2005-09-09 13:05:20 +00:00
Sebastian Pop 7ce7896c39 tree-chrec.c (evolution_function_is_invariant_rec_p): Use CHREC_LEFT and CHREC_RIGHT for accessing chrec components instead of...
* tree-chrec.c (evolution_function_is_invariant_rec_p): Use
	CHREC_LEFT and CHREC_RIGHT for accessing chrec components instead
	of wrongly accessing operands.

From-SVN: r104093
2005-09-09 11:31:16 +00:00
Sebastian Pop 18aed06a02 Makefile.in (tree-chrec.o): Depends on SCEV_H.
* Makefile.in (tree-chrec.o): Depends on SCEV_H.
	* tree-chrec.c: Include tree-scalar-evolution.h.
	(chrec_convert): Instantiate the base and step before calling
	scev_probably_wraps_p that would fail on parametric evolutions.
	Collect all the fails into a single section failed_to_convert,
	print a diagnostic, and return chrec_dont_know instead of calling
	fold_convert.
	* tree-scalar-evolution.c (loop_closed_phi_def): New.
	(instantiate_parameters_1): Avoid instantiation of loop closed ssa
	phi nodes.
	(scev_const_prop): Don't replace the definition of a loop closed ssa
	phi node by itself, or by another loop closed ssa phi node.
	* tree-ssa-loop-niter.c (scev_probably_wraps_p, convert_step): Check
	that base and step are defined.

From-SVN: r104092
2005-09-09 10:56:41 +00:00
Benjamin Kosnik 35885ceb44 debug.cc (iterator_base_mutex): Make static for internal linkage.
2005-09-09  Benjamin Kosnik  <bkoz@redhat.com>
            Jakub Jelinek  <jakub@redhat.com>

	* src/debug.cc (iterator_base_mutex): Make static for internal
	linkage.
	* src/locale_init.cc (locale_mutex): Same.
	* src/mt_allocator.cc (freelist_mutex): Same.
	* src/pool_allocator.cc (palloc_init_mutex): Same.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>

From-SVN: r104090
2005-09-09 10:14:55 +00:00
Richard Guenther 3dac16bde8 re PR c++/23624 (ICE: internal compiler error: in invert_truthvalue, at fold-const.c:2697)
2005-09-09  Richard Guenther  <rguenther@suse.de>

	PR c++/23624
	* fold-const.c (fold_ternary): Check truth_value_p before
	calling invert_truthvalue.

	* g++.dg/tree-ssa/pr23624.C: New testcase.

From-SVN: r104083
2005-09-09 09:00:42 +00:00
Nick Clifton dcfae47c5e Makefile.in (LIBGCC_DEPS): Add libgcc2.h.
* Makefile.in (LIBGCC_DEPS): Add libgcc2.h.
* libgcc2.c (__clz_tab[], __popcount_tab[]): Set the fixed dimension of
  these arrays.
* libgcc2.h (__clz_tab[], __popcount_tab[]): Add exports of these arrays.
* longlong.h: Only provide a prototype for the __clz_tab[] array if this
  header has not been included from libgcc2.h.
* config/stormy16/stormy16-lib2.c: Include libgcc2.h rather than defining
  own types.
  Provide prototypes for exported functions.
  Use the __clz_tab[] and __popcount_tab[] arrays provided by libgcc2.c.

From-SVN: r104081
2005-09-09 08:39:18 +00:00
Richard Sandiford a174b2f8ec * match.h (gfc_match_equiv_variable): Declare.
From-SVN: r104080
2005-09-09 06:45:15 +00:00
Richard Sandiford 9b79bf1360 Fix filenames in last entry.
From-SVN: r104078
2005-09-09 06:35:55 +00:00
Richard Sandiford 7a70c12d9b re PR fortran/19239 ([4.0 only] gfortran ICE on vector subscript expressions)
PR fortran/19239
	* Makefile.in (fortran/trans-expr.o): Depend on dependency.h.
	* dependency.h (gfc_ref_needs_temporary_p): Declare.
	* dependency.c (gfc_ref_needs_temporary_p): New function.
	(gfc_check_fncall_dependency): Use it instead of inlined check.
	By so doing, take advantage of the fact that character substrings
	within an array reference also need a temporary.
	* trans.h (GFC_SS_VECTOR): Adjust comment.
	* trans-array.c (gfc_free_ss): Remove GFC_SS_VECTOR case.
	(gfc_set_vector_loop_bounds): New function.
	(gfc_add_loop_ss_code): Call it after evaluating the subscripts of
	a GFC_SS_SECTION.  Deal with the GFC_SS_VECTOR case by evaluating
	the vector expression and caching its descriptor for use within
	the loop.
	(gfc_conv_array_index_ref, gfc_conv_vector_array_index): Delete.
	(gfc_conv_array_index_offset): Handle scalar, vector and range
	dimensions as separate cases of a switch statement.  In the vector
	case, use the loop variable to calculate a vector index and use the
	referenced element as the dimension's index.  Perform bounds checking
	on this final index.
	(gfc_conv_section_upper_bound): Return null for vector indexes.
	(gfc_conv_section_startstride): Give vector indexes a start value
	of 0 and a stride of 1.
	(gfc_conv_ss_startstride): Adjust for new GFC_SS_VECTOR representation.
	(gfc_conv_expr_descriptor): Expand comments.  Generalize the
	handling of the !want_pointer && !direct_byref case.  Use
	gfc_ref_needs_temporary_p to decide whether the variable case
	needs a temporary.
	(gfc_walk_variable_expr): Handle DIMEN_VECTOR by creating a
	GFC_SS_VECTOR index.
	* trans-expr.c: Include dependency.h.
	(gfc_trans_arrayfunc_assign): Fail if the target needs a temporary.

2005-09-09  Richard Sandiford  <richard@codesourcery.com>

	PR fortran/21104
	* trans.h (gfc_interface_sym_mapping, gfc_interface_mapping): Moved
	from trans-expr.c.
	(gfc_init_interface_mapping, gfc_free_interface_mapping)
	(gfc_add_interface_mapping, gfc_finish_interface_mapping)
	(gfc_apply_interface_mapping): Declare.
	* trans-array.h (gfc_set_loop_bounds_from_array_spec): Declare.
	(gfc_trans_allocate_temp_array): Add pre and post block arguments.
	* trans-array.c (gfc_set_loop_bounds_from_array_spec): New function.
	(gfc_trans_allocate_array_storage): Replace loop argument with
	separate pre and post blocks.
	(gfc_trans_allocate_temp_array): Add pre and post block arguments.
	Update call to gfc_trans_allocate_array_storage.
	(gfc_trans_array_constructor, gfc_conv_loop_setup): Adjust for new
	interface to gfc_trans_allocate_temp_array.
	* trans-expr.c (gfc_interface_sym_mapping, gfc_interface_mapping):
	Moved to trans.h.
	(gfc_init_interface_mapping, gfc_free_interface_mapping)
	(gfc_add_interface_mapping, gfc_finish_interface_mapping)
	(gfc_apply_interface_mapping): Make extern.
	(gfc_conv_function_call): Build an interface mapping for array
	return values too.  Call gfc_set_loop_bounds_from_array_spec.
	Adjust call to gfc_trans_allocate_temp_array so that code is
	added to SE rather than LOOP.

From-SVN: r104077
2005-09-09 06:34:08 +00:00
Richard Sandiford 62ab4a5499 re PR fortran/21104 (Segmentation fault on correct code)
PR fortran/21104
	* trans.h (gfc_interface_sym_mapping, gfc_interface_mapping): Moved
	from trans-expr.c.
	(gfc_init_interface_mapping, gfc_free_interface_mapping)
	(gfc_add_interface_mapping, gfc_finish_interface_mapping)
	(gfc_apply_interface_mapping): Declare.
	* trans-array.h (gfc_set_loop_bounds_from_array_spec): Declare.
	(gfc_trans_allocate_temp_array): Add pre and post block arguments.
	* trans-array.c (gfc_set_loop_bounds_from_array_spec): New function.
	(gfc_trans_allocate_array_storage): Replace loop argument with
	separate pre and post blocks.
	(gfc_trans_allocate_temp_array): Add pre and post block arguments.
	Update call to gfc_trans_allocate_array_storage.
	(gfc_trans_array_constructor, gfc_conv_loop_setup): Adjust for new
	interface to gfc_trans_allocate_temp_array.
	* trans-expr.c (gfc_interface_sym_mapping, gfc_interface_mapping):
	Moved to trans.h.
	(gfc_init_interface_mapping, gfc_free_interface_mapping)
	(gfc_add_interface_mapping, gfc_finish_interface_mapping)
	(gfc_apply_interface_mapping): Make extern.
	(gfc_conv_function_call): Build an interface mapping for array
	return values too.  Call gfc_set_loop_bounds_from_array_spec.
	Adjust call to gfc_trans_allocate_temp_array so that code is
	added to SE rather than LOOP.

From-SVN: r104075
2005-09-09 06:22:28 +00:00
Richard Sandiford ec25720ba3 re PR fortran/12840 ([4.0 only] Unable to find scalarization loop specifier)
PR fortran/12840
	* trans.h (gfor_fndecl_internal_realloc): Declare.
	(gfor_fndecl_internal_realloc64): Declare.
	* trans-decl.c (gfor_fndecl_internal_realloc): New variable.
	(gfor_fndecl_internal_realloc64): New variable.
	(gfc_build_builtin_function_decls): Initialize them.
	* trans-array.h (gfc_trans_allocate_temp_array): Add a fourth argument.
	* trans-array.c (gfc_trans_allocate_array_storage): Add an argument
	to say whether the array can grow later.  Don't allocate the array
	on the stack if so.  Don't call malloc for zero-sized arrays.
	(gfc_trans_allocate_temp_array): Add a similar argument here.
	Pass it along to gfc_trans_allocate_array_storage.
	(gfc_get_iteration_count, gfc_grow_array): New functions.
	(gfc_iterator_has_dynamic_bounds): New function.
	(gfc_get_array_constructor_element_size): New function.
	(gfc_get_array_constructor_size): New function.
	(gfc_trans_array_ctor_element): Replace pointer argument with
	a descriptor tree.
	(gfc_trans_array_constructor_subarray): Likewise.  Take an extra
	argument to say whether the variable-sized part of the constructor
	must be allocated using realloc.  Grow the array when this
	argument is true.
	(gfc_trans_array_constructor_value): Likewise.
	(gfc_get_array_cons_size): Delete.
	(gfc_trans_array_constructor): If the loop bound has not been set,
	split the allocation into a static part and a dynamic part.  Set
	loop->to to the bounds for static part before allocating the
	temporary.  Adjust call to gfc_trans_array_constructor_value.
	(gfc_conv_loop_setup): Allow any constructor to determine the
	loop bounds.  Check whether the constructor has a dynamic size
	and prefer to use something else if so.  Expect the loop bound
	to be set later.  Adjust call to gfc_trans_allocate_temp_array.
	* trans-expr.c (gfc_conv_function_call): Adjust another call here.

From-SVN: r104073
2005-09-09 06:00:40 +00:00
Josh Conner 84bb243df1 re PR c++/23180 (Segfault on const initializer with bogus pointer arithmetics)
PR c++/23180
        * g++.dg/init/pr23180-1.C: New test.
        * g++.dg/init/pr23180-2.C: New test.

From-SVN: r104070
2005-09-09 01:39:36 +00:00
Josh Conner d047a20198 re PR c++/23180 (Segfault on const initializer with bogus pointer arithmetics)
PR c++/23180
        * expr.c (expand_expr_addr_expr_1): Don't invoke
        expand_simple_binop for EXPAND_INITIALIZER.

From-SVN: r104069
2005-09-09 01:37:29 +00:00
Richard Henderson db5f8b93fe re PR debug/23190 (debug info omitted for uninitialized variables (stabs))
PR debug/23190
        * toplev.c (wrapup_global_declaration_1): Split out ...
        (wrapup_global_declaration_2): ... from ...
        (wrapup_global_declarations): ... here.  Return bool.
        (check_global_declaration_1): Split out ...
        (check_global_declarations): from here.
        (emit_debug_global_declarations): New.
        * toplev.h (wrapup_global_declaration_1, wrapup_global_declaration_2,
        check_global_declaration_1, emit_debug_global_declarations): Declare.
        * c-decl.c (c_write_global_declarations_1): Don't create a vector
        of decls.  Call wrapup_global_declaration_1,
        wrapup_global_declaration_2, check_global_declaration_1 directly.
        (c_write_global_declarations_2): New.
        (ext_block): New.
        (c_write_global_declarations): Call c_write_global_declarations_2.
        * langhooks.c (write_global_declarations): Call
        emit_debug_global_declarations.
        * cgraphunit.c (cgraph_varpool_remove_unreferenced_decls): Don't
        remove decls that have DECL_RTL_SET_P.
        * passes.c (rest_of_decl_compilation): Invoke
        cgraph_varpool_finalize_decl for all but functions.
cp/
        * decl.c (wrapup_globals_for_namespace): Call
        emit_debug_global_declarations.
        * decl2.c (cp_finish_file): Likewise.

From-SVN: r104065
2005-09-08 17:47:05 -07:00
Paul Thomas 41306174c8 19990905-0.f: Remove XFAIL...
2005-09-09  Paul Thomas  <pault@gcc.gnu.org>

	* gfortran.dg/g77/19990905-0.f: Remove XFAIL, rearrange
	equivalences and add comment to connect the test with
	the PR. - forgotten in previous.

From-SVN: r104061
2005-09-09 00:27:21 +00:00
Paul Thomas 30aabb86ef re PR fortran/18878 ([4.0 only] erronous error message on vaild USE statement)
2005-09-09  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/18878
	* module.c (find_use_name_n): Based on original
	find_use_name. Either counts number of use names for a
	given real name or returns use name n.
	(find_use_name, number_use_names): Interfaces to the
	function find_use_name_n.
	(read_module): Add the logic and calls to these functions,
	so that mutiple reuses of the same real name are loaded.

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

	PR fortran/22304
	PR fortran/23270
	PR fortran/18870
	PR fortran/16511
	PR fortran/17917
	* gfortran.h: Move definition of BLANK_COMMON_NAME from trans-
	common.c so that it is accessible to module.c. Add common_head
	field to gfc_symbol structure. Add field for the equivalence
	name AND new attr field, in_equivalence.
	* match.c (gfc_match_common, gfc_match_equivalence): In loops
	that flag common block equivalences, emit an error if the
	common blocks are different, using sym->common_head as the
	common block identifier. Ensure that symbols that are equivalence
	associated with a common block are marked as being in_common.
	* module.c (write_blank_common): New.
	(write_common): Use unmangled common block name.
	(load_equiv): New function ported from g95.
	(read_module): Call load_equiv.
	(write_equiv): New function ported from g95. Correct
	string referencing for gfc functions. Give module
	equivalences a unique name.
	(write_module): Call write_equiv and write_blank_common.
	* primary.c (match_variable) Old gfc_match_variable, made
	static and third argument provided to indicate if parent
	namespace to be visited or not.
	(gfc_match_variable) New. Interface to match_variable.
	(gfc_match_equiv_variable) New. Interface to match_variable.
	* trans-common.c (finish_equivalences): Provide the call
	to create_common with a gfc_common_header so that
	module equivalences are made external, rather than local.
	(find_equivalences): Ensure that all members in common block
	equivalences are marked as used. This prevents the subsequent
	call to this function from making local unions.
	* trans-decl.c (gfc_generate_function_code): Move the call to
	gfc_generate_contained_functions to after the call to
	gfc_trans_common so the use-associated, contained common
	blocks produce the correct references.
	(gfc_create_module_variable): Return for equivalenced symbols
	with existing backend declaration.

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

	PR fortran/18878
	* gfortran.dg/module_double_reuse.f90: New.

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

	PR fortran/23270
	PR fortran/22304
	PR fortran/18870
	PR fortran/17917
	PR fortran/16511
	* gfortran.dg/common_equivalence_1.f: New.
	* gfortran.dg/common_equivalence_2.f: New.
	* gfortran.dg/common_equivalence_3.f: New.
	* gfortran.dg/contained_equivalence_1.f90: New.
	* gfortran.dg/module_blank_common.f90: New.
	* gfortran.dg/module_commons_1.f90: New.
	* gfortran.dg/module_equivalence_1.f90: New.
	* gfortran.dg/nested_modules_1.f90: New.
	* gfortran.dg/g77/19990905-0.f: Remove XFAIL, rearrange
	equivalences and add comment to connect the test with
	the PR.

From-SVN: r104060
2005-09-09 00:23:09 +00:00
GCC Administrator 7afd4c375d Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r104056.2
2005-09-09 00:17:06 +00:00
Tobias Schlüter 6d2ae4727d re PR fortran/23765 (segfault with syntactically wrong common declaration)
fortran/
	PR fortran/23765
	* match.c (gfc_match_common): Remove unnecessary / wrong special
	cases for end-of-statement.
testsuite/
	PR fortran/23765
	* gfortran.dg/common_6.f90: New test.

From-SVN: r104046
2005-09-08 23:55:59 +02:00
Thomas Fitzsimmons 9ff284256a re PR libgcj/23761 (java.library.path doesn't affect module loading path)
2005-09-08  Thomas Fitzsimmons  <fitzsim@redhat.com>

	PR libgcj/23761
	* include/java-props.h (_Jv_Module_Load_Path): Declare variable.
	* java/lang/natRuntime.cc (init): Call lt_dlsetsearchpath after
	lt_dlinit.
	* gnu/classpath/natSystemProperties.cc (_Jv_Module_Load_Path):
	Define variable.
	(_Jv_SetDLLSearchPath): Do not call lt_dlsetsearchpath.  Set
	_Jv_Module_Load_Path.

From-SVN: r104044
2005-09-08 21:26:25 +00:00
Janne Blomqvist e014df900d gfortran.texi: Add section about implemented F2003 features.
2005-09-08  Janne Blomqvist  <jblomqvi@cc.hut.fi>

	* gfortran.texi: Add section about implemented F2003 features.

From-SVN: r104043
2005-09-08 21:42:59 +02:00
Mark Mitchell 024f1251b5 re PR c++/23691 (`mpl_::bool_<false>::value' is not a valid template argument for type `bool' because it is a non-constant expression)
PR c++/23691
	* decl2.c (mark_used): Instantiate static data members initialized
	by constants, even in a template.

	PR c++/23691
	* g++.dg/template/static16.C: New test.

From-SVN: r104041
2005-09-08 18:56:42 +00:00
Richard Sandiford 0348d6fd85 re PR fortran/15326 ([4.0 only] ICE with assumed length character strings)
PR fortran/15326
	* trans-array.c (gfc_add_loop_ss_code): Set ss->string_length in
	the GFC_SS_FUNCTION case too.
	* trans-expr.c (gfc_conv_function_val): Allow symbols to be bound
	to function pointers as well as function decls.
	(gfc_interface_sym_mapping, gfc_interface_mapping): New structures.
	(gfc_init_interface_mapping, gfc_free_interface_mapping)
	(gfc_get_interface_mapping_charlen, gfc_get_interface_mapping_array)
	(gfc_set_interface_mapping_bounds, gfc_add_interface_mapping)
	(gfc_finish_interface_mapping, gfc_apply_interface_mapping_to_cons)
	(gfc_apply_interface_mapping_to_ref)
	(gfc_apply_interface_mapping_to_expr)
	(gfc_apply_interface_mapping): New functions.
	(gfc_conv_function_call): Evaluate the arguments before working
	out where the result should go.  Make the null pointer case provide
	the string length in parmse.string_length.  Cope with non-constant
	string lengths, using the above functions to evaluate such lengths.
	Use a temporary typespec; don't assign to sym->cl->backend_decl.
	Don't assign to se->string_length when returning a cached array
	descriptor.

From-SVN: r104040
2005-09-08 18:46:06 +00:00
Eric Botcazou 5c9186cec3 tree-vrp.c (extract_range_from_unary_expr): Do not set the range for the result of a conversion if...
* tree-vrp.c (extract_range_from_unary_expr): Do not set the range for
	the result of a conversion if the new min and max cannot be compared.

From-SVN: r104036
2005-09-08 16:37:20 +00:00
Richard Sandiford 068e733886 re PR fortran/19928 (Reference of constant derived type component causes failure)
PR fortran/19928
	* trans-array.c (gfc_conv_array_ref): Call gfc_advance_se_ss_chain
	after handling scalarized references.  Make "indexse" inherit from
	"se" when handling AR_ELEMENTs.
	(gfc_walk_variable_expr): Add GFC_SS_SCALAR entries for each
	substring or scalar reference that follows an array section.
	* trans-expr.c (gfc_conv_variable): When called from within a
	scalarization loop, start out with "ref" pointing to the scalarized
	part of the reference.  Don't call gfc_advance_se_ss_chain here.

From-SVN: r104035
2005-09-08 16:06:54 +00:00
Andreas Krebbel dcc9eb26a3 s390.c (s390_sr_alias_set): Variable removed.
2005-09-08  Andreas Krebbel  <krebbel1@de.ibm.com>

	* config/s390/s390.c (s390_sr_alias_set): Variable removed.
	(override_options): Setting s390_sr_alias_set removed.
	(save_fpr, save_gprs): Set alias set to vararg or frame.
	(restore_fpr, restore_gprs, s390_emit_prologue): Replace
	s390_sr_alias_set with get_frame_alias_set ().
	(s390_gimplify_va_arg): Replace s390_sr_alias_set with
	get_varargs_alias_set ().

From-SVN: r104034
2005-09-08 13:55:30 +00:00
Andrew Pinski d95036e3f8 re PR objc++/16816 (obj-c++ parser error with multi-colon selectors)
2005-09-08  Andrew Pinski  <pinskia@physics.uc.edu>

        PR obj-c++/16816
        * obj-c++.dg/selector-5.mm: New test.
        * obj-c++.dg/selector-6.mm: New test.
2005-09-08  Andrew Pinski  <pinskia@physics.uc.edu>

        PR obj-c++/16816
        * parser.c (cp_parser_objc_selector_expression): Treat CPP_SCOPE as
        two CPP_COLON.

From-SVN: r104033
2005-09-08 06:14:41 -07:00
Andrew Pinski 8f078c0837 re PR objc/20574 (weird error message after a parse error)
2005-09-08  Andrew Pinski  <pinskia@physics.uc.edu>

        PR objc/20574
        PR objc/19324
        * c-parser.c (c_parser_objc_method_definition): If the next
        token is not "{", error out and don't start the function.

2005-09-08  Andrew Pinski  <pinskia@physics.uc.edu>

        PR objc/20574
        PR objc/19324
        * objc.dg/error-1.m: New test.

From-SVN: r104032
2005-09-08 06:09:49 -07:00
Richard Sandiford 8aeca7fda0 re PR fortran/23373 ([4.0 only] Functions returning pointers with pointer argument)
PR fortran/23373
	* trans-expr.c (gfc_trans_pointer_assignment): Assign to a temporary
	descriptor if the rhs is not a null pointer or variable.

From-SVN: r104029
2005-09-08 09:20:07 +00:00
Jerry DeLisle 5e949d8329 re PR libfortran/23760 (gfortran incorrectly succeeds on record overflow)
2005-09-07  Jerry DeLisle  <jvdelisle@verizon.net>

	PR libfortran/23760
	* gfortran.dg/g77/1832.f: Remove long string in write statement
	to allow the test to pass on correct list directed output with
	prepended space.

From-SVN: r104027
2005-09-08 06:52:04 +00:00
James E Wilson 1da2e496b2 Fix xscale-elf gcc testsuite failure.
* gcc.dg/intmax_t-1.c: Disable for xscale*-*-elf*.

From-SVN: r104022
2005-09-07 17:30:48 -07:00
GCC Administrator 638993041d Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r104019.2
2005-09-08 00:16:16 +00:00
Thomas Koenig 9b2032505c parameter+save.f90: Rename to
2005-09-07  Thomas Koenig  <Thomas.Koenig@online.de>

	* gfortran.dg/parameter+save.f90:  Rename to
	* gfortran.dg/parameter_save.f90: .. this.

From-SVN: r104011
2005-09-07 21:32:21 +00:00
Francois-Xavier Coudert 3c12752024 re PR libfortran/23262 ([mingw32] rewind truncates file)
PR libfortran/23262
	* acinclude.m4 (LIBGFOR_CHECK_CRLF): New check.
	* configure.ac: Use new check.
	* configure.in: Regenerate.
	* config.h.in: Regenerate.
	* configure: Regenerate.
	* io/transfer.c (next_record_w): Add case for CRLF as line
	terminator.
	* io/unix.c (tempfile, regular_file): Open files with
	O_BINARY on systems with CRLF.

From-SVN: r104009
2005-09-07 21:25:40 +00:00
Thomas Koenig 2a0abeaf55 re PR fortran/20848 (PARAMETER and SAVE attribute conflict)
2005-09-07  Thomas Koenig  <Thomas.Koenig@online.de>

	PR fortran/20848
	* symbol.c(check_conflict):  Add conflict for parameter/save,

2005-09-07  Thomas Koenig  <Thomas.Koenig@online.de>

	PR fortran/20848
	* gfortran.dg/parameter+save.f90:  New test case.

From-SVN: r104005
2005-09-07 21:08:24 +00:00
Andrew Pinski 0c924d5c66 tree-vrp.c (extract_range_from_expr): Move the check for non nullness after the check for gimple invariant.
2005-09-08  Andrew Pinski  <pinskia@physics.uc.edu>

        * tree-vrp.c (extract_range_from_expr): Move the check for non
        nullness after the check for gimple invariant.

From-SVN: r104002
2005-09-07 13:35:19 -07:00
Steve Ellcey 98cd8256af re PR libfortran/23419 (unformatted complex I/O with kind=10)
PR libfortran/23419
	* io/write.c (extract_int): Use memcpy to access buffer.
	(extract_uint): Ditto.
	(extract_real): Ditto.

From-SVN: r104000
2005-09-07 20:16:47 +00:00
Richard Kenner 9f36bc49f8 * tree.c (host_integerp, tree_low_cst): Correct function comment.
From-SVN: r103989
2005-09-07 08:39:03 -04:00
Kazuhiro Inaoka 085fd657f9 re PR target/23747 (ICE with -O2, -O3 execute/builtins/memcpy-chk.c)
PR target/23747
* config/m32r.md (movmemsi_internal): Canonicalize order of operands in
  PLUS component of template.

From-SVN: r103987
2005-09-07 11:57:47 +00:00
Andreas Krebbel b735f45d30 reload1.c (fixup_eh_region_note): Remove assertion.
2005-09-07  Andreas Krebbel  <krebbel1@de.ibm.com>

	* reload1.c (fixup_eh_region_note): Remove assertion.
	(fixup_abnormal_edges): Reverted removal of call to
	find_many_sub_basic_blocks made on 2005-08-31.

From-SVN: r103984
2005-09-07 07:52:48 +00:00
Richard Henderson 30e6f306d3 function.c (ARG_POINTER_CFA_OFFSET): Move ...
* function.c (ARG_POINTER_CFA_OFFSET): Move ...
        * defaults.h (ARG_POINTER_CFA_OFFSET): ... here.
        (INCOMING_FRAME_SP_OFFSET): Move from dwarf2out.c.
        * dwarf2out.c (struct cfa_loc): Change reg to unsigned int,
        rearrange for better packing.
        (INCOMING_FRAME_SP_OFFSET): Move to defaults.h.
        (lookup_cfa_1): Remove inline marker.
        (cfa_equal_p): Split out of ...
        (def_cfa_1): ... here.  Use INVALID_REGNUM.
        (build_cfa_loc): Handle !cfa->indirect.
        (frame_pointer_cfa_offset): New.
        (dbx_reg_number): Assert register elimination performed; do
        leaf register remapping.
        (reg_loc_descriptor): Avoid calling dbx_reg_number when unused.
        (eliminate_reg_to_offset): New.
        (based_loc_descr): Remove can_use_fbreg argument.  Use fbreg only
        for verifiably local stack frame addresses; re-base to CFA.
        (mem_loc_descriptor): Remove can_use_fbreg argument.
        (concat_loc_descriptor, loc_descriptor): Likewise.
        (containing_function_has_frame_base): Remove.
        (rtl_for_decl_location): Don't do register elimination or
        leaf register remapping here.
        (secname_for_decl): Split out from ..
        (add_location_or_const_value_attribute): ... here.
        (convert_cfa_to_loc_list): New.
        (compute_frame_pointer_to_cfa_displacement): New.
        (gen_subprogram_die): Use them.
        * tree.h (frame_base_decl): Remove.
        * var-tracking.c (frame_base_decl, frame_stack_adjust): Remove.
        (prologue_stack_adjust): Remove.
        (vt_stack_adjustments): Use INCOMING_FRAME_SP_OFFSET.
        (adjust_stack_reference): Re-base memories to arg_pointer_rtx.
        (set_frame_base_location): Remove.
        (compute_bb_dataflow, emit_notes_in_bb): Don't call it.
        (dump_attrs_list, dump_dataflow_set): Use string concatenation.
        (vt_add_function_parameters): Don't eliminate_regs.
        (vt_initialize): Don't create frame_base_decl.

From-SVN: r103983
2005-09-07 00:47:15 -07:00
Richard Sandiford d1d26ecf9f re PR fortran/19269 (transpose(reshape(...)) of character array segfaults.)
PR fortran/19269
	* simplify.c (gfc_simplify_transpose): Set the result's typespec from
	the source, not the first element of the return value.

From-SVN: r103982
2005-09-07 07:36:12 +00:00
Richard Guenther f7683d376f cp-gimplify.c (cp_gimplify_expr): Create empty CONSTRUCTOR for EMPTY_CLASS_EXPR.
2005-09-07  Richard Guenther  <rguenther@suse.de>

	* cp-gimplify.c (cp_gimplify_expr): Create empty CONSTRUCTOR
	for EMPTY_CLASS_EXPR.

From-SVN: r103981
2005-09-07 07:20:58 +00:00
Eric Botcazou ff8f80f202 install.texi (*-*-solaris2*): Clarify wording on the recommended version of GNU binutils for 4.x and later.
* doc/install.texi (*-*-solaris2*): Clarify wording on the recommended
	version of GNU binutils for 4.x and later.

From-SVN: r103980
2005-09-07 06:19:57 +00:00
Mark Mitchell 6f02b1dbf6 ggc-page.c (ggc_push_context): Remove.
* ggc-page.c (ggc_push_context): Remove.
	(ggc_pop_context): Likewise.
	* ggc.h (ggc_push_context): Remove.
	(ggc_pop_context): Likewise.

From-SVN: r103979
2005-09-07 03:50:08 +00:00
GCC Administrator 040c2e426f Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r103975.2
2005-09-07 00:16:46 +00:00
Saurabh Verma 3273516f25 re PR target/8973 ([arc-7-elf] the interupt handler does not return properly, uses j.d insted of j.d.f)
2005-09-06  Saurabh Verma  <saurabh.verma@codito.com>

        PR target/8973
        * config/arc/arc.c (arc_output_function_epilogue): Update flags while
        returning from an interrupt handler.

From-SVN: r103972
2005-09-06 15:29:45 -07:00