1// 2// The LLVM Compiler Infrastructure 3// 4// This file is distributed under the University of Illinois Open Source 5// License. See LICENSE.TXT for details. 6 7#include <stdio.h> 8#include <Block.h> 9 10// CONFIG 11 12void callsomething(const char *format, int argument) { 13} 14 15void 16dispatch_call_Block_with_release2(void *block) 17{ 18 void (^b)(void) = (void (^)(void))block; 19 b(); 20 Block_release(b); 21} 22 23int main(int argc, char *argv[]) { 24 void (^b1)(void) = ^{ callsomething("argc is %d\n", argc); }; 25 void (^b2)(void) = ^{ callsomething("hellow world\n", 0); }; // global block now 26 27 dispatch_call_Block_with_release2(Block_copy(b1)); 28 dispatch_call_Block_with_release2(Block_copy(b2)); 29 printf("%s: Success\n", argv[0]); 30 return 0; 31} 32