------- Comment #4 from paolo dot carlini at oracle dot com 2010-07-17 19:14 ------- I attached a draft which fixes the original testcase as a SFINAE issue. Seems to me rather straightforward and consistent with existing practice in typeck.c, just passes down complain to build_x_compound_expr_from_list. Regtests fine.
However, the reduced testcase I attached, using enable_if instead of decltype, is not fixed by it. In that case the error, of the form: a.cc:19:66: error: invalid use of template type parameter Arg1_ a.cc:19:66: error: invalid use of template type parameter Arg2_ a.cc:19:66: error: invalid use of template type parameter Tp1 come from cxx_incomplete_type_diagnostic, called by complete_type_or_else, called in turn by build_functional_cast:1609, where it does: if (!complete_type_or_else (type, NULL_TREE)) return error_mark_node; irrespective of complain. Jason, should complete_type_or_else be something different when tf_none? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44969