From d814a05f6b29351d6e05edf42d9bfd668f9993be Mon Sep 17 00:00:00 2001 From: Douglas Gregor Date: Thu, 25 Oct 2012 18:39:16 +0000 Subject: When capturing 'this' in a lambda, make sure to update the set of array-index starting values for the 'this' capture. Fixes . llvm-svn: 166709 --- clang/test/CXX/expr/expr.prim/expr.prim.lambda/p14.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'clang/test/CXX/expr/expr.prim/expr.prim.lambda') diff --git a/clang/test/CXX/expr/expr.prim/expr.prim.lambda/p14.cpp b/clang/test/CXX/expr/expr.prim/expr.prim.lambda/p14.cpp index 678fa4b964d..6358215a555 100644 --- a/clang/test/CXX/expr/expr.prim/expr.prim.lambda/p14.cpp +++ b/clang/test/CXX/expr/expr.prim/expr.prim.lambda/p14.cpp @@ -73,3 +73,18 @@ struct ExpectedThisLayout { static_assert(sizeof(x) == sizeof(ExpectedThisLayout), "Layout mismatch!"); } }; + +struct CaptureArrayAndThis { + int value; + + void f() { + int array[3]; + [=]() -> int { + int result = value; + for (unsigned i = 0; i < 3; ++i) + result += array[i]; + return result; + }(); + } +}; + -- cgit v1.2.3