--- /dev/null
+#include "test.h"
+#include <objc/objc-gdb.h>
+#include <objc/runtime.h>
+
+@interface Super { @public id isa; } @end
+@implementation Super
++(void)initialize { }
++class { return self; }
+@end
+
+
+int main()
+{
+ // Class hashes
+#if __OBJC2__
+
+ Class result;
+
+ // Class should not be realized yet
+ // fixme not true during class hash rearrangement
+ // result = NXMapGet(gdb_objc_realized_classes, "Super");
+ // testassert(!result);
+
+ [Super class];
+ // Now class should be realized
+
+ result = NXMapGet(gdb_objc_realized_classes, "Super");
+ testassert(result);
+ testassert(result == [Super class]);
+
+ result = NXMapGet(gdb_objc_realized_classes, "DoesNotExist");
+ testassert(!result);
+
+#else
+
+ struct objc_class query;
+ struct objc_class *result;
+
+ query.name = "Super";
+ result = NXHashGet(_objc_debug_class_hash, &query);
+ testassert(result);
+ testassert(result == [Super class]);
+
+ query.name = "DoesNotExist";
+ result = NXHashGet(_objc_debug_class_hash, &query);
+ testassert(!result);
+
+#endif
+
+ succeed(__FILE__);
+}