/cp
2013-06-18  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/53211
	* pt.c (type_dependent_expression_p): Handle an array of unknown
	bound depending on a variadic parameter.
	* parser.c (cp_parser_range_for): Revert PR56794 changes.

/testsuite
2013-06-18  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/53211
	* g++.dg/cpp0x/decltype55.C: New.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@200178 138bc75d-0d04-0410-961f-82ee72b054a4
Emit errors when always_inline functions cannot be inlined in -O0 mode.

	* tree-inline.c (expand_call_inline): Allow the error to be flagged
	in early inline pass.
	* ipa-inline.c (inline_always_inline_functions): Pretend always_inline
	functions are inlined during failures to flag an error.
	* gcc.target/i386/inline_error.c: New test.
	* gcc.c-torture/compile/pr44043.c: Fix test to expect an error.
	* gcc.c-torture/compile/pr43791.c: Fix test to expect an error.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@200179 138bc75d-0d04-0410-961f-82ee72b054a4
	PR libstdc++/57641
	* include/std/mutex (timed_mutex, recursive_timed_mutex): Move common
	functionality to new __timed_mutex_impl mixin. Overload try_lock_until
	to handle conversion between different clocks. Replace constrained
	__try_lock_for_impl overloads with conditional increment.
	* include/std/shared_mutex (shared_mutex::_Mutex): Use the new mixin.
	* testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: New.

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