diff options
| author | Blaine Garst <blaine@apple.com> | 2010-08-04 23:34:21 +0000 |
|---|---|---|
| committer | Blaine Garst <blaine@apple.com> | 2010-08-04 23:34:21 +0000 |
| commit | be67b4aa2011bb2de0404971c343b1d8a573d823 (patch) | |
| tree | bc4dae13980a2e07916d9d62166d25c3da38f09d /compiler-rt/BlocksRuntime/tests/dispatch_call_Block_with_release.c | |
| parent | a1c0f8b5c81d8da22d649c8e6feb9f85949cdcfa (diff) | |
| download | bcm5719-llvm-be67b4aa2011bb2de0404971c343b1d8a573d823.tar.gz bcm5719-llvm-be67b4aa2011bb2de0404971c343b1d8a573d823.zip | |
add unit tests
llvm-svn: 110278
Diffstat (limited to 'compiler-rt/BlocksRuntime/tests/dispatch_call_Block_with_release.c')
| -rw-r--r-- | compiler-rt/BlocksRuntime/tests/dispatch_call_Block_with_release.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/compiler-rt/BlocksRuntime/tests/dispatch_call_Block_with_release.c b/compiler-rt/BlocksRuntime/tests/dispatch_call_Block_with_release.c new file mode 100644 index 00000000000..9e06f69ba76 --- /dev/null +++ b/compiler-rt/BlocksRuntime/tests/dispatch_call_Block_with_release.c @@ -0,0 +1,31 @@ +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. + +#include <stdio.h> +#include <Block.h> + +// CONFIG + +void callsomething(const char *format, int argument) { +} + +void +dispatch_call_Block_with_release2(void *block) +{ + void (^b)(void) = (void (^)(void))block; + b(); + Block_release(b); +} + +int main(int argc, char *argv[]) { + void (^b1)(void) = ^{ callsomething("argc is %d\n", argc); }; + void (^b2)(void) = ^{ callsomething("hellow world\n", 0); }; // global block now + + dispatch_call_Block_with_release2(Block_copy(b1)); + dispatch_call_Block_with_release2(Block_copy(b2)); + printf("%s: Success\n", argv[0]); + return 0; +} |

