aboutsummaryrefslogtreecommitdiff
path: root/test/CodeGenCXX/PR28523.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/CodeGenCXX/PR28523.cpp')
-rw-r--r--test/CodeGenCXX/PR28523.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/test/CodeGenCXX/PR28523.cpp b/test/CodeGenCXX/PR28523.cpp
new file mode 100644
index 000000000000..4c3a81c8b854
--- /dev/null
+++ b/test/CodeGenCXX/PR28523.cpp
@@ -0,0 +1,19 @@
+// RUN: %clang_cc1 -std=c++14 -verify -triple %itanium_abi_triple -emit-llvm %s -o - | FileCheck %s
+// expected-no-diagnostics
+
+template <class F> void parallel_loop(F &&f) { f(0); }
+
+//CHECK-LABEL: @main
+int main() {
+// CHECK: [[X_ADDR:%.+]] = alloca i32,
+ int x;
+// CHECK: getelementptr inbounds
+// CHECK: store i32* [[X_ADDR]], i32** %
+// CHECK: call
+ parallel_loop([&](auto y) {
+#pragma clang __debug captured
+ {
+ x = y;
+ };
+ });
+}