aboutsummaryrefslogtreecommitdiff
path: root/SingleSource/UnitTests/block-byref-test.c
blob: dbcd85bc47992acbf37ce6a5053b5940d553c93a (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
#if defined(__BLOCKS__)
extern void abort();

int main() {
    __block unsigned char b1bool = 0;
    unsigned char *b1boolref = &b1bool;
    void(^b1)(void) = ^ {
        if (b1bool != 1)
          abort();
    };
    *b1boolref = 1;
    b1();
    
    __block unsigned char b2bool = 0;
    void(^b2)(void) = ^ {
        if (b2bool != 1)
          abort();
    };
    unsigned char *b2boolref = &b2bool;
    *b2boolref = 1;
    b2();
    return 0;
}
#else
int main() {
  return 0;
}
#endif