Commit Graph

87069 Commits

Author SHA1 Message Date
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
GCC Administrator f509e29629 Daily bump.
From-SVN: r134721
2008-04-27 00:18:13 +00:00
H.J. Lu 0619a7f564 re PR testsuite/36053 (ERROR: tcl error sourcing gcc/gcc/testsuite/gcc.dg/dg.exp)
2008-04-26  H.J. Lu  <hongjiu.lu@intel.com>

	PR testsuite/36053
	* gcc.dg/large-size-array-2.c: Fix x86_64-*-mingw* check.
	* gcc.dg/large-size-array-4.c: Likewise.

From-SVN: r134716
2008-04-26 12:14:46 -07:00
Simon Baldwin 6bfb7f1068 re PR c++/35652 (offset warning should be given in the front-end)
PR c/35652
       * builtins.c (c_strlen): Suppressed multiple warnings that can occur
       with propagated string constants.

From-SVN: r134714
2008-04-26 16:59:38 +00:00
Uros Bizjak 73e8165a68 i386.md (fix_trunc<mode>_i387_fisttp_with_temp): Use 'X' constraint for operand 2 when operand 0 is memory operand.
* config/i386/i386.md (fix_trunc<mode>_i387_fisttp_with_temp): Use 'X'
        constraint for operand 2 when operand 0 is memory operand.
        (fix_truncdi_i387_with_temp): : Use 'X' constraint for operand 4 when
        operand 0 is memory operand.
        (fix_trunc<mode>_i387_with_temp): Ditto.
        (*floatsi<mode>2_vector_mixed_with_temp): Use 'X' constraint for
        operand 2 when operand 1 is memory operand.
        (*float<SSEMODEI24:mode><MODEF:mode>2_mixed_with_temp): Ditto.
        (*floatsi<mode>2_vector_sse_with_temp): Ditto.
        (*float<SSEMODEI24:mode><MODEF:mode>2_sse_with_temp): Ditto.
        (*float<SSEMODEI24:mode><X87MODEF:mode>2_i387_with_temp): Ditto.
        (floatdi<X87MODEF:mode>2_i387_with_xmm): Use 'X' constraint for
        operands 2,3 and 4 when operand 1 is memory operand.
        (fistdi2_with_temp): Use 'X' constraint for operand 2 when operand 0
        is memory operand.
        (fistdi2_floor_with_temp): Ditto.
        (fist<mode>2_floor_with_temp): Ditto.
        (fistdi2_ceil_with_temp): Ditto.
        (fist<mode>2_ceil_with_temp): Ditto.
        (*truncdfsf_fast_mixed): Merge alternatives 0 and 1.

From-SVN: r134697
2008-04-26 15:43:13 +02:00
George Helffrich da69cc9160 re PR fortran/35892 (gfortran lost memory blocks)
2008-04-26  George Helffrich <george@gcc.gnu.org>

	PR fortran/35892
	PR fortran/35154
	* fortran/trans-common.c (create_common):  Add decl to function
	chain (if inside one) to preserve identifier scope in debug output.

        * testsuite/gfortran.dg/debug/pr35154-stabs.f:  New test case for
        .stabs functionality.
        * testsuite/gfortran.dg/debug/pr35154-dwarf2.f:  New test case for
        DWARF functionality.

From-SVN: r134696
2008-04-26 09:46:01 +00:00
Richard Sandiford 49bce30a21 mips.md (UNSPEC_COMPARE_AND_SWAP_12): New unspec_volitile.
gcc/
2008-04-23  David Daney  <ddaney@avtrex.com>

	* config/mips/mips.md (UNSPEC_COMPARE_AND_SWAP_12): New
	unspec_volitile.
	(UNSPEC_SYNC_OLD_OP, UNSPEC_SYNC_NEW_OP, UNSPEC_SYNC_EXCHANGE,
	UNSPEC_MEMORY_BARRIER, UNSPEC_SET_GOT_VERSION,
	UNSPEC_UPDATE_GOT_VERSION): Renumber.
	(sync_compare_and_swap<mode>): New expand for QI and HI modes.
	(compare_and_swap_12): New insn.
	* config/mips/mips-protos.h (mips_expand_compare_and_swap_12): Declare.
	* config/mips/mips.c (mips_force_binary): New function.
	(mips_emit_int_order_test, mips_expand_synci_loop): Use it.
	(mips_expand_compare_and_swap_12): New function.
	* config/mips/mips.h (MIPS_COMPARE_AND_SWAP_12): New macro.

gcc/testsuite/
	* gcc.target/mips/gcc-have-sync-compare-and-swap-1.c: Expect
	__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 and
	__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 to be defined.
	* gcc.target/mips/gcc-have-sync-compare-and-swap-2.c: Likewise.

From-SVN: r134695
2008-04-26 07:40:04 +00:00