Author: ericwf Date: Fri May 18 13:39:57 2018 New Revision: 332763 URL: http://llvm.org/viewvc/llvm-project?rev=332763&view=rev Log: 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 Modified: libcxxabi/trunk/src/private_typeinfo.cpp Modified: libcxxabi/trunk/src/private_typeinfo.cpp URL: http://llvm.org/viewvc/llvm-project/libcxxabi/trunk/src/private_typeinfo.cpp?rev=332763&r1=332762&r2=332763&view=diff ============================================================================== --- libcxxabi/trunk/src/private_typeinfo.cpp (original) +++ libcxxabi/trunk/src/private_typeinfo.cpp Fri May 18 13:39:57 2018 @@ -1181,6 +1181,8 @@ __vmi_class_type_info::search_above_dst( 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 @@ __vmi_class_type_info::search_above_dst( 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 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits