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/* 8 * cast.c 9 * testObjects 10 * 11 * Created by Blaine Garst on 2/17/09. 12 * 13 */ 14 15// PURPOSE should allow casting of a Block reference to an arbitrary pointer and back 16// CONFIG open 17 18#include <stdio.h> 19 20 21 22int main(int argc, char *argv[]) { 23 24 void (^aBlock)(void); 25 int *ip; 26 char *cp; 27 double *dp; 28 29 ip = (int *)aBlock; 30 cp = (char *)aBlock; 31 dp = (double *)aBlock; 32 aBlock = (void (^)(void))ip; 33 aBlock = (void (^)(void))cp; 34 aBlock = (void (^)(void))dp; 35 printf("%s: success", argv[0]); 36 return 0; 37} 38