re PR c++/18949 (trouble with const_cast in templates)
authorNathan Sidwell <nathan@codesourcery.com>
Tue, 14 Dec 2004 15:39:12 +0000 (15:39 +0000)
committerNathan Sidwell <nathan@gcc.gnu.org>
Tue, 14 Dec 2004 15:39:12 +0000 (15:39 +0000)
commite8c66fe0e19849b41b227666405de82bf3391e5f
tree7dbf4d083fa9aa07d8ff70f0e237f880b53e8a1c
parent3a42aebe0bc6555520bbd648f491b55079914f5d
re PR c++/18949 (trouble with const_cast in templates)

cp:
PR c++/18949
* pt.c (tsubst_copy_and_build): <INDIRECT_REF case> Check that a
REFERENCE_REF_P is dereferencing a reference type.
* typeck.c (build_static_cast): Convert from reference even in a
template.
(build_reinterpret_cast, build_const_cast, build_c_cast): Likewise.
testsuite:
PR c++/18949
* g++.dg/template/cast1.C: New.

From-SVN: r92136
gcc/cp/ChangeLog
gcc/cp/pt.c
gcc/cp/typeck.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/template/cast1.C [new file with mode: 0644]