Mark,
this patch fixes 16174, a recent regression. I think it's a known SFINAE
failure that's newly exposed.
I've propagated the tf_error flag through complete_type and
instantiate_template_class. I've also added a 'already tried this one'
flag to avoid repeated instantiation attempts.
I think this patch will make us SFINAE compliant up to the DR about
whether complicated things like call exprs can be used inside sizeof
inside a non-type template parm inside a return type instantiation
(phew).
built and tested on 3.4 branch on i686-pc-linux-gnu, ok for there & HEAD?
I've built it on HEAD, but the current state is such that I don't know
what to expect of the testsuite.