/* { dg-lto-do run } */

extern "C" {
extern int printf (const char *,...) ;
extern void abort (void) ;
} 

typedef struct objc_class *Class;

struct objc_class {
    Class isa;
    /* other stuff... */
}  ;

@interface myRootObject {
@public
     Class isa; 
}
+initialize;
+(Class)class;

@end

@implementation myRootObject
+initialize {
     return self;
}

+(Class)class {
     return (Class)self;
}

@end

int main(void)
{
  Class cl = [myRootObject class];
  if (cl != (Class)0) {
    printf((char *)"trivial OK\n");
    return 0;
  }
  abort () ;
}
