typeinfo-abi.patch [plain text]
# Issue also reported and fixed in: http://gcc.gnu.org/PR33678
--- gcc-4.2.1/libstdc++-v3/libsupc++/typeinfo 2007-06-26 11:35:42.000000000 -0400
+++ libstdc++-v3/libsupc++/typeinfo 2007-10-08 12:08:44.000000000 -0400
@@ -100,6 +100,15 @@ namespace std
bool operator!=(const type_info& __arg) const
{ return !operator==(__arg); }
+ // APPLE LOCAL begin
+ // For ABI stability these virtuals must be ordered: __is_pointer_p, __is_function_p, __do_catch, __do_upcast
+
+ // Return true if this is a pointer type of some kind
+ virtual bool __is_pointer_p() const;
+
+ // Return true if this is a function type
+ virtual bool __is_function_p() const;
+
// Try and catch a thrown type. Store an adjusted pointer to the
// caught type in THR_OBJ. If THR_TYPE is not a pointer type, then
// THR_OBJ points to the thrown object. If THR_TYPE is a pointer
@@ -113,11 +122,7 @@ namespace std
virtual bool __do_upcast(const __cxxabiv1::__class_type_info *__target,
void **__obj_ptr) const;
- // Return true if this is a pointer type of some kind
- virtual bool __is_pointer_p() const;
-
- // Return true if this is a function type
- virtual bool __is_function_p() const;
+ // APPLE LOCAL end
protected:
const char *__name;