[Bug c++/44969] [C++0x] <type_traits> std::is_constructible broken for fundamental types.

paolo dot carlini at oracle dot com gcc-bugzilla@gcc.gnu.org
Sat Jul 17 19:14:00 GMT 2010



------- 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



More information about the Gcc-bugs mailing list