diff options
Diffstat (limited to 'clang/test/CodeGenObjCXX/lambda-expressions.mm')
-rw-r--r-- | clang/test/CodeGenObjCXX/lambda-expressions.mm | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/clang/test/CodeGenObjCXX/lambda-expressions.mm b/clang/test/CodeGenObjCXX/lambda-expressions.mm index c73e1727d63..acb8efb4b59 100644 --- a/clang/test/CodeGenObjCXX/lambda-expressions.mm +++ b/clang/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{{.*}} } |