From fa11fd669f45fe5a439d83c70de63f663ef57eb9 Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Fri, 3 May 2013 19:16:22 +0000 Subject: PR15906: The body of a lambda is not an evaluated subexpression; don't visit it when visiting such subexpressions. llvm-svn: 181046 --- clang/test/SemaCXX/uninitialized.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'clang/test/SemaCXX/uninitialized.cpp') diff --git a/clang/test/SemaCXX/uninitialized.cpp b/clang/test/SemaCXX/uninitialized.cpp index 2aa56623f69..665cfe7e911 100644 --- a/clang/test/SemaCXX/uninitialized.cpp +++ b/clang/test/SemaCXX/uninitialized.cpp @@ -511,3 +511,15 @@ namespace operators { int x = x = 5; } + +namespace lambdas { + struct A { + template A(T) {} + int x; + }; + A a0([] { return a0.x; }); // ok + void f() { + A a1([=] { return a1.x; }); // expected-warning{{variable 'a1' is uninitialized when used within its own initialization}} + A a2([&] { return a2.x; }); // ok + } +} -- cgit v1.2.3