c++: decltype of invalid non-dependent expr [PR57943]
We sometimes fail to reject an invalid non-dependent operand to decltype
when inside a template, because finish_decltype_type resolves the
decltype to the TREE_TYPE of the operand before we ever instantiate and
fully process the operand.  Fix this by adding a call to
instantiate_non_dependent_expr_sfinae in finish_decltype_type.
gcc/cp/ChangeLog:
	PR c++/57943
	* semantics.c (finish_decltype_type): Call
	instantiate_non_dependent_expr_sfinae on the expression.
gcc/testsuite/ChangeLog:
	PR c++/57943
	* g++.dg/cpp0x/decltype76.C: New test.