[Bug c++/52422] [C++11][SFINAE] Hard errors with void or arithmetic expressions

paolo at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Apr 18 10:27:00 GMT 2012


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52422

--- Comment #3 from paolo at gcc dot gnu.org <paolo at gcc dot gnu.org> 2012-04-18 10:21:52 UTC ---
Author: paolo
Date: Wed Apr 18 10:21:43 2012
New Revision: 186565

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=186565
Log:
/cp
2012-04-18  Paolo Carlini  <paolo.carlini@oracle.com>

    PR c++/52422
    * cp-tree.h (build_addr_func, decay_conversion,
    get_member_function_from_ptrfunc,
    build_m_component_ref, convert_member_func_to_ptr):
    Add tsubst_flags_t parameter.
    * typeck.c (cp_default_conversion): Add.
    (decay_conversion, default_conversion,
    get_member_function_from_ptrfunc, convert_member_func_to_ptr):
    Add tsubst_flags_t parameter and use it throughout.
    (cp_build_indirect_ref, cp_build_array_ref,
    cp_build_function_call_vec, convert_arguments, build_x_binary_op,
    cp_build_binary_op, cp_build_unary_op, build_reinterpret_cast_1,
    build_const_cast_1, expand_ptrmemfunc_cst,
    convert_for_initialization): Adjust.
    * init.c (build_vec_init): Adjust.
    * decl.c (grok_reference_init, get_atexit_node): Likewise.
    * rtti.c (build_dynamic_cast_1, tinfo_base_init): Likewise.
    * except.c (build_throw): Likewise.
    * typeck2.c (build_x_arrow): Likewise.
    (build_m_component_ref): Add tsubst_flags_t parameter and
    use it throughout.
    * pt.c (convert_nontype_argument): Adjust.
    * semantics.c (finish_asm_stmt, maybe_add_lambda_conv_op): Likewise.
    * decl2.c (build_offset_ref_call_from_tree): Likewise.
    * call.c (build_addr_func): Add tsubst_flags_t parameter and
    use it throughout.
    (build_call_a, build_conditional_expr_1, build_new_op_1,
    convert_like_real, convert_arg_to_ellipsis, build_over_call,
    build_special_member_call): Adjust.
    * cvt.c (cp_convert_to_pointer, force_rvalue,
    build_expr_type_conversion): Likewise.

/testsuite
2012-04-18  Paolo Carlini  <paolo.carlini@oracle.com>

    PR c++/52422
    * g++.dg/cpp0x/sfinae33.C: New.
    * g++.dg/cpp0x/sfinae34.C: Likewise.

Added:
    trunk/gcc/testsuite/g++.dg/cpp0x/sfinae33.C
    trunk/gcc/testsuite/g++.dg/cpp0x/sfinae34.C
Modified:
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/call.c
    trunk/gcc/cp/cp-tree.h
    trunk/gcc/cp/cvt.c
    trunk/gcc/cp/decl.c
    trunk/gcc/cp/decl2.c
    trunk/gcc/cp/except.c
    trunk/gcc/cp/init.c
    trunk/gcc/cp/pt.c
    trunk/gcc/cp/rtti.c
    trunk/gcc/cp/semantics.c
    trunk/gcc/cp/typeck.c
    trunk/gcc/cp/typeck2.c
    trunk/gcc/testsuite/ChangeLog



More information about the Gcc-bugs mailing list