summaryrefslogtreecommitdiff
path: root/gcc/cp/cvt.c
diff options
context:
space:
mode:
authorVolker Reichelt <reichelt@igpm.rwth-aachen.de>2006-04-19 17:15:54 +0000
committerVolker Reichelt <reichelt@gcc.gnu.org>2006-04-19 17:15:54 +0000
commitd149fba0ff511eda85cb47a630ffc499ea5a8756 (patch)
tree4c87550ddc6151cf241615c6e60fff6799983f78 /gcc/cp/cvt.c
parent37e7dc121db68d87fb61996219088f0b94680455 (diff)
downloadgcc-d149fba0ff511eda85cb47a630ffc499ea5a8756.tar.gz
re PR c++/10385 (Internal compiler error in build_up_reference, at cp/cvt.c:353, on invalid dynamic_cast)
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. From-SVN: r113084
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);