diff options
Diffstat (limited to 'gcc/cp/rtti.c')
-rw-r--r-- | gcc/cp/rtti.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/cp/rtti.c b/gcc/cp/rtti.c index 3e941b94588..8200d308829 100644 --- a/gcc/cp/rtti.c +++ b/gcc/cp/rtti.c @@ -708,10 +708,12 @@ build_dynamic_cast_1 (tree type, tree expr, tsubst_flags_t complain) target_type = TYPE_MAIN_VARIANT (TREE_TYPE (type)); static_type = TYPE_MAIN_VARIANT (TREE_TYPE (exprtype)); td2 = get_tinfo_decl (target_type); - mark_used (td2); + if (!mark_used (td2, complain) && !(complain & tf_error)) + return error_mark_node; td2 = cp_build_addr_expr (td2, complain); td3 = get_tinfo_decl (static_type); - mark_used (td3); + if (!mark_used (td3, complain) && !(complain & tf_error)) + return error_mark_node; td3 = cp_build_addr_expr (td3, complain); /* Determine how T and V are related. */ |