Commit Graph

119518 Commits

Author SHA1 Message Date
GCC Administrator
c4648c1dac Daily bump.
From-SVN: r192420
2012-10-13 00:18:42 +00:00
Oleg Endo
fd90d92c8f re PR target/54602 ([SH] Register pop insn not put in rts delay slot)
PR target/54602
	* config/sh/sh.md: Correct define_delay for return insns.
	(*movsi_pop): Delete.

	PR target/54602
	* gcc.target/sh/pr54602-1.c: New.
	* gcc.target/sh/pr54602-2.c: New.
	* gcc.target/sh/pr54602-3.c: New.
	* gcc.target/sh/pr54602-4.c: New.

From-SVN: r192417
2012-10-12 23:22:48 +00:00
Oleg Endo
db292b0ecd re PR target/54680 ([SH] Unnecessary int-float-int conversion of fsca fixed point input)
PR target/54680
	* config/sh/sh.c (sh_fsca_sf2int, sh_fsca_int2sf): Fix swapped
	comments.
	* config/sh/predicates.md (fpul_operand): Add comment.
	(fpul_fsca_operand, fsca_scale_factor): New predicates.
	* config/sh/sh.md (fsca): Move below sincossf3 expander.  Convert to
	insn_and_split.  Use fpul_fsca_operand and fsca_scale_factor predicates.
	Simplify fpul operand in splitter.

	PR target/54680
	* gcc.target/sh/pr54680.c: New.

From-SVN: r192416
2012-10-12 23:19:27 +00:00
Jan Hubicka
535269f4f9 tree-ssa-threadupdate.c (def_split_header_continue_p): Do not escape the loop.
* tree-ssa-threadupdate.c (def_split_header_continue_p): Do not
	escape the loop.

From-SVN: r192414
2012-10-12 20:38:19 +00:00
Jan Hubicka
46042c015e * web.c (web_main): Do not set DF_RD_PRUNE_DEAD_DEFS flag.
From-SVN: r192413
2012-10-12 20:36:09 +00:00
Janis Johnson
4a9ad29487 pr48765.c: Skip for conflicting options, don't specify -m64.
* gcc.dg/vect/pr48765.c: Skip for conflicting options, don't
	specify -m64.

From-SVN: r192412
2012-10-12 19:45:25 +00:00
Janis Johnson
5751c836da div64-unwinding.c: Skip, don't xfail, for GNU/Linux.
* gcc.target/arm/div64-unwinding.c: Skip, don't xfail, for
	GNU/Linux.

From-SVN: r192410
2012-10-12 19:36:45 +00:00
Janis Johnson
f7fdcdc877 target-supports.exp (check_effective_target_arm_hard_vfp_ok): Return 0 if already specifying -mfloat-abi other than hard.
* lib/target-supports.exp (check_effective_target_arm_hard_vfp_ok):
	Return 0 if already specifying -mfloat-abi other than hard.

From-SVN: r192409
2012-10-12 19:33:28 +00:00
Joe Seymour
0ae4115954 pr53060.c: Prune irrelevant warning.
2012-10-12  Joe Seymour  <jseymour@codesourcery.com>

	* gcc.dg/pr53060.c: Prune irrelevant warning.

From-SVN: r192407
2012-10-12 18:40:54 +00:00
Jakub Jelinek
3a785c97fa re PR c/54381 (-Wsizeof-pointer-memaccess refers to "destination" for strncmp)
PR c/54381
	* c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
	* c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
	locs and array of 3 trees instead of just single loc and single
	sizeof_arg tree.  Handle __builtin___*_chk builtins too, and
	also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
	For *cmp* builtins that take two sources strings report warnings
	about first and second source, not about destination and source.

	* c-parser.c (struct c_tree_loc_pair): Removed.
	(c_parser_expr_list): Remove struct c_tree_loc_pair * argument,
	add location_t * and tree * arguments, fill in array of 3
	sizeof_arg trees and corresponding locs.
	(c_parser_attributes, c_parser_objc_keywordexpr): Adjust
	c_parser_expr_list callers.
	(c_parser_postfix_expression_after_primary): Likewise.  Pass
	array of 3 sizeof_arg trees and locs (corresponding to first
	3 arguments) to sizeof_pointer_memaccess_warning.

	* semantics.c (finish_call_expr): Pass array of 3 sizeof_arg
	trees and locs (corresponding to first 3 arguments) to
	sizeof_pointer_memaccess_warning.

	* c-c++-common/Wsizeof-pointer-memaccess1.c: New test.
	* c-c++-common/Wsizeof-pointer-memaccess2.c: New test.
	* gcc.dg/Wsizeof-pointer-memaccess1.c: New test.
	* gcc.dg/torture/Wsizeof-pointer-memaccess1.c: Test also stpncpy.
	Adjust expected wording of warnings for *cmp* builtins.
	* g++.dg/torture/Wsizeof-pointer-memaccess1.C: Likewise.
	* g++.dg/torture/Wsizeof-pointer-memaccess2.C: Likewise.

From-SVN: r192406
2012-10-12 20:23:03 +02:00
Diego Novillo
313465bbbd Add more C++ support in gengtype.
This patch combines the changes from
http://gcc.gnu.org/ml/gcc-patches/2012-08/msg02016.html with other
additions to support C++ inside GTY'd structures.

The main changes wrt Aaron's original patch are:

- Support for function declarations inside classes.

- Support scoping in identifiers.  This does not mean that gengtype
  supports scopes, it just knows that 'Foo::id' is a single entity.

- Explicit non-support for typedef and enum inside class/struct.
  Since gengtype does not really know about scopes, it cannot
  understand these types, but it knows enough to recognize and reject
  them.  GTY'd struct/class that need to typedef their own types
  should use GTY((user)).

- Documentation on what is and is not supported.

There is one check I needed to remove that gave me some trouble.
When a ctor is detected, we have already parsed the name of the
ctor as a type, which is then registered in the list of structures.

We go on to recognize it as a ctor *after* the type has been
registered.  We reject the field in declarator() and it is never
added to the list of fields for the class.

However, when we reach the end of the class, we find that the
type we created while parsing the ctor has line number
information in it (the line where the ctor was) and gengtype
thinks that it is a duplicate structure definition.

I took out this check for two reasons: (a) It is actually
unnecessary because if there were really duplicate definitions of
this structure, the code would not compile, and (b) all the other
alternatives required making the parser much more convoluted and
I'm trying hard not to make gengtype parser too smart.

2012-10-12  Aaron Gray <aaronngray.lists@gmail.com>
	    Diego Novillo <dnovillo@google.com>

        * gengtype-lex.l: Support for C++ single line comments.
        Support for classes.
	(CXX_KEYWORD): New.  Support C++ keywords inline, public,
	protected, private, template, operator, friend, &, ~.
	(TYPEDEF): New.  Support typedef.
        * gengtype-parser.c: updated 'token_names[]'
        (direct_declarator): Add support for parsing functions
	and ctors.

2012-10-12  Diego Novillo  <dnovillo@google.com>

	* doc/gty.texi: Document C++ limitations in gengtype.
	* gengtype-lex.l (CID): Rename from ID.
	(ID): Include scoping '::' as part of the identifier name.
	* gengtype-parse.c (token_names): Update.
	(token_value_format): Update.
	(consume_until_eos): Rename from consume_until_semi.
	Remove unused argument IMMEDIATE.  Update all callers.
	Also consider '}' as a finalizer.
	(consume_until_comma_or_eos): Rename from
	consume_until_comma_or_semi.
	Remove unused argument IMMEDIATE.  Update all callers.
	Also consider '}' as a finalizer.
	(direct_declarator): Add documentation on ctor support.
	Add argument IN_STRUCT.
	If the token following ID is a '(', consider ID a
	function and return NULL.
	If the token following '(' is not a '*', and IN_STRUCT is
	true, conclude that this is a ctor and return NULL.
	If the token is IGNORABLE_CXX_KEYWORD, return NULL.
	(inner_declarator): Add argument IN_STRUCT.
	Update all callers.
	(declarator): Add argument IN_STRUCT with default value
	false.  Update all callers.
	(type): Document argument NESTED.
	Skip over C++ inheritance specifiers.
	If a token TYPEDEF is found, emit an error.
	If an enum is found inside a class/structure, emit an
	error.
	(typedefs, structures, param_structs, variables): Initialize.
	(new_structure): Do not complain about duplicate
	structures if S has a line location set.
	* gengtype-state.c (write_state_type): Remove default
	handler.  Add handler for TYPE_NONE.
	(read_state_scalar_char_type):
	* gengtype.c: Fix spacing.
	* gengtype.h (enum gty_token): Add name.  Add token
	IGNORABLE_CXX_KEYWORD.

From-SVN: r192405
2012-10-12 11:17:17 -04:00
Edward Smith-Rowland
b09e6a7074 Forgot the CL entry for the Hoyt and arcsine distributions.
From-SVN: r192404
2012-10-12 15:16:29 +00:00
Edward Smith-Rowland
500602220a dd the Hoyt and the arcsine distributions as extensions.
From-SVN: r192403
2012-10-12 15:15:21 +00:00
Paolo Carlini
e74a506f4e re PR c++/24449 (Unable to declare friend main() from class template)
/cp
2012-10-12  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/24449
	* decl.c (grokfndecl): When checking for ::main declarations
	use PROCESSING_REAL_TEMPLATE_DECL_P().

/testsuite
2012-10-12  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/24449
	* g++.dg/parse/friend-main.C: New.

From-SVN: r192402
2012-10-12 14:38:11 +00:00
Marc Glisse
5e54f81df1 re PR c++/53055 (ICE in cp_build_indirect_ref, at cp/typeck.c:2836)
2012-10-12  Marc Glisse  <marc.glisse@inria.fr>

	PR c++/53055

gcc/c-family/
	* c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.

gcc/cp/
	* call.c (build_new_op_1): Pass RO_ARROW_STAR to cp_build_indirect_ref.
	* typeck.c (cp_build_indirect_ref): Handle RO_ARROW_STAR.

gcc/testsuite/
	* g++.dg/pr53055.C: New testcase.

From-SVN: r192401
2012-10-12 14:14:37 +00:00
Chung-Lin Tang
7e4dd63d9d arm.md (get_thread_pointersi): Moved to place with other TLS related patterns.
2012-10-12  Chung-Lin Tang  <cltang@codesourcery.com>

	* config/arm/arm.md (get_thread_pointersi): Moved to place with
	other TLS related patterns.

From-SVN: r192399
2012-10-12 12:47:53 +00:00
Richard Biener
0889c5c3fa tree-streamer-out.c (pack_ts_target_option): Rename from ...
2012-10-12  Richard Biener  <rguenther@suse.de>

	* tree-streamer-out.c (pack_ts_target_option): Rename from ...
	(write_ts_target_option): ... this.
	(pack_ts_optimization): Rename from ...
	(write_ts_optimization): ... this.
	(streamer_pack_tree_bitfields): Pack them in the bitfield section ...
	(streamer_write_tree_body): ... not here.
	* tree-streamer-in.c (unpack_ts_target_option): Rename from ...
	(lto_input_ts_target_option): ... this.
	(unpack_ts_optimization): Rename from ...
	(lto_input_ts_optimization): ... this.
	(unpack_value_fields): Unpack them from the bitfield section ...
	(streamer_read_tree_body): ... not from here.

From-SVN: r192398
2012-10-12 12:14:48 +00:00
Richard Biener
aec06f6fa8 re PR lto/54898 (ICE in uniquify_nodes, at lto/lto.c:1898)
2012-10-12  Richard Biener  <rguenther@suse.de>

	PR lto/54898
	* lto.c (gimple_types_compatible_p_1): Also compare
	TYPE_MAIN_VARIANT.
	(iterative_hash_gimple_type): Also hash TYPE_MAIN_VARIANT.

From-SVN: r192397
2012-10-12 12:14:03 +00:00
Uros Bizjak
87218838b8 alpha.md (vecmodesuffix): New mode attribute.
* config/alpha/alpha.md (vecmodesuffix): New mode attribute.
	(modesuffix): Handle V8QI and V4HI modes.
	(any_maxmin): New code iterator.
	(maxmin): New code attribute.
	(<code><mode>3): Macroize insn from {smax,smin,umax,umin}{qi,hi}3
	using any_maxmin code iterator and I12MODE mode iterator.
	(<code><mode>3): Macroize insn from {smax,smin,umax,umin}{v8qi,v4hi}3
	using any_maxmin code iterator and VEC12 mode iterator.

From-SVN: r192396
2012-10-12 13:32:02 +02:00
Kirill Yukhin
3b06f98418 Revert r192297.
From-SVN: r192394
2012-10-12 10:57:06 +00:00
Marc Glisse
e6ed43b0bc optabs.c (vector_compare_rtx): Change prototype.
2012-10-12  Marc Glisse  <marc.glisse@inria.fr>

	* optabs.c (vector_compare_rtx): Change prototype.
	(expand_vec_cond_expr): Handle VEC_COND_EXPR whose first operand
	is not a comparison.
	* gimplify.c (gimplify_expr): Handle VEC_COND_EXPR.

From-SVN: r192393
2012-10-12 09:20:00 +00:00
Paolo Carlini
bf90c4cd8e re PR c++/52744 (bad handling of member (function) pointers in template parameters)
2012-10-12  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/52744
	* g++.dg/cpp0x/pr52744.C: New.

From-SVN: r192392
2012-10-12 08:30:00 +00:00
Janus Weil
f2f8171fb1 re PR fortran/40453 ([F95] Enhanced (recursive) argument checking)
2012-10-12  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/40453
	* interface.c (check_dummy_characteristics): Recursively check dummy
	procedures.

2012-10-12  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/40453
	* gfortran.dg/dummy_procedure_9.f90: New.

From-SVN: r192391
2012-10-12 10:16:17 +02:00
Richard Biener
60b95d28c0 re PR tree-optimization/54894 (internal compiler error: in vect_get_vec_def_for_operand, at tree-vect-stmts.c:1286)
2012-10-12  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/54894
	* tree-vect-stmts.c (get_vectype_for_scalar_type_and_size):
	Handle over-aligned scalar types properly.

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

From-SVN: r192390
2012-10-12 08:00:29 +00:00
Oleg Endo
0b6222533e re PR target/54760 ([SH] Add __builtin_thread_pointer, __builtin_set_thread_pointer)
PR target/54760
	* config/sh/sh.c (bdesc): Remove thread pointer built-ins.
	* config/sh/sh.md (get_thread_pointer, set_thread_pointer): Append mode
	name 'si'.

From-SVN: r192388
2012-10-12 00:45:36 +00:00
Oleg Endo
b4eca9c8df re PR target/51244 ([SH] Inefficient conditional branch and code around T bit)
PR target/51244
	* config/sh/sh.md (negsi_cond, negdi_cond, stack_protect_test): Remove
	get_t_reg_rtx when invoking gen_branch_true or gen_branch_false.
	(*zero_extend<mode>si2_compact): Convert to insn_and_split.  Convert
	zero extensions of T bit stores to reg moves in splitter.  Remove
	obsolete unnamed peephole2 that caught zero extensions after negc T bit
	stores.
	(*branch_true_eq, *branch_false_ne): Delete.
	(branch_true, branch_false): Convert insn to expander.  Move actual
	insn logic to...
	(*cbranch_t): ...this new insn_and_split.  Try to find preceding
	redundant T bit stores and tests and combine them with the conditional
	branch if possible in the splitter.
	(movrt_xor, *movt_movrt): New insn_and_split.
	* config/sh/predicates.md (cbranch_treg_value): New predicate.
	* config/sh/sh-protos.h (sh_eval_treg_value): Forward declare...
	* config/sh/sh.c (sh_eval_treg_value): ...this new function.
	(expand_cbranchsi4, expand_cbranchdi4): Remove get_t_reg_rtx
	when invoking gen_branch_true or gen_branch_false.

	PR target/51244
	* gcc.target/sh/pr51244-13.c: New.
	* gcc.target/sh/pr51244-14.c: New.
	* gcc.target/sh/pr51244-15.c: New.
	* gcc.target/sh/pr51244-16.c: New.

From-SVN: r192387
2012-10-12 00:41:23 +00:00
GCC Administrator
76a2a3f738 Daily bump.
From-SVN: r192386
2012-10-12 00:19:24 +00:00
Paolo Carlini
72727cba13 re PR c++/51878 (ICE or OOM with decltype + variadic templates + "indirect" function call)
2012-10-11  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51878
	* g++.dg/cpp0x/decltype45.C: New.

From-SVN: r192381
2012-10-11 23:37:48 +00:00
Paolo Carlini
a13ab2bcf7 hashtable_policy.h: Revert libstdc++/53067 quick hacks thanks to the resolution of c++/51213.
2012-10-12  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/hashtable_policy.h: Revert libstdc++/53067 quick
	hacks thanks to the resolution of c++/51213.

From-SVN: r192380
2012-10-11 22:18:27 +00:00
Uros Bizjak
bd37e09f85 alpha.md (IMODE): New mode iterator.
* config/alpha/alpha.md (IMODE): New mode iterator.
	(I124MODE): Ditto.
	(I248MODE): Ditto.
	(modesuffix): Handle QI and HI modes.
	(zero_extendqi<mode>2): Macroize insn from zero_extendqi{hi,si,di}2
	using I248MODE mode iterator.
	(zero_extendhi<mode>2): Macroize insn from zero_extendhi{si,di}2
	using I48MODE mode iterator.
	(andnot<mode>3): Macroize insn from andnot{si,di}3 using
	I48MODE mode iterator.
	(ins<modesuffix>l_const): Macroize insn from ins{b,w,l}l_const
	using I248MODE mode iterator.
	(ins<modesuffix>l): Macroize insn from ins{b,w,l}l
	using I248MODE mode iterator.
	(*mov<mode>cc_internal): Macroize insn from
	*mov{qi,hi,si,di}cc_internal using IMODE mode iterator.
	(*mov<mode>cc_lbc): Macroize insn from
	*mov{qi,hi,si,di}cc_lbc using IMODE mode iterator.
	(*mov<mode>cc_lbs): Macroize insn from
	*mov{qi,hi,si,di}cc_lbs using IMODE mode iterator.
	(mov<mode>cc): Macroize insn from mov{si,di}cc_lbs
	using I48MODE mode iterator.

From-SVN: r192379
2012-10-11 22:44:30 +02:00
Steven Bosscher
e6a7da82a9 ira-build.c (ira_loop_tree_body_rev_postorder): New function.
* ira-build.c (ira_loop_tree_body_rev_postorder): New function.
	(ira_traverse_loop_tree): Traverse a loop's basic blocks in
	reverse post-order of the reversed control-flow direction.
	* ira-conflicts.c (ira_build_conflicts): Pass add_copies as
	the pre-order function to ira_traverse_loop_tree to preserve
	the existing semantics.

	* ira-lives.c (remove_some_program_points_and_update_live_ranges):
	Squeeze out live range chain elements if their program points are
	connected.

From-SVN: r192378
2012-10-11 18:54:47 +00:00
Jakub Jelinek
d2a934a5a5 * tree.def (REDUC_PLUS_EXPR): Fix up comment.
From-SVN: r192377
2012-10-11 20:40:06 +02:00
Jakub Jelinek
db9310ef6c fold-const.c (fold_unary_loc): Handle REDUC_MIN_EXPR, REDUC_MAX_EXPR and REDUC_PLUS_EXPR.
* fold-const.c (fold_unary_loc): Handle REDUC_MIN_EXPR,
	REDUC_MAX_EXPR and REDUC_PLUS_EXPR.

From-SVN: r192376
2012-10-11 20:37:23 +02:00
Janus Weil
e87924ab48 re PR fortran/54784 ([OOP] wrong code in polymorphic allocation with SOURCE)
2012-10-11  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/54784
	* trans-stmt.c (gfc_trans_allocate): Correctly determine the reference
	to the _data component for polymorphic allocation with SOURCE.

2012-10-11  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/54784
	* gfortran.dg/class_allocate_13.f90: New.

From-SVN: r192374
2012-10-11 19:52:36 +02:00
James Lemke
a1dc74f2bf As suggested here:
http://gcc.gnu.org/ml/gcc-patches/2012-10/msg00283.html

The following are committed as obvious / trivial:
	* config/rs6000/predicates.md (zero_fp_constant): Fix comment.
	* config/rs6000/rs6000.md (return_pred): Fix null return.
	* config/rs6000/rs6000.c (rs6000_emit_set_const): Fix indentation.
	(print_operand): Make FALLTHRU obvious.
	(output_cbranch): Correct comment.

From-SVN: r192373
2012-10-11 17:39:26 +00:00
Ian Lance Taylor
5551b12c31 configure.ac: Do not use dl_iterate_phdr on Solaris 10.
* configure.ac: Do not use dl_iterate_phdr on Solaris 10.
	* configure: Rebuild.

From-SVN: r192371
2012-10-11 16:43:47 +00:00
Uros Bizjak
cf1e4683aa alpha.md (DWI): New mode attribute.
* config/alpha/alpha.md (DWI): New mode attribute.
	(*sadd<modesuffix>): Macroize insn from *saddl and *saddq using
	I48MODE mode iterator.
	(addv<mode>3): Macroize insn from addvsi3 and addvdi3 using
	I48MODE mode iterator.
	(neg<mode>2): Macroize insn from negsi2 and negdi2 using
	I48MODE mode iterator.
	(negv<mode>2): Macroize insn from negvsi2 and negvdi2 using
	I48MODE mode iterator.
	(sub<mode>3): Macroize insn from subsi3 and subdi3 using
	I48MODE mode iterator.
	(*ssub<modesuffix>): Macroize insn from *ssubl and *ssubq using
	I48MODE mode iterator.
	(subv<mode>3): Macroize insn from subvsi3 and subvdi3 using
	I48MODE mode iterator.
	(mul<mode>3): Macroize insn from mulsi3 and muldi3 using
	I48MODE mode iterator.
	(mulv<mode>3): Macroize insn from mulvsi3 and mulvdi3 using
	I48MODE mode iterator.
	(*iornot<mode>3): Macroize insn from *iornotsi3 and *iornotdi3 using
	I48MODE mode iterator.
	(*xornot<mode>3): Macroize insn from *xornotsi3 and *xornotdi3 using
	I48MODE mode iterator.

From-SVN: r192370
2012-10-11 17:44:54 +02:00
Jason Merrill
21a092a900 cp-tree.h (DECL_THUNKS): NULL_TREE for non-virtual functions.
* cp-tree.h (DECL_THUNKS): NULL_TREE for non-virtual functions.
	(SET_DECL_THUNKS): New.
	* decl.c (duplicate_decls): Adjust.
	* method.c (make_thunk): Adjust.

From-SVN: r192368
2012-10-11 11:13:36 -04:00
Jason Merrill
bc569aa142 pragma-override1.C: Fix target markup.
* g++.dg/ext/visibility/pragma-override1.C: Fix target markup.
	* g++.dg/ext/visibility/pragma-override2.C: Fix target markup.

From-SVN: r192367
2012-10-11 11:13:28 -04:00
Jason Merrill
e4cc27e5fb decl.c (grokdeclarator): Set DECL_GNU_TLS_P for static data members, too.
* decl.c (grokdeclarator): Set DECL_GNU_TLS_P for static data
	members, too.

From-SVN: r192366
2012-10-11 11:13:20 -04:00
Jason Merrill
e8548a47e1 configure.ac (gcc_cv_as_aix_ref): Fix typo.
* configure.ac (gcc_cv_as_aix_ref): Fix typo.
        * configure: Regenerate.

From-SVN: r192365
2012-10-11 11:13:11 -04:00
Chung-Lin Tang
f959607b40 builtins.c (expand_builtin_thread_pointer): New.
2012-10-11  Chung-Lin Tang  <cltang@codesourcery.com>

	* builtins.c (expand_builtin_thread_pointer): New.
	(expand_builtin_set_thread_pointer): New.
	(expand_builtin): Add BUILT_IN_THREAD_POINTER,
	BUILT_IN_SET_THREAD_POINTER expand cases.
	* builtins.def (BUILT_IN_THREAD_POINTER):
	New __builtin_thread_pointer builtin.
	(BUILT_IN_SET_THREAD_POINTER):
	New __builtin_set_thread_pointer builtin.
	* optabs.def (get_thread_pointer,set_thread_pointer):
	New standard names.
	* doc/md.texi (Standard Names): Document get_thread_pointer and
	set_thread_pointer patterns.
	* config/alpha/alpha.md (get_thread_pointerdi): Rename from load_tp.
	(set_thread_pointerdi): Rename from set_tp.
	* config/alpha/alpha.c (alpha_legitimize_address_1): Change
	gen_load_tp calls to gen_get_thread_pointerdi.
	(alpha_builtin): Remove ALPHA_BUILTIN_THREAD_POINTER,
	ALPHA_BUILTIN_SET_THREAD_POINTER.
	(code_for_builtin): Remove CODE_FOR_load_tp, CODE_FOR_set_tp.
	(alpha_init_builtins): Remove __builtin_thread_pointer,
	__builtin_set_thread_pointer machine-specific builtins.
	(alpha_expand_builtin_thread_pointer): Add hook function for
	TARGET_EXPAND_BUILTIN_THREAD_POINTER.
	(alpha_expand_builtin_set_thread_pointer): Add hook function for
	TARGET_EXPAND_BUILTIN_SET_THREAD_POINTER.
	(alpha_fold_builtin): Remove ALPHA_BUILTIN_THREAD_POINTER,
	ALPHA_BUILTIN_SET_THREAD_POINTER cases.
	* config/arm/arm.md (get_thread_pointersi): New pattern.
	* config/arm/arm-protos.h (arm_load_tp): Add extern declaration.
	* config/arm/arm.c (arm_load_tp): Remove static.
	(arm_builtins): Remove ARM_BUILTIN_THREAD_POINTER.
	(arm_init_tls_builtins): Remove function.
	(arm_init_builtins): Remove call to arm_init_tls_builtins().
	(arm_expand_builtin): Remove ARM_BUILTIN_THREAD_POINTER case.
	* config/mips/mips.md (get_thread_pointer<mode>): New pattern.
	* config/mips/mips-protos.h (mips_expand_thread_pointer):
	Add extern declaration.
	* config/mips/mips.c (mips_expand_thread_pointer):
	Renamed from mips_get_tp.
	(mips_get_tp): New stub calling mips_expand_thread_pointer.
	* config/s390/s390.c (s390_builtin,code_for_builtin_64,
	code_for_builtin_31,s390_init_builtins,s390_expand_builtin): Remove.
	* config/s390/s390.md (get_tp_64,get_tp_31,set_tp_64,set_tp_31):
	Remove.
	(get_thread_pointer<mode>,set_thread_pointer<mode>):
	New, adapted from removed patterns.
	* config/xtensa/xtensa.md (get_thread_pointersi):
	Renamed from load_tp.
	(set_thread_pointersi): Renamed from set_tp.
	* config/xtensa/xtensa.c (xtensa_legitimize_tls_address):
	Change gen_load_tp calls to gen_get_thread_pointersi.
	(xtensa_builtin): Remove XTENSA_BUILTIN_THREAD_POINTER and
	XTENSA_BUILTIN_SET_THREAD_POINTER.
	(xtensa_init_builtins): Remove __builtin_thread_pointer,
	__builtin_set_thread_pointer machine-specific builtins.
	(xtensa_fold_builtin): Remove XTENSA_BUILTIN_THREAD_POINTER,
	XTENSA_BUILTIN_SET_THREAD_POINTER cases.
	(xtensa_expand_builtin): Remove XTENSA_BUILTIN_THREAD_POINTER,
	XTENSA_BUILTIN_SET_THREAD_POINTER cases.

From-SVN: r192364
2012-10-11 15:05:44 +00:00
Marc Glisse
0fdce8752b extend.texi (Vector Extensions): C++ improvements.
2012-10-11  Marc Glisse  <marc.glisse@inria.fr>

	* doc/extend.texi (Vector Extensions): C++ improvements.
	* doc/generic.texi (LSHIFT_EXPR, RSHIFT_EXPR): Mixed vector-scalar.
	(LT_EXPR, LE_EXPR, GT_EXPR, GE_EXPR, EQ_EXPR, NE_EXPR): Specify
	the vector case.
	(VEC_COND_EXPR): Document it.

From-SVN: r192363
2012-10-11 14:59:18 +00:00
Paolo Carlini
2ef3fcf7cb re PR c++/36107 (weak constructor produces invalid asm)
2012-10-11  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/36107
	* g++.dg/ext/weak5.C: New.

From-SVN: r192361
2012-10-11 14:37:44 +00:00
Marc Glisse
5172408967 re PR testsuite/54868 (gcc.dg/tree-ssa/forwprop-22.c FAILs)
2012-10-11  Marc Glisse  <marc.glisse@inria.fr>

	PR testsuite/54868
	* gcc.dg/tree-ssa/forwprop-22.c: Move ...
	* gcc.dg/vect/nodump-forwprop-22.c: ... here. Adapt options.

From-SVN: r192359
2012-10-11 13:28:27 +00:00
Paolo Carlini
69b5686085 45713.cc: Tweak.
2012-10-11  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/23_containers/bitset/45713.cc: Tweak.

From-SVN: r192358
2012-10-11 13:24:11 +00:00
Paolo Carlini
56355dc970 45713.cc: Tweak.
2012-10-11  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/23_containers/bitset/45713.cc: Tweak.

From-SVN: r192357
2012-10-11 13:23:33 +00:00
Daniel Krugler
970293de57 sfinae_friendly_1.cc: Update / extend.
2012-10-11  Daniel Krugler  <daniel.kruegler@googlemail.com>

	* testsuite/20_util/common_type/requirements/sfinae_friendly_1.cc:
	Update / extend.
	* testsuite/20_util/common_type/requirements/sfinae_friendly_2.cc:
	Likewise.
	* testsuite/20_util/duration/requirements/sfinae_friendly_1.cc:
	Likewise.

From-SVN: r192356
2012-10-11 11:45:35 +00:00
Uros Bizjak
945a9c1f6d sfp-exceptions.c (__sfp_handle_exceptions): Emit SSE instructions for 64bit targets only.
* config/i386/sfp-exceptions.c (__sfp_handle_exceptions): Emit SSE
	instructions for 64bit targets only.

From-SVN: r192355
2012-10-11 13:44:51 +02:00
Hans-Peter Nilsson
1e2a71c8bf re PR testsuite/54897 (23_containers/bitset/45713.cc (test for excess errors))
PR testsuite/54897
	* testsuite/23_containers/bitset/45713.cc: Skip for avr*-*-*
	cris*-*-* h8300*-*-* mcore*-*-* moxie*-*-*.

From-SVN: r192354
2012-10-11 11:36:39 +00:00