blob: 2b2c12fc95791683d0e885f57574b14f2743910c [file] [log] [blame]
/* Contributed by Nicola Pero - Fri Dec 14 08:36:00 GMT 2001 */
/* { dg-do run } */
#include <objc/objc.h>
#include <objc/objc-api.h>
#include <objc/Object.h>
/* APPLE LOCAL radar file 4894756 */
/* { dg-require-effective-target ilp32 } */
extern void abort (void);
/* Test loading unclaimed categories - categories of a class defined
separately from the class itself. */
/* unclaimed-category-1.m contains only the class definition but not
the categories. unclaimed-category-1a.m contains only the
categories of the class, but not the class itself. We want to
check that the runtime can load the class from one module (file)
and the categories from another module (file). */
#include "unclaimed-category-1.h"
@implementation TestClass
- (int)D
{
return 4;
}
#ifdef __NEXT_RUNTIME__
+ initialize { return self; }
#endif
@end
int main (void)
{
TestClass *test;
Class testClass;
testClass = objc_get_class ("TestClass");
if (testClass == Nil)
{
abort ();
}
test = (TestClass *)(class_create_instance (testClass));
if (test == nil)
{
abort ();
}
if ([test A] != 1)
{
abort ();
}
if ([test B] != 2)
{
abort ();
}
if ([test C] != 3)
{
abort ();
}
if ([test D] != 4)
{
abort ();
}
return 0;
}