This is the mail archive of the gcc-cvs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

r269965 - in /trunk/gcc: cp/ChangeLog cp/pt.c t...


Author: jason
Date: Wed Mar 27 14:27:00 2019
New Revision: 269965

URL: https://gcc.gnu.org/viewcvs?rev=269965&root=gcc&view=rev
Log:
	PR c++/86932 - missed SFINAE with empty pack.

The issue here was that when processing the explicit template args in
fn_type_unification we added an empty argument pack for the parameter pack,
so we never tried to do any deduction for it, and therefore never looked at
its type.  We need that empty pack behavior for partial ordering, but we
don't want it here, so let's make it conditional on tf_partial.

	* pt.c (coerce_template_parms): Don't add an empty pack if
	tf_partial.
	(fn_type_unification): Pass tf_partial to coerce_template_parms.

Added:
    trunk/gcc/testsuite/g++.dg/cpp0x/sfinae65.C
Modified:
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/pt.c


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]