Commit Graph

87175 Commits

Author SHA1 Message Date
Paul Thomas
29d40637c4 re PR fortran/35997 (Used function interface bug)
2008-04-30  Paul Thomas  <pault@gcc.gnu.org>

       PR fortran/35997
       * module.c (find_symbol): Do not return a result for a symbol
       that has been renamed in another module.

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

       PR fortran/35997
       * gfortran.dg/use_rename_3.f90

From-SVN: r134836
2008-04-30 20:13:21 +00:00
Richard Sandiford
ad516a74de arm.c (arm_unwind_emit): Use crtl->all_throwers_are_sibcalls instead of cfun->all_throwers_are_sibcalls.
gcc/
	* config/arm/arm.c (arm_unwind_emit): Use
	crtl->all_throwers_are_sibcalls instead of
	cfun->all_throwers_are_sibcalls.
	(arm_output_fn_unwind): Likewise.
	* config/frv/frv.c (frv_stack_info): Use crtl->uses_pic_offset_table
	instead of cfun->uses_pic_offset_table.
	(frv_expand_prologue): Likewise.
	(frv_frame_pointer_required): Likewise.
	(frv_expand_fdpic_call): Likewise.
	(frv_emit_movsi): Likewise.
	* config/iq2000/iq2000.c (iq2000_expand_prologue): Use
	cfun->returns_pcc_struct instead of
	current_function_returns_pcc_struct.
	* config/m32c/m32c.c (need_to_save): Use crtl->calls_eh_return
	instead of cfun->calls_eh_return.
	(m32c_pushm_popm): Likewise.
	* config/xtensa/xtensa.h (cfun->calls_alloca): Remove bogus
	"extern" declaration.

From-SVN: r134835
2008-04-30 19:33:32 +00:00
Richard Guenther
00d382a8dd re PR tree-optimization/21636 (Missed ccp optimization)
2008-04-30  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/21636
	* tree-ssa-ccp.c (ccp_fold): Handle &p->x with p being a
	constant address.
	(evaluate_stmt): Print the likely value.
	(ccp_visit_stmt): Avoid excessive vertical spacing.

	* gcc.dg/tree-ssa/ssa-ccp-19.c: New testcase.

From-SVN: r134834
2008-04-30 19:05:12 +00:00
Rafael Avila de Espindola
45e184209d builtins.c (fold_call_expr): Return realret.
2008-04-30  Rafael Espindola  <espindola@google.com>

	* builtins.c (fold_call_expr): Return realret.
	* tree-ssa-threadedge.c
	(record_temporary_equivalences_from_stmts_at_dest): Ignore calls to
	__builtin_object_size.

From-SVN: r134833
2008-04-30 17:21:55 +00:00
Seongbae Park
fe7df9c456 gcc.c (wrapper_string): New variable.
2008-04-30  Seongbae Park  <seongbae.park@gmail.com>

	* gcc.c (wrapper_string): New variable.
	(insert_wrapper): New function.
	(execute): New option -wrapper.
	* doc/invoke.texi (Overall Options): New driver option -wrapper.

From-SVN: r134832
2008-04-30 17:17:03 +00:00
Thomas Koenig
802367d7c9 re PR fortran/35993 (wrong answer for all array intrinsics with scalar mask)
2008-04-30  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfortran/35993
	* ifunction.m4 (SCALAR_ARRAY_FUNCTION):  Use correct
	implementation for multi-dimensional return arrays when
	the mask is .false.
	* generated/maxloc1_16_i1.c: Regenerated.
	* generated/maxloc1_16_i16.c: Regenerated.
	* generated/maxloc1_16_i2.c: Regenerated.
	* generated/maxloc1_16_i4.c: Regenerated.
	* generated/maxloc1_16_i8.c: Regenerated.
	* generated/maxloc1_16_r10.c: Regenerated.
	* generated/maxloc1_16_r16.c: Regenerated.
	* generated/maxloc1_16_r4.c: Regenerated.
	* generated/maxloc1_16_r8.c: Regenerated.
	* generated/maxloc1_4_i1.c: Regenerated.
	* generated/maxloc1_4_i16.c: Regenerated.
	* generated/maxloc1_4_i2.c: Regenerated.
	* generated/maxloc1_4_i4.c: Regenerated.
	* generated/maxloc1_4_i8.c: Regenerated.
	* generated/maxloc1_4_r10.c: Regenerated.
	* generated/maxloc1_4_r16.c: Regenerated.
	* generated/maxloc1_4_r4.c: Regenerated.
	* generated/maxloc1_4_r8.c: Regenerated.
	* generated/maxloc1_8_i1.c: Regenerated.
	* generated/maxloc1_8_i16.c: Regenerated.
	* generated/maxloc1_8_i2.c: Regenerated.
	* generated/maxloc1_8_i4.c: Regenerated.
	* generated/maxloc1_8_i8.c: Regenerated.
	* generated/maxloc1_8_r10.c: Regenerated.
	* generated/maxloc1_8_r16.c: Regenerated.
	* generated/maxloc1_8_r4.c: Regenerated.
	* generated/maxloc1_8_r8.c: Regenerated.
	* generated/maxval_i1.c: Regenerated.
	* generated/maxval_i16.c: Regenerated.
	* generated/maxval_i2.c: Regenerated.
	* generated/maxval_i4.c: Regenerated.
	* generated/maxval_i8.c: Regenerated.
	* generated/maxval_r10.c: Regenerated.
	* generated/maxval_r16.c: Regenerated.
	* generated/maxval_r4.c: Regenerated.
	* generated/maxval_r8.c: Regenerated.
	* generated/minloc1_16_i1.c: Regenerated.
	* generated/minloc1_16_i16.c: Regenerated.
	* generated/minloc1_16_i2.c: Regenerated.
	* generated/minloc1_16_i4.c: Regenerated.
	* generated/minloc1_16_i8.c: Regenerated.
	* generated/minloc1_16_r10.c: Regenerated.
	* generated/minloc1_16_r16.c: Regenerated.
	* generated/minloc1_16_r4.c: Regenerated.
	* generated/minloc1_16_r8.c: Regenerated.
	* generated/minloc1_4_i1.c: Regenerated.
	* generated/minloc1_4_i16.c: Regenerated.
	* generated/minloc1_4_i2.c: Regenerated.
	* generated/minloc1_4_i4.c: Regenerated.
	* generated/minloc1_4_i8.c: Regenerated.
	* generated/minloc1_4_r10.c: Regenerated.
	* generated/minloc1_4_r16.c: Regenerated.
	* generated/minloc1_4_r4.c: Regenerated.
	* generated/minloc1_4_r8.c: Regenerated.
	* generated/minloc1_8_i1.c: Regenerated.
	* generated/minloc1_8_i16.c: Regenerated.
	* generated/minloc1_8_i2.c: Regenerated.
	* generated/minloc1_8_i4.c: Regenerated.
	* generated/minloc1_8_i8.c: Regenerated.
	* generated/minloc1_8_r10.c: Regenerated.
	* generated/minloc1_8_r16.c: Regenerated.
	* generated/minloc1_8_r4.c: Regenerated.
	* generated/minloc1_8_r8.c: Regenerated.
	* generated/minval_i1.c: Regenerated.
	* generated/minval_i16.c: Regenerated.
	* generated/minval_i2.c: Regenerated.
	* generated/minval_i4.c: Regenerated.
	* generated/minval_i8.c: Regenerated.
	* generated/minval_r10.c: Regenerated.
	* generated/minval_r16.c: Regenerated.
	* generated/minval_r4.c: Regenerated.
	* generated/minval_r8.c: Regenerated.
	* generated/product_c10.c: Regenerated.
	* generated/product_c16.c: Regenerated.
	* generated/product_c4.c: Regenerated.
	* generated/product_c8.c: Regenerated.
	* generated/product_i1.c: Regenerated.
	* generated/product_i16.c: Regenerated.
	* generated/product_i2.c: Regenerated.
	* generated/product_i4.c: Regenerated.
	* generated/product_i8.c: Regenerated.
	* generated/product_r10.c: Regenerated.
	* generated/product_r16.c: Regenerated.
	* generated/product_r4.c: Regenerated.
	* generated/product_r8.c: Regenerated.
	* generated/sum_c10.c: Regenerated.
	* generated/sum_c16.c: Regenerated.
	* generated/sum_c4.c: Regenerated.
	* generated/sum_c8.c: Regenerated.
	* generated/sum_i1.c: Regenerated.
	* generated/sum_i16.c: Regenerated.
	* generated/sum_i2.c: Regenerated.
	* generated/sum_i4.c: Regenerated.
	* generated/sum_i8.c: Regenerated.
	* generated/sum_r10.c: Regenerated.
	* generated/sum_r16.c: Regenerated.
	* generated/sum_r4.c: Regenerated.
	* generated/sum_r8.c: Regenerated.

2008-04-30  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfortran/35993
	* gfortran.dg/intrinsic_product_1.f90:  New test case.

From-SVN: r134830
2008-04-30 16:56:01 +00:00
Ralf Wildenhues
9eec643d36 Makefile.am (install-headers): Cope with empty parallel_headers.
libstdc++-v3/
	* include/Makefile.am (install-headers): Cope with empty
	parallel_headers.
	* include/Makefile.in: Regenerate.

From-SVN: r134829
2008-04-30 16:43:08 +00:00
Nathan Froyd
18724e30ac t-ppccomm: Add build rules for new files.
libgcc/
	* config/rs6000/t-ppccomm: Add build rules for new files.
	(LIB2ADD_ST): New variable.

gcc/
        * config/rs6000/crtresgpr.asm, config/rs6000/crtresxgpr.asm,
        config/rs6000/crtsavgpr.asm, config/rs6000/crtresfpr.asm,
        config/rs6000/crtresxfpr.asm, config/rs6000/crtsavfpr.asm: Break out
        from...
        * config/rs6000/crtsavres.asm: ...here.  Remove unneeded file.
        * config/rs6000/e500crtres32gpr.asm,
	config/rs6000/e500crtres64gpr.asm
        config/rs6000/e500crtres64gprctr.asm,
	config/rs6000/e500crtrest32gpr.asm
        config/rs6000/e500crtrest64gpr.asm,
	config/rs6000/e500crtresx32gpr.asm
        config/rs6000/e500crtresx64gpr.asm,
	config/rs6000/e500crtsav32gpr.asm
        config/rs6000/e500crtsav64gpr.asm,
	config/rs6000/e500crtsav64gprctr.asm
        config/rs6000/e500crtsavg32gpr.asm,
	config/rs6000/e500crtsavg64gpr.asm
        config/rs6000/e500crtsavg64gprctr.asm: New files.
        * config/rs6000/t-ppccomm: Add build rules for new files.
        (LIB2FUNCS_STATIC_EXTRA): Add new files.
        * config/rs6000/t-netbsd: Add build rules for new files.
        (LIB2FUNCS_STATIC_EXTRA): New variable.
        * config/rs6000/sysv4.h (ENDFILE_SPEC): Don't include crtsavres.o
        (CRTSAVRES_DEFAULT_SPEC): Likewise.
        * config/rs6000/netbsd.h (ENDFILE_SPEC): Likewise.

From-SVN: r134828
2008-04-30 16:10:21 +00:00
H.J. Lu
1b667c8276 i386.c (ix86_builtin_type): Add FLOAT128_FTYPE_FLOAT128_FLOAT128...
2008-04-30  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386.c (ix86_builtin_type): Add
	FLOAT128_FTYPE_FLOAT128_FLOAT128, V16QI_FTYPE_V16QI_V16QI,
	V16QI_FTYPE_V8HI_V8HI, V8QI_FTYPE_V8QI_V8QI,
	V8QI_FTYPE_V4HI_V4HI, V8HI_FTYPE_V8HI_V8HI,
	V8HI_FTYPE_V16QI_V16QI, V8HI_FTYPE_V4SI_V4SI,
	V4SI_FTYPE_V4SI_V4SI, V4SI_FTYPE_V8HI_V8HI,
	V4SI_FTYPE_V4SF_V4SF, V4SI_FTYPE_V2DF_V2DF,
	V4HI_FTYPE_V4HI_V4HI, V4HI_FTYPE_V8QI_V8QI,
	V4HI_FTYPE_V2SI_V2SI, V4SF_FTYPE_V4SF_V4SF,
	V4SF_FTYPE_V4SF_V4SF_SWAP, V4SF_FTYPE_V4SF_V2SI,
	V4SF_FTYPE_V4SF_V2DF, V4SF_FTYPE_V4SF_DI,
	V4SF_FTYPE_V4SF_SI, V2DI_FTYPE_V2DI_V2DI,
	V2DI_FTYPE_V16QI_V16QI, V2DI_FTYPE_V4SI_V4SI,
	V2DI_FTYPE_V2DF_V2DF, V2SI_FTYPE_V2SI_V2SI,
	V2SI_FTYPE_V4HI_V4HI, V2SI_FTYPE_V2SF_V2SF,
	V2DF_FTYPE_V2DF_V2DF, V2DF_FTYPE_V2DF_V2DF_SWAP,
	V2DF_FTYPE_V2DF_V4SF, V2DF_FTYPE_V2DF_DI,
	V2DF_FTYPE_V2DF_SI, V2SF_FTYPE_V2SF_V2SF,
	V1DI_FTYPE_V1DI_V1DI, V1DI_FTYPE_V8QI_V8QI and
	V1DI_FTYPE_V2SI_V2SI.
	(bdesc_2arg): Moved to ...
	(bdesc_args): Here.
	(ix86_init_mmx_sse_builtins): Updated.
	(ix86_expand_args_builtin): Updated.  Take a pointer
	to const struct builtin_description.  Handle comparison
	builtin functions.
	(ix86_expand_sse_compare): Take a new argument for swapping
	operands.
	(ix86_expand_builtin): Updated.

	* config/i386/sse.md (ssse3_pmaddubswv8hi3): Renamed to ...
	(ssse3_pmaddubsw128): This.
	(ssse3_pmaddubswv4hi3): Renamed to ...
	(ssse3_pmaddubsw): This.

	* doc/extend.texi (__builtin_ia32_packsswb128): Correct
	prototype.
	(__builtin_ia32_packssdw128): Likewise.
	)__builtin_ia32_packuswb128): Likewise.
	(__builtin_ia32_pmaddubsw): Likewise.
	(__builtin_ia32_pmaddubsw128): Likewise.

From-SVN: r134827
2008-04-30 08:40:14 -07:00
Richard Guenther
d7b339dd2a re PR tree-optimization/14847 ([tree-ssa] combine "if (a & 1) goto there" and "if (a & 4) goto there")
2008-04-30  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/14847
	* tree-ssa-ifcombine.c (get_name_for_bit_test): New helper function.
	(recognize_bits_test): Use it.
	(recognize_single_bit_test): Likewise.

	* gcc.dg/tree-ssa/ssa-ifcombine-6.c: New testcase.

From-SVN: r134825
2008-04-30 15:06:16 +00:00
Jakub Jelinek
56b1a55446 re PR c++/35986 (ICE with ambiguous template functions)
PR c++/35986
	* pt.c (more_specialized_fn): Stop the loop even if there are no
	arguments before ellipsis.

	* g++.dg/overload/template4.C: New test.

From-SVN: r134823
2008-04-30 16:24:18 +02:00
Martin Jambor
5856b807fd MAINTAINERS: (Write After Approval): Add myself.
2008-04-30  Martin Jambor  <mjambor@suse.cz>

	* MAINTAINERS: (Write After Approval):  Add myself.

From-SVN: r134822
2008-04-30 16:21:32 +02:00
Martin Jambor
6a3f3feaba ChangeLog: Added entries I forgot in my previous commit.
2008-04-30  Martin Jambor  <mjambor@suse.cz>

	    * gcc/ChangeLog: Added entries I forgot in my previous commit.

From-SVN: r134821
2008-04-30 14:35:19 +02:00
Kai Tietz
190f8c2efb chmod_1.f90: Disable for x86_64-*-mingw*.
2008-04-30  Kai Tietz  <kai.tietz@onevision.com>

	* gfortran.dg/chmod_1.f90: Disable for x86_64-*-mingw*.
	* gfortran.dg/chmod_2.f90: Likewise.
	* gfortran.dg/chmod_3.f90: Likewise.
	* gfortran.dg/open_errors.f90: Likewise.

From-SVN: r134820
2008-04-30 14:34:13 +02:00
Samuel Tardieu
ea34290956 Makefile.in: Adapt sh4-linux target.
gcc/ada/
	* Makefile.in: Adapt sh4-linux target.

From-SVN: r134819
2008-04-30 10:46:17 +00:00
Martin Jambor
dcd416e3ac ipa-cp.c (ipcp_init_stage): Calls ipa_set_called_with_variable_arg instead of setting number of formal...
2008-04-30  Martin Jambor  <mjambor@suse.cz>

	* ipa-cp.c (ipcp_init_stage): Calls ipa_set_called_with_variable_arg
	instead of setting number of formal parameters to zero.
	(ipcp_init_stage): Do not set the number of actual parameters to zero 
	either.
	(ipcp_propagate_stage): Explicitly skipping all calls to nodes
	which are called with variable number of arguments.
	(ipcp_insert_stage): Explicitely skipping all nodes which are
	called with variable number of arguments.
	(ipcp_callsite_param_print): Skipps callsites to nodes with varaible 
	number of parameters.

	* ipa-prop.h (struct ipa_node_params): Added flag
	called_with_var_arguments
	(ipa_set_param_count): Added.  Changed sole setter to use it.
	(ipa_get_param_count): Added.  All readers of param_count
	converted to use it instead.
	(ipa_set_called_with_variable_arg): Added.
	(ipa_is_called_with_var_arguments): Added.
	(ipa_get_ith_param): Added.  All readers of param_decls converted
	to use it instead.
	(ipa_set_cs_argument_count): Added, sole writer to argument_count 
	changed to use it. 
	(ipa_get_cs_argument_count): Added, all readers of argument_count
	changed to cal it.
	(ipa_get_ith_jump_func): Added. Accessors of jump values changed 
	to use it.
	
	* ipa-prop.h (struct ipcp_formal): Renamed to ipcp_lattice
	(struct ipcp_lattice): Renamed cval_type to type
	(struct ipa_node_params): ipcp_cval renamed to ipcp_lattices

	* ipa-cp.c (ipcp_cval_get_cvalue): Changed return value to tree
	(ipcp_cval_set_cvalue): Changed type of parameter value to tree
	(ipcp_insert_stage): Changed the type of variable cvalue to tree
	(ipcp_replace_map_create): Changed the type of parameter cvalue to tree
	(build_const_val): Changed the type of parameter cvalue to tree
	(ipcp_propagate_const): Changed the type of parameter cvalue to tree
	(ipcp_method_cval_set_cvalue_type): Renamed parameter cval_type1 to type
	
	* ipa-prop.h (struct ipcp_formal): Replaced cvalue with tree called 
	constant 

	* ipa-prop.c (ipa_methodlist_init): Renamed to ipa_init_func_list
	(ipa_methodlist_not_empty): Removed, the sole user now checks directly
	(ipa_add_method): Renamed to ipa_push_func_to_list
	(ipa_remove_method): Renamed to ipa_pop_func_from_list
	(ipa_callsite_param_count): Removed.
	(ipa_callsite_param_count_set): Removed.
	(ipa_callsite_param): Removed.
	(ipa_callsite_callee): Removed.
	(ipa_callsite_compute_param): Renamed to ipa_compute_jump_functions
	(ipa_callsite_compute_count): Renamed to ipa_count_arguments
	(ipa_method_formal_count): Removed.
	(ipa_method_formal_count_set): Removed.
	(ipa_method_get_tree): Removed.
	(ipa_method_tree_map_create): Removed.
	(ipa_method_compute_tree_map): Renamed to ipa_create_param_decls_array
	(ipa_create_param_decls_array): Creates the array itself
	(ipa_create_param_decls_array): Temporary variable info instead of 
	a few dereferences.
	(ipa_method_formal_compute_count): Renamed to ipa_count_formal_params
	(ipa_method_compute_modify): Renamed to ipa_detect_param_modifications
	(get_type): Removed.
	(ipa_jf_get_info_type): Removed.
	(ipa_node_create): Renamed to ipa_create_node_params
	(ipa_free): Renamed to ipa_free_all_node_params
	(ipa_nodes_create): Renamed to ipa_create_all_node_params
	(ipa_edges_create): Renamed to ipa_create_all_edge_args
	(ipa_edges_free): Renamed to ipa_free_all_edge_args
	(ipa_nodes_free): Integrated into ipa_free_all_node_params and removed
	(ipa_free_all_node_params): Deallocation to jump_functions moved to 
	ipa_free_all_edge_args
	(ipa_method_tree_print): Renamed to ipa_print_all_tree_maps
	(ipa_method_modify_print): Renamed to ipa_print_all_params_modified
	(ipa_create_methodlist_node): Removed.
	(ipa_methodlist_method): Removed.
	(ipa_methodlist_method_set): Removed.
	(ipa_methodlist_next_method): Removed.
	(ipa_methodlist_next_method_set): Removed.
	(ipa_method_is_modified): Removed.
	(ipa_method_modify_create): Removed.
	(ipa_method_modify_init): Temporary variable info instead of a few 
	dereferences.
	(ipa_detect_param_modifications): Temporary variable info instead of 
	a few dereferences.
	(ipa_compute_jump_functions): Temporary variable info instead of 
	a few dereferences.
	(ipa_method_modify_set): Removed.
	(ipa_method_tree_map): Renamed to ipa_get_param_decl_index
	(ipa_get_param_decl_index): Now accepts struct ipa_node_params rather 
	than craph_node as the first parameter.
	(ipa_method_modify_stmt): Renamed to ipa_check_stmt_modifications
	(ipa_method_modify_init): Removed.
	(ipa_compute_jump_functions): Added a temp variable instead of 
	repeatadly dereferencing the cgraph_edge.aux pointer
	(ipa_callsite_param_set_type): Removed.
	(ipa_compute_jump_functions): i renamed to index and moved to 
	an inner block
	(ipa_callsite_param_set_info_type_formal): Removed.
	(ipa_callsite_param_set_info_type): Removed.
	(ipa_callsite_param_map_create): Removed.
	(ipa_callsite_tree): Removed.
	(ipa_callsite_caller): Removed.
	(ipa_pop_func_from_list): return_method removed to return_func

	* ipa-prop.h (enum cvalue_type): Renamed to ipa_lattice_type,
	prefixed all values with IPA_. Changed all users.
	(enum jump_func_type): Rnamed UNKNOWN_IPATYPE to IPA_UNKNOWN, 
	CONST_IPATYPE to IPA_CONST, CONST_IPATYPE_REF to IPA_CONST_REF 
	and FORMAL_IPATYPE IPA_PASS_THROUGH. 
	(union parameter_info): Renamed to jump_func_value.
	(union jump_func_value): Renamed value to constant
	(struct ipa_jump_func): Renamed info_type to value
	(struct ipa_node): Renamed to ipa_node_params
	(struct ipa_node_params): Renamed ipa_arg_num to param_count
	(struct ipa_node_params): Renamed ipa_param_tree to param_decls
	(struct ipa_node_params): Renamed ipa_mod to modified_flags
	(struct ipa_edge): Renamed to ipa_edge_args
	(struct ipa_edge_args): Renamed ipa_param_num to argument_count
	(struct ipa_edge_args): Renamed ipa_param_map to jump_functions
	(struct ipa_methodlist): Renamed to ipa_func_list
	(struct ipa_func_list): method_p renamed to node, next_method
	renamed to next
	(ipa_methodlist_p): Removed, switched all users to struct pointer
	(IS_VALID_TREE_MAP_INDEX): Renamed to IS_VALID_JUMP_FUNC_INDEX

From-SVN: r134818
2008-04-30 12:01:59 +02:00
Nathan Sidwell
d79967325b * gcc.dg/tls/section-2.c: Restrict to vxworks.
From-SVN: r134817
2008-04-30 08:32:56 +00:00
Alan Modra
1c9c5e4382 rs6000.c (ALWAYS_RESTORE_ALTIVEC_BEFORE_POP): Define.
* config/rs6000/rs6000.c (ALWAYS_RESTORE_ALTIVEC_BEFORE_POP): Define.
	(rs6000_emit_epilogue): Use backchain to restore only when we
	have a large frame.  Make use of frame pointer to restore if we
	have one.  Handle ALWAYS_RESTORE_ALTIVEC_BEFORE_POP.

From-SVN: r134816
2008-04-30 14:49:11 +09:30
GCC Administrator
d4f90ccc7c Daily bump.
From-SVN: r134814
2008-04-30 00:18:21 +00:00
Samuel Tardieu
af4133b2b7 [multiple changes]
2008-04-29  Ed Schonberg  <schonberg@adacore.com>

    gcc/ada/
	PR ada/35792
	* sem_ch3.adb (Find_Type_Name): Refuse completion of an incomplete
	tagged type by an untagged protected or task type.

2008-04-29  Samuel Tardieu  <sam@rfc1149.net>

    gcc/testsuite/
	PR ada/35792
	* gnat.dg/specs/tag2.ads: New.

From-SVN: r134810
2008-04-29 21:43:39 +00:00
Paolo Bonzini
cf2758e3d4 avr.md (*sbrx_branch, [...]): Add mode to zero_extract.
* config/avr/avr.md (*sbrx_branch, *sbix_branch, *sbix_branch_tmp):
	Add mode to zero_extract.
	(sign bit tests peepholes): (Ditto.).

From-SVN: r134809
2008-04-30 00:10:18 +04:00
H.J. Lu
f318ff0a6f i386.c (ix86_builtins): Replace Prescott New Instructions in comments with SSE3.
2008-04-29  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386.c (ix86_builtins): Replace Prescott New
	Instructions in comments with SSE3.
	(ix86_builtin_type): This.  Add FLOAT128_FTYPE_FLOAT128,
	INT64_FTYPE_V4SF, INT64_FTYPE_V2DF, INT_FTYPE_V16QI,
	INT_FTYPE_V8QI, INT_FTYPE_V4SF, INT_FTYPE_V2DF,
	V16QI_FTYPE_V16QI, V8HI_FTYPE_V8HI, V8HI_FTYPE_V16QI,
	V8QI_FTYPE_V8QI, V4SI_FTYPE_V4SI, V4SI_FTYPE_V16QI,
	V4SI_FTYPE_V4SF, V4SI_FTYPE_V8HI, V4SI_FTYPE_V2DF,
	V4HI_FTYPE_V4HI, V4SF_FTYPE_V4SF, V4SF_FTYPE_V4SI,
	V4SF_FTYPE_V2DF, V2DI_FTYPE_V2DI, V2DI_FTYPE_V16QI,
	V2DI_FTYPE_V8HI, V2DI_FTYPE_V4SI, V2DF_FTYPE_V2DF,
	V2DF_FTYPE_V4SI, V2DF_FTYPE_V4SF, V2DF_FTYPE_V2SI,
	V2SI_FTYPE_V2SI, V2SI_FTYPE_V4SF, V2SI_FTYPE_V2SF,
	V2SI_FTYPE_V2DF, V2SF_FTYPE_V2SF and V2SF_FTYPE_V2SI.
	(bdesc_sse_args): Renamed to ...
	(bdesc_args): This.  Add IX86_BUILTIN_PF2ID, IX86_BUILTIN_PFRCP,
	IX86_BUILTIN_PFRSQRT, IX86_BUILTIN_PI2FD, IX86_BUILTIN_PF2IW,
	IX86_BUILTIN_PSWAPDSI, IX86_BUILTIN_PSWAPDSF and
	IX86_BUILTIN_FABSQ.
	(bdesc_1arg): Moved to ...
	(bdesc_args): Here.
	(ix86_init_mmx_sse_builtins): Updated.  Replace Prescott New
	Instructions in comments with SSE3.
	(ix86_expand_sse_operands_builtin): Renamed to ...
	(ix86_expand_args_builtin): This.  Updated.
	(ix86_expand_unop1_builtin): Update comments.
	(ix86_expand_builtin): Updated.

From-SVN: r134807
2008-04-29 12:48:21 -07:00
Benjamin Kosnik
a7d17ed9e1 c++config: Remove space between '#' and 'undef' for _GLIBCXX_LONG_DOUBLE_COMPAT.
2008-04-29  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/c++config: Remove space between '#' and 'undef' for
	_GLIBCXX_LONG_DOUBLE_COMPAT.

From-SVN: r134805
2008-04-29 19:43:29 +00:00
Richard Guenther
ace4eb9013 re PR tree-optimization/36078 (gfortran fails to build cpu2006/465.tonto)
2008-04-29  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/36078
	* tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely):
	Update virtual SSA form after cleaning up the CFG.

	* gfortran.fortran-torture/compile/pr36078.f90: New testcase.

From-SVN: r134799
2008-04-29 16:01:36 +00:00
Richard Guenther
1447bf0556 re PR tree-optimization/15255 ([tree-ssa] a * 2 + a * 2 is not converted to a * 4)
2008-04-29  Richard Guenther  <rguenther@suse.de>

	PR middle-end/15255
	* fold-const.c (fold_binary): Fold (A + A) * C to A * 2*C.

	* gcc.dg/fold-plusmult.c: New testcase.

From-SVN: r134798
2008-04-29 15:59:43 +00:00
Richard Guenther
59e6913ad1 tree-ssa-alias.c (finalize_ref_all_pointers): Remove.
2008-04-29  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-alias.c (finalize_ref_all_pointers): Remove.
	(compute_may_aliases): Do not call finalize_ref_all_pointers.
	(compute_flow_insensitive_aliasing): Do not treat
	PTR_IS_REF_ALL pointers special.
	(get_smt_for): Likewise.
	(may_alias_p): Re-structure.
	(is_escape_site): A ref-all pointer conversion is not an escape site.
	* tree-ssa-structalias.c (find_what_p_points_to): Do not treat
	PTR_IS_REF_ALL pointers special.
	* tree-ssa-structalias.h (struct alias_info): Remove
	ref_all_symbol_mem_tag field.
	(PTR_IS_REF_ALL): Remove.

From-SVN: r134797
2008-04-29 15:56:12 +00:00
Joseph Myers
c4e82de92e Makefile.am (install-html, [...]): Add dummy targets.
* Makefile.am (install-html, install-pdf): Add dummy targets.
	* Makefile.in: Regenerate.
	* doc/Makefile.am (install-html, install-pdf): Remove.
	* doc/Makefile.in: Regenerate.

From-SVN: r134795
2008-04-29 16:30:56 +01:00
Richard Guenther
81ad578ea1 re PR middle-end/36077 (Expressions result is wrong)
2008-04-29  Richard Guenther  <rguenther@suse.de>

	PR middle-end/36077
	* fold-const.c (extract_muldiv_1): In combining division constants
	make sure to never overflow.

	* gcc.c-torture/execute/pr36077.c: New testcase.

From-SVN: r134792
2008-04-29 13:52:53 +00:00
Kai Tietz
a170f0affe sync-2.c: Set dg-options "-ansi".
2008-04-29  Kai Tietz  <kai.tietz@onevision.com>

	* testsuite/gcc.dg/sync-2.c: Set dg-options "-ansi".

From-SVN: r134791
2008-04-29 13:10:32 +02:00
Nick Clifton
4830ba1f07 * doc/tm.texi (RETURN_ADDR_RTX): Fix typo.
From-SVN: r134790
2008-04-29 10:41:30 +00:00
Jakub Jelinek
58627576a4 re PR c++/35650 (Can't bind ref-to-function through using-decl. in namespace)
PR c++/35650
	* parser.c (cp_parser_lookup_name): Look through single function
	OVERLOAD.

	* g++.dg/init/ref17.C: New test.

From-SVN: r134788
2008-04-29 10:58:20 +02:00
Jakub Jelinek
f2be060fd3 re PR c++/35987 (ICE with invalid if-condition)
PR c++/35987
	* typeck.c (cp_build_modify_expr) <case PREINCREMENT_EXPR>: Don't build
	COMPOUND_EXPR if the second argument would be error_mark_node.

	* g++.dg/other/error28.C: New test.

From-SVN: r134786
2008-04-29 10:54:45 +02:00
Benjamin Kosnik
b397e31bd8 c++config: Move os_defines and cpu_defines after namespace definitions and base macros.
2008-04-28  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/c++config: Move os_defines and cpu_defines after
	namespace definitions and base macros.

From-SVN: r134779
2008-04-29 05:45:00 +00:00
Benjamin Kosnik
0aec205c3b re PR libstdc++/35887 (stl parallel includes installed for --disable-libgomp)
2008-04-28  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/35887
	* acinclude.m4 (GLIBCXX_ENABLE_PARALLEL): Revert back to just
	checking for omp.h.
	* configure: Regenerate.

From-SVN: r134776
2008-04-29 04:40:08 +00:00
GCC Administrator
268688b39c Daily bump.
From-SVN: r134774
2008-04-29 00:17:55 +00:00
Ralf Wildenhues
b1c61c7efd re PR bootstrap/35169 (SIGSEGV for stack growth failure while building 4.2.3)
gcc/
	PR bootstrap/35169
	* optc-gen.awk: Work around HP-UX/IA awk bug.

From-SVN: r134768
2008-04-28 22:27:22 +00:00
Eric Botcazou
805100b5e2 re PR ada/36007 (verify_gimple failed)
PR ada/36007
	* decl.c (gnat_to_gnu_entity) <object>: Do not promote alignment
	of aliased objects with an unconstrained nominal subtype.
	Cap the promotion to the effective alignment of the word mode.


Co-Authored-By: Tristan Gingold <gingold@adacore.com>

From-SVN: r134766
2008-04-28 21:15:41 +00:00
Ralf Wildenhues
99c2eec1bb gcc/ada/
* Make-lang.in (ada.tags, check-acats, ada/treeprs.ads)
	(ada/einfo.h, ada/sinfo.h, ada/nmake.adb, ada/nmake.ads):
	Use '&&' instead of ';'.

From-SVN: r134765
2008-04-28 21:09:21 +00:00
Jason Merrill
bda3795274 re PR c++/57 ([DR 325] GCC can't parse a non-parenthesized comma in a template-id within a default argument)
PR c++/57
        * parser.c (cp_parser_parameter_declaration): Handle < ambiguity
        in default arguments.

Co-Authored-By: Liu Guanwei <liu_gw@163.com>

From-SVN: r134762
2008-04-28 16:43:27 -04:00
Danny Smith
d6b68fccba cygming-crtend.c (register_frame_ctor): Revert my last commit.
* config/i386/cygming-crtend.c (register_frame_ctor): Revert my
	last commit.

From-SVN: r134761
2008-04-28 20:13:59 +00:00
Uros Bizjak
0d5fd2b8e3 re PR target/36073 (ICE with -ffast-math and -mfpmath=sse,387)
PR target/36073
        * config/i386/i386.md
        (*float<SSEMODEI24:mode><MODEF:mode>2_mixed_interunit):
        Change operand 1 predicate to nonimmediate_operand.

testsuite/ChangeLog:

        PR target/36073
        * gcc.target/i386/pr36073.c: New test.

From-SVN: r134757
2008-04-28 19:49:51 +02:00
Gabriele Svelto
177bf4913f Add myself to MAINTAINERS.
From-SVN: r134755
2008-04-28 13:15:14 +00:00
Jakub Jelinek
623f8e39bc re PR debug/36060 (Too big stack requirements of cc1plus during GC)
PR debug/36060
	* dwarf2out.c (struct die_struct): Mark as chain_circular through
	die_sub field.
	* gengtype.c (walk_type, write_func_for_structure): Handle
	chain_circular.
	* doc/gty.texi: Document chain_circular.

From-SVN: r134750
2008-04-28 11:45:26 +02:00
Richard Guenther
0e8d83837e re PR tree-optimization/34223 (missed optimization - complete unrolling pass before the vectorizer)
2008-04-28  Richard Guenther  <rguenther@suse.de>

        PR testsuite/34223
        * gcc.dg/vect/vect-118.c: Rename to ...
        * gcc.dg/vect/O3-vect-pr34223.c: ... this.

From-SVN: r134747
2008-04-28 09:22:28 +00:00
Richard Guenther
82893cba4b re PR tree-optimization/36066 (ICE with -O1 -finline-small-functions -ftree-vrp -funsafe-loop-optimizations)
2008-04-28  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/36066
	* tree-vrp.c (execute_vrp): Cleanup the CFG only after finalizing
	SCEV and loop.

	* gcc.dg/torture/pr36066.c: New testcase.

From-SVN: r134745
2008-04-28 09:09:19 +00:00
Uros Bizjak
e356fac8ab re PR target/36064 (could not split insn with -O1 -march=nocona -m32)
PR target/36064
	* config/i386/i386.md (floatdi<X87MODEF:mode>2_i387_with_xmm splitters):
	Use match_scratch instead of match_operand for operands 3 and 4.

testsuite/ChangeLog:

	PR target/36064
	* gcc.target/i386/pr36064.c: New test.

From-SVN: r134744
2008-04-28 09:52:01 +02:00
Uros Bizjak
7eb84e5449 re PR testsuite/36056 (g++.dg/ext/vector14.C doesn't work for ia32)
PR testsuite/36056
	* g++.dg/ext/vector14.C: Add -msse for 32bit x86 targets.

From-SVN: r134743
2008-04-28 09:42:12 +02:00
GCC Administrator
eed5b0c8d9 Daily bump.
From-SVN: r134734
2008-04-28 00:17:40 +00:00
Richard Guenther
d6e840eed2 re PR tree-optimization/18754 (unrolling happens too late/SRA does not happen late enough)
2008-04-27  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/18754
	PR tree-optimization/34223
	* tree-pass.h (pass_complete_unrolli): Declare.
	* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Print
	loop size before and after unconditionally of UL_NO_GROWTH in effect.
	Rewrite loop into loop closed SSA form if it is not already.
	(tree_unroll_loops_completely): Re-structure to iterate over
	innermost loops with intermediate CFG cleanups.
	Unroll outermost loops only if requested or the code does not grow
	doing so.
	* tree-ssa-loop.c (gate_tree_vectorize): Don't shortcut if no
	loops are available.
	(tree_vectorize): Instead do so here.
	(tree_complete_unroll): Also unroll outermost loops.
	(tree_complete_unroll_inner): New function.
	(gate_tree_complete_unroll_inner): Likewise.
	(pass_complete_unrolli): New pass.
	* tree-ssa-loop-manip.c (find_uses_to_rename_use): Only record
	uses outside of the loop.
	(tree_duplicate_loop_to_header_edge): Only verify loop-closed SSA
	form if it is available.  
	* tree-flow.h (tree_unroll_loops_completely): Add extra parameter.
	* passes.c (init_optimization_passes): Schedule complete inner
	loop unrolling pass before the first CCP pass after final inlining.

	* gcc.dg/tree-ssa/loop-36.c: New testcase.
	* gcc.dg/tree-ssa/loop-37.c: Likewise.
	* gcc.dg/vect/vect-118.c: Likewise.
	* gcc.dg/Wunreachable-8.c: XFAIL bogus warning.
	* gcc.dg/vect/vect-66.c: Increase loop trip count.
	* gcc.dg/vect/no-section-anchors-vect-66.c: Likewise.
	* gcc.dg/vect/no-section-anchors-vect-69.c: Likewise.
	* gcc.dg/vect/vect-76.c: Likewise.
	* gcc.dg/vect/vect-outer-6.c: Likewise.
	* gcc.dg/vect/vect-outer-1.c: Likewise.
	* gcc.dg/vect/vect-outer-1a.c: Likewise.
	* gcc.dg/vect/vect-11a.c: Likewise.
	* gcc.dg/vect/vect-shift-1.c: Likewise.
	* gcc.target/i386/vectorize1.c: Likewise.

From-SVN: r134730
2008-04-27 16:27:08 +00:00
Nathan Sidwell
feb60f0328 targhooks.h (default_emutls_var_fields, [...]): Declare.
* targhooks.h (default_emutls_var_fields,
	default_emutls_var_init): Declare.
	* tree.h (DECL_THREAD_LOCAL): Compare against TLS_MODEL_REAL.
	* target.h (struct gcc_target): Add struct emutls member.
	* target-def.h (TARGET_EMUTLS_GET_ADDRESS,
	TARGET_EMUTLS_REGISTER_COMMON, TARGET_EMUTLS_VAR_SECTION,
	TARGET_EMUTLS_TMPL_SECTION, TARGET_EMUTLS_VAR_PREFIX,
	TARGET_EMUTLS_TMPL_PREFIX, TARGET_EMUTLS_VAR_FIELDS,
	TARGET_EMUTLS_VAR_INIT, TARGET_EMUTLS_DEBUG_FORM_TLS_ADDRESS,
	TARGET_EMUTLS_VAR_ALIGN_FIXED, TARGET_EMUTLS): New.
	(TARGET_INITIALIZER): Add TARGET_EMUTLS.
	* builtins.def (BUILT_IN_EMUTLS_GET_ADDRESS,
	BUILT_IN_EMUTLS_REGISTER_COMMON): Get name from targetm structure.
	* dwarf2out.c (loc_descriptor_from_tree_1): Check if emutls can
	emit debug information.
	* coretypes.h (tls_model): Add TLS_MODEL_EMULATED, TLS_MODEL_REAL.
	* varasm.c: Include targhooks.h.
	(emutls_object_section, emutls_tmpl_section): New.
	(EMUTLS_VAR_PREFIX, EMUTLS_TMPL_PREFIX): Remove.
	(EMUTLS_SEPARATOR): New.
	(prefix_name): New.
	(get_emutls_object_name): New.
	(default_emutls_var_fields): New, broken out of ...
	(get_emutls_object_type): ... here.  Adjust to use target hooks.
	(get_emutls_init_templ_addr): Adjust to use target hooks.
	(emutls_decl): Adjust to use target hooks.
	(emutls_finish): Likewise.
	(default_emutls_var_init): New, broken out of ...
	(assemble_variable): ... here.  Adjust to use target hooks.
	* output.h (enum section_category): Add SECCAT_EMUTLS_VAR,
	SECCAT_EMUTLS_TMPL.
	* c-common.c (handle_section_attribute): Prevent overriding
	sections for emulated tls with special sections.
	* config/i386/i386.c (x86_64_elf_select_section): Add
	SECCAT_EMUTLS_VAR and SECCAT_EMUTLS_TMPL.
	(x86_64_elf_unique_section): Likewise.
	* config/vxworks.c: Include tree.h.
	(vxworks_emutls_var_fields, vxworks_emutls_var_init): New.
	(vxworks_override_options): Set TLS scheme.
	* gcc/doc/tm.texi (Emulated TLS): New node.

	gcc/testsuite/
	* gcc.dg/tls/section-2.c: New.
	* gcc.dg/tls/emutls-1.c: New.
	* lib/target-supports.exp (check_effective_target_tls_native):
	Exclude vxworks.

From-SVN: r134729
2008-04-27 15:35:19 +00:00