summaryrefslogtreecommitdiff
path: root/test/CodeGenObjCXX
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2013-06-13 20:56:27 +0000
committerEli Friedman <eli.friedman@gmail.com>2013-06-13 20:56:27 +0000
commit95099ef43aff8fb3d5d47bed0a583e7977f4b3f4 (patch)
tree9d07c82557a83165ad1debd25f21f8d72521321f /test/CodeGenObjCXX
parent57a3bbfa9a97f174b0c80b0309e32f4329c4ae1b (diff)
downloadclang-95099ef43aff8fb3d5d47bed0a583e7977f4b3f4.tar.gz
Followup to r183931 to fix the lambda conversion-to-block-pointer member.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@183942 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGenObjCXX')
-rw-r--r--test/CodeGenObjCXX/lambda-expressions.mm11
1 files changed, 10 insertions, 1 deletions
diff --git a/test/CodeGenObjCXX/lambda-expressions.mm b/test/CodeGenObjCXX/lambda-expressions.mm
index c73e1727d6..acb8efb4b5 100644
--- a/test/CodeGenObjCXX/lambda-expressions.mm
+++ b/test/CodeGenObjCXX/lambda-expressions.mm
@@ -60,6 +60,15 @@ void take_block(void (^block)()) { block(); }
}
@end
-// ARC: attributes [[NUW]] = { nounwind{{.*}} }
+typedef int (^fptr)();
+template<typename T> struct StaticMembers {
+ static fptr f;
+};
+template<typename T>
+fptr StaticMembers<T>::f = [] { auto f = []{return 5;}; return fptr(f); }();
+template fptr StaticMembers<float>::f;
+// ARC: define linkonce_odr i32 ()* @_ZZNK13StaticMembersIfE1fMUlvE_clEvENKUlvE_cvU13block_pointerFivEEv
+
+// ARC: attributes [[NUW]] = { nounwind{{.*}} }
// MRC: attributes [[NUW]] = { nounwind{{.*}} }