// // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. #include <stdio.h> #include <Block.h> // CONFIG void callsomething(const char *format, int argument) { } void dispatch_call_Block_with_release2(void *block) { void (^b)(void) = (void (^)(void))block; b(); Block_release(b); } int main(int argc, char *argv[]) { void (^b1)(void) = ^{ callsomething("argc is %d\n", argc); }; void (^b2)(void) = ^{ callsomething("hellow world\n", 0); }; // global block now dispatch_call_Block_with_release2(Block_copy(b1)); dispatch_call_Block_with_release2(Block_copy(b2)); printf("%s: Success\n", argv[0]); return 0; }