]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/testsuite/ChangeLog
call.c (struct conversion): Add base_p.
authorMark Mitchell <mark@codesourcery.com>
Tue, 19 Oct 2004 23:24:20 +0000 (23:24 +0000)
committerMark Mitchell <mmitchel@gcc.gnu.org>
Tue, 19 Oct 2004 23:24:20 +0000 (23:24 +0000)
commit33c25e5c5a69b096d8aafef5599bf93672dd3659
treed0037995674537cc4efa3c0fd0c2f61cfe82efed
parentb55d57460298a5e0f675b1e7a2af84690cb14f4d
call.c (struct conversion): Add base_p.

* call.c (struct conversion): Add base_p.
(convert_like): Add c_cast_p argument.
(convert_like_with_conversion): Likewise.
(build_conv): Clear base_p.
(standard_conversion): Set it, for derived-to-base conversions.
(convert_like_real): Add c_cast_p parameter.  Handle pointer
conversions directly rather than relying on ocp_convert.
(perform_direct_initialization_if_possible): Add c_cast_p
parameter.
* cp-tree.h (perform_direct_initialization_if_possible): Change
prototype.
(convert_member_func_to_ptr): New function.
* typeck.c (check_for_casting_away_constness): Add diag_fn
parameter.
(build_static_cast_1): New function, split out from ...
(build_static_cast): ... here.  Use build_static_cast_1.
(build_reinterpret_cast_1): New function, split out from ...
(build_reinterpret_cast): ... here.  Use build_reinterpret_cast_1.
(build_const_cast_1): New function, split out from ...
(build_const_cast): ... here.  Use build_const_cast_1.
(build_c_cast): Rewrite to use build_const_cast_1,
build_static_cast_1, and build_reinterpret_cast_1.
(convert_member_func_to_ptr): New function.

* g++.dg/conversion/reinterpret1.C: Adjust error markers.
* g++.dg/conversion/const2.C: New test.
* g++.dg/expr/reinterpret2.C: New test.
* g++.dg/expr/reinterpret3.C: New test.
* g++.dg/expr/cast2.C: New test.
* g++.dg/expr/copy1.C: New test.
* g++.dg/other/conversion1.C: Change error message.
* g++.dg/parse/comma1.C: Use __extension__ to allow casts from
function pointers to void *.
* g++.old-deja/g++.mike/p10148.C: Likewise.

From-SVN: r89300
14 files changed:
gcc/cp/ChangeLog
gcc/cp/call.c
gcc/cp/cp-tree.h
gcc/cp/cvt.c
gcc/cp/typeck.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/conversion/const2.C [new file with mode: 0644]
gcc/testsuite/g++.dg/conversion/reinterpret1.C
gcc/testsuite/g++.dg/conversion/reinterpret2.C [new file with mode: 0644]
gcc/testsuite/g++.dg/conversion/reinterpret3.C [new file with mode: 0644]
gcc/testsuite/g++.dg/expr/cast2.C [new file with mode: 0644]
gcc/testsuite/g++.dg/expr/copy1.C [new file with mode: 0644]
gcc/testsuite/g++.dg/other/conversion1.C
gcc/testsuite/g++.dg/parse/comma1.C