Home | History | Annotate | Download | only in BlocksRuntime
      1 //
      2 //                     The LLVM Compiler Infrastructure
      3 //
      4 // This file is distributed under the University of Illinois Open Source
      5 // License. See LICENSE.TXT for details.
      6 
      7 //
      8 //  byrefaccess.m
      9 //  test that byref access to locals is accurate
     10 //  testObjects
     11 //
     12 //  Created by Blaine Garst on 5/13/08.
     13 //
     14 // CONFIG
     15 
     16 #include <stdio.h>
     17 
     18 
     19 void callVoidVoid(void (^closure)(void)) {
     20     closure();
     21 }
     22 
     23 int main(int argc, char *argv[]) {
     24     __block int i = 10;
     25 
     26     callVoidVoid(^{ ++i; });
     27 
     28     if (i != 11) {
     29         printf("*** %s didn't update i\n", argv[0]);
     30         return 1;
     31     }
     32     printf("%s: success\n", argv[0]);
     33     return 0;
     34 }
     35