1/* 2 * Copyright (c) 2010 Apple Inc. All rights reserved. 3 * 4 * @APPLE_LLVM_LICENSE_HEADER@ 5 */ 6 7// 8// escape2.m 9// btest 10// 11// Created by Apple on 6/12/08. 12// Copyright 2008 __MyCompanyName__. All rights reserved. 13// 14 15 16#import "common.h" 17 18 19void test(void) { 20 // validate that escaping a context is enough 21 if (getpid() % 2) { 22 BYREF int i = 0; 23 vv block = ^{ ++i; }; 24 vv blockCopy = Block_copy(block); 25 lastUse(i); 26 Block_release(blockCopy); 27 lastUse(i); 28 } 29 else { 30 BYREF int j = 0; 31 vv block = ^{ j += 2; }; 32 vv blockCopy = Block_copy(block); 33 lastUse(j); 34 Block_release(blockCopy); 35 lastUse(j); 36 } 37} 38