]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/cp/init.cc
re PR c++/44267 (SFINAE does not handle down static_cast over virtual inheritance)
authorPaolo Carlini <paolo.carlini@oracle.com>
Sat, 24 Sep 2011 09:55:01 +0000 (09:55 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Sat, 24 Sep 2011 09:55:01 +0000 (09:55 +0000)
commita271590a43eb22cee96e2c5c3b7a11816502033f
tree37a53ad2a2bb447786b15d918c7a248400241fa4
parentee02baae96517c43f9045fe2cb8f89605bbed1bb
re PR c++/44267 (SFINAE does not handle down static_cast over virtual inheritance)

/cp
2011-09-24  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/44267
* class.c (build_base_path): Add a tsubst_flags_t parameter.
(convert_to_base): Adjust call.
* typeck.c (build_class_member_access_expr,
get_member_function_from_ptrfunc, build_static_cast_1): Likewise.
* init.c (dfs_initialize_vtbl_ptrs, emit_mem_initializers): Likewise.
* method.c (do_build_copy_constructor, do_build_copy_assign): Likewise.
* rtti.c (build_dynamic_cast_1): Likewise.
* typeck2.c (build_scoped_ref, build_m_component_ref): Likewise.
* call.c (build_over_call, build_special_member_call): Likewise.
* cvt.c (cp_convert_to_pointer, convert_to_pointer_force,
build_up_reference): Likewise.
* cp-tree.h (build_base_path): Adjust declaration.

/testsuite
2011-09-24  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/44267
* g++.dg/template/sfinae28.C: New.

From-SVN: r179141
12 files changed:
gcc/cp/ChangeLog
gcc/cp/call.c
gcc/cp/class.c
gcc/cp/cp-tree.h
gcc/cp/cvt.c
gcc/cp/init.c
gcc/cp/method.c
gcc/cp/rtti.c
gcc/cp/typeck.c
gcc/cp/typeck2.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/template/sfinae28.C [new file with mode: 0644]