brintos

brintos / llvm-project-archived public Read only

0
0
Text · 743 B · 09175a7 Raw
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