]> git.ipfire.org Git - thirdparty/gcc.git/commit
re PR c++/54541 (SFINAE bug: handling incomplete return types)
authorPaolo Carlini <paolo.carlini@oracle.com>
Tue, 11 Sep 2012 01:05:12 +0000 (01:05 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Tue, 11 Sep 2012 01:05:12 +0000 (01:05 +0000)
commite2e030322038fa1b9bad7c567a09c8835dfd5183
tree96b82d9148fffb25980f7664eaf3ee1f5a19ccee
parentf0bdc1d25c3b5619856efbb0ae260a7e6550df9e
re PR c++/54541 (SFINAE bug: handling incomplete return types)

/cp
2012-09-10  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/54541
PR c++/54542
* call.c (build_cxx_call): Add tsubst_flags_t parameter, use
require_complete_type_sfinae.
(build_op_delete_call, build_over_call): Adjust.
* typeck.c (build_x_compound_expr_from_vec): Add tsubst_flags_t
parameter.
(cp_build_function_call_vec): Adjust.
* init.c (build_new_1): Likewise.
* rtti.c (throw_bad_cast, throw_bad_typeid, build_dynamic_cast_1):
Likewise.
* optimize.c (build_delete_destructor_body): Likewise.
* cp-tree.h: Adjust declarations.

* call.c (convert_arg_to_ellipsis): Use require_complete_type_sfinae.

/testsuite
2012-09-10  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/54541
PR c++/54542
* g++.dg/cpp0x/sfinae40.C: New.
* g++.dg/cpp0x/sfinae41.C: Likewise.

From-SVN: r191170
gcc/cp/ChangeLog
gcc/cp/call.c
gcc/cp/cp-tree.h
gcc/cp/init.c
gcc/cp/optimize.c
gcc/cp/rtti.c
gcc/cp/typeck.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/cpp0x/sfinae40.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp0x/sfinae41.C [new file with mode: 0644]