From 75657ab707b53c35e86b14ec750ac0122c106192 Mon Sep 17 00:00:00 2001 From: Stuart Hastings Date: Wed, 1 Jul 2009 15:40:10 +0000 Subject: [PATCH] Insure that __block_holder_tmp is allocated on the stack when a byref variable is present. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74610 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/FrontendC++/2009-06-30-ByrefBlock.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 test/FrontendC++/2009-06-30-ByrefBlock.cpp diff --git a/test/FrontendC++/2009-06-30-ByrefBlock.cpp b/test/FrontendC++/2009-06-30-ByrefBlock.cpp new file mode 100644 index 00000000000..6f8869c5413 --- /dev/null +++ b/test/FrontendC++/2009-06-30-ByrefBlock.cpp @@ -0,0 +1,8 @@ +// Insure __block_holder_tmp is allocated on the stack. +// RUN: %llvmgxx %s -S -O2 -o - | egrep {__block_holder_tmp.*alloca} +// +extern void fubar_dispatch_sync(void (^PP)(void)); +void fubar() { + __block void *voodoo; + fubar_dispatch_sync(^(void){voodoo=0;}); +} -- 2.34.1