#include <stdio.h>
#include <string.h>
#include <Block.h>
#include <Block_private.h>
#include "test.h"
typedef void (^voidVoid)(void);
voidVoid dummy;
void callVoidVoid(voidVoid closure) {
closure();
}
voidVoid testRoutine(const char *whoami) {
__block size_t dumbo = strlen(whoami);
dummy = ^{
++dumbo;
};
voidVoid copy = Block_copy(dummy);
return copy;
}
int main(int argc __unused, char *argv[]) {
voidVoid array[100];
for (int i = 0; i < 100; ++i) {
array[i] = testRoutine(argv[0]);
array[i]();
}
for (int i = 0; i < 100; ++i) {
Block_release(array[i]);
}
succeed(__FILE__);
}