diff options
Diffstat (limited to 'test/Analysis/templates.cpp')
-rw-r--r-- | test/Analysis/templates.cpp | 22 |
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>(); +} |