Commit Graph

107957 Commits

Author SHA1 Message Date
Richard Sandiford
6308e208c2 arm.c (arm_print_operand): Use MEM_SIZE to get the size of a '%A' memory reference.
gcc/
	* config/arm/arm.c (arm_print_operand): Use MEM_SIZE to get the
	size of a '%A' memory reference.
	(T_DREG, T_QREG): New neon_builtin_type_bits.
	(arm_init_neon_builtins): Assert that the load and store operands
	are neon_struct_operands.
	(locate_neon_builtin_icode): Provide the neon_builtin_type_bits.
	(NEON_ARG_MEMORY): New builtin_arg.
	(neon_dereference_pointer): New function.
	(arm_expand_neon_args): Add a neon_builtin_type_bits argument.
	Handle NEON_ARG_MEMORY.
	(arm_expand_neon_builtin): Update after above interface changes.
	Use NEON_ARG_MEMORY for loads and stores.
	* config/arm/predicates.md (neon_struct_operand): New predicate.
	* config/arm/iterators.md (V_two_elem): Tweak formatting.
	(V_three_elem): Use BLKmode for accesses that have no associated mode.
	(V_four_elem): Tweak formatting.
	* config/arm/neon.md (neon_vld1<mode>, neon_vld1_dup<mode>)
	(neon_vst1_lane<mode>, neon_vst1<mode>, neon_vld2<mode>)
	(neon_vld2_lane<mode>, neon_vld2_dup<mode>, neon_vst2<mode>)
	(neon_vst2_lane<mode>, neon_vld3<mode>, neon_vld3_lane<mode>)
	(neon_vld3_dup<mode>, neon_vst3<mode>, neon_vst3_lane<mode>)
	(neon_vld4<mode>, neon_vld4_lane<mode>, neon_vld4_dup<mode>)
	(neon_vst4<mode>): Replace pointer operand with a memory operand.
	Use %A in the output template.
	(neon_vld3qa<mode>, neon_vld3qb<mode>, neon_vst3qa<mode>)
	(neon_vst3qb<mode>, neon_vld4qa<mode>, neon_vld4qb<mode>)
	(neon_vst4qa<mode>, neon_vst4qb<mode>): Likewise, but halve
	the width of the memory access.  Remove post-increment.
	* config/arm/neon-testgen.ml: Allow addresses to have an alignment.

gcc/testsuite/
	* gcc.target/arm/neon-vld3-1.c: New test.
	* gcc.target/arm/neon-vst3-1.c: New test.
	* gcc.target/arm/neon/v*.c: Regenerate.

From-SVN: r172314
2011-04-12 12:19:38 +00:00
Nick Clifton
e5db8f2fde v850.c (expand_prologue): Do not use the CALLT instruction for interrupt handlers if...
* config/v850/v850.c (expand_prologue): Do not use the CALLT
	instruction for interrupt handlers if the target is the basic V850
	architecture.
	(expand_epilogue): Likewise.

From-SVN: r172313
2011-04-12 11:34:26 +00:00
Jakub Jelinek
74f091d686 re PR rtl-optimization/48549 (Combiner ICE with -g)
PR rtl-optimization/48549
	* combine.c (propagate_for_debug): Also stop after BB_END of
	this_basic_block.  Process LAST and just stop processing after it.
	(combine_instructions): If last_combined_insn has been deleted,
	set last_combined_insn to its PREV_INSN.

	* g++.dg/opt/pr48549.C: New test.

From-SVN: r172311
2011-04-12 12:53:47 +02:00
Richard Guenther
f20ca72587 re PR tree-optimization/46076 (constant propagation and compile-time math no longer happening versus 4.4 and 4.5)
2011-04-12  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/46076
	* gimple.h (struct gimple_statement_call): Add fntype field.
	(gimple_call_fntype): Adjust.
	(gimple_call_set_fntype): New function.
	* gimple.c (gimple_build_call_1): Set the call function type.
	* gimplify.c (gimplify_call_expr): Preserve the function
	type the frontend used for the call.
	(gimplify_modify_expr): Likewise.
	* lto-streamer-in.c (input_gimple_stmt): Input the call stmts
	function type.
	* lto-streamer-out.c (output_gimple_stmt): Output the call stmts
	function type.
	* tree-ssa.c (useless_type_conversion_p): Function pointer
	conversions are useless.

	* gcc.dg/tree-ssa/pr46076.c: Un-XFAIL.

From-SVN: r172310
2011-04-12 10:44:15 +00:00
Takaya Saito
78a869ec74 re PR libstdc++/48476 ([C++0x] conversion between std::tuple which have reference member is rejected)
2011-04-12  Takaya Saito  <gintensubaru@gmail.com>

	PR libstdc++/48476
	* include/std/tuple (_Tuple_impl<>::_Tuple_impl(_Tuple_impl<>&&),
	_Tuple_impl<>::operator=(_Tuple_impl&&), _Tuple_impl<>::operator=
	(_Tuple_impl<>&&), tuple_cat): Use std::forward where appropriate.
	* testsuite/20_util/tuple/cons/48476.cc: New.
	* testsuite/20_util/tuple/48476.cc: Likewise.
	* testsuite/20_util/tuple/creation_functions/48476.cc: Likewise.

From-SVN: r172309
2011-04-12 10:31:33 +00:00
Martin Jambor
0fa1f9b762 class.c (cp_fold_obj_type_ref): Call cgraph_get_node instead of cgraph_get_create_node.
2011-04-12  Martin Jambor  <mjambor@suse.cz>

gcc/cp/
	* class.c (cp_fold_obj_type_ref): Call cgraph_get_node instead of
	cgraph_get_create_node.
	* decl2.c (cp_write_global_declarations): Call cgraph_get_node
	instead of cgraph_get_create_node.
	* method.c (make_alias_for_thunk): Call cgraph_get_node
	instead of cgraph_get_create_node, assert it returns non-NULL.
	(use_thunk): Likewise.
	* optimize.c (maybe_clone_body): Call cgraph_same_body_alias only
	when flag_syntax_only is not set.  Call cgraph_get_node instead of
	cgraph_get_create_node.
	(maybe_clone_body): Call cgraph_get_node instead of
	cgraph_get_create_node.

From-SVN: r172308
2011-04-12 12:02:31 +02:00
Martin Jambor
a358e18845 cgraph.h (cgraph_node): Remove function declaration.
2011-04-12  Martin Jambor  <mjambor@suse.cz>

	* cgraph.h (cgraph_node): Remove function declaration.
	(cgraph_create_node): Declare.
	(cgraph_get_create_node): Likewise.
	* cgraph.c (cgraph_create_node): Renamed to cgraph_create_node_1.
	Updated all callers.
	(cgraph_node): Renamed to cgraph_create_node, assert that a node for
	the decl does not already exist.  Call cgraph_get_create_node instead
	of cgraph_node.
	(cgraph_get_create_node): New function.
	(cgraph_same_body_alias): Update comment.
	(cgraph_set_call_stmt): Call cgraph_get_node instead of cgraph_node,
	assert it does not return NULL.
	(cgraph_update_edges_for_call_stmt): Likewise.
	(cgraph_clone_edge): Likewise.
	(cgraph_create_virtual_clone): Likewise.
	(cgraph_update_edges_for_call_stmt_node): Call cgraph_get_create_node
	instead of cgraph_node.
	(cgraph_add_new_function): Call cgraph_create_node or
	cgraph_get_create_node instead of cgraph_node.
	* cgraphbuild.c (record_reference): Call cgraph_get_create_node
	instead of cgraph_node.
	(record_eh_tables): Likewise.
	(mark_address): Likewise.
	(mark_load): Likewise.
	(build_cgraph_edges): Call cgraph_get_create_node instead
	of cgraph_node.
	(rebuild_cgraph_edges): Likewise.
	* cgraphunit.c (cgraph_finalize_function): Call cgraph_get_create_node
	instead of cgraph_node.
	(cgraph_copy_node_for_versioning): Call cgraph_create_node instead of
	cgraph_node.
	* lto-symtab.c (lto_symtab_merge_cgraph_nodes_1): Call
	cgraph_create_node instead of cgraph_node.
	* c-decl.c (finish_function): Call cgraph_get_create_node instead
	of cgraph_node.
	* lto-cgraph.c (input_node): Likewise.
	* lto-streamer-in.c (input_function): Likewise.
	* varasm.c (mark_decl_referenced): Likewise.
	(assemble_alias): Likewise.

gcc/c-family/
	* c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
	of cgraph_node.

gcc/cp/
	* cp/class.c (cp_fold_obj_type_ref): Call cgraph_get_create_node
	instead of cgraph_node.
	* cp/decl2.c (cxx_callgraph_analyze_expr): Likewise.
	(cp_write_global_declarations): Likewise.
	* cp/optimize.c (maybe_clone_body): Likewise.
	* cp/semantics.c (maybe_add_lambda_conv_op): Likewise.
	* cp/mangle.c (mangle_decl): Likewise.
	* cp/method.c (make_alias_for_thunk): Likewise.
	(use_thunk): Likewise.

gcc/ada/
	* gcc-interface/utils.c (end_subprog_body): Call
	cgraph_get_create_node instead of cgraph_node.

gcc/fortran/
	* trans-decl.c (gfc_generate_function_code): Call
	cgraph_get_create_node instead of cgraph_node.

gcc/objc/
	* objc-act.c (mark_referenced_methods): Call cgraph_get_create_node
	instead of cgraph_node.

From-SVN: r172307
2011-04-12 11:27:18 +02:00
Martin Jambor
fe660d7bfe tree-inline.c (tree_function_versioning): Call cgraph_get_node instead of cgraph_node and assert it does not return NULL.
2011-04-12  Martin Jambor  <mjambor@suse.cz>

	* tree-inline.c (tree_function_versioning): Call cgraph_get_node
	instead of cgraph_node and assert it does not return NULL.
	* lto-streamer-in.c (lto_read_body): Likewise.
	* omp-low.c (new_omp_context): Likewise.
	(create_task_copyfn): Likewise.
	* tree-emutls.c (lower_emutls_function_body): Likewise.
	* matrix-reorg.c (transform_allocation_sites): Likewise.

From-SVN: r172306
2011-04-12 11:12:58 +02:00
Paolo Carlini
237526dd7d re PR libstdc++/48566 (libstdc++-v3 testsuite failures due to missing includes)
2011-04-12  Allan McRae  <allan@archlinux.org>

	PR libstdc++/48566
	* testsuite/tr1/6_containers/unordered_map/requirements/
	iterator_null_neg.cc: Include <cstddef>.
	* testsuite/tr1/6_containers/unordered_set/requirements/
	iterator_null_neg.cc: Likewise.
	* testsuite/27_io/basic_filebuf/seekoff/wchar_t/4.cc: Include
	<cstring>.
	* testsuite/util/testsuite_common_types.h: Include <limits>.
	* testsuite/29_atomics/atomic_integral/cons/assign_neg.cc:
	Adjust dg-error line numbers.
	* testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Likewise.
	* testsuite/29_atomics/atomic_integral/operators/increment_neg.cc:
	Likewise.
	* testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc:
	Likewise.
	* testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc:
	Likewise.
	* testsuite/29_atomics/atomic/cons/assign_neg.cc: Likewise.
	* testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise.

From-SVN: r172303
2011-04-12 09:05:30 +00:00
Rainer Orth
c9c0db83bb re PR testsuite/21164 (libjava tests uses absolute paths)
libjava:
	PR testsuite/21164
	* testsuite/lib/libjava.exp: Load dg.exp.
	* testsuite/libjava.jar/jar.exp (gcj_jar_interpret): Strip srcdir
	from jarfile.
	Use result for messages.
	* testsuite/libjava.loader/loader.exp (gcj_loader_test_one): Pass
	errname to libjava_invoke, fix testname.

	gcc:
	PR testsuite/21164
	* lib/compat.exp (compat-execute): Declare unsupported after
	stripping path from src1.
	* lib/lto.exp (lto-execute): Likewise.

From-SVN: r172302
2011-04-12 09:04:05 +00:00
Jakub Jelinek
e30ecc5d62 re PR c/48517 (ICE in build_unary_op, at c-typeck.c:3786)
PR c/48517
	* c-typeck.c (store_init_value): Set TREE_TYPE (decl) to
	qualified type.

	* gcc.c-torture/compile/pr48517.c: New test.

From-SVN: r172299
2011-04-12 08:43:12 +02:00
Jakub Jelinek
bae5cddff8 re PR c/48552 (ICE with void type expressions in asm inputs/outputs)
PR c/48552
	* c-typeck.c (build_asm_expr): Error out on attempts to use
	void type outputs or inputs for constraints that allow reg or
	don't allow memory.

	* gcc.dg/pr48552-1.c: New test.
	* gcc.dg/pr48552-2.c: New test.

From-SVN: r172298
2011-04-12 08:27:23 +02:00
Chung-Lin Tang
06eb52cab5 re PR target/48250 (ICE in reload_cse_simplify_operands, at postreload.c:403)
2011-04-11  Chung-Lin Tang  <cltang@codesourcery.com>
	    Richard Earnshaw  <rearnsha@arm.com>

	PR target/48250
	* config/arm/arm.c (arm_legitimize_reload_address): Update cases
	to use sign-magnitude offsets. Reject unsupported unaligned
	cases. Add detailed description in comments.
	* config/arm/arm.md (reload_outdf): Disable for ARM mode; change
	condition from TARGET_32BIT to TARGET_ARM.

Co-Authored-By: Richard Earnshaw <rearnsha@arm.com>

From-SVN: r172297
2011-04-12 04:42:55 +00:00
Nathan Froyd
648a616b30 tree.h (struct typed_tree): New.
* tree.h (struct typed_tree): New.
	(struct tree_common): Include it instead of tree_base.
	(TREE_TYPE): Update for new location of type field.
	(TYPE_USER_ALIGN, TYPE_PACKED): Refer to base field directly.
	(DECL_USER_ALIGN, DECL_PACKED): Likewise.
	(union tree_node): Add typed field.
	* treestruct.def (TS_TYPED): New.
	* lto-streamer.c (check_handled_ts_structures): Handle it.
	* tree.c (MARK_TS_TYPED): New macro.
	(MARK_TS_COMMON): Call it instead of MARK_TS_BASE.

From-SVN: r172295
2011-04-12 02:18:41 +00:00
GCC Administrator
fa21c1fab1 Daily bump.
From-SVN: r172292
2011-04-12 00:18:57 +00:00
Jason Merrill
80c6dcf59b re PR c++/48535 ([C++0x][SFINAE] Hard errors during list-value-initialization)
PR c++/48535
	* decl.c (cp_complete_array_type_or_error): New.
	* semantics.c (finish_compound_literal): Use it.
	* cp-tree.h: Declare it.

From-SVN: r172287
2011-04-11 18:01:04 -04:00
Jason Merrill
76186d20cc re PR c++/48535 ([C++0x][SFINAE] Hard errors during list-value-initialization)
PR c++/48535
	* semantics.c (finish_compound_literal): Handle references.

From-SVN: r172286
2011-04-11 18:00:53 -04:00
Jason Merrill
834aa42659 re PR c++/48535 ([C++0x][SFINAE] Hard errors during list-value-initialization)
PR c++/48535
	* semantics.c (finish_compound_literal): Take complain parm.
	(build_lambda_object): Adjust.
	* cp-tree.h: Adjust.
	* call.c (convert_like_real): Adjust.
	* decl.c (check_initializer): Adjust.
	* parser.c (cp_parser_postfix_expression): Adjust.
	(cp_parser_functional_cast): Adjust.
	* pt.c (tsubst_copy_and_build): Adjust.
	* typeck2.c (process_init_constructor_record): Adjust.

From-SVN: r172285
2011-04-11 18:00:42 -04:00
Jason Merrill
55b13820b4 re PR c++/48534 ([C++0x][SFINAE] Compiler break down on explicit scoped enum => bool conversion)
PR c++/48534
	* cvt.c (ocp_convert): Use build_nop to convert to underlying type
	of scoped enum.

From-SVN: r172284
2011-04-11 18:00:31 -04:00
Jason Merrill
ac4b1cc036 re PR c++/48523 ([C++0x] lambda cannot capture 'this' in class template)
PR c++/48523
	* tree.c (maybe_dummy_object): Use build_x_indirect_ref rather
	than cp_build_indirect_ref.

From-SVN: r172283
2011-04-11 18:00:20 -04:00
Jason Merrill
b24290fb5b PR c++/48457, Core 1238
PR c++/48457, Core 1238
	* call.c (reference_binding): Allow rvalue reference to bind to
	function lvalue.
	* tree.c (lvalue_kind): Functions are always lvalues.

From-SVN: r172282
2011-04-11 18:00:06 -04:00
Eric Botcazou
1e6d1da02d cfghooks.c (redirect_edge_and_branch_force): Localize variable.
* cfghooks.c (redirect_edge_and_branch_force): Localize variable.
	(force_nonfallthru): Do not alter the loop nest if no basic block
	was created.

From-SVN: r172281
2011-04-11 21:54:59 +00:00
Uros Bizjak
d8700b1cdb sse.md (VI): New mode iterator.
* config/i386/sse.md (VI): New mode iterator.
	(SSEMODEI): Remove.
	(AVX256MODEI): Ditto.
	(AVXMODEF4P): Ditto.
	(avxvecpsmode): Ditto.
	(one_cmpl<mode>2): Enable for TARGET_SSE.  Use VI mode iterator.
	(sse2_andnot<mode>3): New expander.
	(*andnot<mode>3): Merge with *sse2_andnot<mode>3 and
	*avx_andnot<mode>3.  Enable for TARGET_SSE.  Use VI mode iterator.
	(<any_logic:code><mode>3): Use VI mode iterator.
	(*<any_logic:code><mode>3): Merge with *sse2_<any_logic:code><mode>3
	and *avx_<any_logic:code><mode>3.  Use VI mode iterator.
	(*andnottf3): Handle AVX three-operand constraints.
	(*<any_logic:code>tf3): Handle AVX three-operand constraints.

From-SVN: r172280
2011-04-11 23:39:40 +02:00
Joseph Myers
b1372d5de2 config.gcc (x86_64-*-kfreebsd*-gnu): Use i386/kfreebsd-gnu.h.
2011-04-11  Joseph Myers  <joseph@codesourcery.com>
            Robert Millan  <rmh@gnu.org>

	* config.gcc (x86_64-*-kfreebsd*-gnu): Use i386/kfreebsd-gnu.h.
	* config/i386/kfreebsd-gnu.h (GNU_USER_DYNAMIC_LINKER32,
	GNU_USER_DYNAMIC_LINKER64): Define.
	(REG_NAME): Don't undefine.
	(MD_UNWIND_SUPPORT): Undefine.
	* config/i386/knetbsd-gnu.h (GNU_USER_LINK_EMULATION): Define.
	(REG_NAME): Don't undefine.
	(MD_UNWIND_SUPPORT): Undefine.
	* config/i386/kopensolaris-gnu.h (GNU_USER_LINK_EMULATION):
	Define.

Co-Authored-By: Robert Millan <rmh@gnu.org>

From-SVN: r172279
2011-04-11 22:22:36 +01:00
Joseph Myers
761c0c6e90 gnu.h (GNU_USER_LINK_EMULATION): Define.
* config/i386/gnu.h (GNU_USER_LINK_EMULATION): Define.
	(CPP_SPEC, CC1_SPEC, ENDFILE_SPEC): Remove.

From-SVN: r172278
2011-04-11 22:21:49 +01:00
Xinliang David Li
26e0228f56 sanity check ic target
From-SVN: r172276
2011-04-11 20:37:57 +00:00
Basile Starynkevitch
6075765d8c Makefile.in (PLUGIN_HEADERS): Add gimple-pretty-print.h tree-pretty-print.h & realmpfr.h.
2011-04-11  Basile Starynkevitch  <basile@starynkevitch.net>

	* Makefile.in (PLUGIN_HEADERS): Add gimple-pretty-print.h
	tree-pretty-print.h & realmpfr.h.

From-SVN: r172275
2011-04-11 19:31:50 +00:00
Vladimir Makarov
a58dfa4999 re PR middle-end/48464 (@171649: ICE in setup_pressure_classes, at ira.c:877)
2011-04-11  Vladimir Makarov  <vmakarov@redhat.com>

	PR middle-end/48464
	* ira.c (setup_pressure_classes): Fix typo in loop condition.
	(setup_allocno_and_important_classes): Ditto.

From-SVN: r172274
2011-04-11 19:23:13 +00:00
Joseph Myers
107fd1c1e9 linux-elf.h (LINUX_DYNAMIC_LINKER): Rename to GNU_USER_DYNAMIC_LINKER.
* config/alpha/linux-elf.h (LINUX_DYNAMIC_LINKER): Rename to
	GNU_USER_DYNAMIC_LINKER.
	* config/arm/linux-eabi.h (TARGET_OS_CPP_BUILTINS): Change
	LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
	* config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Change
	LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER.
	(TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to
	GNU_USER_TARGET_OS_CPP_BUILTINS.
	* config/bfin/linux.h (TARGET_OS_CPP_BUILTINS): Change
	LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
	* config/bfin/uclinux.h (TARGET_OS_CPP_BUILTINS): Change
	LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
	* config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Change
	LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER.
	(TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to
	GNU_USER_TARGET_OS_CPP_BUILTINS.
	* config/frv/linux.h (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
	GNU_USER_DYNAMIC_LINKER.
	* config/gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
	GNU_USER_TARGET_OS_CPP_BUILTINS.
	* config/i386/gnu-user.h (TARGET_OS_CPP_BUILTINS): Change
	LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
	* config/i386/gnu-user64.h (TARGET_OS_CPP_BUILTINS): Change
	LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
	* config/i386/linux.h (GNU_USER_DYNAMIC_LINKER): Remove.
	* config/i386/linux64.h (GNU_USER_DYNAMIC_LINKER32,
	GNU_USER_DYNAMIC_LINKER64): Remove.
	* config/ia64/linux.h (TARGET_OS_CPP_BUILTINS): Change
	LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
	(LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
	GNU_USER_DYNAMIC_LINKER.
	* config/kfreebsd-gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
	GNU_USER_TARGET_OS_CPP_BUILTINS.
	* config/knetbsd-gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
	GNU_USER_TARGET_OS_CPP_BUILTINS.
	* config/kopensolaris-gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename
	to GNU_USER_TARGET_OS_CPP_BUILTINS.
	* config/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
	GNU_USER_TARGET_OS_CPP_BUILTINS.
	(LINUX_DYNAMIC_LINKER): Rename to GNU_USER_DYNAMIC_LINKER.
	(LINUX_DYNAMIC_LINKER32): Rename to GNU_USER_DYNAMIC_LINKER32.
	(LINUX_DYNAMIC_LINKER64): Rename to GNU_USER_DYNAMIC_LINKER64.
	* config/lm32/uclinux-elf.h (TARGET_OS_CPP_BUILTINS): Change
	LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
	* config/m32r/linux.h (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
	GNU_USER_DYNAMIC_LINKER.
	(TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to
	GNU_USER_TARGET_OS_CPP_BUILTINS.
	* config/m68k/linux.h (TARGET_OS_CPP_BUILTINS): Change
	LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
	(LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
	GNU_USER_DYNAMIC_LINKER.
	* config/m68k/uclinux.h (TARGET_OS_CPP_BUILTINS): Change
	LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
	* config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Change
	LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
	(LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
	GNU_USER_DYNAMIC_LINKER.
	* config/mips/linux64.h (LINUX_DYNAMIC_LINKERN32): Rename to
	GNU_USER_DYNAMIC_LINKERN32.
	(LINK_SPEC): Change LINUX_DYNAMIC_LINKERN32 to
	GNU_USER_DYNAMIC_LINKERN32.  Change LINUX_DYNAMIC_LINKER64 to
	GNU_USER_DYNAMIC_LINKER64.  Change LINUX_DYNAMIC_LINKER32 to
	GNU_USER_DYNAMIC_LINKER32.
	* config/mn10300/linux.h (TARGET_OS_CPP_BUILTINS): Change
	LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
	(LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
	GNU_USER_DYNAMIC_LINKER.
	* config/moxie/uclinux.h (TARGET_OS_CPP_BUILTINS): Change
	LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
	* config/pa/pa-linux.h (TARGET_OS_CPP_BUILTINS): Change
	LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
	(LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
	GNU_USER_DYNAMIC_LINKER.
	* config/rs6000/linux64.h (LINUX_DYNAMIC_LINKER32): Rename to
	GNU_USER_DYNAMIC_LINKER32.
	(LINUX_DYNAMIC_LINKER64): Rename to GNU_USER_DYNAMIC_LINKER64.
	* config/rs6000/sysv4.h (LINUX_DYNAMIC_LINKER): Rename to
	GNU_USER_DYNAMIC_LINKER.
	* config/s390/linux.h (TARGET_OS_CPP_BUILTINS): Change
	LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
	(LINK_SPEC): Change LINUX_DYNAMIC_LINKER32 to
	GNU_USER_DYNAMIC_LINKER32.  Change LINUX_DYNAMIC_LINKER64 to
	GNU_USER_DYNAMIC_LINKER64.
	* config/sh/linux.h (TARGET_OS_CPP_BUILTINS): Change
	LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
	(SUBTARGET_LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
	GNU_USER_DYNAMIC_LINKER.
	* config/sparc/linux.h (TARGET_OS_CPP_BUILTINS): Change
	LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
	(LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
	GNU_USER_DYNAMIC_LINKER.
	* config/sparc/linux64.h (TARGET_OS_CPP_BUILTINS): Change
	LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
	(LINK_ARCH32_SPEC): Change LINUX_DYNAMIC_LINKER32 to
	GNU_USER_DYNAMIC_LINKER32.
	(LINK_ARCH64_SPEC): Change LINUX_DYNAMIC_LINKER64 to
	GNU_USER_DYNAMIC_LINKER64.
	(LINK_SPEC): Change LINUX_DYNAMIC_LINKER64 to
	GNU_USER_DYNAMIC_LINKER64.
	* config/vax/linux.h (TARGET_OS_CPP_BUILTINS): Change
	LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
	* config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Change
	LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
	(LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
	GNU_USER_DYNAMIC_LINKER.

From-SVN: r172273
2011-04-11 19:46:05 +01:00
Joseph Myers
e24609cfc0 gnu-user.h: Copy from linux.h.
* config/i386/gnu-user.h: Copy from linux.h.  Update comments.
	(LINK_EMULATION, GLIBC_DYNAMIC_LINKER): Remove.
	(SUBTARGET_EXTRA_SPECS): Use GNU_USER_LINK_EMULATION and
	GNU_USER_DYNAMIC_LINKER.
	(MD_UNWIND_SUPPORT, REG_NAME): Remove.
	* config/i386/gnu-user64.h: Copy from linux64.h.  Update comments.
	(GLIBC_DYNAMIC_LINKER32, GLIBC_DYNAMIC_LINKER64): Remove.
	(LINK_SPEC): Use GNU_USER_DYNAMIC_LINKER32 and
	GNU_USER_DYNAMIC_LINKER64.
	(MD_UNWIND_SUPPORT, REG_NAME): Remove.
	* config/i386/kfreebsd-gnu.h (LINK_EMULATION): Change to
	GNU_USER_LINK_EMULATION.
	* config/i386/linux.h (TARGET_ASM_FILE_START_FILE_DIRECTIVE,
	DEFAULT_PCC_STRUCT_RETURN, TARGET_TLS_DIRECT_SEG_REFS_DEFAULT,
	ASM_COMMENT_START, DBX_REGISTER_NUMBER, NO_PROFILE_COUNTERS,
	MCOUNT_NAME, SUBTARGET_FRAME_POINTER_REQUIRED, SIZE_TYPE,
	PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE, TARGET_OS_CPP_BUILTINS,
	CPP_SPEC, CC1_SPEC): Remove.
	(LINK_EMULATION): Change to GNU_USER_LINK_EMULATION.
	(GNU_USER_DYNAMIC_LINKER): Define.
	(ASM_SPEC, SUBTARGET_EXTRA_SPECS, LINK_SPEC, ENDFILE_SPEC,
	ASM_OUTPUT_ALIGNED_BSS, ASM_OUTPUT_MAX_SKIP_ALIGN,
	ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX, CRT_GET_RFIB_DATA,
	LIBGCC2_HAS_TF_MODE, LIBGCC2_TF_CEXT, TF_SIZE,
	TARGET_ASM_FILE_END, STACK_CHECK_MOVING_SP,
	STACK_CHECK_STATIC_BUILTIN, TARGET_THREAD_SSP_OFFSET,
	TARGET_CAN_SPLIT_STACK, TARGET_THREAD_SPLIT_STACK_OFFSET): Remove.
	* config/i386/linux64.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC,
	CC1_SPEC, DEFAULT_PCC_STRUCT_RETURN,
	TARGET_TLS_DIRECT_SEG_REFS_DEFAULT, SPEC_32, SPEC_64, ASM_SPEC,
	LINK_SPEC, ENDFILE_SPEC, MULTILIB_DEFAULTS, LIBGCC2_HAS_TF_MODE,
	LIBGCC2_TF_CEXT, TF_SIZE, TARGET_ASM_FILE_END): Remove.
	(GNU_USER_DYNAMIC_LINKER32, GNU_USER_DYNAMIC_LINKER64): Define.
	(STACK_CHECK_MOVING_SP, STACK_CHECK_STATIC_BUILTIN,
	TARGET_THREAD_SSP_OFFSET, TARGET_CAN_SPLIT_STACK,
	TARGET_THREAD_SPLIT_STACK_OFFSET): Remove.
	* config/i386/gnu.h (GLIBC_DYNAMIC_LINKER): Change to
	GNU_USER_DYNAMIC_LINKER.
	* config/kfreebsd-gnu.h (GLIBC_DYNAMIC_LINKER): Change to
	GNU_USER_DYNAMIC_LINKER.  Unconditionally undefine and redefine.
	* config/knetbsd-gnu.h (GLIBC_DYNAMIC_LINKER): Change to
	GNU_USER_DYNAMIC_LINKER.  Unconditionally undefine and redefine.
	* config/kopensolaris-gnu.h (GLIBC_DYNAMIC_LINKER): Change to
	GNU_USER_DYNAMIC_LINKER.  Unconditionally undefine and redefine.
	* config.gcc (i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu |
	i[34567]86-*-knetbsd*-gnu | i[34567]86-*-gnu* |
	i[34567]86-*-kopensolaris*-gnu, x86_64-*-linux* |
	x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu): Use the new
	headers.

From-SVN: r172271
2011-04-11 19:44:32 +01:00
Rainer Orth
8fb3e11aa5 pr47917.c: Define _ISO_C_SOURCE=19990L for alpha*-dec-osf5*.
* gcc.dg/torture/pr47917.c: Define _ISO_C_SOURCE=19990L for
	alpha*-dec-osf5*.

From-SVN: r172270
2011-04-11 18:14:23 +00:00
Paolo Carlini
061217e948 moveable.cc: Actually run it in parallel-mode for check-parallel.
2011-04-11  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/25_algorithms/inplace_merge/moveable.cc: Actually run
	it in parallel-mode for check-parallel.
	* testsuite/25_algorithms/rotate/moveable.cc: Likewise.
	* testsuite/25_algorithms/stable_partition/moveable.cc: Likewise.
	* testsuite/25_algorithms/remove/moveable.cc: Likewise.
	* testsuite/25_algorithms/sort_heap/check_compare_by_value.cc:
	Likewise.
	* testsuite/25_algorithms/unique/moveable.cc: Likewise.
	* testsuite/25_algorithms/remove_if/moveable.cc: Likewise.
	* testsuite/25_algorithms/heap/moveable.cc: Likewise.

	* testsuite/25_algorithms/next_permutation/moveable.cc: Only skip
	the tests based on std::lexicographical_compare for check-parallel.
	* testsuite/25_algorithms/prev_permutation/moveable.cc: Likewise.

From-SVN: r172269
2011-04-11 17:50:39 +00:00
Kai Tietz
b8ce4e945b re PR target/9601 (-mrtd switch/stdcall attribute raises warnings for __buitltin functions)
2011-04-11  Kai Tietz  <ktietz@redhat.com>

	PR target/9601
	PR target/11772
	* config/i386/i386-protos.h (ix86_get_callcvt): New prototype.
	* config/i386/i386.c (ix86_handle_cconv_attribute): Adjust
	comment.
	(ix86_is_msabi_thiscall): Removed.
	(ix86_is_type_thiscall): Likewise.
	(ix86_get_callcvt): New function.
	(ix86_comp_type_attributes): Simplify check.
	(ix86_function_regparm): Use ix86_get_callcvt for calling
	convention attribute checks.
	(ix86_return_pops_args): Likewise.
	(ix86_static_chain): Likewise.
	(x86_this_parameter): Likewise.
	(x86_output_mi_thunk): Likewise.
	(ix86_function_type_abi): Optimize check for types without attributes.
	* config/i386/i386.h (IX86_CALLCVT_CDECL, IX86_CALLCVT_STDCALL,
	IX86_CALLCVT_FASTCALL, IX86_CALLCVT_THISCALL, IX86_CALLCVT_REGPARM,
	IX86_CALLCVT_SSEREGPARM): New macros to represent calling convention
	by flag-values.
	(IX86_BASE_CALLCVT): Helper macro.
	* config/i386/netware.c (i386_nlm_maybe_mangle_decl_assembler_name):
	Use ix86_get_callcvt for calling convention attribute checks and avoid
	symbol-decoration for stdcall in TARGET_RTD case.
	* config/i386/winnt.c (i386_pe_maybe_mangle_decl_assembler_name):
	Likewise.
	(gen_stdcall_or_fastcall_suffix): Adjust ident and use DECL_ORIGIN
	for declaration.

From-SVN: r172268
2011-04-11 19:44:04 +02:00
Uros Bizjak
a1b01a8459 * config/i386/sse.md: Fix unwanted commit.
From-SVN: r172266
2011-04-11 18:52:23 +02:00
Uros Bizjak
798dd0ba6c sse.md (VI_128): New mode iterator.
* config/i386/sse.md (VI_128): New mode iterator.
	(VI12_128): Rename from SSEMODE12.
	(VI14_128): Rename from SSEMODE14.
	(VI124_128): New mode iterator.
	(VI24_128): Rename from SSEMODE248.
	(VI248_128): Rename from SSEMODE248.
	(SSEMODE124C8): Remove.
	(*<plusminus_insn><mode>3): Merge with *avx_<plusminus_insn><mode>3.
	(*sse2_<plusminus_insn><mode>3): Merge with
	*avx_<plusminus_insn><mode>3.
	(*mulv8hi3): Merge with *avx_mulv8hi3.
	(*<s>mulv8hi3_highpart): Merge with *avx_<s>mulv8hi3_highpart.
	(*sse2_umulv2siv2di3): Merge with *avx_umulv2siv2di3.
	(*sse2_pmaddwd): Merge with *avx_pmaddwd.
	(*sse4_1_mulv4si3): Merge with *avx_mulv4si3.
	(ashr<mode>3): Merge with *avx_ashr<mode>3.
	(lshr<mode>3): Merge with *avx_lshr<mode>3.
	(ashl<mode>3): Merge with *avx_ashl<mode>3.
	(sse2_ashlv1ti3): Merge with *avx_ashlv1ti3.
	(sse2_lshrv1ti3): Merge with *avx_lshrv1ti3.
	(*sse4_1_<smaxmin:code><mode>3): Merge with *avx_<smaxmin:code><mode>3.
	(*<smaxmin:code>v8hi3): Ditto.
	(*sse4_1_<umaxmin:code><mode>3): Merge with *avx_<umaxmin:code><mode>3.
	(*<smaxmin:code>v16qi3): Ditto.
	(*sse4_1_eqv2di3): Merge with *avx_eq<mode>3.
	(*sse2_eq<mode>3): Ditto.
	(*sse4_2_eqv2di3): Merge with *avx_gt<mode>3.
	(*sse2_gt<mode>3): Ditto.
	(vcondv2di): Split out of vcond<mode>.
	(vconduv2di): Split out of vcondu<mode>.

From-SVN: r172264
2011-04-11 18:12:53 +02:00
Richard Guenther
956011be1f gimplify.c (gimple_fold_indirect_ref): Check host_integerp before calling tree_low_cst.
2011-04-11  Richard Guenther  <rguenther@suse.de>

	* gimplify.c (gimple_fold_indirect_ref): Check host_integerp
	before calling tree_low_cst.

From-SVN: r172263
2011-04-11 15:50:57 +00:00
Tobias Burnus
155e5d5f55 re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
2011-04-11  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * simplify.c (simplify_bound_dim): Exit for
        ucobound's last dimension unless -fcoarray=single.
        * trans-array (gfc_conv_descriptor_size_1): Renamed from
        gfc_conv_descriptor_size, made static, has now from_dim and
        to_dim arguments.
        (gfc_conv_descriptor_size): Call gfc_conv_descriptor_size.
        (gfc_conv_descriptor_cosize): New function.
        * trans-array.h (gfc_conv_descriptor_cosize): New prototype.
        * trans-intrinsic.c (conv_intrinsic_cobound): Add input_location
        and handle last codim of ucobound for when -fcoarray is not "single".

From-SVN: r172262
2011-04-11 17:50:47 +02:00
Richard Guenther
e6313a7840 stor-layout.c (layout_type): Compute all array index size operations in the original type.
2011-04-11  Richard Guenther  <rguenther@suse.de>

	* stor-layout.c (layout_type): Compute all array index size operations
	in the original type.
	(initialize_sizetypes): Add comment.
	(set_sizetype): Do not set TREE_TYPE of a TREE_VEC.

	c-family/
	* c-common.c (complete_array_type): Build a range type of
	proper type.

From-SVN: r172261
2011-04-11 15:47:30 +00:00
Joseph Myers
e69d737698 * common.opt (Tbss=, Tdata=, Ttext=): New options.
From-SVN: r172259
2011-04-11 16:25:37 +01:00
Martin Jambor
9f9ebcdfc6 cgraph.c (cgraph_local_info): Call cgraph_get_node instead of cgraph_node, handle NULL return value.
2011-04-11  Martin Jambor  <mjambor@suse.cz>

gcc/
	* cgraph.c (cgraph_local_info): Call cgraph_get_node instead
	of cgraph_node,	handle NULL return value.
	(cgraph_global_info): Likewise.
	(cgraph_rtl_info): Likewise.
	* tree-inline.c (estimate_num_insns): Likewise.
	* gimplify.c (unshare_body): Likewise.
	(unvisit_body): Likewise.
	(gimplify_body): Likewise.
	* predict.c (optimize_function_for_size_p): Likewise.
	* tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Likewise.
	(call_may_clobber_ref_p_1): Likewise.
	* varasm.c (function_section_1): Likewise.
	(assemble_start_function): Likewise.

gcc/java/
	* decl.c (java_mark_decl_local): Call cgraph_get_node instead of
	cgraph_node and handle returned NULL.

From-SVN: r172258
2011-04-11 17:17:44 +02:00
Martin Jambor
581985d710 except.c (set_nothrow_function_flags): Call cgraph_get_node instead of cgraph_node.
2011-04-11  Martin Jambor  <mjambor@suse.cz>

	* except.c (set_nothrow_function_flags): Call cgraph_get_node instead
	of cgraph_node.
	* final.c (rest_of_clean_state): Likewise.
	* gimple-iterator.c (update_call_edge_frequencies): Likewise.
	* passes.c (pass_init_dump_file): Likewise.
	(execute_all_ipa_transforms): Likewise.
	(function_called_by_processed_nodes_p): Likewise.
	* predict.c (maybe_hot_frequency_p): Likewise.
	(probably_never_executed_bb_p): Likewise.
	(compute_function_frequency): Likewise.
	* tree-nested.c (check_for_nested_with_variably_modified): Likewise.
	(unnest_nesting_tree_1): Likewise.
	(lower_nested_functions): Likewise.
	* tree-optimize.c (execute_fixup_cfg): Likewise.
	(tree_rest_of_compilation): Likewise.
	* tree-profile.c (gimple_gen_ic_func_profiler): Likewise.
	* tree-sra.c (ipa_early_sra): Likewise.
	* tree-ssa-loop-ivopts.c (computation_cost): Likewise.
	* config/i386/i386.c (ix86_compute_frame_layout): Likewise.
	* ipa.c (record_cdtor_fn): Likewise.
	* ipa-inline.c (cgraph_early_inlining): Likewise.
	(compute_inline_parameters_for_current): Likewise.
	* ipa-prop.c (ipa_make_edge_direct_to_target): Likewise.
	* ipa-pure-const.c (local_pure_const): Likewise.
	* ipa-split.c (split_function): Likewise.
	(execute_split_functions): Likewise.
	* cgraphbuild.c (build_cgraph_edges): Likewise.
	(rebuild_cgraph_edges): Likewise.
	(cgraph_rebuild_references): Likewise.	
	(remove_cgraph_callee_edges): Likewise.
	* cgraphunit.c (cgraph_mark_if_needed): Likewise.
	(verify_cgraph_node): Likewise.
	(cgraph_analyze_functions): Likewise.
	(cgraph_preserve_function_body_p): Likewise.
	(save_inline_function_body): Likewise.
	(save_inline_function_body): Likewise.
	* tree-inline.c (copy_bb): Likewise.
	(optimize_inline_calls): Likewise.

From-SVN: r172257
2011-04-11 16:57:06 +02:00
Martin Jambor
57dbdc5a66 re PR tree-optimization/48195 (ICE: vector VEC(ipa_node_params_t,base) index domain error, in ipa_analyze_node at ipa-prop.c:1525 with -flto --param partial-inlining-entry-probability=101)
2011-04-11  Martin Jambor  <mjambor@suse.cz>

	PR tree-optimization/48195
	* ipa-cp.c (ipcp_driver): Call ipa_check_create_node_params and
	ipa_check_create_edge_args.
	(ipcp_generate_summary): Do not call ipa_check_create_node_params and
	ipa_check_create_edge_args.
	* ipa-inline.c (inline_generate_summary): Do not call
	ipa_check_create_node_params and ipa_check_create_edge_args.
	* ipa-prop.c (ipa_analyze_node): Call ipa_check_create_node_params and
	ipa_check_create_edge_args.

	* testsuite/gcc.dg/ipa/pr48195.c: New test.

From-SVN: r172256
2011-04-11 16:25:55 +02:00
GCC Administrator
d0bfa8b5ab Daily bump.
From-SVN: r172252
2011-04-11 00:19:05 +00:00
Mike Stump
dd5a833e6e Remove doubled up words.
From-SVN: r172247
2011-04-10 18:46:45 +00:00
Jim Meyering
4b9726d48c Avoid memory overrun in a test leading to potential double-free.
2011-04-10  Jim Meyering  <meyering@redhat.com>

	    Avoid memory overrun in a test leading to potential double-free.
	    * testsuite/test-expandargv.c (writeout_test): Fix off-by-one error:
	    i.e., do copy the trailing NUL byte.

From-SVN: r172246
2011-04-10 18:13:23 +00:00
Mike Stump
5b2d2d52fe Cleanup double words.
From-SVN: r172245
2011-04-10 17:57:59 +00:00
Jonathan Wakely
3e49fb0379 re PR libstdc++/48541 (std::function(std::_Function_base) should use std::addressof)
2011-04-10  Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR libstdc++/48541
	* include/std/functional (_Base_manager::_M_get_pointer): Use
	addressof.
	* testsuite/20_util/function/48541.cc: New.

From-SVN: r172244
2011-04-10 17:35:58 +01:00
Jonathan Wakely
07703a3785 re PR libstdc++/48465 (undefined reference to std::basic_string::_S_compare(unsigned long, unsigned long))
2011-04-10  Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR libstdc++/48465
	* configure.ac (libtool_VERSION): Bump library version to 6:16:0.
	* configure: Regenerate.
	* config/abi/pre/gnu.ver (GLIBCXX_3.4.16): Export missing symbols.
	* testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.16.

From-SVN: r172241
2011-04-10 17:20:42 +01:00
Eric Botcazou
a8002065ff * gnat.dg/return3.adb: Remove unused switch.
From-SVN: r172239
2011-04-10 10:31:14 +00:00
GCC Administrator
85c56e4f89 Daily bump.
From-SVN: r172236
2011-04-10 00:18:43 +00:00