/* { dg-do compile } */
/* { dg-additional-options "-Wno-objc-root-class" } */
/* We used to ICE because we removed the cast to List_linked*
   in -[ListIndex_linked next]. */
@interface List
{
@public
  int firstLink;
}
@end
@interface ListIndex_linked
{
@public
  List *collection;
  int link;
}
@end
@interface List_linked: List
@end
@implementation List
@end
@implementation ListIndex_linked
- next
{
   link = ((List_linked*)collection)->firstLink;
}
@end