http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50003

Nicola Pero <nicola at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |WORKSFORME

--- Comment #1 from Nicola Pero <nicola at gcc dot gnu.org> 2011-10-09 10:47:11 
UTC ---
With GCC trunk (pre-4.7.0), the code reported can't be used because it's using
the Traditional Objective-C runtime API and not the Modern one.

The right implementation  with the Modern API is:

+ (BOOL)conformsToProtocol: (Protocol*)protocol
{
  Class c;

  for (c = self; c != Nil; c = class_getSuperclass (c))
    if (class_conformsToProtocol (c, protocol))
      return YES;

  return NO;
}

I tested this with both GCC and clang, and it seems to work fine with both.

Thanks

Reply via email to