summaryrefslogtreecommitdiff
path: root/gcc/cp/cvt.c
diff options
context:
space:
mode:
authorreichelt <reichelt@138bc75d-0d04-0410-961f-82ee72b054a4>2006-04-19 17:15:54 +0000
committerreichelt <reichelt@138bc75d-0d04-0410-961f-82ee72b054a4>2006-04-19 17:15:54 +0000
commitab12ed55f8a21fff94a32a942ae4a97dec854e0f (patch)
tree4c87550ddc6151cf241615c6e60fff6799983f78 /gcc/cp/cvt.c
parente36ed55bfeee9ad9e411290c10ce2b3a0d459956 (diff)
downloadgcc-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.c1
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);