private_typeinfo: propagate static flags in vmi search_above_dst method
Patch by Ryan Prichard
Propagate the found_our_static_ptr and found_any_static_type flags from
__vmi_class_type_info::search_above_dst to its caller.
Fixes PR33425 and PR33487
Reviewed as https://reviews.llvm.org/D36446
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@332763 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/src/private_typeinfo.cpp b/src/private_typeinfo.cpp
index ef9466e..6da3c77 100644
--- a/src/private_typeinfo.cpp
+++ b/src/private_typeinfo.cpp
@@ -1181,6 +1181,8 @@
info->found_our_static_ptr = false;
info->found_any_static_type = false;
p->search_above_dst(info, dst_ptr, current_ptr, path_below, use_strcmp);
+ found_our_static_ptr |= info->found_our_static_ptr;
+ found_any_static_type |= info->found_any_static_type;
if (++p < e)
{
do
@@ -1210,6 +1212,8 @@
info->found_our_static_ptr = false;
info->found_any_static_type = false;
p->search_above_dst(info, dst_ptr, current_ptr, path_below, use_strcmp);
+ found_our_static_ptr |= info->found_our_static_ptr;
+ found_any_static_type |= info->found_any_static_type;
} while (++p < e);
}
// Restore flags