Commit Graph

107974 Commits

Author SHA1 Message Date
Paul Thomas 99ee025114 re PR fortran/48360 (ICE on array assignment statement with allocatable LHS)
2011-04-12  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/48360
	PR fortran/48456
	* trans-array.c (get_std_lbound): For derived type variables
	return array valued component lbound.

2011-04-12  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/48360
	PR fortran/48456
	* gfortran.dg/realloc_on_assign_6.f03: New test.

From-SVN: r172339
2011-04-12 19:14:49 +00:00
Nicola Pero eb345401a1 In gcc/: 2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/:
2011-04-12  Nicola Pero  <nicola.pero@meta-innovation.com>

	* c-parser.c (c_parser_initelt): Updated call to
	objc_build_message_expr.
	(c_parser_postfix_expression): Likewise.

In gcc/c-family/:
2011-04-12  Nicola Pero  <nicola.pero@meta-innovation.com>

	* c-objc.h (objc_build_message_expr): Updated prototype.
	* stub-objc.c (objc_build_message_expr): Likewise.
	
In gcc/objc/:
2011-04-12  Nicola Pero  <nicola.pero@meta-innovation.com>

	* objc-act.c (objc_build_message_expr): Accept two arguments
	instead of one so that callers can simply pass the arguments
	without having to create a temporary chain to hold them.

In gcc/cp/:
2011-04-12  Nicola Pero  <nicola.pero@meta-innovation.com>

	* parser.c (cp_parser_objc_message_expression): Updated call
	to objc_build_message_expr.

From-SVN: r172338
2011-04-12 19:02:14 +00:00
Nicola Pero dc2dc51254 In gcc/objc/: 2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/objc/:
2011-04-12  Nicola Pero  <nicola.pero@meta-innovation.com>

	* objc-act.c (comp_proto_with_proto): Do not create and use
	inefficient temporary argument lists.  Compare the arguments
	directly.  (match_proto_with_proto): Removed; incorporated into
	comp_proto_with_proto ().

From-SVN: r172337
2011-04-12 18:53:08 +00:00
Kai Tietz a6c467624a ChangeLog gcc/
2011-04-12  Kai Tietz  <ktietz@redhat.com>

	* config/i386/mingw32.h (TARGET_SUBTARGET_DEFAULT): Add
	MASK_MS_BITFIELD_LAYOUT bit.

ChangeLog gcc/testsuite

2011-04-12  Kai Tietz  <ktietz@redhat.com>

	* g++.dg/ext/bitfield2.C: Add for i?86/x86_64-*-mingw*
	targets the additional -mno-ms-bitfields and
	-Wno-packed-bitfield-compat options.
	* g++.dg/ext/bitfield3.C: Likewise.
	* g++.dg/ext/bitfield4.C: Likewise.
	* g++.dg/ext/bitfield5.C: Likewise.
	* gcc.dg/bitfld-15.c: Likewise.
	* gcc.dg/bitfld-16.c: Likewise.
	* gcc.dg/bitfld-17.c: Likewise.
	* gcc.dg/bitfld-18.c: Likewise.

From-SVN: r172336
2011-04-12 20:52:41 +02:00
Ian Lance Taylor d94faf0d7d Call cgraph_get_node rather than cgraph_node.
This is for a recent change to the gcc middle-end.

From-SVN: r172335
2011-04-12 18:51:12 +00:00
Nicola Pero 0e66e494cf Fixed my email address in a ChangeLog entry of a few months ago
From-SVN: r172334
2011-04-12 18:35:47 +00:00
Janne Blomqvist 51603205f2 Remove _GNU_SOURCE from AM_CPPFLAGS
From-SVN: r172330
2011-04-12 21:10:28 +03:00
Jakub Jelinek b4ccfed9a0 combine.c (update_cfg_for_uncondjump): Instead of testing at_end assert it is always true.
* combine.c (update_cfg_for_uncondjump): Instead of testing at_end
	assert it is always true.
	(try_combine): Don't call update_cfg_for_uncondjump for noop non-jump
	moves.

From-SVN: r172329
2011-04-12 19:49:11 +02:00
Nicola Pero cf3caeaf0a In gcc/objc/: 2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/objc/:
2011-04-12  Nicola Pero  <nicola.pero@meta-innovation.com>

	* objc-act.c (printable_ivar_name): New.
	(add_instance_variable): Call printable_ivar_name() when an error
	message needs to be printed.  Do not prepare the instance variable
	for printing unless there is an actual error.

From-SVN: r172328
2011-04-12 17:37:39 +00:00
Nicola Pero 0d8a252826 In gcc/: 2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/:
2011-04-12  Nicola Pero  <nicola.pero@meta-innovation.com>

	* c-parser.c (c_lex_one_token): Rewritten conditional used when
	compiling Objective-C to be more efficient.

In gcc/objc/:
2011-04-12  Nicola Pero  <nicola.pero@meta-innovation.com>

	* objc-act.c (objc_is_class_name, objc_is_id): For efficiency,
	avoid calling identifier_global_value() multiple times.

From-SVN: r172327
2011-04-12 16:45:40 +00:00
Axel Freyn 06bd234a03 opts-common.c (decode_cmdline_options_to_array): Remove variable argv_copied.
2011-04-12  Axel Freyn  <axel-freyn@gmx.de>

	* opts-common.c (decode_cmdline_options_to_array): Remove variable
	argv_copied.

From-SVN: r172325
2011-04-12 17:29:23 +01:00
Yufeng Zhang fbfbde7351 ChangeLog: Add the mising change log for my previous commit.
2011-04-12  Yufeng Zhang  <yufeng.zhang@arm.com>

	* ChangeLog: Add the mising change log for my previous commit.

From-SVN: r172324
2011-04-12 16:19:10 +00:00
Yufeng Zhang cb4336c0b1 MAINTAINERS (Write After Approval): Add myself.
2011-04-12  Yufeng Zhang  <yufeng.zhang@arm.com>

	* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r172323
2011-04-12 16:03:39 +00:00
Richard Sandiford 28569ac3d4 * recog.h, genoutput.c, optabs.c: Revert last patch.
From-SVN: r172321
2011-04-12 14:56:57 +00:00
Ramana Radhakrishnan ae59e00d17 re PR target/48090 (gcc 4.5.2 miscompilation when building on arm)
Fix PR target/48090

2011-04-12  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>

       PR target/48090
       * config/arm/arm.md (*arm_negdi2): Fix early clobber constraints.

From-SVN: r172318
2011-04-12 13:42:48 +00:00
Richard Sandiford cff1b7e0d2 recog.h (insn_operand_data): Add an "allows_mem" field.
gcc/
	* recog.h (insn_operand_data): Add an "allows_mem" field.
	* genoutput.c (output_operand_data): Initialize it.
	* optabs.c (maybe_legitimize_operand_same_code): New function.
	(maybe_legitimize_operand): Use it when matching the original
	op->value.

From-SVN: r172316
2011-04-12 12:51:28 +00:00
Richard Sandiford 77059241d8 genpreds.c (process_define_predicate): Move most processing to gensupport.c.
gcc/
	* genpreds.c (process_define_predicate): Move most processing
	to gensupport.c.  Continue to validate the expression.
	* genrecog.c (did_you_mean_codes, compute_predicate_codes)
	(process_define_predicate): Move processing to gensupport.c.
	(main): Remove DEFINE_PREDICATE and DEFINE_SPECIAL_PREDICATE cases.
	* gensupport.c (did_you_mean_codes): Moved from genrecog.c.
	(compute_predicate_codes): Moved from genrecog.c.  Add lineno
	argument.
	(valid_predicate_name_p): New function, split out from old
	genpreds.c:process_define_predicate.
	(process_define_predicate): New function, combining code from
	old genpreds.c and genrecog.c functions.
	(process_rtx): Call it for DEFINE_PREDICATE and
	DEFINE_SPECIAL_PREDICATE.

From-SVN: r172315
2011-04-12 12:51:10 +00:00
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