summaryrefslogtreecommitdiffstats
path: root/test/CodeGenCXX/instantiate-blocks.cpp
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2010-07-09 21:27:28 +0000
committerFariborz Jahanian <fjahanian@apple.com>2010-07-09 21:27:28 +0000
commit5750b81beb0d508278011c410b01acabc9c7ca05 (patch)
treee5211c6cbdb892cacf2a247da53d210df73c6bdd /test/CodeGenCXX/instantiate-blocks.cpp
parentc61bb2056148891375bfa591fa2859b9b6ec2734 (diff)
Instantiation of byref variable in
block literal expression. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108019 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGenCXX/instantiate-blocks.cpp')
-rw-r--r--test/CodeGenCXX/instantiate-blocks.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/test/CodeGenCXX/instantiate-blocks.cpp b/test/CodeGenCXX/instantiate-blocks.cpp
index 8c1c8dd234..7246f69e8e 100644
--- a/test/CodeGenCXX/instantiate-blocks.cpp
+++ b/test/CodeGenCXX/instantiate-blocks.cpp
@@ -18,7 +18,11 @@ int test1(void)
template <typename T, typename T1> void foo(T t, T1 r)
{
T block_arg;
- T1 (^block)(char, T, T1, double) = ^ T1 (char ch, T arg, T1 arg2, double d1) { return block_arg+arg; };
+ __block T1 byref_block_arg;
+
+ T1 (^block)(char, T, T1, double) =
+ ^ T1 (char ch, T arg, T1 arg2, double d1) { byref_block_arg = arg2;
+ return byref_block_arg + arg; };
void (^block2)() = ^{};
}