aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/rtti.c
diff options
context:
space:
mode:
authorPaolo Carlini <paolo.carlini@oracle.com>2015-04-16 15:12:10 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2015-04-16 15:12:10 +0000
commit9f635abaaba726db2197869fc39c2207ac628319 (patch)
tree9cdcb4cf2bc217b21ecb591201bd58f69d5cae27 /gcc/cp/rtti.c
parentb8147bfc61b01a6ad8f6ed34bafe379ccb8e116c (diff)
downloadgcc-9f635abaaba726db2197869fc39c2207ac628319.zip
gcc-9f635abaaba726db2197869fc39c2207ac628319.tar.gz
gcc-9f635abaaba726db2197869fc39c2207ac628319.tar.bz2
call.c (build_op_delete_call, [...]): Check mark_used return value.
2015-04-16 Paolo Carlini <paolo.carlini@oracle.com> * call.c (build_op_delete_call, build_over_call): Check mark_used return value. * class.c (resolve_address_of_overloaded_function): Likewise. * decl.c (cxx_maybe_build_cleanup): Likewise. * pt.c (gen_elem_of_pack_expansion_instantiation, tsubst_baselink, tsubst_qualified_id, tsubst_copy, tsubst_copy_and_build): Likewise. * rtti.c (build_dynamic_cast_1): Likewise. * semantics.c (process_outer_var_ref): Likewise. * typeck.c (build_class_member_access_expr, cp_build_function_call_vec, cp_build_addr_expr_1): Likewise. From-SVN: r222150
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 3e941b9..8200d30 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. */