aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/search.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/cp/search.c')
-rw-r--r--gcc/cp/search.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/gcc/cp/search.c b/gcc/cp/search.c
index 14e1ce9..dc898cd 100644
--- a/gcc/cp/search.c
+++ b/gcc/cp/search.c
@@ -3315,3 +3315,17 @@ binfo_for_vtable (var)
return dfs_walk_real (TYPE_BINFO (type),
0, dfs_bfv_helper, dfs_bfv_queue_p, &bfvi);
}
+
+/* Returns 1 iff BINFO is from a direct or indirect virtual base. */
+
+int
+binfo_from_vbase (binfo)
+ tree binfo;
+{
+ for (; binfo; binfo = BINFO_INHERITANCE_CHAIN (binfo))
+ {
+ if (TREE_VIA_VIRTUAL (binfo))
+ return 1;
+ }
+ return 0;
+}