37 lines · c
1//2// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.3// See https://llvm.org/LICENSE.txt for license information.4// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception5 6/*7 * cast.c8 * testObjects9 *10 * Created by Blaine Garst on 2/17/09.11 *12 */13 14// PURPOSE should allow casting of a Block reference to an arbitrary pointer and back15// CONFIG open16 17#include <stdio.h>18 19 20 21int main(int argc, char *argv[]) {22 23 void (^aBlock)(void);24 int *ip;25 char *cp;26 double *dp;27 28 ip = (int *)aBlock;29 cp = (char *)aBlock;30 dp = (double *)aBlock;31 aBlock = (void (^)(void))ip;32 aBlock = (void (^)(void))cp;33 aBlock = (void (^)(void))dp;34 printf("%s: success", argv[0]);35 return 0;36}37