summaryrefslogtreecommitdiff
path: root/lib/BlocksRuntime/tests/reference.C
diff options
context:
space:
mode:
Diffstat (limited to 'lib/BlocksRuntime/tests/reference.C')
-rw-r--r--lib/BlocksRuntime/tests/reference.C95
1 files changed, 0 insertions, 95 deletions
diff --git a/lib/BlocksRuntime/tests/reference.C b/lib/BlocksRuntime/tests/reference.C
deleted file mode 100644
index f86f11e86..000000000
--- a/lib/BlocksRuntime/tests/reference.C
+++ /dev/null
@@ -1,95 +0,0 @@
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-
-#import <Block.h>
-#import <stdio.h>
-#import <stdlib.h>
-
-// CONFIG C++
-
-int recovered = 0;
-
-
-
-int constructors = 0;
-int destructors = 0;
-
-#define CONST const
-
-class TestObject
-{
-public:
- TestObject(CONST TestObject& inObj);
- TestObject();
- ~TestObject();
-
- TestObject& operator=(CONST TestObject& inObj);
-
- void test(void);
-
- int version() CONST { return _version; }
-private:
- mutable int _version;
-};
-
-TestObject::TestObject(CONST TestObject& inObj)
-
-{
- ++constructors;
- _version = inObj._version;
- //printf("%p (%d) -- TestObject(const TestObject&) called", this, _version);
-}
-
-
-TestObject::TestObject()
-{
- _version = ++constructors;
- //printf("%p (%d) -- TestObject() called\n", this, _version);
-}
-
-
-TestObject::~TestObject()
-{
- //printf("%p -- ~TestObject() called\n", this);
- ++destructors;
-}
-
-#if 1
-TestObject& TestObject::operator=(CONST TestObject& inObj)
-{
- //printf("%p -- operator= called", this);
- _version = inObj._version;
- return *this;
-}
-#endif
-
-void TestObject::test(void) {
- void (^b)(void) = ^{ recovered = _version; };
- void (^b2)(void) = Block_copy(b);
- b2();
- Block_release(b2);
-}
-
-
-
-void testRoutine() {
- TestObject one;
-
-
- one.test();
-}
-
-
-
-int main(int argc, char *argv[]) {
- testRoutine();
- if (recovered == 1) {
- printf("%s: success\n", argv[0]);
- exit(0);
- }
- printf("%s: *** didn't recover byref block variable\n", argv[0]);
- exit(1);
-}