+++ /dev/null
-// TEST_CFLAGS
-
-#include <Foundation/NSObject.h>
-#include <objc/runtime.h>
-#include <objc/objc-internal.h>
-
-#include "test.h"
-
-int main()
-{
- // rdar://8350188 External references (handles)
-
- id object = [NSObject new];
- testassert(object);
-
- // STRONG
- objc_xref_t xref = _object_addExternalReference(object, OBJC_XREF_STRONG);
- testassert(xref);
- testassert(_object_readExternalReference(xref) == object);
- _object_removeExternalReference(xref);
- // TODO: expect a crash if a stale xref is used.
-
- // WEAK
- xref = _object_addExternalReference(object, OBJC_XREF_WEAK);
- testassert(xref);
- testassert(_object_readExternalReference(xref) == object);
- _object_removeExternalReference(xref);
-
- RELEASE_VAR(object);
-
- succeed(__FILE__);
-}