From: John McCall Date: Tue, 13 Mar 2012 01:10:51 +0000 (+0000) Subject: Make the error about assigning to lambda-captured variables X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=23dde82d9043d404ee506880796b761bfec93d0d;p=clang Make the error about assigning to lambda-captured variables clearer, and mention the existence of mutable lambdas. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152598 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/clang/Basic/DiagnosticSemaKinds.td b/include/clang/Basic/DiagnosticSemaKinds.td index bdad36a982..d859f37ad0 100644 --- a/include/clang/Basic/DiagnosticSemaKinds.td +++ b/include/clang/Basic/DiagnosticSemaKinds.td @@ -4388,7 +4388,7 @@ def err_typecheck_duplicate_vector_components_not_mlvalue : Error< def err_block_decl_ref_not_modifiable_lvalue : Error< "variable is not assignable (missing __block type specifier)">; def err_lambda_decl_ref_not_modifiable_lvalue : Error< - "variable is not assignable (captured by copy)">; + "cannot assign to a variable captured by copy in a non-mutable lambda">; def err_typecheck_call_not_function : Error< "called object type %0 is not a function or function pointer">; def err_call_incomplete_return : Error< diff --git a/test/SemaCXX/lambda-expressions.cpp b/test/SemaCXX/lambda-expressions.cpp index 80ba0a1d03..e91dee92ed 100644 --- a/test/SemaCXX/lambda-expressions.cpp +++ b/test/SemaCXX/lambda-expressions.cpp @@ -144,7 +144,7 @@ namespace ModifyingCapture { void test() { int n = 0; [=] { - n = 1; // expected-error {{variable is not assignable (captured by copy)}} + n = 1; // expected-error {{cannot assign to a variable captured by copy in a non-mutable lambda}} }; } }