aboutsummaryrefslogtreecommitdiff
path: root/test/Analysis/templates.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/Analysis/templates.cpp')
-rw-r--r--test/Analysis/templates.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/test/Analysis/templates.cpp b/test/Analysis/templates.cpp
index faa5c1a76209..131794a7c931 100644
--- a/test/Analysis/templates.cpp
+++ b/test/Analysis/templates.cpp
@@ -48,3 +48,25 @@ void testNonTypeTemplateInstantiation() {
#endif
}
+namespace rdar13954714 {
+ template <bool VALUE>
+ bool blockInTemplate() {
+ return (^() {
+ return VALUE;
+ })();
+ }
+
+ // force instantiation
+ template bool blockInTemplate<true>();
+
+ template <bool VALUE>
+ void blockWithStatic() {
+ (void)^() {
+ static int x;
+ return ++x;
+ };
+ }
+
+ // force instantiation
+ template void blockWithStatic<true>();
+}