svn commit: r278010 - head/contrib/libcxxrt

Dimitry Andric dim at FreeBSD.org
Sat Jan 31 23:08:30 UTC 2015


Author: dim
Date: Sat Jan 31 23:08:29 2015
New Revision: 278010
URL: https://svnweb.freebsd.org/changeset/base/278010

Log:
  Revert r256642, not only to reduce diffs against upstream libcxxrt, but
  also because it is the wrong approach: comparing typeinfo names deeply
  causes trouble if two loaded DSOs use independent types of the same
  name.
  
  In addition, this particular change was never merged to FreeBSD 10.x and
  9.x, so let's get rid of it before it ends up in an 11.x release.
  
  Discussed with:	theraven, joerg at netbsd

Modified:
  head/contrib/libcxxrt/typeinfo.cc

Modified: head/contrib/libcxxrt/typeinfo.cc
==============================================================================
--- head/contrib/libcxxrt/typeinfo.cc	Sat Jan 31 23:02:27 2015	(r278009)
+++ head/contrib/libcxxrt/typeinfo.cc	Sat Jan 31 23:08:29 2015	(r278010)
@@ -35,23 +35,15 @@ type_info::~type_info() {}
 
 bool type_info::operator==(const type_info &other) const
 {
-#ifdef LIBCXXRT_MERGED_TYPEINFO
 	return __type_name == other.__type_name;
-#else
-	return __type_name == other.__type_name || strcmp(__type_name, other.__type_name) == 0;
-#endif
 }
 bool type_info::operator!=(const type_info &other) const
 {
-	return !operator==(other);
+	return __type_name != other.__type_name;
 }
 bool type_info::before(const type_info &other) const
 {
-#ifdef LIBCXXRT_MERGED_TYPEINFO
 	return __type_name < other.__type_name;
-#else
-	return strcmp(__type_name, other.__type_name) < 0;
-#endif
 }
 const char* type_info::name() const
 {


More information about the svn-src-head mailing list