/cp
2013-10-30  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58581
	* call.c (build_over_call): Check return value of mark_used.

/testsuite
2013-10-30  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58581
	* g++.dg/cpp0x/deleted1.C: New.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204249 138bc75d-0d04-0410-961f-82ee72b054a4
/cp
2013-10-31  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58932
	Revert:
	2013-10-18  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58466
	* pt.c (most_specialized_class): Bump processing_template_decl for
	get_class_bindings.

/testsuite
2013-10-31  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58932
	Revert:
	2013-10-18  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58466
	* g++.dg/cpp0x/variadic145.C: New.

	* g++.dg/cpp0x/sfinae49.C: New.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204250 138bc75d-0d04-0410-961f-82ee72b054a4
2013-10-31  Richard Sandiford  <rsandifo@linux.vnet.ibm.com>
	    Yury Gribov  <y.gribov@samsung.com>

	PR sanitizer/58543
	* asan.c (asan_clear_shadow): Allocate a new vreg for temporary
	shadow pointer to avoid clobbering the main one.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204251 138bc75d-0d04-0410-961f-82ee72b054a4
/cp
2013-10-31  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58932
	Revert:
	2013-10-18  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58466
	* pt.c (most_specialized_class): Bump processing_template_decl for
	get_class_bindings.

/testsuite
2013-10-31  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58932
	Revert:
	2013-10-18  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58466
	* g++.dg/cpp0x/variadic145.C: New.

	* g++.dg/cpp0x/sfinae49.C: New.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204252 138bc75d-0d04-0410-961f-82ee72b054a4
2013-10-31  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/20_util/default_delete/48631_neg.cc: Tweak dg-prune.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204253 138bc75d-0d04-0410-961f-82ee72b054a4
2013-10-31  Martin Jambor  <mjambor@suse.cz>

	PR rtl-optimization/58934
	Revert:
	2013-10-30  Martin Jambor  <mjambor@suse.cz>
	PR rtl-optimization/10474
	* ira.c (find_moveable_pseudos): Do not calculate dominance info
	nor df analysis.
	(interesting_dest_for_shprep): New function.
	(split_live_ranges_for_shrink_wrap): Likewise.
	(ira): Calculate dominance info and df analysis. Call
	split_live_ranges_for_shrink_wrap.

testsuite/
	* gcc.dg/pr10474.c: New testcase.
	* gcc.dg/ira-shrinkwrap-prep-1.c: Likewise.
	* gcc.dg/ira-shrinkwrap-prep-2.c: Likewise.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204254 138bc75d-0d04-0410-961f-82ee72b054a4
	* tree-cfg.c (assert_unreachable_fallthru_edge_p): New function.
	* tree-cfg.h (assert_unreachable_fallthru_edge_p): New prototype.
	* tree-vrp.c (all_imm_uses_in_stmt_or_feed_cond): New function.
	(remove_range_assertions): If ASSERT_EXPR_VAR has no other immediate
	uses but in the condition and ASSERT_EXPR and the other successor of
	the predecessor bb is __builtin_unreachable (), set_range_info of the
	ASSERT_EXPR_VAR to the range info of the ASSERT_EXPR's lhs.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204255 138bc75d-0d04-0410-961f-82ee72b054a4
	* gimple-pretty-print.c (dump_ssaname_info): Print newline also
	in case of VR_VARYING.  Print get_nonzero_bits if not all ones.
	* tree-ssanames.h (struct range_info_def): Add nonzero_bits field.
	(set_nonzero_bits, get_nonzero_bits): New prototypes.
	* tree-ssa-ccp.c (get_default_value): Use get_range_info to see if
	a default def isn't partially constant.
	(ccp_finalize): If after IPA, set_range_info if integral SSA_NAME
	is known to be partially zero.
	(evaluate_stmt): If we'd return otherwise VARYING, use get_range_info
	to see if a default def isn't partially constant.
	* tree-ssanames.c (set_range_info): Initialize nonzero_bits upon
	creation of a range, if VR_RANGE, try to improve nonzero_bits from
	the range.
	(set_nonzero_bits, get_nonzero_bits): New functions.

	* g++.dg/warn/pr33738.C (main): Initialize a2 again to make sure
	we warn about it already during VRP1 pass.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204256 138bc75d-0d04-0410-961f-82ee72b054a4
	* tree.c (tree_ctz): New function.
	* tree.h (tree_ctz): New prototype.
	* tree-ssanames.h (get_range_info, get_nonzero_bits): Change
	first argument from tree to const_tree.
	* tree-ssanames.c (get_range_info, get_nonzero_bits): Likewise.
	* tree-vectorizer.h (vect_generate_tmps_on_preheader): New prototype.
	* tree-vect-loop-manip.c (vect_generate_tmps_on_preheader): No longer
	static.
	* expr.c (highest_pow2_factor): Reimplemented using tree_ctz.
	* tree-vect-loop.c (vect_analyze_loop_operations,
	vect_transform_loop): Don't force scalar loop for bound just because
	number of iterations is unknown, only do it if it is not known to be
	a multiple of vectorization_factor.
	* builtins.c (get_object_alignment_2): Use tree_ctz on offset.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204257 138bc75d-0d04-0410-961f-82ee72b054a4
	* tree-vrp.c (maybe_set_nonzero_bits): New function.
	(remove_range_assertions): Call it.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204258 138bc75d-0d04-0410-961f-82ee72b054a4
	* gcc.dg/vect/vect-align-3.c: New test.


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

2013-10-31  Edward Smith-Rowland  <3dw4rd@verizon.net>

        Implement C++14 digit separators.
	* include/cpplib.h (cpp_options): Add digit_separators flag.
	* internal.h (DIGIT_SEP(c)): New macro.
	* expr.c (cpp_classify_number): Check improper placement of digit sep;
	(cpp_interpret_integer): Skip over digit separators.
	* init.c (lang_flags): Add digit_separators flag; (lang_defaults): Add
	digit separator flags per language; (cpp_set_lang): Set
	digit_separators
	* lex.c (lex_number): Add digits separator to allowable characters for
	C++14.


gcc/c-family:

2013-10-31  Edward Smith-Rowland  <3dw4rd@verizon.net>

        Implement C++14 digit separators.
	* c-lex.c (interpret_float): Remove digit separators from scratch string
	before building real literal.


gcc/testsuite:

2013-10-31  Edward Smith-Rowland  <3dw4rd@verizon.net>

        Implement C++14 digit separators.
	* g++.dg/cpp1y/digit-sep.C: New.
	* g++.dg/cpp1y/digit-sep-neg.C: New.
	* g++.dg/cpp1y/digit-sep-cxx11-neg.C: New.


libstdc++-v3:

2013-10-31  Edward Smith-Rowland  <3dw4rd@verizon.net>

        Implement C++14 digit separators.
	* include/include/bits/parse_numbers.h: Change struct _Digit<_Base, '`'>
	to struct _Digit<_Base, '\''>.




git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204260 138bc75d-0d04-0410-961f-82ee72b054a4
I forgot to commit this from the C++14 digit-separators commit.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204261 138bc75d-0d04-0410-961f-82ee72b054a4
	* class.c (type_build_ctor_call): Return early in C++98 mode.
	(type_build_dtor_call): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204262 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c++/58162
	* parser.c (cp_parser_late_parse_one_default_arg): Set
	TARGET_EXPR_DIRECT_INIT_P.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204263 138bc75d-0d04-0410-961f-82ee72b054a4
	* decl.c (cxx_maybe_build_cleanup): Always set LOOKUP_NONVIRTUAL.
	* decl2.c (build_cleanup): Just call cxx_maybe_build_cleanup.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204265 138bc75d-0d04-0410-961f-82ee72b054a4
	* semantics.c (cxx_eval_call_expression): Handle trivial
	value-initialization.
	* typeck2.c (store_init_value): Call maybe_constant_init after
	cxx_constant_value.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204266 138bc75d-0d04-0410-961f-82ee72b054a4
2013-10-31  Vladimir Makarov  <vmakarov@redhat.com>

	* lra-constraints (process_alt_operands): Use the result
	elimination register for operand when matching constraints.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204267 138bc75d-0d04-0410-961f-82ee72b054a4
Add new nds32 port, including machine description, libgcc, and documentation.

[gcc/ChangeLog]
	* config.gcc (nds32*-*-*): Add nds32 target.
	* config/nds32/nds32.c: New file.
	* config/nds32/nds32.h: New file.
	* config/nds32/nds32.md: New file.
	* config/nds32/constants.md: New file.
	* config/nds32/constraints.md: New file.
	* config/nds32/iterators.md: New file.
	* config/nds32/nds32-doubleword.md: New file.
	* config/nds32/nds32-intrinsic.md: New file.
	* config/nds32/nds32_intrinsic.h: New file.
	* config/nds32/nds32-modes.def: New file.
	* config/nds32/nds32-multiple.md: New file.
	* config/nds32/nds32.opt: New file.
	* config/nds32/nds32-opts.h: New file.
	* config/nds32/nds32-protos.h: New file.
	* config/nds32/nds32-peephole2.md: New file.
	* config/nds32/pipelines.md: New file.
	* config/nds32/predicates.md: New file.
	* config/nds32/t-mlibs: New file.
	* common/config/nds32: New directory and files.

	* doc/invoke.texi (NDS32 options): Document nds32 specific options.
	* doc/md.texi (NDS32 family): Document nds32 specific constraints.
	* doc/install.texi (Cross-Compiler-Specific Options): Document
	--with-nds32-lib for nds32 target.
	* doc/extend.texi (Function Attributes, Target Builtins): Document
	nds32 specific attributes.
	
[libgcc/ChangeLog]
	* config.host (nds32*-elf*): Add nds32 target.
	* config/nds32 : New directory and files.
	
[contrib/ChangeLog]
	* config-list.mk (nds32le-elf, nds32be-elf): Add nds32 target.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204269 138bc75d-0d04-0410-961f-82ee72b054a4
2013-10-31  Steve Ellcey  <sellcey@mips.com>

	* configure.ac: Add header checks for fenv.h and complex.h.
	* configure: Regenerate.


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