]>
git.proxmox.com Git - rustc.git/blob - src/compiler-rt/test/BlocksRuntime/recursiveassign.c
2 // The LLVM Compiler Infrastructure
4 // This file is distributed under the University of Illinois Open Source
5 // License. See LICENSE.TXT for details.
11 * Created by Blaine Garst on 12/3/08.
15 // CONFIG rdar://6639533
17 // The compiler is prefetching x->forwarding before evaluting code that recomputes forwarding and so the value goes to a place that is never seen again.
24 int main ( int argc
, char * argv
[]) {
26 __block
void (^ recursive_copy_block
)( int ) = ^( int arg
) { printf ( "got wrong Block \n " ); exit ( 1 ); };
29 recursive_copy_block
= Block_copy (^( int i
) {
31 recursive_copy_block ( i
- 1 );
39 recursive_copy_block ( 5 );
41 printf ( "%s: Success \n " , argv
[ 0 ]);