aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/rtti.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/cp/rtti.c')
-rw-r--r--gcc/cp/rtti.c6
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. */