diff options
author | Volker Reichelt <reichelt@igpm.rwth-aachen.de> | 2006-04-19 17:15:54 +0000 |
---|---|---|
committer | Volker Reichelt <reichelt@gcc.gnu.org> | 2006-04-19 17:15:54 +0000 |
commit | d149fba0ff511eda85cb47a630ffc499ea5a8756 (patch) | |
tree | 4c87550ddc6151cf241615c6e60fff6799983f78 /gcc/cp/cvt.c | |
parent | 37e7dc121db68d87fb61996219088f0b94680455 (diff) | |
download | gcc-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.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); |