r204757 - PR19249: Don't forget to DiagnoseUseOfDecl for the implicit use of a variable
Richard Smith
richard-llvm at metafoo.co.uk
Tue Mar 25 14:11:32 PDT 2014
Author: rsmith
Date: Tue Mar 25 16:11:32 2014
New Revision: 204757
URL: http://llvm.org/viewvc/llvm-project?rev=204757&view=rev
Log:
PR19249: Don't forget to DiagnoseUseOfDecl for the implicit use of a variable
in a lambda capture.
Modified:
cfe/trunk/lib/Sema/SemaLambda.cpp
cfe/trunk/test/SemaCXX/lambda-expressions.cpp
Modified: cfe/trunk/lib/Sema/SemaLambda.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaLambda.cpp?rev=204757&r1=204756&r2=204757&view=diff
==============================================================================
--- cfe/trunk/lib/Sema/SemaLambda.cpp (original)
+++ cfe/trunk/lib/Sema/SemaLambda.cpp Tue Mar 25 16:11:32 2014
@@ -1062,6 +1062,8 @@ void Sema::ActOnStartOfLambdaDefinition(
}
Var = R.getAsSingle<VarDecl>();
+ if (Var && DiagnoseUseOfDecl(Var, C->Loc))
+ continue;
}
// C++11 [expr.prim.lambda]p8:
Modified: cfe/trunk/test/SemaCXX/lambda-expressions.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaCXX/lambda-expressions.cpp?rev=204757&r1=204756&r2=204757&view=diff
==============================================================================
--- cfe/trunk/test/SemaCXX/lambda-expressions.cpp (original)
+++ cfe/trunk/test/SemaCXX/lambda-expressions.cpp Tue Mar 25 16:11:32 2014
@@ -359,3 +359,7 @@ namespace PR18473 {
};
template void f<NoCopy>(); // expected-note {{instantiation}}
}
+
+void PR19249() {
+ auto x = [&x]{}; // expected-error {{cannot appear in its own init}}
+}
More information about the cfe-commits
mailing list