Commit Graph

99323 Commits

Author SHA1 Message Date
Matthias Klose
da125f6fb6 elf: Remove empty directory.
2010-04-13  Matthias Klose  <doko@ubuntu.com>

        * elf: Remove empty directory.

From-SVN: r158248
2010-04-13 00:13:13 +00:00
Matthias Klose
4adbd5dd3c gcc.c (cc1_options): Handle -iplugindir before processing the cc1 spec.
gcc/

2010-04-13  Matthias Klose  <doko@ubuntu.com>

	* gcc.c (cc1_options): Handle -iplugindir before processing
	the cc1 spec. Only add -iplugindir once.
	(cpp_unique_options): Add -iplugindir option if -fplugin* options
	found.
	* common.opt (iplugindir): Remove `Separate' property, initialize.
	* plugin.c (default_plugin_dir_name): Error with missing -iplugindir
	option.
	* Makefile.in (check-%, check-parallel-%): Create plugin dir.
	(distclean): Remove plugin dir.

2010-04-13  Basile Starynkevitch  <basile@starynkevitch.net>

	* doc/plugins.texi (Loading Plugins): Document short
	-fplugin=foo option.
	(Plugin API): Mention default_plugin_dir_name function.

	* gcc.c (find_file_spec_function): Add new declaration.
	(static_spec_func): Use it for "find-file".
	(find_file_spec_function): Add new function.
	(cc1_options): Add -iplugindir option if -fplugin* options found.

	* gcc-plugin.h (default_plugin_dir_name): Added new declaration.

	* plugin.c (add_new_plugin): Updated comment, and handle short
	plugin name.
	(default_plugin_dir_name): Added new function.

	* common.opt (iplugindir): New option to set the plugin
	directory.

gcc/testsuite/

2010-04-13  Matthias Klose  <doko@ubuntu.com>

	* gcc.dg/plugindir1.c: New testcase.
	* gcc.dg/plugindir2.c: New testcase.
	* gcc.dg/plugindir3.c: New testcase.
	* gcc.dg/plugindir4.c: New testcase.

From-SVN: r158247
2010-04-12 23:58:18 +00:00
Uros Bizjak
e0db9cc648 i386.md (any_rotate): New code iterator.
* config/i386/i386.md (any_rotate): New code iterator.
	(rotate_insn): New code attribute.
	(rotate): Ditto.
	(SWIM124): New mode iterator.
	(<rotate_insn>ti3): New expander.
	(<rotate_insn>di3): Macroize expander from {rotl,rotr}di3 using
	any_rotate code iterator.
	(<rotate_insn><mode>3) Macroize expander from {rotl,rotr}{qi,hi,si}3
	using any_rotate code iterator and SWIM124 mode iterator.
	(ix86_rotlti3): New insn_and_split pattern.
	(ix86_rotrti3): Ditto.
	(ix86_rotl<dwi>3_doubleword): Macroize insn_and_split pattern from
	ix86_rotl{di,ti}3 patterns.
	(ix86_rotr<dwi>3_doubleword): Ditto from ix86_rotr{di,ti}3 patterns.
	(*<rotate_insn><mode>3_1): Merge with *{rotl,rotr}{qi,hi,si}3_1_one_bit
	and *{rotl,rotr}di3_1_one_bit_rex64. Macroize insn from
	*{rotl,rotr}{qi,hi,si}3_1 and *{rotl,rotr}di3_1_rex64 using any_rotate
	code iterator and SWI mode iterator.
	(*<rotate_insn>si3_1_zext): Merge with *{rotl,rotr}si3_1_one_bit_zext.
	Macroize insn from {rotl,rotr}si3_1_zext using any_rotate
	code iterator.
	(*<rotate_insn>qi3_1_slp): Merge with *{rotl,rotr}qi3_1_one_bit_slp.
	Macroize insn from {rotl,rotr}qi3_1_slp using any_rotate code iterator.
	(bswap rotatert splitter): Add splitter.
	(bswap splitter): Macroize splitter using any_rotate code iterator.
	Add insn predicate to split only for TARGET_USE_XCHGB or when
	optimizing function for size.

testsuite/ChangeLog:

	* gcc.target/i386/rotate-2.c: New test.

From-SVN: r158243
2010-04-12 22:20:54 +02:00
Steve Ellcey
077c8adab1 pa.c (emit_move_sequence): Remove use of deleted variable flag_argument_noalias.
2010-04-12  Steve Ellcey  <sje@cup.hp.com>

	* config/pa/pa.c (emit_move_sequence): Remove use of
	deleted variable flag_argument_noalias.

From-SVN: r158242
2010-04-12 20:01:41 +00:00
Jason Merrill
e62e492244 re PR c++/43641 ([C++0x] internal compiler error: tree check: expected call_expr, have target_expr in maybe_add_lambda_conv_op)
PR c++/43641
	* semantics.c (maybe_add_lambda_conv_op): Use build_call_a and tweak
	return value directly.

From-SVN: r158241
2010-04-12 15:58:49 -04:00
Jason Merrill
d68504839c * call.c (type_decays_to): Call cv_unqualified for non-class type.
From-SVN: r158240
2010-04-12 15:58:37 -04:00
Fabien Chêne
9d809e8f57 re PR c++/25811 (No failure creating a POD containing a const member, using new without a new-initializer.)
PR c++/25811
	* cp-tree.h (diagnose_uninitialized_cst_or_ref_member): Declare.
	* init.c (build_new_1): Check for uninitialized const members and
	uninitialized reference members, when using new without
	new-initializer. Call diagnose_uninitialized_cst_or_ref_member.
	(diagnose_uninitialized_cst_or_ref_member): Define, call
	diagnose_uninitialized_cst_or_ref_member_1.
	(diagnose_uninitialized_cst_or_ref_member_1): New function.

From-SVN: r158239
2010-04-12 15:58:27 -04:00
Rainer Orth
c7392d1130 config.gcc: Removed *-*-solaris2.7* from list of obsolete configurations.
gcc:
	* config.gcc: Removed *-*-solaris2.7* from list of obsolete
	configurations.
	Add to unsupported targets list.
	* configure.ac (gcc_cv_as_tls): Removed i[34567]86-*-solaris2.[567]*,
	sparc*-sun-solaris2.[567]* from target lists.
	* configure: Regenerate.
	* doc/install.texi (Specific, *-*-solaris2*): Document Solaris 7
	removal.
	Remove Solaris 7 patch references.
	(Specific, sparc-sun-solaris2.7): Removed.
	(sparc-sun-solaris2*): Update Solaris 7 example.
	(sparc64-*-solaris2*): Likewise.

	gcc/testsuite:
	* g++.dg/warn/miss-format-1.C: Removed *-*-solaris2.7 from
	dg-error, dg-warning.
	* gcc.dg/c99-stdint-6.c: Removed *-*-solaris2.7 from dg-options.

	libstdc++-v3:
	* configure.host (os_include_dir): Removed solaris2.7 support.
	* crossconfig.m4 (GLIBCXX_CROSSCONFIG): Likewise.
	* configure: Regenerate.

From-SVN: r158236
2010-04-12 19:01:36 +00:00
Rainer Orth
8c2003509e config.build (alpha*-dec-osf4*): Remove.
gcc:
	* config.build (alpha*-dec-osf4*): Remove.
	* config.gcc: Remove alpha*-dec-osf4*, alpha-dec-osf5.0* from list
	of obsolete configurations.
	(alpha*-dec-osf[45]*): Remove alpha*-dec-osf4*, alpha-dec-osf5.0*
	support.
	* config/alpha/t-osf4: Renamed to ...
	* config/alpha/t-osf5: ... this.
	* config/alpha/osf.h: Renamed to ...
	* config/alpha/osf5.h: ... this.
	Merged old osf5.h contents.
	Update comments.
	(ASM_SPEC): Use ASM_OLDAS_SPEC directly.
	(EXTRA_SPECS): Removed.
	* doc/install.texi (Specific, alpha*-dec-osf5.1): Renamed to
	reflect removal of Tru64 UNIX V4.0/V5.0 support.
	Document that.

	fixincludes:
	* inclhack.def (alpha_wchar): Remove.
	* fixincl.x: Regenerate.
	* tests/base/wchar.h: Remove.

	libgcc:
	* config.host (alpha*-dec-osf[45]*): Removed alpha*-dec-osf4*,
	alpha-dec-osf5.0* support.

From-SVN: r158235
2010-04-12 18:36:30 +00:00
Rainer Orth
887204da16 * doc/contrib.texi (Contributors, Rainer Orth): Update.
From-SVN: r158233
2010-04-12 18:15:45 +00:00
Kai Tietz
c1b8e1399f i386.c (x86_this_parameter): Handle aggregate for __thiscall convention.
2010-04-12  Kai Tietz  <kai.tietz@onevision.com>

        PR/43702
        * config/i386/i386.c (x86_this_parameter): Handle aggregate for
        __thiscall convention.

From-SVN: r158232
2010-04-12 20:04:44 +02:00
Steve Ellcey
b38bcccad0 pa.c (hppa_legitimize_address): Remove unused variable orig_base.
2010-04-12  Steve Ellcey  <sje@cup.hp.com>

	* config/pa/pa.c (hppa_legitimize_address): Remove unused variable
	orig_base.
	* config/pa/pa.md (call, call_value): Remove unused variable call_insn.

From-SVN: r158230
2010-04-12 17:27:15 +00:00
Steve Ellcey
fc2f1f5344 function.c (assign_parms_initialize_all): Add unused attribute to fntype.
2010-04-12  Steve Ellcey  <sje@cup.hp.com>

	* function.c (assign_parms_initialize_all): Add unused attribute
	to fntype.

From-SVN: r158228
2010-04-12 16:04:42 +00:00
Richard Biener
913a7b5ab2 gsstruct.def (GSS_CALL): New.
2010-04-12  Richard Guenther  <rguenther@suse.de>

	* gsstruct.def (GSS_CALL): New.
	* gimple.def (GIMPLE_CALL): Change to GSS_CALL.
	* gimple.h: Include tree-ssa-alias.h.
	(struct gimple_statement_call): New.
	(union gimple_statement_struct_d): Add gimple_call member.
	(gimple_call_reset_alias_info): Declare.
	(gimple_call_use_set): New function.
	(gimple_call_clobber_set): Likewise.
	* Makefile.in (GIMPLE_H): Add tree-ssa-alias.h.
	* gimple.c (gimple_call_reset_alias_info): New function.
	(gimple_build_call_1): Call it.
	* lto-streamer-in.c (input_gimple_stmt): Likewise.
	* tree-inline.c (remap_gimple_stmt): Likewise.
	(expand_call_inline): Remove callused handling.
	* cfgexpand.c (update_alias_info_with_stack_vars): Likewise.
	* tree-dfa.c (dump_variable): Likewise.
	* tree-parloops.c (parallelize_loops): Likewise.
	* tree-ssa.c (init_tree_ssa): Likewise.
	(delete_tree_ssa): Likewise.
	* tree-flow-inline.h (is_call_used): Remove.
	* tree-flow.h (struct gimple_df): Remove callused member.
	* tree-nrv.c (dest_safe_for_nrv_p): Adjust predicate.
	* tree-ssa-alias.c (dump_alias_info): Remove callused handling.
	(ref_maybe_used_by_call_p_1): Simplify.
	(call_may_clobber_ref_p_1): Likewise.
	* tree-ssa-structalias.c (compute_points_to_sets): Set
	the call stmt used and clobbered sets.
	* tree-tailcall.c (suitable_for_tail_opt_p): Adjust predicate.
	(find_tail_calls): Verify the tail call.

From-SVN: r158227
2010-04-12 15:35:15 +00:00
Richard Guenther
d086d3119d gsstruct.def (GSS_CALL): New.
2010-04-12  Richard Guenther  <rguenther@suse.de>

	* gsstruct.def (GSS_CALL): New.
	* gimple.def (GIMPLE_CALL): Change to GSS_CALL.
	* gimple.h: Include tree-ssa-alias.h.
	(struct gimple_statement_call): New.
	(union gimple_statement_struct_d): Add gimple_call member.
	(gimple_call_reset_alias_info): Declare.
	(gimple_call_use_set): New function.
	(gimple_call_clobber_set): Likewise.
	* Makefile.in (GIMPLE_H): Add tree-ssa-alias.h.
	* gimple.c (gimple_call_reset_alias_info): New function.
	(gimple_build_call_1): Call it.
	* lto-streamer-in.c (input_gimple_stmt): Likewise.
	* tree-inline.c (remap_gimple_stmt): Likewise.
	(expand_call_inline): Remove callused handling.
	* cfgexpand.c (update_alias_info_with_stack_vars): Likewise.
	* tree-dfa.c (dump_variable): Likewise.
	* tree-parloops.c (parallelize_loops): Likewise.
	* tree-ssa.c (init_tree_ssa): Likewise.
	(delete_tree_ssa): Likewise.
	* tree-flow-inline.h (is_call_used): Remove.
	* tree-flow.h (struct gimple_df): Remove callused member.
	* tree-nrv.c (dest_safe_for_nrv_p): Adjust predicate.
	* tree-ssa-alias.c (dump_alias_info): Remove callused handling.
	(ref_maybe_used_by_call_p_1): Simplify.
	(call_may_clobber_ref_p_1): Likewise.
	* tree-ssa-structalias.c (compute_points_to_sets): Set
	the call stmt used and clobbered sets.
	* tree-tailcall.c (suitable_for_tail_opt_p): Adjust predicate.
	(find_tail_calls): Verify the tail call.

From-SVN: r158226
2010-04-12 15:20:48 +00:00
Richard Guenther
af961c7f46 ipa.c (cgraph_postorder): Adjust postorder to guarantee single-iteration always-inline inlining.
2010-04-12  Richard Guenther  <rguenther@suse.de>

	* ipa.c (cgraph_postorder): Adjust postorder to guarantee
	single-iteration always-inline inlining.
	* ipa-inline.c (cgraph_mark_inline): Do not return anything.
	(cgraph_decide_inlining): Do not handle always-inline
	specially.
	(try_inline): Remove always-inline cycle detection special case.
	Do not recurse on always-inlines.
	(cgraph_early_inlining): Do not iterate if not optimizing.
	(cgraph_gate_early_inlining): remove.
	(pass_early_inline): Run unconditionally.
	(gate_cgraph_decide_inlining): New function.
	(pass_ipa_inline): Use it.  Do not run the IPA inliner if
	not inlining or optimizing.
	(cgraph_decide_inlining_of_small_functions): Also consider
	always-inline functions.
	(cgraph_default_inline_p): Return true for nodes which should
	disregard inline limits.
	(estimate_function_body_sizes): Assume zero size and time for
	nodes which are marked as disregarding inline limits.
	(cgraph_decide_recursive_inlining): Do not perform recursive
	inlining on always-inline nodes.

	* gcc.dg/torture/inline-2.c: New testcase.

From-SVN: r158225
2010-04-12 13:37:32 +00:00
Jakub Jelinek
fa8351f8d8 re PR bootstrap/43699 ("variable set but not used" error during bootstrap)
PR bootstrap/43699
	* c-typeck.c (c_process_expr_stmt): Call mark_exp_read even
	for exprs satisfying handled_component_p.

	* gcc.dg/Wunused-var-7.c: New test.

From-SVN: r158224
2010-04-12 15:27:07 +02:00
Jakub Jelinek
f101882ada re PR tree-optimization/43560 (possible wrong code bug)
PR tree-optimization/43560
	* gcc.c-torture/execute/pr43560.c: New test.

From-SVN: r158220
2010-04-12 12:18:39 +02:00
Eric Botcazou
675c873bfe expr.c (categorize_ctor_elements_1): Properly count sub-elements of non-constant aggregate elements.
* expr.c (categorize_ctor_elements_1): Properly count sub-elements of
	non-constant aggregate elements.

	* gimplify.c (gimplify_init_constructor): Do not pre-evaluate if this
	is a real initialization.

From-SVN: r158219
2010-04-12 10:00:13 +00:00
Richard Guenther
3fc2069752 re PR c++/43611 (ICE: SIGSEGV with -fipa-cp-clone -fkeep-inline-functions)
2010-04-12  Richard Guenther  <rguenther@suse.de>

	PR c++/43611
	* semantics.c (expand_or_defer_fn_1): Do not keep extern
	template inline functions.

	* g++.dg/torture/pr43611.C: New testcase.

From-SVN: r158218
2010-04-12 09:52:50 +00:00
Eric Botcazou
c34f3839b8 trans.c (Identifier_to_gnu): Use boolean variable.
* gcc-interface/trans.c (Identifier_to_gnu): Use boolean variable.
	(call_to_gnu): Test gigi's flag TYPE_BY_REFERENCE_P instead of calling
	front-end's predicate Is_By_Reference_Type.  Use consistent order and
	remove ??? comment.  Use original conversion in all cases, if any.
	* gcc-interface/utils.c (make_dummy_type): Minor tweak.
	(convert): Use local copy in more cases.
	<INDIRECT_REF>: Remove deactivated code.
	(unchecked_convert): Use a couple of local copies.

From-SVN: r158216
2010-04-12 08:54:00 +00:00
Shujing Zhao
c4712597e1 re PR c/36774 (-Wmissing-prototypes triggers on nested functions)
gcc/
2010-04-12  Shujing Zhao  <pearly.zhao@oracle.com>

        PR c/36774
        * c-decl.c (start_function): Move forward check for nested function.

gcc/testsuite/
2010-04-12  Shujing Zhao  <pearly.zhao@oracle.com>

        PR c/36774
        * gcc.dg/pr36774-1.c: New test.
        * gcc.dg/pr36774-2.c: New test.

From-SVN: r158214
2010-04-12 03:43:21 +00:00
GCC Administrator
fe5859f04b Daily bump.
From-SVN: r158212
2010-04-12 00:17:06 +00:00
Kaz Kojima
6f50eb9c74 sh-protos.h (sh_legitimize_reload_address): Declare.
* config/sh/sh-protos.h (sh_legitimize_reload_address): Declare.
	* config/sh/sh.c: Include reload.h.
	(sh_legitimize_reload_address): New.
	* config/sh/sh.h (LEGITIMIZE_RELOAD_ADDRESS): Use
	sh_legitimize_reload_address.

From-SVN: r158208
2010-04-11 22:59:36 +00:00
Kaushik Phatak
c11c09f9be sh.md (*movqi_pop): New insn pattern.
* config/sh/sh.md (*movqi_pop): New insn pattern.
	* config/sh/predicates.md (sh_no_delay_pop_operand): New predicate.
	* gcc.target/sh/rte-delay-slot.c: New test.

From-SVN: r158207
2010-04-11 22:53:30 +00:00
Uros Bizjak
d72ebc16bb i386.md (any_shiftrt): New code iterator.
* config/i386/i386.md (any_shiftrt): New code iterator.
	(shiftrt_insn): New code attribute.
	(shiftrt): Ditto.
	(<shiftrt_insn><mode>3): Macroize expander from ashr<mode>3 and
	lshr<mode>3 using any_shiftrt code iterator.
	(*<shiftrt_insn><mode>3_doubleword): Macroize insn_and_split from
	*ashr<mode>3_doubleword and *lshr<mode>3_doubleword using
	any_shiftrt code iterator.
	(*<shiftrt_insn><mode>3_doubleword peephole2): Macroize peephole2
	pattern from corresponding peephole2 patterns.
	(*<shiftrt_insn><mode>3_1): Macroize insn from *ashr<mode>3_1
	and *lshr<mode>3_1 using any_shiftrt code iterator.
	(*<shiftrt_insn>si3_1_zext): Ditto from *ashrsi3_1_zext
	and *lshrsi3_1_zext.
	(*<shiftrt_insn>qi3_1_slp): Ditto from *ashrqi3_1_slp
	and *lshrqi3_1_slp.
	(*<shiftrt_insn><mode>3_cmp): Ditto from *ashr<mode>3_cmp
	and *lshr<mode>3_cmp.
	(*<shiftrt_insn><mode>3_cmp_zext): Ditto from *ashr<mode>3_cmp_zext
	and *lshr<mode>3_cmp_zext.
	(*<shiftrt_insn><mode>3_cconly): Ditto from *ashr<mode>3_cconly
	and *lshr<mode>3_cconly.

From-SVN: r158205
2010-04-11 22:40:02 +02:00
Uros Bizjak
59caab22b5 i386.md (*ashr<mode>3_cconly): Fix wrong mode of scratch register.
* config/i386/i386.md (*ashr<mode>3_cconly): Fix wrong mode of
	scratch register.
	(*lshr<mode>3_cconly): Ditto.

From-SVN: r158204
2010-04-11 16:26:27 +02:00
Uros Bizjak
9200ac720c i386.md (lshr<mode>3): Macroize expander from lshr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.
* config/i386/i386.md (lshr<mode>3): Macroize expander from
	lshr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.
	(*lshr<mode>3_doubleword): New insn_and_split_pattern.  Macroize
	pattern from *lshr{di,ti}3_1 and corresponding splitters using
	DWI mode iterator.
	(*lshr<mode>3_doubleword peephole2): Macroize peephole2 pattern
	from corresponding peephole2 patterns.
	(*lshr<mode>3_1): Merge with *lshr{qi,hi,si}3_1_one_bit and
	*lshrdi3_1_one_bit_rex64. Macroize insn from *lshr{qi,hi,si}3_cmp
	and *lshrdi3_cmp_rex64 using SWI mode iterator.
	(*lshrqi3_1_slp): Merge with *lshrqi3_1_one_bit_slp.
	(*lshr<mode>3_cmp): Merge with *lshr{qi,hi,si}3_one_bit_cmp and
	*lshrdi3_one_bit_cmp_rex64. Macroize insn from *lshr{qi,hi,si}3_cmp
	and *lshrdi3_cmp_rex64 using SWI mode iterator.
	(*lshrsi3_cmp_zext): Merge with *lshrsi3_cmp_one_bit_zext.
	(*lshr<mode>3_cconly): Merge with *lshr{qi,hi,si}3_one_bit_cconly and
	*lshrdi3_one_bit_cconly_rex64. Macroize insn from
	*lshr{qi,hi,si}3_cconly and *lshrdi3_cconly_rex64 using
	SWI mode iterator.

From-SVN: r158203
2010-04-11 16:04:35 +02:00
Eric Botcazou
3cd64bab88 trans.c (lvalue_required_for_attribute_p): New static function.
* gcc-interface/trans.c (lvalue_required_for_attribute_p): New static
	function.
	(lvalue_required_p) <N_Attribute_Reference>: Call it.
	(gnat_to_gnu) <N_Selected_Component>: Prevent build_component_ref from
	folding the result only if lvalue_required_for_attribute_p is true.
	* gcc-interface/utils.c (maybe_unconstrained_array): Pass correctly
	typed constant to build_component_ref.
	(unchecked_convert): Likewise.
	* gcc-interface/utils2.c (maybe_wrap_malloc): Likewise.
	(build_allocator): Likewise.

From-SVN: r158202
2010-04-11 11:49:22 +00:00
Eric Botcazou
87fa3d342b utils2.c (build_cond_expr): Take the address and dereference if the result type is passed by reference.
* gcc-interface/utils2.c (build_cond_expr): Take the address and
	dereference if the result type is passed by reference.

From-SVN: r158201
2010-04-11 11:23:32 +00:00
Eric Botcazou
9c69c3afd6 trans.c (Case_Statement_to_gnu): Bool-ify variable.
* gcc-interface/trans.c (Case_Statement_to_gnu): Bool-ify variable.
	(gnat_to_gnu) <N_Null_Statement>: When not optimizing, generate a
	goto to the next statement.

From-SVN: r158200
2010-04-11 11:11:49 +00:00
GCC Administrator
c460cd49da Daily bump.
From-SVN: r158199
2010-04-11 00:17:00 +00:00
Uros Bizjak
27431d88dd i386.md (ashr<mode>3): Macroize expander from ashr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.
* config/i386/i386.md (ashr<mode>3): Macroize expander from
	ashr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.
	(*ashr<mode>3_doubleword): New insn_and_split_pattern.  Macroize
	pattern from *ashr{di,ti}3_1 and corresponding splitters using
	DWI mode iterator.
	(*ashr<mode>3_doubleword peephole2): Macroize peephole2 pattern
	from corresponding peephole2 patterns.
	(ashrdi3_cvt): Rename from ashrdi3_63_rex64.
	(ashrsi3_cvt): Rename from ashrsi3_31.
	(*ashrsi3_cvt_zext): Rename from *ashrsi3_31_zext.
	(x86_shift<mode>_adj_3): Macroize expander from x86_shift_adj_3
	and x86_64_shift_adj_3 using SWI48 mode iterator.
	(*ashr<mode>3_1): Merge with *ashr{qi,hi,si}3_1_one_bit and
	*ashrdi3_1_one_bit_rex64. Macroize insn from *ashr{qi,hi,si}3_cmp
	and *ashrdi3_cmp_rex64 using SWI mode iterator.
	(*ashrqi3_1_slp): Merge with *ashrqi3_1_one_bit_slp.
	(*ashr<mode>3_cmp): Merge with *ashr{qi,hi,si}3_one_bit_cmp and
	*ashrdi3_one_bit_cmp_rex64. Macroize insn from *ashr{qi,hi,si}3_cmp
	and *ashrdi3_cmp_rex64 using SWI mode iterator.
	(*ashrsi3_cmp_zext): Merge with *ashrsi3_cmp_one_bit_zext.
	(*ashr<mode>3_cconly): Merge with *ashr{qi,hi,si}3_one_bit_cconly and
	*ashrdi3_one_bit_cconly_rex64. Macroize insn from
	*ashr{qi,hi,si}3_cconly and *ashrdi3_cconly_rex64 using
	SWI mode iterator.
	(sign_extend splitters): Update for renamed ashr{di,si}3_patterns.
	* config/i386/i386.c (ix86_split_ashr): Update for renamed
	x86_shift<mode>_adj_3 expander.

From-SVN: r158195
2010-04-10 19:20:47 +02:00
Jie Zhang
a6d57223b1 re PR target/43417 (SH: 4.4 ICE in final_scan_insn, at final.c:2604)
PR target/43417
	* gcc.target/sh/pr43417.c: New test.

From-SVN: r158192
2010-04-10 15:12:14 +00:00
Tobias Burnus
687ea68f03 re PR fortran/43591 (PPC: internal compiler error: in gfc_traverse_expr, at fortran/expr.c:3604)
2010-04-10  Tobias Burnus  <burnus@net-b.de>

        PR fortran/43591
        * expr.c (gfc_is_constant_expr, gfc_traverse_expr): Handle
        proc-pointers and type-bound procedures.
        (gfc_specification_expr): Check proc-pointers for pureness.

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

        PR fortran/43591
        * gfortran.dg/spec_expr_6.f90: New test.

From-SVN: r158191
2010-04-10 16:24:46 +02:00
Wei Guozhi
85c9bcd418 re PR target/42601 (Simplify code to address function static variables with option -fpic)
PR target/42601
	* config/arm/arm.c (arm_pic_static_addr): New function.
	(legitimize_pic_address): Call arm_pic_static_addr when it detects
	a static symbol.
	(arm_output_addr_const_extra): Output expression for new pattern.
	* config/arm/arm.md (UNSPEC_SYMBOL_OFFSET): New unspec symbol.

From-SVN: r158189
2010-04-10 13:13:47 +00:00
Bernd Schmidt
52c1d580dd reload1.c (eliminate_regs_in_insn): Don't restore an operand if doing so would replace the entire pattern.
* reload1.c (eliminate_regs_in_insn): Don't restore an operand
	if doing so would replace the entire pattern.

From-SVN: r158188
2010-04-10 12:33:17 +00:00
Bernd Schmidt
4143fd3683 Makefile.in (web.o): Depend on insn-config.h and $(RECOG_H).
* Makefile.in (web.o): Depend on insn-config.h and $(RECOG_H).
	* web.c: Include "insn-config.h" and "recog.h".
	(union_match_dups): New function.
	(web_main): Call it.
	(union_defs): Don't try to recognize match_dups.

From-SVN: r158187
2010-04-10 12:30:29 +00:00
Bernd Schmidt
979740a089 ira-costs.c (record_reg_classes): Ignore alternatives that are not enabled.
* ira-costs.c (record_reg_classes): Ignore alternatives that are
	not enabled.

From-SVN: r158186
2010-04-10 12:28:25 +00:00
GCC Administrator
93c02eae9a Daily bump.
From-SVN: r158181
2010-04-10 00:16:59 +00:00
Uros Bizjak
ef0f4a034d re PR target/43707 (gcc.c-torture/execute/ashldi-1.c)
PR target/43707
	PR target/43709
	* config/i386/i386.md (*ashl<mode>3_doubleword): Split to insn
	and splitter pattern.  Change splitter operand 1 predicate to
	nonmemory_operand.

From-SVN: r158177
2010-04-09 23:12:42 +02:00
Martin Jambor
add5d9980a ipa-cp.c (ipcp_lats_are_equal): Return true also if the two lattices are addresses of CONST_DECLs with the same...
2010-04-09  Martin Jambor  <mjambor@suse.cz>

	* ipa-cp.c (ipcp_lats_are_equal): Return true also if the two
	lattices are addresses of CONST_DECLs with the same initial value.
	(ipcp_print_all_lattices): Print values of CONST_DECLs.
	* ipa-prop.c (ipa_print_node_jump_functions): Likewise.

From-SVN: r158176
2010-04-09 22:24:11 +02:00
Eric Botcazou
43ba743ca9 loop-invariant.c (replace_uses): New static function.
* loop-invariant.c (replace_uses): New static function.
	(move_invariant_reg): Use it to ensure we can replace the uses.

From-SVN: r158175
2010-04-09 20:13:59 +00:00
Hariharan Sandanagobalane
c3fd7b4dbf picochip.c (picochip_rtx_costs): Use correct function template.
* config/picochip/picochip.c (picochip_rtx_costs): Use correct function
          template.
          (picochip_override_options): Enable section anchors only above O1.
          (picochip_reorg): Fixed a couple of build warnings.

From-SVN: r158174
2010-04-09 19:25:03 +00:00
Rainer Orth
fcf5268611 configure.ac (plugin -rdynamic test): Log result.
* configure.ac (plugin -rdynamic test): Log result.
	* configure: Regenerate.
	* config/sol2.h (LINK_SPEC): Handle -rdynamic.
	(RDYNAMIC_SPEC): Define.
	* config/sol2-gld.h (RDYNAMIC_SPEC): Redefine.

From-SVN: r158173
2010-04-09 17:35:18 +00:00
Rainer Orth
55c4f71558 configure.ac: Determine Sun ld version numbers.
* configure.ac: Determine Sun ld version numbers.
	(comdat_group): Restrict GNU ld version checks to gld.
	(comdat_group, *-*-solaris2.1[1-9]*): Enable for Sun ld > 1.1688.
	(enable_comdat): Support --enable-comdat.
	* configure: Regenerate.
	* doc/install.texi (Configuration): Document --enable-comdat.

From-SVN: r158172
2010-04-09 17:32:54 +00:00
Rainer Orth
62e0852342 sol2-gld.h: Remove SPARC reference.
* config/sparc/sol2-gld.h: Remove SPARC reference.
	Rename ...
	* config/sol2-gld.h: ... here.
	* config.gcc (sparc*-*-solaris2*): Reflect this.
	(i[34567]86-*-solaris2*): Use it.

From-SVN: r158171
2010-04-09 17:02:52 +00:00
Steve Ellcey
034288ef5c ia64.c (ia64_dfa_new_cycle): Remove unused variable setup_clocks_p.
2010-04-09  Steve Ellcey  <sje@cup.hp.com>

	* config/ia64/ia64.c (ia64_dfa_new_cycle): Remove unused variable
	setup_clocks_p.
	(final_emit_insn_group_barriers): Remove unused variable prev_insn.

From-SVN: r158170
2010-04-09 16:25:21 +00:00
Manuel López-Ibáñez
d8a12e8478 re PR preprocessor/43195 (#pragma once and -H)
2010-04-09  Manuel López-Ibáñez <manu@gcc.gnu.org>

	PR cpp/43195
libcpp/
	* files.c (report_missing_guard): Test for #pragma once.
testsuite/
	* gcc.dg/cpp/pr43195.c: New.
	* gcc.dg/cpp/pr43195.h: New.

From-SVN: r158169
2010-04-09 16:08:42 +00:00
Manuel López-Ibáñez
d0b8780d9f re PR other/42965 (no "warnings being treated as errors" for individual -Werror=x options)
2010-04-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR 42965
	* diagnostic.c (diagnostic_initialize): Initialize
	some_warnings_are_errors.
	(diagnostic_finish): New.
	(diagnostic_action_after_output): Call it before exiting.
	(diagnostic_report_diagnostic): Do not print message here. Set
	some_warnings_are_errors.
	* diagnostic.h (diagnostic_context): Delete
	issue_warnings_are_errors_message. Add some_warnings_are_errors.
	(diagnostic_finish): Declare.
	* toplev.c (toplev_main): Call it before exit.
testsuite/
	* gcc.dg/Werror-6.c: Adjust.
	* gcc.dg/Werror-implicit-function-declaration.c: Likewise.
	* gcc.dg/Werror-4.c: Likewise.
	* gcc.dg/Wdeclaration-after-statement-3.c: Likewise.
	* gcc.dg/Wswitch-enum-error.c: Likewise.
	* gcc.dg/Wpointer-arith.c: Likewise.
	* gcc.dg/Wfatal.c: Likewise.
	* gcc.dg/Wswitch-error.c: Likewise.
	* g++.dg/warn/unused-result1-Werror.c: Likewise.
	* gcc.dg/Werror-9.c: Delete. Duplicate of Werror-4.c.
	* gcc.dg/cpp/warn-undef-2.c: Likewise.
	* gcc.dg/cpp/warn-traditional-2.c: Likewise.
	* gcc.dg/cpp/warn-comments-2.c: Likewise.
	* gcc.dg/cpp/warn-variadic-2.c: Likewise.
	* gcc.dg/cpp/warning-directive-2.c: Likewise.
	* gcc.dg/cpp/warn-long-long-2.c: Likewise.
	* gcc.dg/cpp/warn-deprecated-2.c: Likewise.
	* gcc.dg/cpp/warn-multichar-2.c: Likewise.
	* gcc.dg/cpp/warn-normalized-3.c: Likewise.
	* gcc.dg/cpp/warn-cxx-compat-2.c: Likewise.
	* gcc.dg/cpp/warn-trigraphs-3.c: Likewise.
	* gcc.dg/cpp/warn-unused-macros-2.c: Likewise.
	* gcc.dg/cpp/warn-trigraphs-4.c: Likewise.
	* gcc.dg/cpp/warn-redefined-2.c: Likewise.
	* g++.dg/cpp/warning-directive-2.C: Likewise.
	* gfortran.dg/warning-directive-2.F90: Likewise.

From-SVN: r158168
2010-04-09 15:45:52 +00:00