summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/instantiate-blocks.cpp
blob: 8c1c8dd234407173f28345ac6518df369f65ec43 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// RUN: %clang_cc1 -fblocks -emit-llvm -o - %s
// rdar : // 6182276

template <typename T> T foo(T t)
{
    void (^block)(int);
    return 1;
}

int test1(void)
{
    int i = 1;
    int b = 2;
    i = foo(b);
    return 0;
}

template <typename T, typename T1> void foo(T t, T1 r)
{
    T block_arg;
    T1 (^block)(char, T, T1, double) =  ^ T1 (char ch, T arg, T1 arg2, double d1) { return block_arg+arg; };

    void (^block2)() = ^{};
}

void test2(void)
{
    foo(100, 'a');
}
OpenPOWER on IntegriCloud