Improve the diagnostic messages on dynamic_cast.
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@164833 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/src/private_typeinfo.cpp b/src/private_typeinfo.cpp
index d15b952..d68e78b 100644
--- a/src/private_typeinfo.cpp
+++ b/src/private_typeinfo.cpp
@@ -448,9 +448,9 @@
{
// We get here only if there is some kind of visibility problem
// in client code.
- syslog(LOG_ERR, "dynamic_cast error 1: There is a hidden visibility "
- "problem associated with the type_info's of %s"
- " and/or %s.\n", static_type->name(), dynamic_type->name());
+ syslog(LOG_ERR, "dynamic_cast error 1: Both of the following type_info's "
+ "should have public visibility. At least of of them is hidden. %s"
+ ", %s.\n", static_type->name(), dynamic_type->name());
info.path_dst_ptr_to_static_ptr = public_path;
}
#endif // __APPLE__
@@ -468,9 +468,9 @@
if (info.path_dst_ptr_to_static_ptr == unknown &&
info.path_dynamic_ptr_to_static_ptr == unknown)
{
- syslog(LOG_ERR, "dynamic_cast error 2: There is a hidden visibility "
- "problem associated with the type_info's of %s"
- " and/or %s and/or %s.\n", static_type->name(), dynamic_type->name(),
+ syslog(LOG_ERR, "dynamic_cast error 2: One or more of the following type_info's "
+ " has hidden visibility. They should all have public visibility. "
+ " %s, %s, %s.\n", static_type->name(), dynamic_type->name(),
dst_type->name());
}
#endif // __APPLE__