llvm-project

Форк
0
36 строк · 743.0 Байт
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-exception
5

6
/*
7
 *  cast.c
8
 *  testObjects
9
 *
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 back
15
// CONFIG open
16

17
#include <stdio.h>
18

19

20

21
int 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

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.