summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/lambda-expressions.cpp
diff options
context:
space:
mode:
authorAlexey Bataev <a.bataev@hotmail.com>2016-01-25 07:06:23 +0000
committerAlexey Bataev <a.bataev@hotmail.com>2016-01-25 07:06:23 +0000
commit41ed6b7abaeb0ed5371c1fc3930fe4de1c7c6659 (patch)
treec8291149bd23df63290b21d14506348fbe76166a /clang/test/CodeGenCXX/lambda-expressions.cpp
parent86a489e4f3b59aa4b638d149842f5a63883f1691 (diff)
downloadbcm5719-llvm-41ed6b7abaeb0ed5371c1fc3930fe4de1c7c6659.tar.gz
bcm5719-llvm-41ed6b7abaeb0ed5371c1fc3930fe4de1c7c6659.zip
Allow capture typedefs/type aliases for VLAs in lambdas/captured statements chain.
Previous it was allowed to capture VLAs/types with arrays of runtime bounds only inside the first lambda/capture statement in stack. Patch allows to capture these typedefs implicitly in chains of lambdas/captured statements. llvm-svn: 258669
Diffstat (limited to 'clang/test/CodeGenCXX/lambda-expressions.cpp')
-rw-r--r--clang/test/CodeGenCXX/lambda-expressions.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/clang/test/CodeGenCXX/lambda-expressions.cpp b/clang/test/CodeGenCXX/lambda-expressions.cpp
index 4df44f4c5f7..f59d360314e 100644
--- a/clang/test/CodeGenCXX/lambda-expressions.cpp
+++ b/clang/test/CodeGenCXX/lambda-expressions.cpp
@@ -12,12 +12,16 @@ extern "C" auto cvar = []{};
// CHECK-LABEL: define i32 @_Z9ARBSizeOfi(i32
int ARBSizeOf(int n) {
- typedef double (T)[8][n];
- using TT = double [8][n];
+ typedef double(T)[8][n];
+ using TT = double[8][n];
return [&]() -> int {
typedef double(T1)[8][n];
using TT1 = double[8][n];
- return sizeof(T) + sizeof(T1) + sizeof(TT) + sizeof(TT1);
+ return [&n]() -> int {
+ typedef double(T2)[8][n];
+ using TT2 = double[8][n];
+ return sizeof(T) + sizeof(T1) + sizeof(T2) + sizeof(TT) + sizeof(TT1) + sizeof(TT2);
+ }();
}();
}
OpenPOWER on IntegriCloud