Fix std::deque move construction with non-equal allocators.

	* include/bits/stl_deque.h (_Deque_base::_Deque_base(_Deque_base&&)):
	Dispatch according to whether allocators are always equal.
	(_Deque_base::_M_move_impl()): Implement move-from state.
	* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Fix
	dg-error line number.
	* testsuite/23_containers/deque/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/deque/requirements/dr438/
	constructor_2_neg.cc: Likewise.
	* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
	Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217322 138bc75d-0d04-0410-961f-82ee72b054a4
	* ipa-icf-gimple.c (func_checker::compare_bb): Fix comment typo.
	(func_checker::compare_gimple_call): Compare gimple_call_fn,
	gimple_call_chain, gimple_call_fntype and call flags.
testsuite/
	* gcc.dg/ubsan/ipa-icf-1.c: New test.
	* gcc.dg/ipa/ipa-icf-31.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217323 138bc75d-0d04-0410-961f-82ee72b054a4
	* gcc.dg/tm/memopt-15.c: Add -msse2 to dg-options.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217324 138bc75d-0d04-0410-961f-82ee72b054a4
2014-11-11  Uros Bizjak  <ubizjak@gmail.com>

	Revert:
	2014-10-31  Uros Bizjak  <ubizjak@gmail.com>

	PR target/63620
	* config/i386/i386-protos.h (ix86_use_pseudo_pic_reg): Declare.
	* config/i386/i386.c (ix86_use_pseudo_pic_reg): Export.
	* config/i386/i386.md (*pushtf): Allow only CONST_DOUBLEs that won't
	be reloaded through memory.
	(*pushxf): Ditto.
	(*pushdf): Ditto.

testsuite/ChangeLog:

2014-11-11  Uros Bizjak  <ubizjak@gmail.com>
	    Ilya Enkovich  <ilya.enkovich@intel.com>

	PR target/63620
	* gcc.target/i386/pr63620.c: New test.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217325 138bc75d-0d04-0410-961f-82ee72b054a4
	* config/i386/i386.c (ix86_decompose_address): Replace open-coded
	swap with std::swap to swap values.
	(ix86_fixup_binary_operands): Ditto.
	(ix86_binary_operator_ok): Ditto.
	(ix86_prepare_fp_compare_args): Ditto.
	(ix86_expand_branch): Ditto.
	(ix86_expand_carry_flag_compare): Ditto.
	(ix86_expand_int_movcc): Ditto.
	(ix86_prepare_sse_fp_compare_args): Ditto.
	(ix86_expand_sse_fp_minmax): Ditto.
	(ix86_expand_int_vcond): Ditto.
	(ix86_split_long_move): Ditto.
	(ix86_expand_sse_comi): Ditto.
	(ix86_expand_sse_compare_and_jump): Ditto.
	(ix86_expand_sse_compare_mask): Ditto.
	* config/i386/i386.md (*add<mode>_1): Ditto.
	(addsi_1_zext): Ditto.
	(*addhi_1): Ditto.
	(*addqi_1): Ditto.
	(*add<mode>_2): Ditto.
	(*addsi_2_zext): Ditto.
	(*add<mode>_3): Ditto.
	(*addsi_3_zext): Ditto.
	(*add<mode>_5): Ditto.
	(absneg splitter): Ditto.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217326 138bc75d-0d04-0410-961f-82ee72b054a4
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217330 138bc75d-0d04-0410-961f-82ee72b054a4
	* sched-deps.c (sched_analyze_1): Check pending list if it is not
	less than MAX_PENDING_LIST_LENGTH.
	(sched_analyze_2, sched_analyze_insn, deps_analyze_insn): Ditto.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217331 138bc75d-0d04-0410-961f-82ee72b054a4
c++ify sreal

gcc/ChangeLog:

2014-11-10  Trevor Saunders  <tsaunders@mozilla.com>

	* ipa-inline.c (edge_badness): Adjust.
	(inline_small_functions): Likewise.
	* predict.c (propagate_freq): Likewise.
	(estimate_bb_frequencies): Likewise.
	* sreal.c (sreal::dump): Rename from dump_sreal.
	(debug): Adjust.
	(copy): Remove function.
	(sreal::shift_right): Rename from sreal_sift_right.
	(sreal::normalize): Rename from normalize.
	(sreal_init): Remove function.
	(sreal::to_int): Rename from sreal_to_int.
	(sreal_compare): Remove function.
	(sreal::operator+): Rename from sreal_add.
	(sreal::operator-): Rename from sreal_sub.
	(sreal::operator*): Rename from sreal_mul.
	(sreal::operator/): Rename from sreal_div.
	* sreal.h (class sreal): Adjust.
	(inline sreal &operator+=): New operator.
	(inline sreal &operator-=): Likewise.
	(inline sreal &operator/=): Likewise.
	(inline sreal &operator*=): Likewise.
	(inline bool operator!=): Likewise.
	(inline bool operator>): Likewise.
	(inline bool operator<=): Likewise.
	(inline bool operator>=): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217332 138bc75d-0d04-0410-961f-82ee72b054a4
Fix error location for cilk error message

Output the correct location for an existing cilk error message.

gcc/c-family/:

2014-11-10  Andi Kleen  <ak@linux.intel.com>

	* cilk.c (recognize_spawn): Use expression location
	for error message.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217333 138bc75d-0d04-0410-961f-82ee72b054a4
Add test cases for all the new cilk errors

gcc/testsuite/:

2014-11-10  Andi Kleen  <ak@linux.intel.com>

	* c-c++-common/cilk-plus/CK/errors.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217334 138bc75d-0d04-0410-961f-82ee72b054a4
Fix some of the existing Cilk tests for the new errors.

gcc/testsuite/:

2014-11-10  Andi Kleen  <ak@linux.intel.com>

	* c-c++-common/cilk-plus/AN/misc.c (main): Handle
	new cilk errors.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217335 138bc75d-0d04-0410-961f-82ee72b054a4
Error out for Cilk_spawn or array expression in forbidden places

_Cilk_spawn or Cilk array expressions are only allowed on their own,
but not in for(), if(), switch, do, while, goto, etc.
The C parser didn't always check for that, which lead to ICEs earlier
for invalid code.

Add a generic helper that checks this and call it where needed
in the C frontend.

I chose to allow spawn/array for for init and increment expressions.
While the Cilk spec could be interpreted to forbid it there too
there didn't seem any reason to not allow it.

One dark corner is spawn, array in statement expressions not at
the end. Right now that's forbidden too.

gcc/c-family/:

2014-11-10  Andi Kleen  <ak@linux.intel.com>

	PR c/60804
	* c-common.h (check_no_cilk): Declare.
	* cilk.c (get_error_location): New function.
	(check_no_cilk): Dito.

gcc/c/:

2014-11-10  Andi Kleen  <ak@linux.intel.com>

	PR c/60804
	* c-parser.c (c_parser_statement_after_labels): Call
	check_no_cilk.
	(c_parser_if_statement): Dito.
	(c_parser_switch_statement): Dito.
	(c_parser_while_statement): Dito.
	(c_parser_do_statement): Dito.
	(c_parser_for_statement): Dito.
	* c-typeck.c (c_finish_loop): Dito.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217336 138bc75d-0d04-0410-961f-82ee72b054a4
Add illegal cilk checks to C++ front.

Add calls for several illegal Cilk cases to the C++ frontend.
C++ usually doesn't ICE unlike C on illegal cilk, but it's
better to match C in what is allowed and what is not.

if (_Cilk_spawn ...) is still not errored, but at least it doesn't ICE.

gcc/cp/:

2014-11-10  Andi Kleen  <ak@linux.intel.com>

	* semantics.c (finish_goto_stmt): Call check_no_cilk.
	(finish_while_stmt_cond): Dito.
	(finish_do_stmt): Dito.
	(finish_for_cond): Dito.
	(finish_switch_cond): Dito.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217337 138bc75d-0d04-0410-961f-82ee72b054a4
2014-11-11  Tobias Burnus  <burnus@net-b.de>

contrib/
        * download_prerequisites: Stop downloading CLooG.
gcc/
        * doc/install.texi (Prerequisites): Remove CLooG.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217339 138bc75d-0d04-0410-961f-82ee72b054a4
	* sreal.c (sreal::to_int): Use INTTYPE_MAXIMUM (int64_t)
	instead of INT64_MAX.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217340 138bc75d-0d04-0410-961f-82ee72b054a4
2014-11-11  Terry Guo  <terry.guo@arm.com>

	* doc/invoke.texi (-masm-syntax-unified): Reword and fix typo.
	* config/arm/thumb1.md (*thumb_mulsi3): Use movs to move low
	registers.
	(*thumb1_movhf): Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217341 138bc75d-0d04-0410-961f-82ee72b054a4
	PR bootstrap/63699
	PR bootstrap/63750

	* system.h: Include <string> before "safe-ctype.h"
	* wide-int.h (wi::smin, wi::smax, wi::umin, wi::umax): Prefix
	calls to min/max with wi namespace.
	* ipa-chkp.c: Don't include <string>.

	* plugin.cc: Don't include <string>.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217342 138bc75d-0d04-0410-961f-82ee72b054a4
	PR libstdc++/63811
	* include/bits/stl_deque.h (_Deque_base::_M_move_impl()): Avoid using
	badname.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217343 138bc75d-0d04-0410-961f-82ee72b054a4
2014-11-11  Siva Chandra Reddy  <sivachandra@google.com>

	* python/libstdcxx/v6/xmethods.py: Add xmethods for associative
	containers.
	* testsuite/libstdc++-xmethods/associative-containers.cc: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217344 138bc75d-0d04-0410-961f-82ee72b054a4
[Fortran] PR 63701 Make sure variable is always used initialised

	PR fortran/63701
	* trans-expr.c (gfc_get_tree_for_caf_expr): Initialise found to false.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217345 138bc75d-0d04-0410-961f-82ee72b054a4