diff options
author | reichelt <reichelt@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-04-19 17:15:54 +0000 |
---|---|---|
committer | reichelt <reichelt@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-04-19 17:15:54 +0000 |
commit | ab12ed55f8a21fff94a32a942ae4a97dec854e0f (patch) | |
tree | 4c87550ddc6151cf241615c6e60fff6799983f78 /gcc/cp/cvt.c | |
parent | e36ed55bfeee9ad9e411290c10ce2b3a0d459956 (diff) | |
download | gcc-ab12ed55f8a21fff94a32a942ae4a97dec854e0f.tar.gz |
PR c++/10385
* rtti.c (build_dynamic_cast_1): Check for invalid conversions
before calling convert_to_reference.
* cvt.c (convert_to_reference): Assert that reftype is a
REFERENCE_TYPE.
* g++.dg/conversion/dynamic1.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@113084 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cp/cvt.c')
-rw-r--r-- | gcc/cp/cvt.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/cp/cvt.c b/gcc/cp/cvt.c index c59c74c135c..902372ea191 100644 --- a/gcc/cp/cvt.c +++ b/gcc/cp/cvt.c @@ -460,6 +460,7 @@ convert_to_reference (tree reftype, tree expr, int convtype, intype = TREE_TYPE (expr); gcc_assert (TREE_CODE (intype) != REFERENCE_TYPE); + gcc_assert (TREE_CODE (reftype) == REFERENCE_TYPE); intype = TYPE_MAIN_VARIANT (intype); |