PR tree-optimization/57230
	* tree-ssa-strlen.c (handle_char_store): Add missing integer_zerop
	check.

	* gcc.dg/strlenopt-23.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_8-branch@198814 138bc75d-0d04-0410-961f-82ee72b054a4
	PR target/57264
	* gcc.target/i386/pr57264.c: New test.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_8-branch@198838 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c++/57196
	* pt.c (convert_template_argument): Use dependent_template_arg_p,
	not uses_template_parms.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_8-branch@198846 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c++/57252
	* decl.c (decls_match): Compare ref-qualifiers.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_8-branch@198847 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c++/57253
	* decl.c (grokdeclarator): Apply ref-qualifier
	in the TYPENAME case.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_8-branch@198848 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c++/57254
	* typeck.c (merge_types): Propagate ref-qualifier
	in METHOD_TYPE case.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_8-branch@198849 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c++/57041
	* decl.c (reshape_init_class): Handle error_mark_node.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_8-branch@198850 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c++/56998
	* call.c (null_ptr_cst_p): An expression with side-effects can't
	be a C++03 null pointer constant.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_8-branch@198851 138bc75d-0d04-0410-961f-82ee72b054a4
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_8-branch@198857 138bc75d-0d04-0410-961f-82ee72b054a4
	PR middle-end/57251
	* expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: Handle
	the case when both op0 and op1 have VOIDmode.

	* gcc.dg/torture/pr57251.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_8-branch@198861 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c++/56998
	* semantics.c (potential_constant_expression_1): Make sure the
	called function is potentially constant.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_8-branch@198882 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c++/57041
	* pt.c (tsubst_copy_and_build): Don't recur into a designator.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_8-branch@198888 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c++/57243
	* parser.c (cp_parser_range_for): Call complete_type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_8-branch@198902 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c++/57274
	* c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.

	* c-c++-common/Wsequence-point-1.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_8-branch@198904 138bc75d-0d04-0410-961f-82ee72b054a4
Remove junk in ChangeLog.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_8-branch@198906 138bc75d-0d04-0410-961f-82ee72b054a4
2013-05-14  Evgeniy Stepanov  <eugenis@google.com>

	* src/c++11/system_error.cc (generic_category_instance): Add
	initializer.
	(system_category_instance): Likewise.
	* src/c++11/future.cc (__fec): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_8-branch@198907 138bc75d-0d04-0410-961f-82ee72b054a4
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_8-branch@198911 138bc75d-0d04-0410-961f-82ee72b054a4
	* include/bits/basic_string.h (getline): Fix doxygen comments.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_8-branch@198951 138bc75d-0d04-0410-961f-82ee72b054a4
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_8-branch@198954 138bc75d-0d04-0410-961f-82ee72b054a4
PR c++/56782 - Regression with empty pack expansions

In the example of the patch below, during the instantiation of
is_convertible at #1, we see at some point Tuple<>.  (Let's note '{}'
an empty argument pack.)  In that context, during the partial
specialization the member template

template<class... U>
Tuple<>::Tuple<U,
	       typename enable_if<and_<is_convertible<U, {}>...
                                      >::value,
                                  int
			         >::type
              >

Let's look at what happens to the expansion "is_convertible<U, {}>...."

To express the result of that expansion tsubst_pack_expansion receives
the expansion is_convertible<U, T>, with the argument list [{}].  This
function should detect that we have an empty argument pack for the
parameter pack T and no argument pack for the parameter pack U.  It
should thus return a pack expansion "is_convertible<U,T>..." that has this
information: "I have gotten an argument list, that is not complete
because U doesn't have any argument pack; the argument pack for T is
'{}', so I'll wait for the next time I am passed to
tsubst_pack_expansion with enough additional argument packs, to really
perform the substitution".  That information is conveyed by attaching
the the '{}' to the PACK_EXPANSION_EXTRA property of the pack expansion
returned by tsubst_pack_expansion.

The problem in this report is that we are not setting
PACK_EXPANSION_EXTRA when the non-complete argument pack list is made
of an empty argument pack, because use_pack_expansion_extra_args_p
doesn't detect this case.

Fixed thus.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_8-branch@198962 138bc75d-0d04-0410-961f-82ee72b054a4