diff options
Diffstat (limited to 'gcc/cp/search.c')
-rw-r--r-- | gcc/cp/search.c | 14 |
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; +} |